同一子网上有多个 NIC,其中一个端口断开连接

同一子网上有多个 NIC,其中一个端口断开连接

我有一台 Linux 系统,该系统有 3 个专用网卡,并且所有 3 个网卡都位于同一子网,IP 地址如下

ETH0: 192.168.1.10
ETH1: 192.168.1.11
ETH2: 192.168.1.12

我设置了三个路由表和相应的 IP 路由及规则来隔离 3 个端口的流量。下面显示的是 ETH1 的相同内容。ETH0 和 ETH2 也有类似的条目。

default via 192.168.1.1 dev eth1
192.168.1.0/24 dev eth1  src 192.168.1.11

32752:  from all to 192.168.1.11/24 lookup 1
32753:  from 192.168.1.11/24 lookup 1

如果 ETH1 和 ETH2 断开连接,而 ETH0 连接,则当我 ping ETH1 和 ETH2 IP 时,我会收到来自 ETH0 的响应。在另一个问题中,在多网卡 Linux 系统上进行 Ghost ping我发现这是由于 ARP 表中所有 3 个端口都填充了相同的 MAC 地址造成的。

我已按照此处指定的方式设置 arp_ignore 和 arp_announceUbuntu Linux - 多个 NIC,同一个 LAN…ARP 响应总是从单个 NIC 发出&我可以看到PC上包含正确MAC地址的ARP条目。

但是,我仍然看到在这种情况下只有一个端口成为“默认”端口。当 ETH1 和 ETH2 已经连接并且 ETH0 的电缆现在已插入但 ETH0 已连接到隔离交换机(与子网没有连接)时,可以很容易地看到这一点。现在,ETH0 成为默认端口,并且由于隔离,对 ETH1 和 ETH2 的 ping 也会失败。

有没有办法可以真正隔离三个端口上的流量?

相关内容