我们正在尝试用openvpn设置一个roadwarrior vpn设置。 我们希望人们能够通过openvpn连接到我们的networking。 我们希望他们能够看到并连接到我们networking中的机器。 所以解决scheme是桥接vpn,因为我们看到。
我没有太多的networking环境的经验。 我正在通过ubuntu(我们已经build立openvpn服务器)和openvpn手册。 他们两方面都很缺乏。
https://help.ubuntu.com/10.10/serverguide/C/openvpn.html
http://openvpn.net/howto.html
当我通过作为openvpn一部分的桥接启动脚本安装桥接接口时,我的networking出现故障,让我在我的networking中ping通。 我设置端口转发到我的openvpn服务器的端口1194正在工作,直到我设置桥接接口。 启用网桥后,我的机器与外部networking失去联系。 我相信我错过了一些事情要做。
我把我的ifconfig和netstat -rn输出之前和之后设置桥。 和我的服务器configuration文件和脚本下面。
eth1 Link encap:Ethernet HWaddr 52:54:00:57:63:6e inet addr:192.168.22.230 Bcast:192.168.22.255 Mask:255.255.255.0 inet6 addr: fe80::5054:ff:fe57:636e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4857 errors:0 dropped:0 overruns:0 frame:0 TX packets:3199 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:518272 (518.2 KB) TX bytes:430178 (430.1 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:21 errors:0 dropped:0 overruns:0 frame:0 TX packets:21 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1804 (1.8 KB) TX bytes:1804 (1.8 KB)
192.168.22.0 / 0.0.0.0 / 255.255.255.0 / U 0 0 0 / eth1 0.0.0.0 / 192.168.22.1 / 0.0.0.0 / UG 0 0 0 / eth1
br0 Link encap:Ethernet HWaddr 52:54:00:57:63:6e inet addr:192.168.22.230 Bcast:192.168.22.255 Mask:255.255.255.0 inet6 addr: fe80::5054:ff:fe57:636e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:256 errors:0 dropped:0 overruns:0 frame:0 TX packets:32 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:43790 (43.7 KB) TX bytes:2328 (2.3 KB) eth1 Link encap:Ethernet HWaddr 52:54:00:57:63:6e inet6 addr: fe80::5054:ff:fe57:636e/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:5691 errors:0 dropped:0 overruns:0 frame:0 TX packets:3508 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:622570 (622.5 KB) TX bytes:470324 (470.3 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:36 errors:0 dropped:0 overruns:0 frame:0 TX packets:36 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3980 (3.9 KB) TX bytes:3980 (3.9 KB) tap0 Link encap:Ethernet HWaddr 7e:3a:03:48:ad:29 inet6 addr: fe80::7c3a:3ff:fe48:ad29/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:243 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
192.168.22.0 / 0.0.0.0 / 255.255.255.0 / U 0 0 0 / br0
(我知道这张桌子是坏的,但是我无法克服这张桌子,或者通过添加路线使它变得有用。)
br="br0" tap="tap0" eth="eth1" eth_ip="192.168.22.230" eth_netmask="255.255.255.0" eth_broadcast="192.168.22.255" 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
问题是,当启动脚本取消eth0时,它将销毁您的默认网关路由。 当脚本启动接口时,您不使用DHCP,而是手动设置IP和子网。 通常情况下,你会从没有网桥的DHCP获得路由。 您可以注释掉部分脚本,以便br0从DHCP获取eth0的IP(以及路由),也可以添加一行以手动添加脚本末尾的路由:
route add default gw 192.168.22.1
为什么你不使用/ etc / network / interfaces进行存档?
例:
iface br0 inet static bridge_ports eth0 tap0 address 192.168.1.2 broadcast 192.168.1.255 netmask 255.255.255.0 gateway 192.168.1.1 pre-up openvpn --mktun --dev tap0