我发现我的一台机器出现了非常奇怪的现象,好像每个 ping 数据包都被丢弃了。有时是偶数,有时是奇数,但每个数据包都非常一致,例如:
64 bytes from [IP] ([IP]): icmp_seq=4 ttl=47 time=96.1 ms
64 bytes from [IP] ([IP]): icmp_seq=5 ttl=47 time=97.0 ms
64 bytes from [IP] ([IP]): icmp_seq=7 ttl=47 time=105 ms
64 bytes from [IP] ([IP]): icmp_seq=11 ttl=47 time=101 ms
64 bytes from [IP] ([IP]): icmp_seq=13 ttl=47 time=104 ms
这是来自不同点和不同网络路径的多台机器,最近才启动的 - 我没有更改机器上的任何配置。什么可能导致这样的事情?
答案1
这个问题原来是由于网络路径上的绑定接口配置错误造成的。最初,两个路由器连接了一组两根电缆以实现冗余,但最终当需要更多端口时,其中一根电缆被移除,但路由器端的绑定配置并未被移除。只要没有电缆连接到前一个绑定端口,这就可以了。不幸的是,有人准备重新使用该端口并插入了一根电缆。一旦链接建立,路由器就开始通过它发送每个其他数据包(绑定处于balance-rr
模式),但当然,远程没有任何内容,因此数据包会丢失(对于 ICMP,对于 TCP 则重新传输)。