摘要:别急着重启设备。今天带你从数据链路层到网络层,一步步定位“Ping不通网关 + ARP未学习”的根本原因,做到“一查一个准”。
“网络不通,先Ping网关”——这是每个网络工程师的肌肉记忆。
可当你在终端上敲下 ping 192.168.1.1,结果却是:
Request timed out.
Request timed out.
...
你登录交换机,查看接口状态:up/up。
查看VLAN配置:没错。甚至去机房看了,网线也插着。
再一查ARP表,更是心凉半截:
display arp
# 空空如也,没有终端的MAC记录
终端连网关的ARP都学不到,Ping怎么可能通?
别急着重启设备。今天带你从数据链路层到网络层,一步步定位“Ping不通网关 + ARP未学习”的根本原因,做到“一查一个准”。
终端检查目标IP(网关)是否在同一网段
是 → 查本机ARP缓存,找网关IP对应的MAC
没找到 → 发送 ARP请求广播:“谁是192.168.1.1?请回复你的MAC”
网关收到ARP请求 → 回复ARP应答
终端学到网关MAC → 开始发送ICMP Echo Request(Ping包)
所以,ARP没学到,说明第3步就卡住了——广播没发出去,或网关没收到/没回。
️ 快速验证:
ipconfig /all # Windowsifconfig # Linux
route print # 查看默认网关是否指向正确接口
⚠️ 常见坑:子网掩码配错(如/24配成/30),导致系统认为网关不在同一网段,直接走默认路由。
display interface gigabitethernet 1/0/10
查看:
物理状态:up 还是 down
协议状态:up 还是 down
双工/速率:是否协商为半双工或10M(异常)
display port vlan 1/0/10
查看:
端口被误配置为Trunk,且未放行终端VLANPVID配错,导致终端报文被标记为错误VLAN如果是防火墙或三层交换机做网关:
display packet-filter interface Vlanif10debug arp packet interface Vlanif10
查看是否有来自终端的ARP请求。
配置端口镜像,将终端端口流量镜像到笔记本:
# 华为示例observe-port 1 interface GigabitEthernet1/0/24
interface GigabitEthernet1/0/10
port-mirroring to observe-port 1 inbound
用Wireshark抓包,过滤arp,看是否有ARP请求发出。
✅ 如果抓不到ARP请求 → 问题在终端或接入端口
✅ 如果抓到请求但网关没回 → 网关问题
display interface Vlanif10
状态是否为up/up
IP地址配置是否正确
display arp | include 终端IP
是否有终端的ARP表项
如果没有,说明网关从未收到其ARP请求
display mac-address | include 终端MAC
⚠️ 特殊情况:如果网关启用了ARP安全(如ARP Detection、DAI),可能丢弃非法ARP请求。
配置了最大MAC数限制,或只允许特定MAC
终端首次接入被丢弃
display port-security interface GigabitEthernet1/0/10
display stp brief | include 1/0/10
交换机配置了广播抑制,误伤ARP请求
ARP报文被限速丢弃
display broadcast-suppression interface GigabitEthernet1/0/10
display arp anti-attack rate-limit
interface GigabitEthernet1/0/10
port link-type trunk
port trunk allow-pass vlan 10
重启端口后,终端立即获取IP,ARP学习成功,网络恢复。
四、总结:一张表,快速定位ARP学不到终极口诀:Ping不通网关,先查ARP;
ARP学不到,必是二层断;
从终端到网关,逐跳查 VLAN、端口、广播域。
下次再遇到这类问题,打开这份清单,一查一个准。
来源:网络工程师俱乐部一点号