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

Может пинговать, но не может выполнить трассировку из Linux. Можно делать и то, и другое из Windows. Что дает?

Итак, вот в чем проблема. У меня два разных компьютера в одной сети. Оба имеют одинаковый шлюз, префиксы IP-адресов и т. Д.

Компьютер 1: Windows XP IP 192.168.0.15

Этот компьютер можно пинговать и Tracert вне сети на другой компьютер, с которым я пытаюсь связаться

Компьютер 2: Linux (debian) IP 192.168.0.54

Этот компьютер можно пинговать этот компьютер вне сети, но не может проследить маршрут к нему.

Это заставляет меня думать, что дело не в брандмауэрах, а в конфигурации ОС.

Вывод команды маршрута:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

Есть идеи относительно того, в чем может быть проблема?

Это потому, что Windows и Linux по-разному реализуют traceroute.

В Windows он использует эхо-пакеты ICMP с различными настройками времени жизни для определения промежуточных переходов.

В Linux он использует UDP-пакеты с различными настройками времени жизни для определения промежуточных переходов.

В некоторых сетях разрешено использование одного, того и другого, или ни одного. Сети, которые разрешают ICMP, но не UDP, будут вести себя иначе. Ping в Linux использует те же эхо-пакеты ICMP, что и Windows, что объясняет, почему это работает, но не Traceroute.

Кроме того, разные программы трассировки ведут себя по-разному. Не все Linux для этого используют UDP. Так что это не универсально.