Категория > Новости > Маленькие секреты сетевых утилит. Интерпретируем вывод ping, traceroute и whois для отладки - «Новости»

Маленькие секреты сетевых утилит. Интерпретируем вывод ping, traceroute и whois для отладки - «Новости»


8-04-2020, 12:35. Автор: Neal
Команды ping, traceroute и whois — в числе первых вещей, о которых узнают начинающие админы. Многие, кто не специализируется на сетях, ими и ограничиваются, и совершенно зря. С помощью стандартных инструментов можно извлечь гораздо больше информации о проблеме, чем может показаться.

ping


Команда ping example.com известна каждому, даже далекому РѕС‚ сетей человеку. РћРЅР° отправляет удаленному хосту пакеты ICMP echo, РЅР° которые, РїРѕ идее, РѕРЅ должен ответить таким Р¶Рµ пакетом.


Однако этот протокол не просто так называется Internet Message Control Protocol. Его функции далеко не только диагностические, а диагностические функции куда шире, чем «ответил — не ответил».


 

Что может сказать ping?


Зачастую, если С…РѕСЃС‚ назначения недостижим, РѕС‚ ping действительно РјРѕР¶РЅРѕ получить только request timeout и ничего больше. Если успешный ответ всегда исходит от самого хоста назначения, то сообщения об ошибках доставки — от промежуточных маршрутизаторов. По стандарту промежуточные маршрутизаторы могут, но не обязаны уведомлять отправителя. Часто и не уведомляют — по соображениям производительности, и обвинить их не в чем.


Но уж если тебе пришел ответ от промежуточного маршрутизатора, он обычно информативен. К примеру, ответ destination host unreachable должен отправляться только тогда, РєРѕРіРґР° С…РѕСЃС‚ находится РІ РѕРґРЅРѕР№ локальной сети СЃ маршрутизатором Рё РЅРµ отвечает. Самый простой СЃРїРѕСЃРѕР± увидеть эту ошибку — пингануть заведомо несуществующий адрес РІ своей Р¶Рµ сети: Рє примеру, если твоя сеть 192.168.0.0/24 Рё хоста 192.168.0.200 РІ ней нет, выполнить ping 192.168.0.200.


Такой ответ может прийти только от последнего маршрутизатора на пути к хосту.


А вот network unreachable РіРѕРІРѕСЂРёС‚ РѕР± отсутствии маршрута Рє указанной сети Сѓ РѕРґРЅРѕРіРѕ РёР· хостов РЅР° пути. Эта ошибка может возникнуть РІ любом месте пути, поэтому РЅСѓР¶РЅРѕ обратить внимание РЅР° отправителя.


Чаще всего эта проблема у тебя самого: слетели настройки маршрутов или хост не получил маршрут от сервера DHCP. Но такой ответ может прийти и от промежуточного маршрутизатора:


From 192.0.2.100 icmp_seq=1 Destination Net Unreachable

Если ты видишь такую картину, что-то серьезно пошло не так. Если хост достижим из других сетей, вполне возможно, что у провайдера проблема с настройками BGP. Я как минимум один раз сталкивался с тем, что крупный провайдер ошибочно фильтровал маршруты из сети, которую он считал зарезервированной для использования в будущем, хотя на тот момент IANA уже полгода как передала ее RIPE NCC и многие люди получили адреса из нее.


Маленькие секреты сетевых утилит. Интерпретируем вывод ping, traceroute и whois для отладки - «Новости»
WWWЕсли не хочешь быть как тот провайдер, можно воспользоваться автоматически обновляемыми списками несуществующих адресов вроде Cymru Bogon Reference

Ошибки семейства destination host/net prohibited означают, что пакет был отброшен правилом межсетевого экрана. Впрочем, никто РЅРµ обязывает отвечать отправителю именно так или вообще отвечать. Рљ примеру, РІ Linux правила РІРёРґР° iptables -j REJECT по умолчанию выдают destination port unreachable, если СЏРІРЅРѕ РЅРµ указать --reject-with, причем указать можно любой тип, даже icmp-net-unreachable.


РќРѕ это РІСЃРµ Рѕ простом ping без опций. Некоторые проблемы лучше всего выявляются дополнительными опциями.



Перейти обратно к новости