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 邻居?

解读状态

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

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

谨慎更改邻居状态

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

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

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

课程已完成

你已完成 arp

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

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

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

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

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

保存学习进度

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

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