我通过电线连接到交换机,交换机连接到另一台服务器S的路由器。通常,我可以ping S,但现在我得到以下错误:
$ ping 196.168.2.106 PING 196.168.2.106 (196.168.2.106) 56(84) bytes of data. From 173.167.59.141 icmp_seq=4 Destination Net Unreachable From 173.167.59.141 icmp_seq=19 Destination Net Unreachable From 173.167.59.141 icmp_seq=26 Destination Net Unreachable
我的同事,连接到同一个交换机可以ping S,我可以ping我的同事的机器,并访问互联网。 我也可以ping另一个同事的机器连接到不同的交换机。 这个错误每几个星期就发生一次,我不知道为什么。 可能是什么问题,我该如何诊断呢?
这是我的/etc/resolv.conf:
$ cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 192.168.2.1
这是我的路由表:
$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default router.asus.com 0.0.0.0 UG 0 0 0 eth0 link-local * 255.255.0.0 U 1000 0 0 eth0 192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
服务器是否有一个静态的IP地址? – 特别仔细检查服务器和路由器上的networking掩码。
仔细检查networking掩码是一样的192.168.0.0通常是一个/ 24(255.255.255.0)networking,因为在你的路由你有它/ 16(255.255.0.0)不是一个理想的子网掩码有 – 显然取决于在你的设置上,但我猜你没有很多设备。
您可以使用tcpdump来帮助诊断问题。 使用它如下:
tcpdump -i <INTERFACE> icmp and host <IPADDR>
例如:
tcpdump -i eth0 icmp and host 196.168.2.106
(注意:tcpdump的语法可以在不同的发行版上有所不同,这对于CentOS是有效的。)
对于每台服务器,需要将主机(IP地址)设置为对端服务器。
检查看到的数据包:
这将有助于确定它失败的地方。
如果你有权访问路由器,并且tcpdump
可用,那么这也会有很大的帮助。