Linux
在不失控的情況下更改遠端主機 IP 地址(Linux)
如何在完全不斷開連接的情況下更改遠端主機主IP 地址(不處於“無 IP 地址”狀態)。
這件事在網際網路上討論得很少(根據我的研究)。我找到的最好的資源有點棘手。
範例:將 10.0.0.11/24 更改為 10.0.0.15/24
1. ssh root@10.0.0.11 2. ip addr add 10.0.0.15/24 dev eth0 3. logout 4. ssh root@10.0.0.15 5. ip addr del 10.0.0.11/24 dev eth0
*問題:*最後一個命令刪除了兩個 IP 地址並且連接失去,因為 10.0.0.11 是主要的,並且在刪除時它會刪除其輔助地址(10.0.0.15 所屬的)。
我知道我可以通過添加 10.0.0.11/ 25(而不是24)來“作弊”。但是,我認為理論上可以正確地做到這一點。
你怎麼看?
您需要
promote_secondaries
在介面上或所有介面上設置選項:echo 1 > /proc/sys/net/ipv4/conf/eth0/promote_secondaries
或者
sysctl net.ipv4.conf.eth0.promote_secondaries=1
更改
eth0
為all
使其適用於所有介面。此選項自 2.6.12 以來一直存在。
我用一個虛擬介面對此進行了測試,它在那里工作。
所以程序是我改變它
/etc/sysconfig/network-scripts/ifcfg-en2xxx
然後執行這個命令(作為root):echo 1 > /proc/sys/net/ipv4/conf/eth0/promote_secondaries
或者
sysctl net.ipv4.conf.eth0.promote_secondaries=1
目前,我的 CentOS 伺服器在 DHCP 中,我想在不失去連接的情況下遠端給它一個靜態 IP。