Это беспокоило меня уже довольно долго, но я так и не узнал, почему и как изменить это поведение.
Дубликаты IP-адресов могут быть вызваны опечатками или ошибками DHCP и т. д., но время от времени они случаются.
В системах на основе RPM, таких как CentOS, старый сервер с дублирующим IP-адресом побеждает, а новый сервер получит ошибку при запуске сетевой карты (IP-адрес уже используется). Это довольно безвредно, поскольку мы можем просто исправить систему, которая загружается.
Только Ubuntu с другой стороны с радостью присваивает себе используемый IP-адрес и оставляет старый сервер/устройство без действительного IP-адреса. Это более опасное поведение, поскольку оно приводит к сбоям в работе.
Я хочу изменить поведение Ubuntu на поведение Centos/Rhel, поэтому буду признателен за любую помощь.
решение1
Эту функциональность в системах на базе RedHat обеспечивает arping.
Они используют команду (строка 261 в /etc/sysconfig/network-scripts/ifup-eth)
/sbin/arping -q -c 2 -w 3 -D -I <dev> <ip>
Важный бит - это -D, который используется для режима обнаружения дубликатов. В основном, вставьте его в свои скрипты запуска, чтобы проверить, доступен ли адрес, прежде чем добавлять его.