我有一个装有 Linux Ubuntu 8.04 和 4 个以太网端口的盒子。我启用了 2 个端口,eth0 和 eth1,并尝试使用静态 IP 配置它们(eth0 = 192.168.0.205 和 eth1 = 192.168.0.206)。
如果我插入 2 根电缆,每根电缆一根,我就可以按预期通过每个 IP ping 我的设备。但是,如果我从 eth1 上移除电缆,我仍然可以 ping 两个 IP。此后,我可以禁用 eth1,而 eth0 上的 2 个 IP 仍然对我可用。
如果我将电缆插入 eth1,则没有任何区别,只是 eth0 端口正常工作。
我做了一个测试,如果我在不同的子网中配置 2 个 IP,就不会出现这个问题。
答案1
发生这种情况的原因是,Linux 默认将 IP 地址视为整个主机的属性,而不仅仅是特定接口的属性;因此来自外部的 ARP 请求(将被两个接口接收)将导致所有接口的答复,而不仅仅是具有请求 IP 的接口的答复。
看着这个答案对于与您的类似的问题(那里还描述了另一种涉及 arptables 的方法)。