流量未按预期路由

流量未按预期路由

在下面的输出中,为什么 vpn1 路由/ping 到 10.100.0.1 而不是 10.100.0.112?

10.100.0.1 是没有 nat 的网络网关。10.100.0.112 是启用了 nat 的双宿主主机。

root@vpn1:~# ip ro

8.8.8.8 via 10.100.0.112 dev eth0  src 10.100.0.5
10.100.0.0/24 dev eth0  proto kernel  scope link  src 10.100.0.5
default via 10.100.0.1 dev eth0  metric 100

root@vpn1:~# traceroute 8.8.8.8

traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  10.100.0.1 (10.100.0.1)  0.287 ms  0.257 ms  0.317 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * *^C

root@vpn1:~# ping 10.100.0.112

PING 10.100.0.112 (10.100.0.112) 56(84) bytes of data.
64 bytes from 10.100.0.112: icmp_req=1 ttl=127 time=0.321 ms
^C


--- 10.100.0.112 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.321/0.321/0.321/0.000 ms</br>

另一方面,10.100.0.112 具有以下配置

boban@boban-desktop:~$ ip ro  
10.100.0.114 dev ppp0 proto 内核范围链接 src 10.100.0.112  
xyzq/28 dev eth0 proto 内核范围链接 src xyz56 度量 1  
**10.100.0.0/16 dev ppp0 范围链接**    
默认通过 xyz62 dev eth0 proto static  

因此,网络10.100.0.0/16ppp0接口、vpn 上(也许这比我想象的更重要)。

boban@boban-desktop:~$ sudo iptables -t nat -S  
-P 预路由接受  
-P 输入接受  
-P 输出接受  
-P 路由后接受  
-A POSTROUTING -o eth0 -j MASQUERADE  
boban@boban-desktop:~$ sudo iptables -S  
-P 输入接受  
-P 转发接受  
-P 输出接受

答案1

如果不进一步了解,很难判断。10.100.0.112 的默认路由配置是什么?您能获取线路上流量的 tcpdump 吗?

我怀疑来自 10.100.0.112 的 ICMP 重定向会告诉您的主机改用 10.100.0.1。

答案2

我希望看到该 8.8.8.8 路由的子网掩码——但我没有看到子网掩码,这似乎表明它没有做正确的事情。

相关内容