0

プログラムが実行されているコンピューターの IP とネットマスクを効果的に変更できる方法を見つけようとしています。ユーザーがアクセスできる「ボックス」との通信を維持し、そのボックスの IP を変更できる必要があります (ただし、Linux ホストの IP は変更できません)。幸いなことに、ボックスはマルチキャスト アドレスを介して IP をブロードキャストします。そのアドレスを読み取り、ボックスがブロードキャストしている IP と通信できます。ただし、私の問題は、ボックスが Linux ホストのサブネット外の IP を変更すると、接続が失われることです (予想どおり)。

その結果、ブロードキャストされている IP がそのサブネットの外にあることが検出されたときに、Linux ホストの IP とネットマスクを変更するための迅速かつ汚い方法が必要です。/etc/networking/interfaces ファイルを変更/編集できることは承知していますが、ネットワーク インターフェイスや Linux ホストを再起動する必要がない「ライブ」を望んでいました。さらに、変更中に現在開いているすべてのソケットを維持したいと考えています。私の主な問題は、IP 切り替えの結果として破損することのない、他のアプリケーションによって実行される多数の接続があることです。また、できればホスト IP 切り替え後に Linux のマルチキャストの route add コマンドを実行しなければならないというやり直しは避けたいです。

これらの要件を満たすためにできることはありますか? ありがとう。

4

1 に答える 1