2+プロバイダーを使用します(最初の部分)

ここでは、2つ(またはそれ以上)のインターネットプロバイダーを使用するためのLinuxでのゲートウェイの構成について説明します。

設定には、iptablesの機能と、通常iproute2と呼ばれるパッケージのipユーティリティを使用します。 そして、タスクを解決するために、「宛先ルーティング」(受信者アドレスに基づくルーティング)ではなく、「ポリシールーティング」(つまり、ポリシーベースのルーティング)に基づいてパケットをルーティングします。



それでは始めましょう。 まず、変数を定義しましょう:

#!/ bin / bash



IF1 = eth1

IF2 = eth2



IF-これらは、プロバイダーを介してインターネット上で検索するネットワークインターフェイスです

IP1 = 10.10.10.10

IP2 = 20.20.20.20



IP-これらはプロバイダーによって提供された外部IPアドレスです。

P1 = 10.10.10.1

P2 = 20.20.20.1



Pはプロバイダーのデフォルトゲートウェイです

ポリシールーティングでは、送信元アドレスに基づいたルーティングが許可されるため、関与するサーバーをリストします。

SRV11 = 192.168.0.11

SRV12 = 192.168.0.12



ここでSRV11とSRV12は同じサーバーの2つのIPです(これは重要です!)。これにより、1つのサーバーが2つのプロバイダーからの着信接続を処理できます。 もちろん、この機会を実現するためのオプションは他にもありますが、私はIPを使用します。最初はもっと簡単になると思います。

さて、今、最も興味深い部分はルーティングのルールを書くことです。

最初に行う必要があるのは、ルーティングテーブルを追加することです。そのためには、/ etc / iproute2 / rt_tablesファイルを次のように編集する必要があります。

#echo "101 T1" >> / etc / iproute2 / rt_tables

#echo "102 T2" >> / etc / iproute2 / rt_tables



最初の表に入力します。

ip route add $ P1_NET dev $ IF1 src $ IP1 table T1

ip routeは、$ P1テーブルT1を介してデフォルトを追加します



つまり、最初のインターフェイスを介して最初のプロバイダーのサブネットに到達できることを示すルートを追加します。 2行目に、デフォルトゲートウェイを追加します。

2番目と同じこと:

ip route add $ P2_NET dev $ IF2 src $ IP2 table T2

ipルートは、$ P2テーブルT2を介してデフォルトを追加します



次に、「main」というメインテーブルを扱います。 ip routeと入力すると表示されます。

ip route add $ P1_NET dev $ IF1 src $ IP1

ip route add $ P2_NET dev $ IF2 src $ IP2

ipルートは、$ P1メトリック10を介してデフォルトを追加します



最初の2行は前のエントリと似ていますが、「table main」のみが省略されています。 3行目は、メトリックでデフォルトルートを設定します。

これで、ルーティングテーブルの内容を確認するためにルーティングを決定しました。コマンド「ip route show table <table name>」を実行できます。 それでは、ルールについて説明しましょう。 ルールによって、どのパケットがどのテーブルにルーティングされるかが決定されます。

IPルールは$ IP1テーブルT1から追加します

IPルールは$ IP2テーブルT2から追加します



ここで、送信元アドレスが最初の外部アドレスと等しい場合、テーブルT1に従ってルーティングが実行されることを指摘しました。 同様に、2番目のエントリ。

そして最後に、最も興味深いのは:

IPルールは$ SRV11 fwmark 10テーブルT1から追加します

IPルールは$ SRV12 fwmark 20テーブルT2から追加します

iptablesを使用して、関心のあるパケットをマークし、これらのラベルに基づいてルーティングできます。 実際には、ここに2つのルールを追加しました。ラベル10のパッケージには、テーブルT1を使用し、ラベル20-T2のパッケージには。 なぜこれが必要なのかはあまり明確ではないかもしれませんが、iptablesルールからすべてが明らかになります。 ルールを表示するには、「ipルール」を実行します。ルーティング中にルールが順番にチェックされます。

さて、作業の半分は完了しました。iptablesのルールを記述することは残っています。これについては、第2部で説明します。



第二部

私のブログの元の記事私たちは2+プロバイダーを使用します(最初の部分)



ps自分を理解し、他の人に伝えるために書かれています。



All Articles