宛先ネットワークごとにトラフィックを別のゲートウェイにルーティングする


9

いくつかのゲートウェイがあり、宛先に基づいていくつかのトラフィックを異なるゲートウェイからルーティングしたいと考えています。iproute2とiptablesのルールを組み合わせて使用​​する必要があると思いますが、どこから始めればよいかわかりません。
誰かが例を提供できますか?

回答:


9

あなたはおそらくあなたが望むことをすることができますip route

ip route add 8.8.8.8 via 10.0.0.1 dev enp3s8
ip route add 10.0.0.0/24 dev eth0

最初の例ip route addは、特定のイーサネットインターフェイス(ep3s8)からネクストホップルーター10.0.0.1に送信された単一のIPアドレスを示しています。

2番目のルートは、ネットワーク全体10.xyzで、特定のイーサネットカードeth0から送信されます。これが「ローカルネットワーク」です。これにはネクストホップルーターがなく、すべて同じ論理ワイヤー上にあります。

man ip-routeしかし、何かをする前に読みたいと思います。また、リブートする必要があることを覚悟し、これをリモートで実行しないでください。リモートアクセスを終了させる不正なルートを非常に簡単に作成できます。私はこの最後の勧告における経験の声です。


1
ブロック全体のゲートウェイを指定することもできます。「ip route add 10.1.0.0/16 via 192.168.0.1」
jthill

あなたの答えをありがとう、それは私を正しい方向に向けるのに役立ちます。これを試して、お知らせします。
Walter

5

何について、あなたは求めていることはありますpolicy-based routingsource-based routing。このまったく同じサイトに、David Schwartzによる優れた紹介があります。

特定のアプリケーションを特定のインターフェイスにバインドできるようにする、きちんとした小さなプログラムもここにあります。もちろん、これは、目的のリスニングアドレスにバインドするオプションがあるopensshのようなアプリで簡単です。ただし、このライブラリを使用すると、そのようなオプションのないアプリケーション(Firefoxなど)でも、指定したIPアドレスにバインドできます。

このようにして、すべてのアプリケーションに個別のルーティングテーブルを提供するか、アプリケーションごとに同じ仕様を上書きするかを選択できます。


宛先ごとにルーティングする場合は、ポリシールーティングは必要ありません。
Diego Woitasen 2013年

こんにちは、それも良い点です。うーん、柔軟性が向上するので、この時点で私が望んでいるよりもさらに進んでいます。確かに何かを学ぶこと。
Walter

3

ソースベースルーティングについて読むのに適した場所はLinux Advanced Routing&Traffic Control
です。マニュアルも読むことができます。

man ip rule
man ip route

一般に、ルールを追加する必要があります(デモ目的でインターフェースeth1を追加しましたが、省略できます)

#ip rule add dev eth1 to 170.10.0.10 table 2 priority 20000

現在地:
DEV eth1の -パケットを送信するために使用されるデバイス
170.10.0.10に -先の
表2 -あなたのルートをお尻する必要があり、テーブル
の優先順位20000 -ルールの優先順位

あなたはあなたのルールを見ることができます

#ip ru sh
    0: from all lookup local
20000: from all to 170.10.0.10 iif eth1 lookup 2
32766: from all lookup main
32767: from all lookup default

次に、通常の方法でルートを追加する必要がありますが、ルートを配置するテーブル(表2)を指定する必要があります

#ip route add table 2 via 170.10.0.1 default

ルートを確認するには、実行する必要があります

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