私は SB Armory Mk II Debianを実行していて、立ち上がるのはかなり簡単です SBホストとの通信 。
しかし、私が達成したいのは次のとおりです。 USBアーモリーのネットワークアダプターをに条件付きで構成できるようにしたいと思います。 3つの角度:
dhclient
を使用してIPを割り当てます。これを行うことは、これまでのところ大きな問題ではありません。例として、 この回答 StackOverflowでそれを達成する2つの方法を示しています(2番目の方法では、ICS範囲アドレスを別のエイリアスとして追加します)。
しかし、重要なのは、ルートを設定する方法です。そして、それは私が今立ち往生している部分です:
次の分野でアドバイスが必要です。
ping -I <address>
_など)はありますか?そして後付けとして:アップリンクの可用性の変化にどのように対処するか?ip-rule(8)
で表現する信頼できる方法はありますか?私は過去にそれらのシナリオのいくつかに会ったことがありますが、それでも完璧な解決策は見つかりませんでした。
まず、2つの静的IPを割り当てるとき、それらのルーティングメトリックが1000などの高いものであることを確認します。そうすると、DHCPのデフォルトルートがある場合、それは低くなり、自動的に選択されます。これは私が通常行う方法です。
良いアップリンクとは何なので、次のビットははるかにトリッキーです。 Linuxはあなたのためにその選択をすることは決してありません-リンクがアップしているなら、それはアップしています。
私がこれらの問題に取り組んでいるシステムでは、常にスクリプトまたはデーモンが実行されており、それらはすぐに非常に複雑になる可能性があります。ほとんどの場合、エンドポイントに対する接続を一定の間隔でテストし、それに応じてルートを設定するか、インターフェイスを上下に設定します。
優先インターフェース(イーサネットとモデムなど)がある場合もありますが、その場合、モデム接続を切断せずにイーサネット接続が実行されているかどうかをテストする必要があるため、さらに難しくなります。 ping -Iスイッチが実際にインターフェイスエイリアスで機能するかどうかはわかりませんが、機能する可能性があります。そうでない場合は、たとえばを使用してアドレスを完全に分割することもできます。 macvlanまたはipvlan。これにより、アドレス(またはその仮想インターフェイス)を上下に設定することもできます。
考慮しなければならない、また考慮しなければならないかもしれない、まったく異なる何かは、インターフェースとサブネットを変更するときに、異なるDNSサーバーを使用しなければならず、場合によってはサービスも再起動しなければならないことです。
Linuxでフェイルオーバーを行うためのガイドはたくさんありますが、ほとんどの場合、物理リンクのダウンに基づいており、もちろん簡単にトリガーできます。または、デーモンまたはスクリプトがあります。これは、ルートをテストするために提案するものです。
それらは私の5セントでした、私はそれがいくらか理にかなっていて、それがあなたを正しい方向に導くことができることを願っています。