同じサブネット上の複数の NIC のうち 1 つのポートが切断されている

同じサブネット上の複数の NIC のうち 1 つのポートが切断されている

私は3つの専用NICを備えたLinuxシステムを持っており、3つすべてが次のIPを持つ同じサブネット上にあります。

ETH0: 192.168.1.10
ETH1: 192.168.1.11
ETH2: 192.168.1.12

3 つのポートのトラフィックを分離するために、3 つのルーティング テーブルと対応する IP ルートおよびルールを設定しました。以下は 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

ETH0が接続されている間にETH1とETH2が切断されている場合、ETH1とETH2のIPにpingすると、ETH0から応答が返されます。別の質問では、マルチ NIC Linux システムでのゴースト pingこれは、3 つのポートすべてで ARP テーブルに同じ MAC アドレスが入力されていることが原因であることがわかりました。

ここで指定されたとおり、arp_ignoreとarp_announceを設定しましたUbuntu Linux - 複数の NIC、同じ LAN…ARP 応答は常に単一の NIC から送信されます& 正しい MAC アドレスを含む ARP エントリが PC 上で確認できます。

ただし、この状況では、1 つのポートだけが「デフォルト」になることがわかります。これは、ETH1 と ETH2 がすでに接続されていて、ETH0 のケーブルが差し込まれているが、ETH0 が分離されたスイッチ (サブネットに接続されていない) に接続されている場合に簡単に確認できます。これで、ETH0 がデフォルトになり、分離のため、ETH1 と ETH2 への ping も失敗します。

3 つのポート上のトラフィックを確実に分離する方法はありますか?

関連情報