![ARP 表显示条目不完整且连接丢失](https://linux22.com/image/228474/ARP%20%E8%A1%A8%E6%98%BE%E7%A4%BA%E6%9D%A1%E7%9B%AE%E4%B8%8D%E5%AE%8C%E6%95%B4%E4%B8%94%E8%BF%9E%E6%8E%A5%E4%B8%A2%E5%A4%B1.png)
我有运行 4.14.7 内核的 Linux 设备。我的设备A通过1Gig端口直接连接到第三方设备(设备B)。 UDHCPD 服务器在 dev-A 上运行,它始终根据 DHCP 配置分配单个 IP 地址。
Dev-A 位于 172.16.xx,掩码为 255.255.0.0。
Dev-B 被分配了来自 Dev-A 上运行的 UDHCPD 的 172.16.100.1 和 255.255.255.0。
有时我会看到 Dev-B 的“arp”表显示“不完整”并且通信失败。此时我可以看到 Dev-B 从 UDHCPD 服务器获得了有效的租约。
$arp
? (172.16.100.1) at <incomplete> on br0
ping 将恢复与 Dev-B 的连接。如何在不发出“ping”的情况下解决此问题?
提前致谢。
答案1
当系统尚未获悉与特定 IP 地址关联的 MAC 地址时,就会出现“不完整”条目。
您可以使用 ARP 探针,其中设备向其自己的 IP 地址发送 ARP 请求,以检查该 IP 地址是否已在使用中。这有助于确保使用正确的 MAC 地址更新 ARP 缓存。
要在Linux上启用ARP Probe,可以使用以下命令(替换为网络接口的名称(eth0)):
ip neigh flush dev <interface> nud permanent
此命令将刷新 ARP 缓存并发送 ARP 探测来刷新条目。