Итак, вот в чем проблема. У меня два разных компьютера в одной сети. Оба имеют одинаковый шлюз, префиксы 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. Так что это не универсально.