web-dev-qa-db-ja.com

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

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

私は私が私がのような何かを使用することによって目的地IPによって容易にすることができることを知っています

route add 1.2.3.4/24 dev eth4

しかし、送信元IPに基づいてルーティングする方法がわかりません。

29
Alex

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

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はこれを通過した後デフォルトテーブルを使用しません、従って他のルートが必要であれば(すなわちデフォルトゲートウェイ)、またそれらをテーブルに追加する必要があります。

28
Fox

http://wiki.wlug.org.nz/SourceBasedRouting

このサイトにはソースベースのルーティングの良い例があります。

6
daya