首页/网络/网络排障速查/ip neigh 清理与删除:解决陈旧 ARP 缓存
连通性与链路检测54 条

ip neigh 清理与删除:解决陈旧 ARP 缓存

换了设备/网卡后旧 MAC 还留在缓存里,表现为『一会儿通一会儿不通』;删除特定条目或清空邻居表是最快的一招,但要知道副作用。

网络排障速查网络更新于 2026-10-13

ip neigh 清理是什么

局域网设备更换网卡、虚拟机迁移或网关切换后,旧 MAC 可能仍留在 ARP 缓存里,表现为『一会儿通一会儿不通』或间歇性丢包。定向删除缓存条目或按接口清空邻居表是最快的处置方式,但要理解副作用:清空后所有条目都要重新学习,大网段上会瞬间产生一批 ARP 广播。需要强调的是,清理是恢复手段而不是根因分析:同样的现象反复出现时,问题在二层或地址规划上,不在缓存。

基本信息

适用平台Linux(iproute2)、Windows(netsh/arp)
权限要求Linux 通常需要 root;Windows 显示与删除需管理员
核心命令ip neigh del / flush、arp -d、netsh interface ip delete
副作用清空后瞬时 ARP 重学,核心网段慎用 flush all

典型使用场景

  • 更换网关或防火墙设备后:旧 MAC 仍被缓存,业务间歇中断
  • 虚拟机热迁移:新旧宿主 MAC 不同,通信方需要清缓存
  • 双机主备切换:把网关与本机两侧的邻居条目都清一遍
  • 手工固化关键条目:用 nud permanent 固定网关或存储的 MAC,防抖动
  • 验证二层是否真的通:清掉条目后若一直无法重建,说明广播域或 VLAN 有问题
  • 排查高频抖动:先用 watch 观察条目反复变化,再决定清理还是进一步查环路

定向与批量清理

定向与批量清理
ip neigh del 10.0.0.5 dev eth0      # 删除单条,换设备后最常用
ip neigh flush dev eth0             # 只清某个接口
ip neigh flush all                  # 清空全部,核心网段慎用
ip neigh show dev eth0              # 清理后确认条目已重建
ip neigh replace 10.0.0.5 lladdr aa:bb:cc:dd:ee:ff dev eth0 nud permanent   # 手工固定

Windows 清空 ARP 缓存

Windows 清空 ARP 缓存
arp -a                              # 查看当前缓存
netsh interface ip delete arpcache   # 清空全部接口缓存(需管理员)
arp -d *                             # 等价做法,同样需要管理员权限

邻居状态判读

状态含义处置建议
REACHABLE近期确认可达正常,无需处理
STALE曾可达但已过期下次通信会先确认,通常无需人工干预
DELAY/PROBE正在探测确认中短暂状态,持续停留需查链路
FAILED探测无响应检查对端是否在线或 VLAN 是否正确
PERMANENT手工静态条目对端换网卡时需手动更新,否则直接不通
INCOMPLETE尚未收到应答说明广播域内无人应答,重点查 VLAN 与物理连接

观察抖动再决定处置

观察抖动再决定处置
# 连续观察某条目的状态与 MAC 是否反复变化
watch -n 2 'ip neigh show 10.0.0.1'
# 只统计同一 IP 出现多个 MAC 的情况
ip neigh | awk '{print $1" "$5}' | sort | uniq -c | sort -rn | head
# 确认后定向删除并立即验证
ip neigh del 10.0.0.1 dev eth0 && ip neigh show 10.0.0.1
一台机器上清缓存往往不够:通信是双向的,网关侧与对端也可能缓存了旧 MAC,换设备场景下两端都要清。交换机侧的 MAC 地址表同样需要关注,端口迁移后旧表项未老化也会造成流量黑洞。
Linux 邻居表的容量由 gc_thresh1/2/3 控制(见 /proc/sys/net/ipv4/neigh/<iface>/),条目接近 gc_thresh3 时会触发强制回收,表现为正常主机忽然连不通;大二层或扫描较多的网段要提前评估这个上限。
把 flush all 当万能药会掩盖真正的 MAC 漂移或二层环路问题:出现反复需要清缓存的现象时,应转去查 ARP 表异常与 STP 状态。

易错点

  • 只清本机缓存不清网关与对端:现象依旧,误判为清理无效
  • 把 flush all 当作标准动作:核心网段瞬间大量 ARP 重学,可能引发短暂广播压力
  • 静态条目(nud permanent)忘记登记在配置管理:对端换网卡后突然全断且无任何日志
  • 把 FAILED 状态当成链路故障:也可能是 VLAN 配置不一致或对端未开机

数据来源与参考

  • iproute2 手册:ip neigh 操作
  • Microsoft Learn:netsh interface ip 命令

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌