为什么Ping一分钟后才开始显示结果

我通过本地专用networking192.168.100.0/24运行Solaris 11系统,并运行ping -s以获得连续的ping。

网关到我的服务器,我得到

 root@mygateway:~# ping -s 192.168.100.42 PING 192.168.100.42: 56 data bytes 64 bytes from 192.168.100.42: icmp_seq=0. time=0.311 ms 64 bytes from 192.168.100.42: icmp_seq=1. time=0.255 ms 64 bytes from 192.168.100.42: icmp_seq=2. time=0.271 ms 

但是当我从服务器ping到网关时,ping没有显示任何输出,但是在3分钟之后,它输出了所有最后3分钟的结果,并且持续工作了很多次。

 root@myserver:~# date; ping -s 192.168.100.101 Tuesday, January 27, 2015 09:17:13 AM GMT PING 192.168.100.101: 56 data bytes 64 bytes from 192.168.100.101: icmp_seq=0. time=0.467 ms 64 bytes from 192.168.100.101: icmp_seq=1. time=161000.816 ms 64 bytes from 192.168.100.101: icmp_seq=2. time=160001.061 ms 64 bytes from 192.168.100.101: icmp_seq=3. time=159001.295 ms ... ... ... 64 bytes from 192.168.100.101: icmp_seq=201. time=0.234 ms 64 bytes from 192.168.100.101: icmp_seq=202. time=0.254 ms 

SSH从我的服务器到我的网关正常工作。

感谢您的build议。

你看到的挂起很可能是由于名称parsing失败。

Solaris默认情况下会尝试进行反向DNS查找,以将您ping的IP地址映射为有意义的名称。 在名称parsing完成之前,ping输出不会打印到屏幕上,或者在此情况下超时。 一旦超时完成,您将看到迄今为止收到的所有响应都会在几乎同一时间以错误的时间数据进行打印,并且每个后续的ping都将正常进行。

这是最容易解决的方法是将“-n”开关添加到您的ping命令,以防止它尝试查找,即

 ping -s -n 192.168.100.101 

您也可以考虑在您的DNS服务器上添加反向区域(假设您有),或者只需将主机名/ IP映射添加到主机文件(如果是小型部署)。

在@paulos帮助之后,我查看了我的服务器上的DNS设置。

cat /etc/resolv.conf

显示DNS服务器是在服务器上configuration的,但自上次使用以来,这些服务器已closures。 所以,这种情况下的解决scheme是closuresDNS客户端

svcadm disable svc:/network/dns/client:default

并重新启动。

一些参考链接:

在手动模式下pipe理networkingconfiguration

Oracle Solaris 11中的DNS客户端configuration步骤