![路由表与预期不同](https://linux22.com/image/1463258/%E8%B7%AF%E7%94%B1%E8%A1%A8%E4%B8%8E%E9%A2%84%E6%9C%9F%E4%B8%8D%E5%90%8C.png)
我在 virtualbox 中使用虚拟机。这些虚拟机是 Linux Ubuntu。一台机器有 4 个接口(eth0、eth1、eth2、eth3),我为每个接口分配一个 IP 地址。但是当我查看这台机器的路由表时,它应该包含直接连接的网络(即目的地是分配的 IP 地址,最后一个数字为 0),但有时情况并非如此,即使我没有添加静态路由,这台机器也可以 ping 邻居以外的其他机器。可能是什么原因造成的?
例如:
我将 192.160.7.1/16 添加到 eth2
192.168.5.1/16 至 eth0
192.168.40.1/21 至 eth1
192.168.128.1/1 至 eth3
但路由表有目的地条目
192.160.0.0(这应该是 192.160.7.0)
192.168.0.0(应该是 192.168.5.1)
192.168.40.0
192.168.128.0
如果我错了请见谅,我是新手:)
答案1
您不只是为以太网接口分配 IP 地址。您还为它们分配网络上的 IP 地址。然后它们会获得到该网络上其他 IP 地址的路由。如果不是这种情况,LAN 在没有特殊配置的情况下将无法工作。
“192.168.5.1/16”中的/16
表示地址的网络部分有 16 位。这意味着主机部分有 16 位。因此,到本地网络中其他每个地址的路由将覆盖 192.168.0.0 到 192.168.255.255。如果这不是您想要的,请不要使用 /16 网络掩码。