Команда аг р используется при анализе проблем, связанных с отображениями адресов IP в адреса Ethernet. Команда аг р предоставляет три полезных для целей отладки ключа:
- -а - Отобразить все ARP-записи из таблицы.
- -d имя-узла - Удалить запись из таблицы ARP.
- -s имя-узла ether-адрес - Добавить запись в таблицу.
Эти три ключа позволяют просматривать содержимое таблицы ARP, удалять проблемную запись, а также устанавливать корректную запись. Возможность установки корректной записи - это полезная «отсрочка», дающая время на поиск постоянного решения.
Используйте агр , если заподозрили наличие некорректных записей в таблице разрешения адресов. Одним из четких признаков проблем с таблицей ARP является сообщение, что на команду - скажем, ftp или telnet - ответил «не тот» узел. Нерегулярные проблемы, затрагивающие лишь определенные узлы, также могут свидетельствовать об ошибках в таблице ARP. Проблемы в таблице ARP обычно вызываются использованием одного и того же IP-адреса двумя различными системами. Проблемы ощущаются пользователями сети нерегулярно, поскольку в таблицу попадает запись для адреса узла, который быстрее других ответил на последний ARP-запрос. Иногда первым отвечает «правильный» узел, а иногда «не тот».
Если вы заподозрили, что две системы используют один и тот же IP-адрес, выведите таблицу разрешения адресов при помощи команды аг р -а. Вот пример для системы Solaris.
% arp -a Net to Media Table: IPv4 Device IP Address Mask Flags Phys Addr -------------------------------------------- dnetO pecan 255.255.255.255 08:00:20:05:21:33 dnetO horseshoe 255.255.255.255 00:00:0c:e0:80:b1 dnetO crab 255.255.255.255 SP 08:00:20:22:fd:51 dnetO BASE-ADDRESS.MCAST.NET 240.0.0.0 SM 01:00:5e:00:00:00
Проще всего проверить корректность пар адресов IP/Ethernet, если существует информация о корректном для каждого отдельного узла адресе Ethernet. По этой причине следует записывать Ethernet- и IP-адреса каждого узла при его добавлении к сети. Обладая такими записями, вы быстро обнаружите несоответствия в таблице.
Если же такой записи нет, первые три байта адреса Ethernet помогут обнаружить проблему. Первые три байта адреса идентифицируют производителя устройства. Перечень таких идентификационных префиксов доступен по адресу http://www.iana.org/assignments/ethernet-numbers.
Исходя из префиксов, мы можем видеть, что две записи из таблицы ARP в нашем примере относятся к системам Sun (8:0:20). Предположим, horseshoe должен быть второй системой под управлением системы Sun, и тогда префикс 0:0:0с Cisco показывает, что маршрутизатор Cisco по ошибке получил IP-адрес узла horseshoe.
Если ни справочник корректных соответствий, ни префиксы производителей устройств не помогли определить источник ошибки в таблице ARP, попытайтесь использовать telnet для подключения к системе, IP-адрес которой содержится в записи ARP. Если устройство поддерживает telnet, приветственное сообщение может помочь определить, какой из узлов некорректно настроен.