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

traceroute не работает, вывод * * *, но с сетью все в порядке

на моем Linux-сервере traceroute не работает. вывод такой:

$ traceroute google.com

traceroute to google.com (209.85.231.104), 30 hops max, 52 byte packets
1  * * *
2  * * *
3  * * *
4  * * *

Может ли кто-нибудь сказать мне, почему он не работает? какие-либо возможные причины этого?

По умолчанию traceroute использует высокие порты UDP для отслеживания хостов. Однако иногда брандмауэры блокируют эти UDP-порты.

Попробуйте добавить в командную строку параметр «-I» (верхний регистр i), например:

traceroute -I www.google.it

Это будет использовать ICMP вместо UDP для отслеживания хостов.

Попробуйте использовать -T (tcp) или -U (udp) для обхода брандмауэра.
Некоторые маршрутизаторы / брандмауэры не пропускают эхо-сигнал icmp, поэтому вы должны использовать эти 2, чтобы обойти их.
В любом случае, вопреки тому, что указано в википедии, на моих ящиках с debian traceroute по-прежнему использует пакеты icmp, а не udp.

РЕДАКТИРОВАТЬ

Я был неправ ... он использует udp ... icmp возвращается для недоступного порта ... извините

может случиться так, что брандмауэр от вас блокирует UDP-пакеты. Traceroute

В современных Unix-подобных операционных системах утилита traceroute по умолчанию использует дейтаграммы UDP с номерами портов назначения от 33434 до 33534.

Вероятно, это связано с тем, что ответ icmp TIME_EXCEEDED фильтруется маршрутизатором / брандмауэром, который вы используете в качестве шлюза по умолчанию, или самой вашей системой Linux.