无法通过 VPN ping 远程 VPS 主机

无法通过 VPN ping 远程 VPS 主机

我有一个在某个 IP ( ) 上运行 OpenVPN 服务器的远程 VPS my.vps.host.ip。此外,我还有一个运行 OpenVPN 客户端的 Raspberry Pi 路由器 (RaspPI),它将连接到它的所有流量路由wlan0到该 OpenVPN 服务器。问题是:从通过 连接到 Raspbery Pi 路由器的任何设备wlan0,我都可以 ping 除 之外的任何有效 IP 地址my.vps.host.ip。因此,我无法使用 连接到 VPS ssh

Kernel IP routing table (RaspPI)
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.8.0.1        128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.31.1    0.0.0.0         UG    0      0        0 eth0
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
128.0.0.0       10.8.0.1        128.0.0.0       UG    0      0        0 tun0
my.vps.host.ip  192.168.31.1    255.255.255.255 UGH   0      0        0 eth0
192.168.17.0    0.0.0.0         255.255.255.0   U     0      0        0 wlan0
192.168.31.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

通过 VPN 连接的设备跟踪路由得到以下结果:

traceroute to my.vps.host.ip, 64 hops max
  1   192.168.17.1  0,859ms  0,928ms  0,845ms 
  2   *  *  *

从 RaspPI 本身my.vps.host.ip可以 ping 通。RaspPI 和 VPS 上的防火墙都已禁用。如何才能让my.vps.host.ipVPN 客户端可以访问?

答案1

我仍然不知道上述问题的原因,但找到了一种解决方法:直接通过网关路由所有流量,反之亦然wlan0。添加以下几行即可解决问题:my.vps.host.ipeth0iptables

sudo iptables -I FORWARD -i wlan0 -o eth0 -d my.vps.host.ip -j ACCEPT
sudo iptables -I FORWARD -i eth0 -o wlan0 -s my.vps.host.ip -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

相关内容