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

Зачем traceroute печатать IP-адрес назначения для каждого перехода вместо IP-адреса маршрутизатора?

$ traceroute -n 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  8.8.8.8  3.158 ms  4.246 ms  5.054 ms
 2  * * *
 3  8.8.8.8  9.121 ms  10.245 ms  9.327 ms
 4  8.8.8.8  12.134 ms  13.160 ms  13.144 ms
 5  8.8.8.8  9.727 ms  10.938 ms  9.899 ms
 6  * * *
 7  8.8.8.8  8.138 ms  12.061 ms  11.841 ms

$ traceroute -n --icmp 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  8.8.8.8  2.046 ms  1.976 ms  1.962 ms
 2  8.8.8.8  9.557 ms  9.547 ms  9.536 ms

$ traceroute -n --udp 8.8.8.8
<similar output to default mode but keeps going with * * * after last hop>

Это правильное количество переходов для режима по умолчанию (первый вызов выше) с правильным временем, но где IP-адреса маршрутизатора на каждом переходе?

traceroute 2.1.0

iptables был очищен: iptables -F && iptables -F -t nat В таблице маршрутизации ничего особенного:

$ ip route
default via 192.168.0.1 dev eth0 proto static 
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.9

Самое странное, что эта проблема возникает на 3 разных хостах Linux в одной и той же локальной сети (Arch Linux на x86_64 и на aarch64 и на armv7h), но НЕ возникает на третьем хосте (Arch Linux на подсистеме WSL в Windows).

ОБНОВИТЬ: разница между хостами заключается в том, назначается ли хосту IP-адрес через DHCP от маршрутизатора (traceroute работает) или статически назначается в конфигурации клиента (traceroute прерывается).

Обходной путь, который устранил проблему для меня, заключался в том, чтобы разрешить маршрутизатору NAT назначать IP клиенту через DHCP, вместо того, чтобы устанавливать статическую конфигурацию IP в клиенте.

Предположительно, конфигурация NAT в маршрутизаторе немного отличается между клиентами, зарегистрированными на DHCP-сервере маршрутизатора, и клиентами, которые только что появляются в подсети коммутатора. Я очень старался, но не смог выяснить, что именно настраивает маршрутизатор, чего не происходит, если клиент не использует DHCP. Я попытался зарегистрировать статических клиентов в базе данных маршрутизатора через веб-интерфейс, но это не помогло. Также просмотрел интерфейс telnet, но в оболочке нет iptables и смог найти что-нибудь подходящее среди команд и дампов. На роутере фирменная прошивка.