這已經困擾我很長一段時間了,但我從未找到原因或如何改變這種行為。
ip 重複可能是由拼字錯誤或 dhcp 錯誤等引起的,但這種情況確實時有發生。
在基於 rpm 的系統(例如 centos)中,具有重複 ip 的舊伺服器獲勝,而新伺服器在啟動 nic 時會出現錯誤(ip 位址已使用)。這在某種程度上是無害的,因為我們可以修復即將出現的系統。
另一方面,ubuntu 很高興地為自己取得使用過的 IP,並讓舊伺服器/裝置沒有有效的 IP。這是更危險的行為,因為它會導致中斷。
我想要的是將 ubuntu 的行為更改為 centos/rhel 的行為,因此將不勝感激。
答案1
基於 Redhat 的系統中的此功能由 arping 提供。
他們使用命令(/etc/sysconfig/network-scripts/ifup-eth 中的第 261 行)
/sbin/arping -q -c 2 -w 3 -D -I <dev> <ip>
重要的位元是 -D,它用於重複檢測模式。基本上將其放入啟動腳本中以在添加之前檢查該地址是否可用。