通过 p2p1 和 tun0 正确路由流量

通过 p2p1 和 tun0 正确路由流量

我一直在研究这些问题,并尝试了许多不同的解决方案来使其正常工作,但我似乎无法正确设置路由。我在一个网络中安装了一个盒子,除了我的服务器的 OpenVPN 之外,没有互联网访问权限。其他一切都被阻止,只留下盒子所在的 LAN 段。

该框打开与我的 VPN 服务器的连接,所以现在我有了 p2p1 和 tun0。/etc/network/interfaces 的设置如下:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
    address 192.168.56.211
    netmask 255.255.255.0
    gateway 192.168.56.251
    dns-nameservers 192.168.100.20 192.168.50.35

OpenVPN 连接成功建立,连接如您所愿,让我能够从 LAN 外部通过 VPN 通过 SSH 进入盒子。问题是全部传出数据正在尝试使用本地网关。到目前为止,我还没有能够获得任何路由配置来传递以下内容:

  1. 通过 192.168.56.251 的本地 LAN
  2. 通过 192.168.56.251 的辅助 LAN (192.168.50.x)
  3. 通过 192.168.56.251 的 VPN 服务器
  4. 通过 tun0(OpenVPN 接口)访问互联网

我试过使用

up route add -net 1.2.3.4/32 gw 10.8.4.9

配置至少一个服务器以通过 VPN 建立连接,但仍然没有成功。好像没有任何东西可以正确路由。至少我需要让 apt-get 通过 VPN 工作,然后让我的 Web 服务器也通过它。我可以应付这样的限制,但理想情况下我只想修复它,这样路由就正确了!

答案1

就我而言,eth1是我希望作为我的 LAN 上可用网关的设备,也是ppp0我的 VPN 连接在该机器上处于活动状态时的名称(通过连接,eth0但出于死机开关安全考虑,我们不会在路由中命名它)。

设置从 LAN 到 VPN 连接网关的 NAT IPtables:

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -A FORWARD -i ppp0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o ppp0 -j ACCEPT

记得保存你的 iptables激活 IP 转发

相关内容