特定のポートの特定のインターフェイスへのトラフィックのルーティング

特定のポートの特定のインターフェイスへのトラフィックのルーティング

アウトバウンドトラフィックをSSHポートの特定のインターフェイスにルーティングしたいと思います。次のルーティングテーブルがあります。

default via gw_ip dev eth0
default via gw_ip dev eth1 metric 10001
10.x.y.z/23 dev eth0 proto kernel scope link src eth0_ip
10.x.y.z/23 dev eth1 proto kernel scope link src eth1_ip

ご覧のとおり、両方のインターフェイスは同じサブネット上にあるため、すべてのアウトバウンドトラフィックはデフォルトでメトリック値が低いため、eth0_ipを通過します。私のユースケースは、すべてのインバウンドおよびアウトバウンド通信にeth1を使用することです。メトリック値を変更するか、eth1のデフォルトルールを定義することでこれを達成できます。

ただし、問題は、SSHポート22のTelnetを介してシステム状態をテストするいくつかの自動ヘルスチェックがシステムにあることです。このヘルスチェックは常に eth0 で行われ、デフォルトインターフェイスを eth1 に設定して IP テーブルを変更すると失敗します。これはテストがeth0 IPに接続しようとしますが、応答はeth1 IPから来るためだと思います。

解決策として、ポート22に対してのみアウトバウンドトラフィックをeth0に設定できるかどうか疑問に思います。したがって、ヘルスチェックがポート22でeth0に接続しようとすると、eth0のみが応答を受け取ります。

ベストアンサー1

おすすめ記事