我正在尝试在桥接模式下设置 openvpn,以便我可以将全国范围内的几个网络链接在一起。我已经有了 openvpn 设置并且工作正常,当我尝试将其变成桥接网络时,事情就出了问题。
我正在关注这个教程这里。
当我尝试运行bridge-start时,我得到了tap设备已打开的确认,但我也与ssh会话断开连接,并且必须重新启动服务器才能再次连接。
Sat May 27 02:49:35 2017 TUN/TAP device tap0 opened
Sat May 27 02:49:35 2017 Persist state set to: ON
我应该桥接到 eth0 还是我只是做错了什么?
这是我的桥接启动脚本
#!/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="192.168.8.4"
eth_netmask="255.255.255.0"
eth_broadcast="192.168.8.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
还有我的 ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3c:5d:7a:a5
inet addr:111.111.111.111 Bcast:111.111.111.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:186590 errors:0 dropped:348 overruns:0 frame:0
TX packets:136 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:11311181 (10.7 MiB) TX bytes:20623 (20.1 KiB)
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:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
tap0 Link encap:Ethernet HWaddr 7e:9f:bc:8a:06:f7
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
编辑:我通过 vnc 登录以进行所有更改。
这就是我的 /etc/network/interfaces 当前的样子,在进行更改之前,我从 eth0 复制了所有地址/网关/网络掩码。我无法 ssh 进入服务器,是我的设置错误吗?
auto eth0
allow-hotplug eth0
iface eth0 inet manual
auto br0
iface br0 inet static
address 111.191.104.233
gateway 111.191.104.1
netmask 255.255.255.0
bridge_ports eth0
bridge_fd 0
bridge_maxwait 0
修改前的接口
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 111.191.104.233
gateway 111.191.104.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8 8.8.4.4
答案1
您尚未更改脚本eth_*
中的变量bridge-start
以匹配您的实际场景。因此,当您运行脚本时,IP 地址会从 111.111.111.111 更改为 192.168.8.4,并且您会失去连接。
即使您已经修复了该问题,您也可能需要重新创建路由表(特别是默认路由)。
如果可能的话,在继续使用 openvpn 之前,请先设置您的网桥并使其正常工作(br0
和)。eth0
理想情况下,您应该让桥在启动时运行,然后您可以tap0
在开始测试 openvpn 时添加接口。
成功地远程更改网络配置并不容易。如果您有任何方法可以在工作时连接 KVM,我建议您抓住这个机会。
评论似乎要求教程。下面是我如何在我的一个系统上设置桥接器,而不是指向异地。它不使用 NetworkManager,而是使用/etc/network/interfaces
.如果您输入错误,您将无法登录,所以我建议您使用 KVM,或者在本地计算机上尝试以确认该过程是否有效。
allow-hotplug eth0
iface eth0 inet manual
auto br0
iface br0 inet static ← ASSUMES STATIC IP ADDR
address 111.111.111.111
netmask 255.255.255.0
gateway 111.111.111.254 ← FIX ME BEFORE TRYING THIS
bridge_ports eth0
bridge_fd 0
bridge_maxwait 0