特定のサブネット(ソースIP)のみを特定のインターフェイスにルーティングする方法は?


31

特定のサブネット(ソースIP)のみを特定のインターフェイスにルーティングする方法は?
OS:Linux

私は次のようなものを使用して宛先IPで簡単にできることを知っています

route add 1.2.3.4/24 dev eth4

しかし、ソースIPに基づいてルーティングする方法はわかりません。

回答:


30

ポリシーベースのルーティングを使用する必要があります。何かのようなもの

ip rule add from <source>/<mask> table <name>
ip route add 1.2.3.4/24 via <router> dev eth4 table <name>

<name>で指定されたテーブル名か、/etc/iproute2/rt_tables数値id ...

これは、1.2.3.4/24ルーティングテーブルを使用してすべてのトラフィックがルーティングされることを示しています<name>。IIRCでは、これを通過した後はデフォルトテーブルを使用しないため、他のルート(デフォルトゲートウェイなど)が必要な場合は、それらもテーブルに追加する必要があります。


1
2番目のコマンドに対して1つの補正(ただし、必ずあなたの1にも作業する場合:。 ip route add default dev eth4 table <name>tableディレクティブも...ちょうど最初のコマンドのように、私は考えて最後に行くべきdefaultちょうどあなたの例のように、サブネットに置き換えることができます)
アレックス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.