错点还原:
#AR28
acl 2000
rule 5 deny source 10.5.1.32 0
int g 0/0/2
traffic-filter outbound acl 2000
题目:AR32的 loopback0 接口地址无法访问ISIS区域的部分地址。
一、故障根因判断
AR32loopbac 0 接口地址无法访问AR31的所有地址和AR34的g 0/0/1接口地址,根本原因是因为AR28的g 0./0/2接口的出方向上做了流量过滤。
二、故障分析
2.1、故障现象重现,在AR32上执行 ping -a 10.5.1.32 x.x.x.x {其中x.x.x.x 为ISIS区域的所有地址},发现确实存在部分地址无法访问的现象,无法访问的地址如下:
<AR32>ping -a 10.5.1.32 10.5.130.31
PING 10.5.130.31: 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.130.31 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
------------------------------------------------------------------------------
<AR32>ping -a 10.5.1.32 10.5.1.31
PING 10.5.1.31: 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.1.31 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
-----------------------------------------------------------------------------
<AR32>ping -a 10.5.1.32 10.5.14.31
PING 10.5.14.31: 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.14.31 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
------------------------------------------------------------------------------
<AR32>ping -a 10.5.1.32 10.5.14.34
PING 10.5.14.34: 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.14.34 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
……
省略可以ping 通的地址
由测试结果得知,AR32 loopback0 接口无法访问的地址如下:
a、AR31的loopback0 接口,ip 地址为 10.5.1.34;
b、AR31的g0/0/1接口,ip 地址为 10.5.14.31;
c、AR31的g0/0/2接口,ip 地址为 10.5.130.31;
d、AR34的g0/0/1接口,IP地址为10.5.14.34;
需要检查AR32的路由表中是否存在对应的路由条目。
2.2、在AR32上执行display ip routing-table 命令,查看AR32的路由表,输出结果如下:
<AR32>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 21 Routes : 21
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.5.1.27/32 OSPF 10 2 D 10.5.239.28 GigabitEthernet0/0/0
10.5.1.28/32 OSPF 10 1 D 10.5.239.28 GigabitEthernet0/0/0
10.5.1.29/32 OSPF 10 2 D 10.5.239.28 GigabitEthernet0/0/0
10.5.1.30/32 O_ASE 150 1 D 10.5.239.28 GigabitEthernet0/0/0
10.5.1.31/32 O_ASE 150 1 D 10.5.239.28 GigabitEthernet0/0/0
10.5.1.32/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.5.1.33/32 OSPF 10 3 D 10.5.239.28 GigabitEthernet0/0/0
10.5.1.34/32 O_ASE 150 1 D 10.5.239.28 GigabitEthernet0/0/0
10.5.14.0/24 O_ASE 150 1 D 10.5.239.28 GigabitEthernet0/0/0
10.5.34.0/24 O_ASE 150 1 D 10.5.239.28 GigabitEthernet0/0/0
10.5.40.0/24 OSPF 10 3 D 10.5.239.28 GigabitEthernet0/0/0
10.5.128.0/24 OSPF 10 2 D 10.5.239.28 GigabitEthernet0/0/0
10.5.129.0/24 O_ASE 150 1 D 10.5.239.28 GigabitEthernet0/0/0
10.5.130.0/24 O_ASE 150 1 D 10.5.239.28 GigabitEthernet0/0/0
10.5.239.0/24 Direct 0 0 D 10.5.239.32 GigabitEthernet0/0/0
10.5.239.32/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
10.5.239.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
由输出结果得知,AR32的路由表中存在ISIS区域的所有路由,说明AR28上将ISIS进程引入到了OSPF进程中。接着需要查看ISIS区域设备的路由表中是否存在OSPF区域的路由,以此判断AR28上是否将OSPF进程引入到了ISIS进程中。
2.3、在AR31和AR34上执行display ip routing-table 命令,查看AR31和AR34的路由表,输出结果如下:
<AR31>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 23 Routes : 23
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.5.1.27/32 ISIS-L2 15 74 D 10.5.130.28 GigabitEthernet0/0/2
10.5.1.28/32 ISIS-L2 15 74 D 10.5.130.28 GigabitEthernet0/0/2
10.5.1.29/32 ISIS-L2 15 74 D 10.5.130.28 GigabitEthernet0/0/2
10.5.1.30/32 ISIS-L1 15 20 D 10.5.14.34 GigabitEthernet0/0/1
10.5.1.31/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.5.1.32/32 ISIS-L2 15 74 D 10.5.130.28 GigabitEthernet0/0/2
10.5.1.33/32 ISIS-L2 15 74 D 10.5.130.28 GigabitEthernet0/0/2
10.5.1.34/32 ISIS-L1 15 10 D 10.5.14.34 GigabitEthernet0/0/1
10.5.14.0/24 Direct 0 0 D 10.5.14.31 GigabitEthernet0/0/1
10.5.14.31/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
10.5.14.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
10.5.34.0/24 ISIS-L1 15 20 D 10.5.14.34 GigabitEthernet0/0/1
10.5.40.0/24 ISIS-L2 15 74 D 10.5.130.28 GigabitEthernet0/0/2
10.5.128.0/24 ISIS-L2 15 74 D 10.5.130.28 GigabitEthernet0/0/2
10.5.129.0/24 ISIS-L1 15 30 D 10.5.14.34 GigabitEthernet0/0/1
10.5.130.0/24 Direct 0 0 D 10.5.130.31 GigabitEthernet0/0/2
10.5.130.31/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/2
10.5.130.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/2
10.5.239.0/24 ISIS-L2 15 74 D 10.5.130.28 GigabitEthernet0/0/2
=============================================================
<AR34>dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 16 Routes : 17
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 ISIS-L1 15 10 D 10.5.14.31 GigabitEthernet0/0/1
ISIS-L1 15 10 D 10.5.34.30 GigabitEthernet0/0/0
10.5.1.30/32 ISIS-L1 15 10 D 10.5.34.30 GigabitEthernet0/0/0
10.5.1.31/32 ISIS-L1 15 10 D 10.5.14.31 GigabitEthernet0/0/1
10.5.1.34/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.5.14.0/24 Direct 0 0 D 10.5.14.34 GigabitEthernet0/0/1
10.5.14.34/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
10.5.14.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/1
10.5.34.0/24 Direct 0 0 D 10.5.34.34 GigabitEthernet0/0/0
10.5.34.34/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
10.5.34.255/32 Direct 0 0 D 127.0.0.1 GigabitEthernet0/0/0
10.5.129.0/24 ISIS-L1 15 20 D 10.5.34.30 GigabitEthernet0/0/0
10.5.130.0/24 ISIS-L1 15 20 D 10.5.14.31 GigabitEthernet0/0/1
由输出结果得知,AR31的路由表中存在OSPF区域的所有路由,AR34上存在两条缺省路由下一跳分别指向AR30和AR31,说明AR28上将OSPF进程引入到了ISIS进程中,两个进程都存在对方区域的所有路由信息,说明全网路由可达,不存在路由过滤策略。初步判断可能在AR28、AR31、AR32、AR34上存在针对AR32loopback 0接口地址的流量过滤策略。由于AR28、AR31存在登陆权限限制问题,所以先查看AR32、AR31、AR34上是否存能够导致故障现象的流量过滤策略。
2.4、在AR31、AR32、AR34上分别执行display acl all、display traffic-filter applied-record、display traffic-policy applied-record 命令,查看是否存在针对AR32loopback0 接口的流量过滤策略。
……
省略输出结果
由输出结果得知,AR31、AR32、AR34均未发现能够导致故障现象的流量过滤策略,判断AR28可能存在针对AR32loopback0接口的流量过滤策略,但因AR28存在登陆权限无法直接进行检查,只能间接进行测试验证故障根因。
2.5、在AR32上执行 tracert -a 10.5.1.32 10.5.1.34 命令,间接测试AR28上是否存在流量过滤策略,输出结果如下:
<AR32>tracert -a 10.5.1.32 10.5.1.34
traceroute to 10.5.1.34(10.5.1.34), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.5.239.28 40 ms 20 ms 20 ms
2 * 10.5.129.30 80 ms *
3 10.5.34.34 60 ms * 40 ms
由输出结果得知,在AR32上以loopback 0 为源地址去tracert AR34的loopback 0 接口地址时,数据只能通过AR28的g 0/0/1接口转发出去,并顺利到达AR34,但经过过AR28的g0/0/2接口时出现丢包现象,需进一步检查。
2.6、在AR32上执行tracert 10.5.1.34命令,不携带源地址直接进行tracert 测试,输出结果如下:
<AR32>tracert 10.5.1.34
traceroute to 10.5.1.34(10.5.1.34), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.5.239.28 20 ms 20 ms 10 ms
2 10.5.130.31 40 ms 10.5.129.30 20 ms 10.5.130.31 20 ms
3 10.5.34.34 30 ms 10.5.14.34 40 ms 10.5.34.34 30 ms
由输出结果得知,在不携带源地址,直接tracert AR34的 loopback0 时,数据包可以正常通过AR28的g0/0/1接口和g0/0/2接口到达AR34,说明在AR28存在流量过滤策略,结合2.5和2.6可以判断在AR28的g0/0/2接口上存在针对AR32 loopback0 接口的流量过滤策略,但无法判断策略应用的方向,需要检查反方向上的流量传递路径来确定策略应用的方向。
2.7、确定流量过滤策略应用的方向
a、在AR34上执行 tracert -a 10.5.1.34 10.5.1.32,确定策略应用的方向,输出结果如下:
<AR34>tracert -a 10.5.14.34 10.5.1.32
traceroute to 10.5.1.32(10.5.1.32), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.5.14.31 30 ms 20 ms 20 ms
2 10.5.130.28 30 ms 30 ms 10.5.129.28 30 ms
3 10.5.239.32 40 ms 20 ms 30 ms
由输出结果得知,AR34上以loopback0 接口地址为源地址,数据包可以顺利到达AR32。
b、在AR31上分别以g0/0/1接口(10.5.14.31 、g0/0/2接口(10.5.130.31)、 loopback0 接口(10.5.1.31)地址为源地址tracert AR31的loopback0接口地址,输出结果如下:
<AR31>tracert -a 10.5.14.31 10.5.1.32
traceroute to 10.5.1.32(10.5.1.32), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.5.130.28 60 ms 10 ms 10 ms
2 10.5.239.32 30 ms 20 ms 20 ms
=====================================================
<AR31>tracert -a 10.5.130.31 10.5.1.32
traceroute to 10.5.1.32(10.5.1.32), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.5.130.28 20 ms 10 ms 10 ms
2 10.5.239.32 20 ms 20 ms 10 ms
======================================================
<AR31>tracert -a 10.5.1.31 10.5.1.32
traceroute to 10.5.1.32(10.5.1.32), max hops: 30 ,packet length: 40,press CTRL_C to break
1 10.5.130.28 30 ms 10 ms 20 ms
2 10.5.239.32 20 ms 20 ms 20 ms
由输出结果得知,在AR31上分别以g0/0/1接口、 g 0/0/2接口、 loopback0 接口地址为源地址 tracert AR32的loopback0接口地址,数据包均可顺利到达AR32。
结合a、b得知,在AR34到AR32的数据流方向上不存在针对AR32loopback0的流量过滤策略。
综上所述:AR32 loopback0无法访问AR31的所有地址以及AR34的g 0/0/1 接口地址的根本原因是因为在AR28的g0/0/2接口的出方向上存在针对AR32loopback0的流量过滤策略。
三、故障处理
3.1、故障为AR28的g0/0/2接口的出方向上存在针对AR32 loopback0 的流量过滤策略时,需要在AR28上执行以下命令:
display traffic-filter applied-record #查看是否存在流量过滤
display traffic-policy applied-record #查看是否存在流量策略
system-view #进入系统视图
int g0/0/2 #进入接口视图
undo traffic-filter outbound #删除流量过滤
undo traffic-policy outbound #删除流量策略
执行完上述命令后在AR32上执行以下命令测试故障是否已解决:
ping -a 10.5.1.32 10.5.1.31 #测试与AR31环回口连通性
ping -a 10.5.1.32 10.5.14.31 #测试与AR31g0/0/1接口的连通性
ping -a 10.5.1.32 10.5.130.31 #测试与AR31g0/0/2接口的联通性
ping -a 10.5.1.32 10.5.1.31 #测试与AR34loopback0 接口的连通性
3.2、其他高可能性——在AR28上存在高级ACL过滤,需要再AR28上执行以下命令:
display acl all #查看所有ACL
system-view #进入系统视图
undo acl {高级ACL的序列号} #删除能够导致故障的ACL
执行完上述命令后在AR32上执行以下命令测试故障是否已解决:
ping -a 10.5.1.32 10.5.1.31 #测试与AR31环回口连通性
ping -a 10.5.1.32 10.5.14.31 #测试与AR31g0/0/1接口的连通性
ping -a 10.5.1.32 10.5.130.31 #测试与AR31g0/0/2接口的联通性
ping -a 10.5.1.32 10.5.1.31 #测试与AR34loopback0 接口的连通性
3.3、
quit #退出到系统视图
save #保存配置
若执行完上述命令后,故障依然存在,请派遣一线工程师前往现场进行排障,或者提供完整的设备配置,并拨打华为400热线,请华为专家进行远程协助。