状況:
eth0 - インターネットアクセスのあるデフォルトネットワーク IP: 192.168.2.1 デフォルトゲートウェイ: 192.168.2.254
eth0:1 192.168.2.2 仮想NIC、eth0と同じだがIPが異なる。同じケーブルこのIPはインターネットアクセスが異なる
eth1: 192.168.0.1
eth2: 192.168.1.1
eth1とeth2からのすべてのトラフィックは192.168.2.1を使用して192.168.2.254にルーティングされます。
eth2から来るすべてのトラフィックを192.168.2.254にルーティングする必要がありますが、セカンダリIP 192.168.2.2を使用する必要があります。
さまざまな設定を試しましたが、成功しませんでした。
答え1
これはソースポリシールーティングと呼ばれます。ソースポリシールーティングの設定手順については、Linux Advanced Routing & Traffic Control HOWTOで。
肝心なのは、INET2 のような名前で新しいルーティング テーブルをシステムに追加することです (これらのコマンドは root として実行する必要があります)。
エコー 200 INET2 >> /etc/iproute2/rt_tables
次に、メイン IP ルーティング テーブルにソース ルールを追加します (これは /24 ネットワークだと思います)。
192.168.1.0/24 テーブル INET2 から IP ルールを追加
次に、INET2 テーブルのデフォルト ルートを割り当てる必要があります (2 番目の接続のデフォルト ゲートウェイについては言及していないので、ここで推測します)。
ip route 192.168.2.253 dev eth0:1 テーブル INET2 経由でデフォルトを追加します
最後に、システム上のルート キャッシュをフラッシュする必要があります。
IPルートフラッシュキャッシュ
この方法で作成されたルールは一時的なものであり、システムを再起動すると消えてしまいます (ただし、INET2 テーブルは保持されます)。そのため、ネットワーク インターフェイスの起動スクリプトにルールを配置する必要があります。これを正確に行う方法は、Linux の特定のディストリビューションによって異なり、実際には別の問題です。