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

Как я могу исправить неправильную запись arp?

Я просто предполагаю, что arp - моя проблема ...

У меня настроен кластер серверов Linux drbd, и из-за некоторых проблем с питанием мне пришлось отключить переключатель, который соединяет два сервера. В результате оба сервера стали основными и использовали один и тот же IP-адрес в течение нескольких секунд. (это вызвало раздвоение мозга состояние, но это уже другая проблема)

Моя проблема в том, что теперь некоторые серверы, похоже, могут видеть общий IP-адрес кластера, а некоторые нет. Мне интересно, может ли это быть ситуация, когда некоторые коммутаторы / порты отправляют трафик на один сервер, а некоторые на другой?

И если это проблема, как я могу это решить?

Если это действительно проблема arp, проблема будет ограничиваться сетевым устройством, выполняющим маршрутизацию (поскольку это то, для чего предназначен ARP - сопоставление адресов L3 (IP) с адресами L2 (MAC)) или, возможно, в кеше ARP сервера, сидящего в той же IP-подсети. Это не будет включать переключатель, если это не переключатель L3.

Чтобы решить проблему на маршрутизаторе cisco, вы можете выполнить следующую команду, чтобы очистить кеш arp и разрешить ему восстановление:

clear arp

Чтобы удалить неверную запись arp с сервера, который может кэшировать неверную информацию (то есть не сервер, который не может быть достигнут, а сервер, который не может достичь), вы можете вручную удалить фиктивную запись из ARP cache, где IP-адрес - это IP-адрес недоступного сервера. Обратите внимание, что этот синтаксис действует как в Linux, так и в Windows:

arp -d <ip-address>

Вы также можете отправить бесплатный ARP с сервера, который недоступен, чтобы заставить другие хосты в той же IP-подсети обновить свои кеши ARP (у меня это есть в моих заметках, но я признаю, что не использовал его долгое время). времени. Я не могу вспомнить, позволяет ли это пропустить шаги, описанные выше, или просто сокращает процесс добавления записи arp на других хостах после выполнения команд выше):

arping -q -A -c 1 -I eth0 <ip-address>
arping -q -U -c 1 -I eth0 <ip-address>

Все вышеперечисленное относится к проблеме ARP, но вы специально упоминаете переключатель в своем вопросе. Если это коммутатор, который использует только L3 для управления, тогда проблемы с потоком данных должны быть связаны с кешем MAC, а не с кешем ARP. В этом случае вы можете запустить на коммутаторе следующее, чтобы очистить содержимое динамического кеша:

clear mac-address-table dynamic

Вы можете использовать arp в Linux, чтобы удалить конкретную запись с -d переключатель. Если у вас есть управляемые коммутаторы, вы, вероятно, можете очистить кеш arp, с cisco это будет просто clear arp . Помимо этого, вы, конечно, всегда можете просто выключить и включить все переключатели, и они должны перестроить свои таблицы.

выключено ли питание также из-за этого отключения электроэнергии? возможно, они потеряли последнее изменение конфигурации, которое гласит: «для этого MAC-адреса, затем пакет для этих 2 портов».

Коммутатор Cisco должен быть настроен как концентратор для виртуального Mac, поэтому они отправляют все пакеты, связанные с виртуальным Mac, на оба хоста.