Я изменил размер MTU eth0 на 1550 (используя: ifconfig eth0 mtu 1550
) и побежал ping -c 1 -M do -s 1500 -w 5 {some other IP}
и
Результат, который я вижу:
--- Статистика ping x.x.x.x --- 5 пакетов передано, 0 получено, 100% потеря пакетов, время 4001 мс
Ошибка здесь в том, что Ethernet поддерживает только MTU 1500. Теперь, если запустить ping -c 1 -M do -s 1472 -w 5 {some other IP}
с выключенным хостом "другой IP" я получаю тот же результат.
Как найти причину 0 received, 100% packet loss
? Было ли это из-за проблем с MTU или из-за выключения хоста?
Можешь попробовать traceroute --mtu <host>
в системе Linux. Это заставит traceroute начать с 65000 байтов jumbo-фреймов и уменьшит их размер в зависимости от определения MTU пути.
Но хотя это может указывать на проблемы с MTU в вашей сети, это еще не гарантия того, что вы можете определить, включен ли хост. Например, он может отбрасывать эти пакеты, а не отвечать на них. Он также может не сказать вам, есть ли у вас проблема MTU с напрямую подключенным хостом по той же ссылке.