首页/系统/Linux 运维命令速查/ip neigh 邻居表(ARP)
网络命令82 条

ip neigh 邻居表(ARP)

查看/管理 ARP 邻居表:IP 与 MAC 的对应、可达状态;同网段丢包或 IP 冲突时先看这里。

Linux 运维命令速查系统更新于 2026-10-13

ip neigh 看的是邻居表

ip neigh 查看与管理 IPv4 的 ARP 邻居表和 IPv6 的 NDP 邻居表,输出回答的是“这个 IP 对应哪个 MAC、当前处于什么状态”。同网段丢包、时通时断、IP 冲突这类问题,第一站就是这里:二层关系不对,应用层再怎么调都不会好。它属于 iproute2,替代了老工具 arp。

基本信息

适用平台Linux(iproute2);IPv4 与 IPv6 通用
权限要求查看普通用户即可;增删改需 root
语法ip neigh {show|add|del|replace|flush|get} [目标] [dev 接口]
相关命令arping、ip link、tcpdump
替代关系取代 net-tools 的 arp(老脚本里的 arp -a)

典型使用场景

  • 同网段时通时断,怀疑存在 IP 冲突
  • 更换设备后连接异常(对端 MAC 变了,邻居条目还是旧的)
  • 网关或防火墙更换网卡后流量中断
  • 排查 FAILED/INCOMPLETE 密集出现,判断二层是否通
  • 演练或环境复位时清理静态条目

常用示例

常用示例
ip neigh show                            # 列出全部邻居条目
ip neigh show dev eth0                   # 只看指定接口
ip neigh show 10.0.0.9                   # 单条查询:IP、MAC 与状态
ip -s neigh show 10.0.0.9                # 附带使用统计,便于判断条目新鲜度
ip neigh del 10.0.0.9 dev eth0           # 删除单条(换机换 MAC 后常用)
ip neigh replace 10.0.0.9 lladdr 00:11:22:33:44:55 dev eth0 nud permanent   # 静态绑定
ip neigh flush dev eth0                  # 清空整接口条目:短时抖动,生产慎用
arping -I eth0 -c 2 10.0.0.9             # 探测该 IP 实际应答的 MAC,用于确认冲突

状态读法

状态含义异常信号
REACHABLE最近确认过可达正常状态
STALE条目可用但需要重新确认正常,有流量时会自动确认
DELAY / PROBE正在尝试确认可达性长时间停留说明对端有问题
FAILED解析失败二层不通或对端有策略限制
INCOMPLETE请求无应答本网段可能没有这个 IP 在使用
PERMANENT静态条目不会自动清除,换机后需人工维护
FAILED 与 INCOMPLETE 反复出现说明二层没通:先查网线、交换机端口、VLAN 与安全组,而不是先怀疑应用。同网段内两台机器使用同一 IP 时,邻居条目会在两个 MAC 之间跳变,ping 表现为时通时断。
flush 会清空整个接口的邻居条目,触发短时大量重新解析并造成流量抖动:生产环境优先用 del 定点清理,动手前先确认影响范围。

易错点

  • 同网段存在 IP 冲突:邻居表在两个 MAC 间反复跳变,需用 arping 或抓包确认真正的使用方
  • 生产环境直接 flush 整接口:短时抖动的影响面比想象中大,应改用 del 清理单条
  • 静态条目不做维护:换机后 PERMANENT 条目仍指向旧 MAC,流量被送到不存在的地址
  • 只看状态不看统计:结合 ip -s neigh 判断到底是二层没通还是条目过旧

数据来源与参考

  • man 8 ip-neighbour(iproute2 手册)

相关工具

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