web-dev-qa-db-ja.com

CentOS Dual WAN-ロードバランスとフェイルオーバー

Linuxサーバー(CentOS)をセットアップして、負荷分散とフェイルオーバーを備えたルーターとして機能します(1つのインターネット回線がダウンすると、別の回線が引き継ぐ必要があります)。 eth1(LAN)に接続されているクライアントは、インターネットにアクセスできる必要があります。

私の参照( http://fatalsite.net/?p=9

インターフェース:

eth1 = LAN

eth2 = WAN1-192.168.1.100 /ゲートウェイ192.168.1.1-ISP1

eth3 = WAN2-192.168.10.5 /ゲートウェイ192.168.10.1-ISP2

それ、どうやったら出来るの?

ありがとうございました!


oK。だから私はNATをセットアップして転送を有効にしましたが、それでもLANインターフェースを介してインターネットに到達できます。

私もこれをしましたが、運がありません:

iptables -A INPUT -i eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i eth3 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables --table nat --append POSTROUTING --out-interface eth2 -j MASQUERADE

iptables --table nat --append POSTROUTING --out-interface eth3 -j MASQUERADE

iptables --append FORWARD --in-interface eth1 -j ACCEPT
1
ADH2

あなたが提供した実際のリファレンスは、ゲートウェイルーターのソリューションを説明しています。見逃しているのは、ローカルLANの設定です。ここに行きます:

  • 両方のインターフェイスでNATを設定します

iptables -t nat -A POSTROUTING -o eth2 -s -j MASQUERADE

iptables -t nat -A POSTROUTING -o eth3 -s -j MASQUERADE

  • 転送が有効になっていることを確認してください(sysctl -w net.ipv4.ip_forward=1

  • facebook.comが生きているかどうかを確認するか、pingを実行するか、httpリクエストを試行します-生きている場合は何もしません;-) facebook.comが生きている場合は、WANリンク正常に動作します。ダウンしている場合は、Facebookが機能しなくなったため、インターネットがダウンしていると叫んで電話があります。これを行うためのスクリプトを作成できます。

  • 接続がダウンしている場合-必要なタスクは1つだけです:ipルールを追加し、フェイルオーバーを介してトラフィックを転送しますWANリンク。プライマリWANが再びオンになります-ルールを削除し、キャッシュ。このように:

ip rule add from 1.2.3.0/24 table WAN2

ip route flush cache

またはトラフィックを復元します。

ip rule delete from 1.2.3.0/24 table WAN2

ip route flush cache

  • 変更を永続的にします。私はCentOSに精通していませんが、sysctl.confとrc.localがあなたのサービスにあるはずです。

  • ボックスのデフォルトゲートウェイを切り替える必要がないのはなぜですか?あなたの参照によると、あなたはすでに異なるルーティングテーブルにデフォルトルートを追加しています。つまり、ボックスは引き続きセカンダリルーティングテーブルを介して利用できます。はい、プライマリゲートウェイが停止している場合でも、独自のデフォルトルートを持つセカンダリテーブルを使用してゲートウェイに到達できます。

  • また、負荷分散はルートキャッシュに基づいているため、さまざまなプロシダーを介したトラフィックの分散を回避します。これにより、多くの不明な接続の問題が発生する可能性があります。私はむしろフェイルオーバーに固執したいと思います。

  • 最後になります。WANリンクがプライベートネットワークの場合、ポートのリダイレクトまたはVPNリンクの設定以外の方法でネットワークの外部からボックスにアクセスすることはできません。この場合、ゲートウェイの切り替えが必要になる場合があります。

  • ソースリファレンスについて ここをチェック

3
apagr