質問: 着信と同じインターフェイスで返信しますか? 2つのインターフェースを持つシステムがあります。どちらのインターフェースもインターネットに接続されています。それらの1つがデフォルトルートとして設定されます。これの副作用は、パケットがデフォルト以外のルートのインターフェースに到着した場合、応答がデフォルトのルートインターフェースを介して返送されることです。 iptables(または他の何か)を使用して接続を追跡し、接続元のインターフェースを介して返信を返す方法はありますか?
回答: linuxを実行していて、さらにredhat/centosベースのディストリビューションを利用していると想定しています。他のunixやディストリビューションでも同様の手順が必要になりますが、詳細は異なります。テストから始めます(これは@peterの回答と非常に似ていることに注意してください。私は以下を想定しています: eno0はisp0であり、全体的なデフォルトゲートウェイがあります。 eno1はisp1で、ゲートウェイ192.168.1.1のip /範囲192.168.1.2/24があります。 コマンドは次のとおりです。$ echo 200 isp1 >> /etc/iproute2/rt_tables $ ip rule add from eno1 table isp1 $ ip route add default via 192.168.1.1 dev eno1 table isp1 ファイアウォールはまったく関与していません。返信パケットは常に正しいipから送信されていましたが、以前は間違ったインターフェースを介して送信されていました。これで、正しいipからのこれらのパケットは、正しいインターフェースを介して送信されます。上記が機能したと仮定すると、ルールとルートの変更を永続的にすることができます。これは、使用しているunixのバージョンによって異なります。以前と同じように、rh/centosベースのlinuxディストリビューションを想定しています。$ echo "from eno1 table isp1" > /etc/sysconfig/network-scripts/rule-eno1 $ echo "default via 192.168.1.1 dev eno1 table isp1" > /etc/sysconfig/network-scripts/route-eno1 ネットワークの変更が永続的であることをテストします。$ ifdown eno1 ; ifup eno1 それでも問題が解決しない場合は、rh/centosの新しいバージョンで、次の2つのオプションのいずれかを実行する必要があります。 デフォルトを使用しないnetworkmanager.service;代わりにnetwork.serviceを使用してください。これに必要な正確な手順については調べていません。サービスを有効/無効にする標準のchkconfigまたはsystemctlコマンドが含まれていると思います。 networkmanager-dispatcher-routing-rulesパッケージをインストールする 個人的には、ルールパッケージをインストールする方が簡単です。サポートされる方が簡単な方法だからです。$ yum install networkmanager-dispatcher-routing-rules もう1つの強力な推奨事項は、arpフィルタリングを有効にすることです。これにより、デュアルネットワーク構成での他の関連する問題が回避されます。 rh/centosを使用して、次の内容を/etc/sysctl.confファイルに追加します。net.ipv4.conf.default.arp_filter=1 net.ipv4.conf.all.arp_filter=1