Linux:ip neigh show 显示“FAILED”。可能是什么原因造成的?

Linux:ip neigh show 显示“FAILED”。可能是什么原因造成的?

我在不受我控制的子网中运行 Linux 服务器。有时,服务器在几秒钟内无法从外部(互联网)访问。我正在尝试追踪原因,并开始查看输出ip neigh show(使用 cron 作业定期写入文件)。

下次发生这种情况时,我查看了文件,上面写道:

fe80::1 dev eth0 lladdr 00:22:64:b6:10:5c router STALE
192.168.14.1 dev eth0  FAILED

对我来说,这看起来像是网关(即 192.168.14.1)没有响应服务器发出的 ARP 请求。这是正确的吗?

我试图寻找更多信息,特别是在iproute2源代码中,但没有找到在什么情况下它会写出 FAILED。但也许是因为我不是 C 开发人员。

答案1

arp 缓存中的输出FAILED表明您的服务器无法到达网关。您可以在 LAN 中对此进行测试,但 ping LAN 中的任何 PC,检查 arp 状态,断开 PC 的连接,然后检查 arp 状态。您会注意到状态从 REACHABLE 变为 FAILED。同样,如果您发送 icmp 请求,并且网关回复,则当您运行或命令时,网关的 MAC 地址将包含在输出中ip neigh showarp -a状态REACHABLE最初为,但如果连接存在问题,它可能会将状态更改为。您可能会注意到在将其标记为失败之前尝试到达网关时处于和FAILED的中间状态。DELAYPROBE

要确定原因,您需要ping在子网中检查多个主机,并在出现连接问题时检查 arp 缓存状态。如果仅网关显示为失败,而其他主机正常,则问题出在您的服务器和网关之间。如果所有主机都显示为失败,则问题可能是您的服务器与交换机之间的连接,或者只是电缆问题。

答案2

这可能是您的系统、网关或连接本身的问题。您能访问该子网中的其他系统吗?如果它们可以访问而网关无法访问,则表明网关上重新加载了某些内容(由于防火墙/ tc 更新或其他原因)。也许交换机(例如 VLAN)的重​​新配置也会导致这种情况,但所有系统的连接都会受到影响。

相关内容