私は2つのISPと2つのIPアドレスを持つサーバーを持っています。
eth0: 161.0.0.2
eth1: 171.0.0.2
www.example.com
DNS LBを持つように2つのAレコードを設定しました。
アプリケーションはこのようにうまく機能し、Linuxボックスには接続の非対称ルーティングを防ぐためにポリシーベースのルーティングが設定されています。発信パケットは、着信接続が確立されたのと同じインターフェイスを経由します。
今残っている唯一の問題は、デフォルトゲートウェイが設定されていることです。161.0.0.1
また、LBを実装するか、少なくとも発信接続のフェイルオーバーを実装したいと思います。
私ができる1つの方法は、cronjobを使用して特定のホストをpingし、pingが失敗した場合のデフォルトパスを変更することですが、171.0.0.1
この方法はあまりにも不安定に見えます。
デフォルトパスをフェイルオーバーする方法に関する提案はありますか?
ベストアンサー1
実際のルーティングプロトコルを知りたくない場合は、最善のアドバイスは、プログラムを継続的に実行し、定期的に最初の2ホップ(設定されたアドレスの使用、つまり161.0.0.1と171.0.0.1)をpingしてそのうちの1つをインストールすることです。デフォルトのパス応答として。おそらく、選択したスクリプト言語を使用してこれを行うことができます。もちろん私はCで直接行うこともできます。実際にはあります(ただし、コードが見つかりません)。非常にシンプルで正確で、Cで実装すると、サーバーへの影響が大幅に減少します。