连接通过`ping`恢复?

我的服务器运行正常。

有事情发生…

突然之间,我的服务器通过ssh和http无法访问。 (防火墙中唯一的开放端口。)

所有的eth0configuration都是静态的,没有DHCP。

一切都在/ etc / network / interfaces中正确configuration。

ethtool被configuration为强制100baseT全双工,因为是网关 – 自动closures。

ifconfig显示零错误,零丢弃的数据包,零超出和零冲突。

我的服务器响应从其他networking发送的ping。 (哪个必须通过网关?)

路由显示所有configuration正确。

我的服务器没有收到发送到网关的ping响应。

我的服务器从本地networking上的其他机器获取响应。

在从其他本地机器接收到ping响应之后,它可以从网关获得响应,http运行正常,ssh也是如此。 我没有以任何方式重新启动或重新configurationnetworking,唯一使用的命令是ifconfigethtoolrouteping (按上述顺序),以使服务器访问回来。

看到这个问题更多的背景信息。 (我实施了提供的build议解决scheme,但无济于事。)

有任何想法吗? 这个问题已经持续了好几个星期了,我完全失去了…

你没有说你的网关是什么,但我的投票是这是一个路由器/网关的问题。

很可能是gw上的arp条目超时而没有刷新,或者networking上有另一个设备响应您的服务器ip地址的arps,或者是无偿地使用您的服务器地址。

当您ping通网关时,它会查看它的arp表并find(错误的条目)并回复错误的主机。 当你ping其他主机时,他们arp和你的服务器响应,然后每个人的arp表都更新了正确的信息,这一切再次运作。 就像魔术一样。