昨日、小さな問題に遭遇しました-Win2k3がインストールされたマシンで、2つのネットワークカード、2つのプロバイダーをインストールしました。 問題は次のように判明しました:サブネットが交差する(より正確には、それらは一致します)。 メインゲートウェイに第1プロバイダーを使用し、第2プロバイダーを通じてイントラネットリソースをウォークスルーすることが決定されました。 そして、すべてがうまくいきますが、マシンは両方のインターフェイスからの着信接続を提供する必要があります。 しかし、静的ルートのおかげで、最初のプロバイダーから送信された10.0.0.0/8サブネットからの要求への応答は、2番目のプロバイダーのチャネルを通過しました。 linukhaの下でこの問題を解決する方法-私は知っていました(また、このメモで説明します)。 小さなグーグルが解決策を見つけました(msdn'eで接続優先度制御につまずいた)。 同僚(WAJIM、こんにちは)が考え-と2番目のオプションが見つかりました。 それから私は少し考えた(少し)-そして、類推によって、linukhの2番目の解決策が現れた:)
合計で、2mプロバイダーのルーティング問題を解決するための4つのオプション(Windows用に2つ、Linux用に2つ)があります。
与えられた:
- ゲートウェイでもある2つの物理ファイアウォール(192.168.1.10および192.168.2.10)
- 2つのネットワークインターフェイス(lan1-192.168.1.101およびlan2-192.168.2.101)
- 必要に応じてこの良い仕事をしたい
さて...始めましょう。
- 窓
- ネットワーク接続の優先管理:
3つのルートを作成する必要があります。
route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.10 metric 1
route -p add 10.0.0.0 mask 255.0.0.0 192.168.1.10 metric 1
route -p add 10.0.0.0 mask 255.0.0.0 192.168.2.10 metric 1
次に、[ネットワーク接続]-> [詳細設定]-> [詳細設定]に移動し、lan2を上に移動して、この接続がlan1より高くなるようにします。 できた
- ルーティングテーブルの優先順位:
再び-3つのルートを作成します。 メトリックを変更するだけです
route -p add 0.0.0.0 mask 0.0.0.0 192.168.1.10 metric 1
route -p add 10.0.0.0 mask 255.0.0.0 192.168.1.10 metric 2
route -p add 10.0.0.0 mask 255.0.0.0 192.168.2.10 metric 1
そして、優先インターフェースを備えたダンスはありません。 この方法が最適だと思います。
UPD :優先度が高いインターフェイスメトリック(前の段落を参照)は最小であってはなりません。
- Linux
- ルーティングテーブルの優先順位:
これは、前の段落とほぼ同じです(構文のみが少し異なります)
ルートはデフォルトgw 192.168.1.10メトリック0を追加します
route add -net 10.0.0.0/8 gw 192.168.1.10 metric 1
route add -net 10.0.0.0/8 gw 192.168.2.10メトリック0
- iproute2:
実際、このソリューションでは、iproute2パッケージをインストールする必要があります。 Debianで-apt-get iprouteをインストールします。
この場合、2つのルートが必要です
ルートはデフォルトgw 192.168.1.10メトリック0を追加します
route add -net 10.0.0.0/8 gw 192.168.2.10メトリック0
2つのルーティングテーブルを作成します。
echo '10 lan1 '>> / etc / iproute2 / rt_tables
echo '11 lan2 '>> / etc / iproute2 / rt_tables
次のテーブルにルーティングルールを追加します。
IPルートは、192.168.1.10テーブルlan1を介してデフォルトを追加します
192.168.1.101テーブルlan1からのipルールの追加
ip route add 127.0.0.0/8 dev lo table lan1
ipルートは、192.168.2.10テーブルlan2を介してデフォルトを追加します
192.168.2.101テーブルlan2からのipルールの追加
ip route add 127.0.0.0/8 dev lo table lan2
最後のルールは、ローカルインターフェイスからのパケットが失われないようにすることです。
また、リブート時にLinuxがテーブルとルーティングルールをクリアすることを忘れないでください。したがって、/ etc / network / if-up.dフォルダーにトリッキーなスクリプトを作成することをお勧めします。 次の内容のスクリプトがあります。
#!/ bin / sh -e
ケース「$ IFACE」
eth1)
IPルートは、192.168.1.10テーブルlan1を介してデフォルトを追加します
192.168.1.101テーブルlan1からのipルールの追加
ip route add 127.0.0.0/8 dev lo table lan1
;;
eth2)
route del default gw 192.168.2.101
route add -net 10.0.0.0/8 gw 192.168.2.10 1
ipルートは、192.168.2.10テーブルlan2を介してデフォルトを追加します
192.168.2.101テーブルlan2からのipルールの追加
ip route add 127.0.0.0/8 dev lo table lan2
;;
エサック
UPD :メトリックの表示の妨害を修正しました。
選択はあなた次第です。 私は、両方のシステムの2番目のオプション(WindowsのメトリックとDebianのiproute2を変更する)に専念することが決定されたとしか言えません。
Linuxルーティングを気にする人-このことを読むことをお勧めします
lartc.org/howto誰かがこの情報が役立つことを願っています。
そして再び、同僚-幸せな休日:)