我的服务器运行正常。
有事情发生...
突然,我的服务器无法通过 ssh 和 http 访问。(防火墙中唯一开放的端口。)
所有 eth0 配置都是静态的,没有 DHCP。
/etc/network/interfaces 中的所有内容均已正确配置。
ethtool 配置为强制 100baseT 全双工,网关也是如此 - autoneg 已关闭。
ifconfig 显示零错误、零丢失数据包、零溢出和零冲突。
我的服务器响应从其他网络发送的 ping。(哪些必须通过网关?)
路线显示一切配置正确。
我的服务器没有收到发送到网关的 ping 的响应。
我的服务器从本地网络上的其他机器获得响应。
在收到来自其他本地机器的 ping 响应后,它可以从网关获得响应,http 正常运行,ssh 也是如此。我没有以任何方式重新启动或重新配置网络,使用的唯一命令是ifconfig
、ethtool
和route
(ping
按上面指示的顺序)来恢复服务器访问。
看这个问题以获取更多背景信息。(我实施了提供的建议解决方案,但无济于事。)
有什么想法吗?这个问题已经持续了好几个星期了,我完全不知所措……
答案1
您没有说您的网关是什么,但我认为这是一个路由器/网关问题。
最有可能的是 gw 上的 arp 条目超时且未刷新,或者网络上有另一个设备正在响应您服务器的 ip 地址的 arp,或者正在免费 arp 您服务器的地址。
当您 ping 网关时,它会查看其 arp 表并找到(错误条目)并回复错误的主机。当您 ping 其他主机时,它们会进行 arp 并且您的服务器会做出响应,然后每个人的 arp 表都会更新正确的信息,一切又会恢复正常。就像变魔术一样。