OpenVPN 配置

OpenVPN 配置

前言:我很幸运有一个具有真实 IP 的 IP 子网,因此无需 NAT。我有一个从 1.2.3.0 到 1.2.3.128 的网络。

我有一台 Debian 服务器,其 eth0 接口为 1.2.4.9。现在我想使用 openVPN 桥接此接口,并为客户端提供地址,例如从地址 1.2.3.80 到 1.2.3.90。

我需要一些 br0 接口吗?

所有教程都会在某些时候介绍 NATing,但我不需要它。

答案1

这实际上是开放VPN文档,应该很容易做到。您需要根据自己的设置修改提供的脚本。由于您有 128 个 IP 地址,我认为您的网络掩码是 25 -从这里

从中我们可以获得有关你的系统的大量信息 - 我使用了这个IP地址计算器计算得出以下信息

Address:   1.2.4.9               00000001.00000010.00000100.0 0001001
Netmask:   255.255.255.128 = 25  11111111.11111111.11111111.1 0000000
Wildcard:  0.0.0.127             00000000.00000000.00000000.0 1111111
=>
Network:   1.2.4.0/25            00000001.00000010.00000100.0 0000000 (Class A)
Broadcast: 1.2.4.127             00000001.00000010.00000100.0 1111111
HostMin:   1.2.4.1               00000001.00000010.00000100.0 0000001
HostMax:   1.2.4.126             00000001.00000010.00000100.0 1111110
Hosts/Net: 126 

将这些数字插入 openvpn 文档中给出的步骤即可帮助您开始。

您需要为服务器桥接器创建启动和关闭文件,以便使用桥接接口。您还需要桥接实用程序。虽然我已经包含了基本步骤,但请仔细阅读手册,以防我遗漏了任何内容 #!/bin/bash

#################################
# Set up Ethernet bridge on Linux
# Requires: bridge-utils
#################################

# Define Bridge Interface
br="br0"

# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"

    # Define physical ethernet interface to be bridged
    # with TAP interface(s) above.
    eth="eth0"
    eth_ip="1.2.4.9"
    eth_netmask="255.255.255.128"
    eth_broadcast="1.2.4.127"

    for t in $tap; do
        openvpn --mktun --dev $t
    done

    brctl addbr $br
    brctl addif $br $eth

    for t in $tap; do
        brctl addif $br $t
    done

    for t in $tap; do
        ifconfig $t 0.0.0.0 promisc up
    done

    ifconfig $eth 0.0.0.0 promisc up

    ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast

并按照文档关闭文件 - 注意 eth_ip、eth_netmask 和 eth_broadcast 的变化

您需要修改您的 openvpn 配置文件以注释掉行读取dev tun并添加新的行读取dev tap0 并替换行读取server并将其替换为server-bridge 1.2.4.9 255.255.255.128 1.2.3.80 1.2.3.90- 服务器的 IP 地址、根据该计算器的网络掩码以及您想要的 IP 地址范围的开始和结束。

相关内容