web-dev-qa-db-ja.com

制御を失うことなくリモートホストIPアドレスを変更する(Linux)

切断されずにリモートホストプライマリIPアドレスを変更するにはどうすればよいですかまったく(「IPアドレスなし」の状態にしないで)。

問題はインターネット上であまり議論されていません(私の研究によると)。最高のリソース 私が見つけた は少し注意が必要です。

例:10.0.0.11/24を10.0.0.15/24に変更します

1. ssh [email protected]
2. ip addr add 10.0.0.15/24 dev eth0 
3. logout

4. ssh [email protected]
5. ip addr del 10.0.0.11/24 dev eth0 

問題:最後のコマンドは両方のIPアドレスを削除し、10.0.0.11がプライマリであるため接続が失われ、削除されるとセカンダリアドレス(10.0.0.15が属する)が削除されます。

10.0.0.11/2524の代わりに)を追加することで「チート」できることを私は知っています。ただし、理論的にはこれを適切に行うことは可能だと思います。

どう思いますか?

10
Totor

インターフェースまたはすべてのインターフェースにpromote_secondariesオプションを設定する必要があります。

echo 1 > /proc/sys/net/ipv4/conf/eth0/promote_secondaries

または

sysctl net.ipv4.conf.eth0.promote_secondaries=1

eth0allに変更して、すべてのインターフェースで機能するようにします。

このオプションは 2.6.12以降 にあります。

私はこれをダミーのインターフェースでテストし、そこで動作しました。

11
camh