这个问题困扰了我很长一段时间,但我一直不知道为什么或者如何改变这种行为。
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,它用于重复检测模式。基本上,将它放入启动脚本中,在添加之前检查地址是否可用。