删除路由后的路由路径

删除路由后的路由路径

我有两个虚拟机,一个是192.168.1.233,另一个是192.168.1.234。

一开始他们都有两条路线:
Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0

然后,在 192.168.1.233 中运行route del -net 192.168.1.0/24,因此它只剩下一条默认路由。

现在我可以ping 192.168.1.234从 192.168.1.233 访问,但不能ping 192.168.1.233从 192.168.1.234 访问。

我很困惑。有人能给我解释一下吗?谢谢!!!

答案1

我已经解决了这个问题,至少是部分解决了。通过删除本地路由,ICMP 回复数据包会携带正确的回复 IP 地址,但携带错误的 MAC 地址。事实上,在这种情况下使用的 MAC 地址是路由器的 MAC 地址,而不是 ping 机器的 MAC 地址。

每当 PC 需要路由器处理数据包以进行进一步路由时,此行为(使用路由器的 MAC 地址)都是正确的。例如,如果您尝试从没有本地路由的 PC ping 8.8.8.8,则 ICMP 数据包将路由器的 MAC 地址作为目的地,路由器(单独)将抓取它并查看要对其执行的操作(在最后一种情况下,将其发送到 WAN 端)。

但格式错误的 ICMP 回复被发送到路由器,路由器无法将其发送到其 WAN 端,也无法将其发送给其预期的收件人,因为 MAC 地址不是与其 IP 地址相对应。

因此数据包被丢弃。

您应该保留本地路线。

相关内容