Вы можете получить подробную информацию о пути MTU для хоста следующим образом. Обратите внимание, что информация о кеше должна быть заполнена первой. Это тестирование проводилось с ядром Ubuntu 3.13. Сначала я проверяю текущий кеш для хоста, я с ним не общался и не имею никакой информации:
johnf@mtutest:~$ ip ro get 192.168.3.48
192.168.3.48 dev eth0 src 192.168.1.22
cache
Затем я пытаюсь пропинговать его с пакетом, большим чем MTU (но не настолько большим, что ОС должна фрагментировать этот пакет). Вы можете пропустить первые несколько пингов при тестировании, вы должны увидеть сообщение о необходимости Frag.
johnf@mtutest:~$ ping -s 1460 192.168.3.48 -c 10
PING 192.168.3.48 (192.168.3.48) 1460(1488) bytes of data.
From 192.168.2.0 icmp_seq=1 Frag needed and DF set (mtu = 1220)
1468 bytes from 192.168.2.0: icmp_seq=2 ttl=252 time=1973 ms
[...]
--- 192.168.3.48 ping statistics ---
10 packets transmitted, 9 received, +1 errors, 10% packet loss, time 9016ms
rtt min/avg/max/mdev = 95.681/516.815/1973.697/568.969 ms, pipe 2
После того, как вы получите сообщение ICMP MTU Exceeded, ядро должно настроить ваш кеш маршрутов, чтобы отразить ограничения пути:
johnf@mtutest:~$ ip ro get 192.168.3.48
192.168.3.48 dev eth0 src 192.168.1.22
cache expires 588sec mtu 1220