arp
100%

网络配置 · 第 5 课

arp

学习如何检查和解读 Linux IPv4 ARP 与 IPv6 邻居缓存状态。

Linux 会在邻居表中存储最近解析的下一跳链路地址。以太网上的 IPv4 条目通过 ARP 学习,IPv6 则使用邻居发现。旧式 arp 命令只显示部分状态,而 ip neighbor 同时支持两个地址族。

查看邻居条目

检查所有条目或某个接口:

$ ip neighbor show
$ ip neighbor show dev enp1s0

条目包含 IP 地址、链路层地址、设备和可达性状态。启动后邻居表可能为空,并随着流量需要本地下一跳而填充。

哪个命令显示现代 Linux 邻居表状态?

解析 IPv4 邻居

链路内 IPv4 映射缺失时,主机会广播 ARP 请求,询问谁拥有目标地址。目标或明确执行代理 ARP 的路由器会作出回复。发送方缓存该映射,再发送等待中的帧。

对于远程 IP 目标,主机解析的是所选网关地址,而不是远程主机的 MAC。

对于链路外目标,主机会解析哪个 IPv4 邻居?

解读状态

常见状态包括 REACHABLESTALEDELAYPROBEINCOMPLETEFAILEDSTALE 表示最近的可达性确认已经过期;协议栈仍可使用缓存地址,并按需探测。FAILED 表示解析或可达性检测未成功,但原因可能是链路、VLAN、地址、路由、过滤问题或对端已关闭。

STALE 是否表示已知邻居不可达?

谨慎更改邻居状态

静态条目和缓存刷新都会改变状态,可能中断活动流量或隐藏原始证据。应先记录当前路由、数据包计数器和邻居状态。在获得授权的测试网络上,应优先使用针对性探测和数据包捕获,而不是刷新整个接口。

ARP 没有内置身份验证,因此重复地址或伪造回复可能污染映射。交换机保护、分段、监控和更高层身份验证有助于降低影响。

为什么不应把刷新整个邻居表作为第一项诊断步骤?

课程已完成

你已完成 arp

现在,你可以检查邻居解析,而不会把每种缓存状态都当作故障。

  • 使用 ip neighbor 查看 IPv4 和 IPv6 状态。

  • 只有目标位于链路内时才直接解析它。

  • 为链路外 IP 流量解析网关。

  • 在针对性更改状态前保留缓存证据。

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
返回 网络配置