同一子网上的跟踪路由不起作用;只显示星号

同一子网上的跟踪路由不起作用;只显示星号

我在同一台交换机上有一个 32 位 centos 6 机器和一台 windows 机器:192.168.92.26 和 27。

从 Centos 机器到 Windows 的 ping 时间显示小于 1ms,反之亦然。

tracert从 Windows 到 Centos 显示正常:

在此处输入图片描述

但是,尝试相反的方法,从 Centos 到 Windows 只显示星号到最大跳数值...知道为什么吗?

除此以外,两台机器通信没有问题。

在此处输入图片描述

答案1

Traceroute 的工作原理是发送带有增加的Time To Lives 的 ping,并观察响应来自的地址。

默认情况下,Windows 防火墙会丢弃入站 ping 请求,因此到 Windows 机器的跟踪路由也不会起作用,因为它使用它们来跟踪到远程机器的路由。

By default, Windows Firewall does not allow incoming ICMP Echo messages

如果您按照源中的步骤操作,您可以允许接收它们,并且 traceroute 应该可以工作,因为机器将向 ping 请求发送响应而不是仅仅丢弃请求。

来源

答案2

Traceroute 会发出数据包(通常是 UDP,但根据客户端实现也可能是 ICMP),其 TTL 会随着跳数的增加而增加。目标主机将看到数据包的 TTL 达到零,并将 ICMP 超时消息发回原始主机。这就是 traceroute 测量和显示的内容。

如果远程主机(或本地主机)有防火墙(或其他设置)阻止 ICMP 超时消息,则 traceroute 实际上不会显示任何内容,因为没有返回 ICMP 消息。

您可以尝试禁用 Windows 防火墙,看看是否有效果。

相关内容