Linux で送信トラフィックが受信トラフィックと同じインターフェースを使用することを保証するにはどうすればよいですか?

Linux で送信トラフィックが受信トラフィックと同じインターフェースを使用することを保証するにはどうすればよいですか?

私には 2 つのインターフェースを持つ Linux ボックスがあります。1 つはデータ用、もう 1 つは管理用です。両方が同じネットワーク上にある場合は、両方のインターフェースにルートが追加されます。

次のようなルーティング テーブルを想像してください。

192.168.132.0 255.255.255.0 eth0
192.168.132.0 255.255.255.0 eth1 ( management interface)

問題は、たとえ mgmt IP ( ) への接続が開始されてもeth1、戻りトラフィックが になることですeth0

接続時の戻りトラフィックが転送されたトラフィックと同じインターフェースを使用することを保証するにはどうすればよいですか?

答え1

理想的には、両方のインターフェースが異なる IP サブネットの一部である必要がありますが、この方法のみが必要であると確信している場合は、Linux 分割アクセス ルーティングを使用する必要があります。

Linux 分割アクセスの説明

Novell の分割アクセスの例

まず、これらのNICとの間で送受信されるパケットに使用する2つのルーティングテーブルT1とT2を作成します。次の行を追加します。

252 T1
251 T2

/etc/iproute2/rt_tables へ。

次に、次のテーブルを介して着信パケットと発信パケットをルーティングするためのルーティング ルールを設定します。

ip route add 10.105.16.0/24 dev eth0 src 10.105.16.100 table T1
ip route add default via 10.105.16.2 dev eth0 src 10.105.16.100 table T1
ip rule add from 10.105.16.100 table T1

ip route add 10.105.16.0/24 dev eth1 src 10.105.16.101 table T2
ip route add default via 10.105.16.2 dev eth1 src 10.105.16.101 table T2
ip rule add from 10.105.16.101 table T2

関連情報