1、 组网图
2、 基本配置
AR1:
[Huawei-GigabitEthernet0/0/1]display this
[V200R003C00]
#
interface GigabitEthernet0/0/1
ip address 10.1.1.1 255.255.255.0
#
return
[Huawei-GigabitEthernet0/0/1]
AR2:
[Huawei-GigabitEthernet0/0/1]display this
[V200R003C00]
#
interface GigabitEthernet0/0/1
ip address 10.1.1.2 255.255.255.0
#
return
[Huawei-GigabitEthernet0/0/1]
3、 原因排查
(1) 检查接口的物理状态是否UP
如上图所示,在接口视图,使用命令dis this int查看接口信息,标红处显示接口的物理状态是DOWN的,这里我是使用shutdown命令模拟的,若想恢复接口状态,使用undo shutdown命令即可。实际环境中需要具体问题具体分析。
(2) 查看接口的协议状态是否UP
如上图所示,查看接口信息,标红处说明接口的协议状态DOWN,我这里是使用undo ip add,删除ip地址模拟的。其实IPv4的协议状态相对简单,一般地,只要配置了IP地址,协议就会UP,如果协议没有UP,需要找负责协议栈模块的同事从代码角度排查原因。如果是IPv6,还需考虑是否是地址冲突等造成的结果。
这里我们重新配置上IP地址,协议状态就能恢复UP了。
(3) 查看ARP表项是否缺失
要想ping通,首先要有目的地址的ARP表项,如果ARP都没有学到,当然是ping不通,这时候要先定位ARP表项学习不到的问题。
下图是能ping通时学习到的ARP表项:
实际问题环境中,华为设备可以使用arp的debug命令继续定位学习不到arp的原因。其实经过前面两步的排查,一般arp学习不会有问题,此时还学习不到一般是arp模块自身代码问题,或者底层产品收发包有问题。
(4) 使用icmp,ip debug命令进一步分析ping不同的原因
如果到这一步还ping不同,只能打开icmp和ip的debug来继续排查了,如下图所示:
这里使用了一个小技巧,因为IP的干扰包是非常多的,使用debug的时候加了长度大于等于1000的过滤条件,ping的时候指定报文的长度为1000,这样便于我们观察。
截图的DEBUG是正常能ping通时的debug,仅供参考。
到了这一步一般就能够抓出是哪个模块的问题,如果定位到下一层,比如IP层包已成功发出,但是以太层没有发送,那就需要负责以太协议的同事继续定位了。
(5) 除此之外我们还可以借助抓包工具,接口报文的统计计数,或者icmp计数等进行观测,辅助定位问题。