Назад | Перейти на главную страницу

Обнаружение повторяющегося IP-адреса с помощью нескольких сетевых адаптеров

Я использую arping -D для обнаружения повторяющихся IP-адресов в сети при настройке серверов. (Сеть контролируется кем-то другим, и в прошлом у нас было много проблем с выделением IP-адресов.) Она работает нормально, пока мой хост имеет одну сетевую карту в данной VLAN, но когда у моего хоста больше одной (я иметь один с 9 сетевыми адаптерами в одной VLAN и 1 - в другой), arping -D всегда возвращает ложные коллизии.

Проблема в том, что все 9 моих сетевых адаптеров отвечают на запрос ARP для любого из IP-адресов этих сетевых адаптеров. (Это настоящие физические сетевые адаптеры, а не псевдонимы или что-то еще.) Я отправляю один пакет запроса ARP и получаю 9 ответов ARP is-at ARP, по одному для каждого MAC-адреса.

Я мог бы реализовать свое собственное решение, прослушивая пакеты и проверяя любые ответы с MAC-адресом, отличным от локальных сетевых адаптеров, но похоже, что должен быть более простой способ.

Во-первых, не используйте девять сетевых адаптеров в одной подсети, если вы хотите использовать соединение с полосой пропускания, если вам нужно использовать адреса ip addr.

Чтобы исправить проблему с arp, просто установите следующие sysctl:

net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2