我无法让 ICMP 响应数据包返回到原始 pinger。
现在我在 VPN 服务器(也是网关)上有以下 tcpdump:
## VPN server (10.131.102.12, 10.10.0.1)
02:22:38.897538 IP 10.131.102.32 > 10.10.0.2: ICMP echo request, id 7093, seq 444, length 64
02:22:38.913673 IP 10.10.0.2 > 10.131.102.32: ICMP echo reply, id 7093, seq 444, length 64
VPN客户端也有请求和答复:
## VPN client (10.10.0.2)
10:26:05.255495 IP 10.10.0.1 > 10.10.0.2: ICMP echo request, id 7198, seq 97, length 64
10:26:05.255567 IP 10.10.0.2 > 10.10.0.1: ICMP echo reply, id 7198, seq 97, length 64
但在LAN设备上,它从未收到回显答复:
## LAN device (10.131.102.32)
02:24:29.964862 IP 10.131.102.32 > 10.10.0.2: ICMP echo request, id 7198, seq 4, length 64
这是我在 VPN 服务器上运行的 iptables:
iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE
我在 VPN 服务器上启用了 IP 转发。
有人知道发生了什么吗?我尝试了很多方法,但似乎都没有帮助。奇怪的是 VPN 服务器和客户端可以 ping LAN 设备并得到响应。我也尝试过禁用 rp_filter,但似乎没有帮助。