以太网停止通信,ARP 缓存显示大部分不完整

以太网停止通信,ARP 缓存显示大部分不完整

我有一个 Ubuntu 18.04.5 LTS,系统安装在 AMD 64 位系统上,内存为 16 GB。最近安装的 Zoneminder 增加了流量。但在安装 ZM 之前,我很少使用这个系统。

过了一会儿(几分钟到几小时),系统就停止通信了。发生这种情况时,ARP 缓存中的 mac 条目大多显示不完整,唯一的重置方法是重新启动或拔掉以太网。最终这种情况会再次发生。

我尝试了 3 种不同的驱动程序,包括 Realtek 的最新驱动程序。目前,每个 dkms 使用 r8168、8.045.08、4.15.0-118-generic、x86_64 驱动程序。它们之间没有真正的区别。我尝试 ping 的系统都在同一个本地子网中。有趣的是,默认路由器和其他未发送或接收流量的 IP 会将其 MAC 保留在 ARP 缓存中,直到我尝试 ping 它们或以其他方式与它们通信。因此,一旦这种情况开始,每个 ARP 条目都会变为“不完整”,直到无法与任何东西通信。要清楚的是,所有 IP 和 ping 流量都会立即失败,但 ARP 缓存直到我尝试向每个缓存发送或接收流量时才开始显示不完整。我明白了为什么我无法通信。系统不知道 MAC!

问题是 ARP 为何失败。同一本地 IP 子网上的多个其他系统与同一本地交换机上的这些完全相同的外部系统通信没有任何问题。我尝试了不同的交换机端口,但在短暂纠正后,它又发生了。我没有重复的 IP。这就像 ARP 验证与定期 ARP 刷新一起进入休眠状态。我不确定接下来该看什么。

知道为什么它一直掉线吗?我在这里看到过类似的问题,但没有人说它已经解决了,而且尝试了一些建议也没有帮助我。

更新******

经过多次失败后,我决定完全重新安装 Lubuntu 20.04 LTS。遗憾的是,我遇到了完全相同的问题。它看起来也使用相同的驱动程序。tcpdump 显示我的系统不断尝试 ARP 来重新填充表中的不完整内容。我还可以看到这些广播在另一台机器上到达网络。一旦问题开始,问题框就永远不会看到任何回复(在 tcpdump 中),并且所有 ARP 条目都会过期。和以前一样,只需拔掉以太网电缆一秒钟或重新启动即可解决问题。使用 gui 禁用/启用接口并不能解决问题。我说的“修复”是指暂时修复。最终,问题总会再次出现。因此,本质上,这个系统上的“接收”会进入睡眠状态,直到我以某种方式物理重置接口。传输工作正常。

Ethtool 显示 r8168 的驱动程序与 8.048.00-NAPI 相同。我的 bios 显示芯片是 8111G。根据我的发现,8168 和 8111 的驱动程序是相同的。

所以我至少排除了一个版本的操作系统。那剩下的就是驱动程序或以太网硬件了?或者可能是配置问题导致这些版本操作系统出现问题?

当然可以在这里使用一些建议。谢谢。

更新*****

在看到另一篇帖子中他们遇到了类似的问题,并且通过 BIOS 更新解决了该问题后,我再次检查了我的 BIOS。我使用的是 MSI AM1I MB 的最新 BIOS,即 V10.2。它是 2014 年的,但尚未提供任何更新。

更新 10-30-20******

在阅读另一篇帖子后,我尝试将接口强制设置为 100Mb FD。但这又引发了另一个问题,即周期性全系统冻结,需要重置按钮或电源循环。甚至 sysrq 也不起作用。

幸运的是,我的 USB 以太网今天到货了。所以我尝试了新硬件,它自动下载了驱动程序。可悲的是,“数据包接收停止”又发生了!!完全相同的症状。运行 5 分钟到一个小时后,突然随机地,tcpdump 没有收到任何数据包。出站(传输)工作正常。ARP 数据包正在广播,其他机器正在响应,但该系统“看不到”任何数据包进入。在所有这些测试和版本中,以太网保持链接,活动 LED 闪烁,好像什么都没有发生。

现在请记住,我在这台机器上的“负载”是 5 个 IP 摄像头,它们为 Zoneminder 应用程序提供数据。它在以太网接口上保持相当高的接收负载。

只剩下几个共同点了,事实上我在两个版本的 Linux 上都安装了 Zoneminder,以及一些硬件,但不包括以太网组件。

我开始怀疑我是不是唯一一个使用 Ubuntu 的人,或者这是一个使用率很低的论坛。自从我修复了最初的拼写错误后,我还没有收到任何回复。开发人员会看这里吗?我必须承认,经过这么多天,我本来以为会收到一些回复。

相关内容