Linux ARP缓存异常会导致ping通但SSH/HTTP失败,需用ip neigh命令查看、删除或刷新条目;推荐ip neigh show替代arp -a,精准删用sudo ip neigh del IP dev eth0,批量清理用flush nud failed,stale或dev eth0,关键IP可删后ping触发重学,核心设备建议加permanent静态绑定。

当内网出现IP冲突、设备更换MAC地址或交换机重置后通信异常时,Linux系统中残留的错误ARP条目会直接导致ping通但无法SSH、HTTP请求超时等典型故障,必须刷新并清空ARP缓存才能恢复正确映射。
快速查看当前ARP缓存状态
执行 ip neigh show 查看全部邻居条目,IPv4和IPv6条目都会显示;若只关注IPv4动态条目,加过滤条件:ip neigh show nud reachable,nud stale。这一步能帮你一眼识别出状态为 FAILED 或反复变动MAC的可疑IP。
注意:不要用 arp -a,它只读取IPv4 ARP表,不包含IPv6邻居信息,且无法区分条目状态类型。
精准删除单个问题条目
方法一:直接删除指定IP的邻居记录
运行 sudo ip neigh del 192.168.1.100 dev eth0,其中 dev eth0 必须明确指定网卡名,否则命令报错失败。
方法二:先查再删,避免输错IP
先执行 ip neigh show | grep "192.168.1.100" 确认该IP确实存在且对应错误MAC,再执行删除命令。这步省略容易删错条目,尤其在多网卡环境中。
批量清理失效或全量刷新ARP表
第一步:清除所有失效(FAILED)和陈旧(STALE)条目sudo ip neigh flush nud failed,nud stale
第二步:清空某网卡上全部动态条目(保留静态绑定)sudo ip neigh flush dev eth0。这比 flush all 更安全,不会误删你手动添加的permanent条目。
第三步:强制刷新某个关键IP(如网关)sudo ip neigh del 192.168.1.1 dev eth0 && ping -c 1 192.168.1.1。执行后立刻触发新ARP请求,新条目状态为REACHABLE且MAC准确。
添加静态ARP绑定防止反复污染
对网关、DNS服务器等核心设备,执行:sudo ip neigh add 192.168.1.1 lladdr 00:11:22:33:44:55 dev eth0 nud permanent。
验证是否生效:运行 ip neigh show | grep PERM,看到输出含 PERMANENT 字样即表示绑定成功。该条目不会被任何ARP响应覆盖,也不受 flush 命令影响。


















