诊断一
题目:
AR27.AR28.AR29.AR32和AR33运行OSPF,AR28.AR30.AR31和AR34运行isis。
在AR28上做了双向路由引入,全SITE路由可达。
AR29 的 loopback0 口无法访问 AR28 的 loopback0 口
1.故障根因:
LSW6 的 E0/0/3 口 vlan 划分错误,与 E0/0/1 和 E0/0/2 不在同一个 VLAN 内。
2.分析过程:
第一步:验证故障现象是否存在。
在 AR29 上,首先测试 AR28 的 loopback0 接口,验证故障现象是否存在,ping -a 10.5.1.29 10.5.1.28
显示信息如下:
---------------------------------------------------------------------------------------------
<AR29>ping -a 10.5.1.29 10.5.1.28
PING 10.5.1.28: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
---------------------------------------------------------------------------------------------
结果显示,AR29 和 AR28 的 loopback0 接口互访确实存在问题。
第二步:检查路由表,用于查看目标网络是否存在
AR29 要访问 AR28 的 loopback0,首先需要有对方的路由,在 AR29 上,通过 display ip routing 查看路由表。
显示信息如下:
---------------------------------------------------------------------------------------------
<AR29>display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.5.1.29/32 Direct 0 0 D 127.0.0.1 LoopBack0
以下部分省略
---------------------------------------------------------------------------------------------
结果显示当前 AR29 上没有 AR28 的 loopback0 的路由,由于当前运行的路由协议是 OSPF,所以下一步检查OSPF 邻居关系。
第三步:检查 OSPF 邻居关系
在 AR29 上通过 display ospf peer brief,检查 AR28 和 AR29 之间是否有 OSPF 邻居关系。
显示信息如下:
---------------------------------------------------------------------------------------------
<AR29>display ospf peer brief
OSPF Process 1 with Router ID 10.5.1.29
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.2 GigabitEthernet0/0/1 10.5.1.33 Full
----------------------------------------------------------------------------
---------------------------------------------------------------------------------------------
结果显示当前AR29上没有AR28/AR27的OSPF邻居关系,下一步检查AR29是否将互联接口宣告进了OSPF,
通过 display ospf interface 查看。
显示信息如下:
---------------------------------------------------------------------------------------------
<AR29>display ospf interface
OSPF Process 1 with Router ID 10.5.1.29
Interfaces
Area: 0.0.0.0 (MPLS TE not enabled)
IP Address Type State Cost Pri DR BDR
10.5.128.30 Broadcast DR 1 1 10.5.128.30 0.0.0.0
10.5.1.29 P2P P-2-P 0 1 0.0.0.0 0.0.0.0
Area: 0.0.0.2 (MPLS TE not enabled)
IP Address Type State Cost Pri DR BDR
10.5.40.30 Broadcast BDR 1 1 10.5.40.34 10.5.40.30
---------------------------------------------------------------------------------------------
结果显示当前 AR29 上正确的将互联接口 G0/0/0 宣告进了区域 0,并且将 Loopback0 接口宣告进了区域 0。由于 AR27\AR28\AR29 都是通过同一台交换机互联,并且互联接口都在区域 0 中。下一步在 AR27 上查看是否和 AR28 建立了 OSPF 的邻居关系。
在 AR27 上,通过 display ospf peer,查看 OSPF 邻居表。显示信息如下:
---------------------------------------------------------------------------------------------
<AR27>display ospf peer
OSPF Process 1 with Router ID 10.5.1.27
Neighbors
Area 0.0.0.0 interface 10.5.128.27(GigabitEthernet0/0/0)分 s neighbors
Router ID: 10.5.1.28 Address: 10.5.128.28
State: Full Mode:Nbr is Master Priority: 1
DR: 10.5.128.28 BDR: 10.5.128.27 MTU: 0
Dead timer due in 35 sec
Retrans timer interval: 5
Neighbor is up for 00:01:20
Authentication Sequence: [ 0 ]
---------------------------------------------------------------------------------------------
结果显示当前在 AR27 上存在 AR28 的 FULL 的邻接关系,同时获得了 AR28 的接口 IP 地址为 10.5.128.28。下一步查看路由表,判断 AR28 是否将 Loopback0 口宣告进了 OSPF 区域 0。
显示信息如下:
---------------------------------------------------------------------------------------------
<AR27>display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Public routing table : OSPF
Destinations : 10 Routes : 10
OSPF routing table status : <Active>
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.5.1.28/32 OSPF 10 1 D 10.5.128.28 GigabitEthernet0/0/0
10.5.1.30/32 O_ASE 150 1 D 10.5.128.28 GigabitEthernet0/0/0
10.5.1.31/32 O_ASE 150 1 D 10.5.128.28 GigabitEthernet0/0/0
10.5.1.32/32 OSPF 10 2 D 10.5.128.28 GigabitEthernet0/0/0
10.5.1.34/32 O_ASE 150 1 D 10.5.128.28 GigabitEthernet0/0/0
10.5.14.0/24 O_ASE 150 1 D 10.5.128.28 GigabitEthernet0/0/0
10.5.34.0/24 O_ASE 150 1 D 10.5.128.28 GigabitEthernet0/0/0
10.5.129.0/24 O_ASE 150 1 D 10.5.128.28 GigabitEthernet0/0/0
10.5.130.0/24 O_ASE 150 1 D 10.5.128.28 GigabitEthernet0/0/0
10.5.239.0/24 OSPF 10 2 D 10.5.128.28 GigabitEthernet0/0/0
OSPF routing table status : <Inactive>
Destinations : 0 Routes : 0
<AR27>
---------------------------------------------------------------------------------------------
在 AR27 上对分别 AR28 的直连接口及 loopback0 口做 ping 测试,ping 10.5.128.28/ping 10.5.1.28。
显示信息如下:
---------------------------------------------------------------------------------------------
[AR27]ping 10.5.128.28
PING 10.5.128.28: 56 data bytes, press CTRL_C to break
Reply from 10.5.128.28: bytes=56 Sequence=1 ttl=255 time=40 ms
Reply from 10.5.128.28: bytes=56 Sequence=2 ttl=255 time=50 ms
---------------------------------------------------------------------------------------------
[AR27]ping 10.5.1.28
PING 10.5.1.28: 56 data bytes, press CTRL_C to break
Reply from 10.5.1.28: bytes=56 Sequence=1 ttl=255 time=50 ms
Reply from 10.5.1.28: bytes=56 Sequence=2 ttl=255 time=30 ms
---------------------------------------------------------------------------------------------
结果显示路由表中存在 AR28 的 Loopback0 口路由(10.5.1.28/32),说明 AR28 正确的将 Loopback0 接口宣告进了 OSPF 区域 0,并且 AR27 可以 ping 通 AR28 的直接接口及 Loopback0 口,说明 AR27 和 AR28 之间不存在连通性故障。由于邻居关系建立依赖于底层的连通性,所以下一步检查路由器之间的三层连通性。
第四步:通过 ping 检查三层的连通性。
在 AR29 上分别对 AR27 和 AR28 做 ping 测试,ping 10.5.128.27/ping 10.5.128.28。
显示信息如下:
---------------------------------------------------------------------------------------------
[AR29]ping 10.5.128.27
PING 10.5.128.27: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
--- 10.5.128.27 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
---------------------------------------------------------------------------------------------
[AR29]ping 10.5.128.28
PING 10.5.128.28: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
--- 10.5.128.28 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
---------------------------------------------------------------------------------------------
结果显示 AR29 无法 ping 通 AR27 和 AR28 的互联接口地址,由于当前环境中,路由器间通过以太网交换机互联,三层互通需要先获取到目标的 MAC 地址,下一步在 AR29 上查看 ARP 映射表,查看是否存在 AR27和 AR28 的 ARP 映射表项。显示信息如下:
---------------------------------------------------------------------------------------------
<AR29>display arp
IP ADDRESS MAC ADDRESS EXPIRE(M) TYPE INTERFACE VPN-INSTANCE
VLAN/CEVLAN PVC
------------------------------------------------------------------------------
10.5.128.30 00e0-fca0-04f8 I - GE0/0/0
10.5.40.30 00e0-fca0-04f9 I - GE0/0/1
10.5.40.34 00e0-fcbd-4f8e 1 D-0 GE0/0/1
------------------------------------------------------------------------------
Total:3 Dynamic:1 Static:0 Interface:2
---------------------------------------------------------------------------------------------
结果显示 AR29 的 ARP 映射表中不存在 AR27 和 AR28 的映射表项,说明通过 ARP 请求无法获取到目标 MAC地址,原因很可能是在交换机上抑制了广播帧,下一步通过 arp-ping 测试单播帧的连通性。
第五步:排查二层连通性
在 AR27 上 arp-ping mac 00e0-fca0-04f8 interface g0/0/0 //此 MAC 地址是 AR29 的 G0/0/0 的接口 MAC 地址。
显示信息如下:
---------------------------------------------------------------------------------------------
<AR27>arp-ping mac 00e0-fca0-04f8 interface g0/0/0
OutInterface: GigabitEthernet0/0/0 MAC[00-E0-FC-A0-04-F8], press CTRL_C to break
Error: Request timed out.
Error: Request timed out.
Error: Request timed out.
----- ARP-Ping MAC statistics -----
3 packet(s) transmitted
0 packet(s) received
MAC[00-E0-FC-A0-04-F8] not be used
---------------------------------------------------------------------------------------------
结果显示 AR27 无法接收到 AR29 的应答报文,获取不到对方的 mac 地址。由于单播测试也不通,下一步在 AR29 上检查是否存在物理层故障。
第六步:检查物理层故障
在 AR29 上通过 display interface g0/0/0 命令检查物理层信息
显示信息如下:
---------------------------------------------------------------------------------------------
[AR29]display interface g0/0/0
GigabitEthernet0/0/0 current state : UP
Line protocol current state : UP
………………
Input: 1190 packets, 137235 bytes
Unicast: 0, Multicast: 1167
Broadcast: 0, Jumbo: 0
---------------------------------------------------------------------------------------------
结果显示 G0/0/0 接口上单播和广播的收包统计始终为 0,但组播包非 0 且数量持续增加(组播包应该是LSW6 的生成树的 BPDU),说明物理连接无故障。
第七步、综合分析
通过以上诊断步骤得出结论:由于 AR27 和 AR28 之间互访正常,所以可以判定 AR27 和 AR28 之间不存在任何故障,但是 AR29 上无法 ping 通 AR27/AR28 的互联接口 IP 地址,并且没有 ARP 映射表项,接收不到广播报文,同时通过 ARP-PING 测试单播也不通。说明 AR29 和 AR27、AR28 处于不同的广播域,由于AR27/AR28/AR29 的 G0/0/0 口都接在同一台交换机 LSW6 上,所以可以推断出 E0/0/1 和 E0/0/2 处于同一VLAN 内,但 E0/0/3 口处于其它 VLAN 内。
3.解决方案:
在 LSW6 上面通过 display port vlan active 查看 E0/0/1,E0/0/2,E0/0/3 的 3 个接口 VLAN type 和 PVID 是否一致,如不一致执行以下命令进行修改:
system-view //进入系统视图
interface E0/0/3 //进入接口视图
display this //查看当前接口下所有配置
port link-type access //如当前接口模式为非 access 模式,则修改为 access 模式,修改前需要 先 undo 掉端口下当前所有配置
port default vlan xx //xx 为 VLAN ID,将 VLAN ID 修改为和 E0/0/1,E0/0/2 接口一致修改 完成后再次通过 display port vlan active 命令查看 3 个接口 pvid 是否一致,确保 3 个接口处于同一个 vlan内,然后按照顺序执行下列验证命令,判断故障是否解决,以及是否存在其它高可能性。
验证命令 1:
在 AR29 上执行命令:ping 10.5.128.28 //ping 通则执行下一步验证,否则请参考高可能性 1
验证命令 2:
在 AR29 上执行命令:display ospf peer brief //和 AR28 形成 FULL 的邻接关系,则执行下一步验证,否则请参考高可能性 2
验证命令 3:
在 AR29/AR28 上执行命令:display ip routing-table protocol ospf //在 AR28 和 AR29 上查看路由表,存在对方 loopback0 的路由,执行下一步验证,否则请参考高可能性 3
验证命令 4:
在 AR29 上执行命令:ping -a 10.5.1.29 10.5.1.28 //ping 通表示故障解决,否则请参考高可能性 4
后续可能存在的高可能性分析:
高可能性 1:
LSW6 上存在有针对 AR29 的 G0/0/0 接口地址的流量过滤。
在 LSW6 上执行以下命令:
interface E0/0/3 //进入接口视图
display this //查看当前接口下配置,确认是否有流量过滤行为
undo traffic-filter inbound //删除接口下的入方向流量过滤行为
undo traffic-filter outbound //删除接口下的出方向流量过滤行为
undo traffic-policy inbound //删除接口下的入方向流量过滤行为
undo traffic-policy outbound //删除接口下的出方向流量过滤行为
quit //退出接口视图,退回到系统视图
display mac-address blackhole //检查是否存在 MAC 地址黑洞配置
undo mac-address blackhole //删除 MAC 地址黑洞配置
高可能性 2:
AR29 的 OSPF 区域认证密码错误。
在 AR29 上执行以下命令:
interface G0/0/0 //进入接口视图
display this //查看当前接口下配置,确认是否存在 OSPF 接口认证
undo ospf authentication-mode //接口认证优于区域验证,删除接口下的认证
quit //退出接口视图,退回到系统视图
ospf xx //进入OSPF进程视图(xx 为用户环境的 OSPF 进程 ID)
area xx //进入区域视图(xx为AR29连接AR27/28的区域号)
authentication-mode md5 1 cipher xxx //重置区域认证密码,xxx 为认证密码,要保证和 AR27、AR28密码一致
quit //退出 OSPF 进程视图,退回到系统视图
高可能性 3:
AR28 和 AR29 上的 OSPF 进程下存在路由过滤
在 AR28/AR29 上执行以下命令:
ospf xx //进入 OSPF 进程视图(xx 为用户环境的 OSPF 进程 ID)
display this //查看 OSPF 进程下配置,确认是否存在路由过滤行为
undo filter-policy import //删除 OSPF 进程下的路由过滤行为
quit //退出 OSPF 进程视图,退回到系统视图
高可能性 4:
AR28/AR29 的 G0/0/0 接口上存在流量过滤
在 AR28/AR29 上执行以下命令:
interface G0/0/0 //进入接口视图
display this //查看当前接口下配置,确认是否存在流量过滤
undo traffic-filter inbound //删除接口下的入方向流量过滤行为
undo traffic-filter outbound //删除接口下的出方向流量过滤行为
undo traffic-policy inbound //删除接口下的入方向流量过滤行为
undo traffic-policy outbound //删除接口下的出方向流量过滤行为
quit //退出接口视图,退回到系统视图
最后所有故障排除后执行以下命令:
retrun //退回到用户视图
save //保存修改完的配置,防止断电或重启造成故障重现。
如果进行以上故障排除仍未解决故障,请将故障相关设备的详细配置提交给相应的工程师诊断,或者
请相应的工程师到现场进行故障排查,谢谢!