我想要实现使用我的openvpn连接作为默认网关的另一个主机在同一子网。我在同一个子网中有两个主机,它们都带有UbuntuServer14.04。
主机A运行OpenVPN以建立到我的openvpn-退出节点的连接。此主机已被修改,以便允许ip转发。
主机B是客户端应用服务器,应该通过主机A的共享开放连接来使用因特网连接。由于我已经设置了主机B的网关- IP到主机A的IP,来自主机B的流量现在通过主机A的openvpn连接进行路由。
问题出现在主机A上的openvpn连接下降(在德国至少每24小时一次)并重新连接;然后主机B使用来自主机A的默认gw并绕过openvpn连接(有时直到隧道再次打开,每次主机B重新启动)。
取得的成就应该是,确保主机B只有通过openvpn连接才能上网。是否有任何可能确保,主机B只能访问互联网,只要它使用开放隧道?
主机A (eth0 ip:10.11.12.6/gw:10.11.12.1) (tun0 ip:10.8.0.146/gw:10.8.0.145):
主机B (eth0 ip:10.11.12.9/gw:10.11.12.6):-更改了主机A的ip地址的默认网关: works -所有流量都在主机A上使用openvpn隧道
问题:每次openvpn连接下降和/或openvpn重新连接时,主机B似乎使用主机A的默认网关进行切换。在这种情况下,主机B应该保持没有互联网接入,而是使用连接主机A连接到openvpn网关。
好样的,D0C
发布于 2014-10-12 15:40:52
要实现这一点,您应该使用基于策略的路由;将允许您创建独立的路由表,并根据包属性(如Source)将流量直接发送到任何路由表。
创建新的路由表如下:
echo "200 OpenVPN" >>/etc/iproute2/rt_tables将默认网关添加到新创建的表,如下所示:
route add default via OpenVPN-GW-IP table OpenVPN允许使用此路由表路由主机-B:
ip rule add from Host-B-IP table OpenVPN还需要将以下路由添加到新表中:
ip route add 127.0.0.0/8 dev lo table OpenVPN
ip route add YOUR-Local-Subnet dev DEVICE-NAME table OpenVPN更新:使用SNAT而不是MASQURADE,
iptables -t nat -A POSTROUTING -s 10.11.12.9 -j SNAT --to-source 10.8.0.146https://serverfault.com/questions/636433
复制相似问题