私は2つの異なるホームインターネット接続を持ち、プライベートサーバー上の各ルーターLANのIPを設定します(たとえば、10.0.0.2/24および10.0.1.2/24、各ISPのルーターは.1)、私のネットワークへのインターネットアクセスを割り当てます。
問題は、ISPの1つがダウンした場合、デフォルトゲートウェイを10.0.0.1から10.0.1.1に手動で変更する必要があることです。これらのIPは各ルータに設定されており、ルータはブリッジモードではないためです。ダウンタイムは私のホームルータとは関係がないため、ルータはまだICMPパケットに応答しているため、私のサーバーはルーティングテーブルがダウンしていることを知りません。
問題は、Linuxカーネルがゲートウェイを介してIPをチェックし、そのパスの状態を使用してゲートウェイを変更するように設定をサポートしていますか?たとえば、8.8.8.8が常に10.0.0.1を通過するように設定し、そのIPが応答を停止した場合、10.0.0.1のデフォルトパスもオフにする場合は、この方法が適しています。
両方のルーターをブリッジモードに設定し、サーバーにPPPoEハンドシェイクを実行させることが最も効果的であり、そうする必要はありませんが、私のルーターの少なくとも1つはブリッジモードをサポートしていません。
答え1
Linuxカーネルは、IPのゲートウェイ検証設定とそのパスの状態を使用してゲートウェイを変更することをサポートしていますか?
いいえ。これらはカーネルの範囲外です。これはユーザースペースで行う必要があります。
これ通常ルーティングテーブルを制御および維持するソフトウェアデーモンはこれをサポートしていない可能性があります。これは、標準ベースのルーティングプロトコル(OSPFやBGPなど)を実行して「リモートデバイスにpingを送信する」のではなく、隣接ルータにインストールされている正しいルートを学習するためです。成功した場合は、それに応じてデフォルトのパスを設定してください。
両方のルーターをブリッジモードに設定し、サーバーにPPPoEハンドシェイクを実行させることが最も効果的であり、そうする必要はありませんが、私のルーターの少なくとも1つはブリッジモードをサポートしていません。
FWIW これも保証されません。 PPPoEセッションが表示されても、そのルートを介して(完全に)インターネットにアクセスできるという意味ではありません。 ISPネットワークに問題がある可能性があります。