ACL是路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL反掩码配置错误导致策略路由失效的故障排除方法如下:
网络环境
如图所示,10.40.0.0/27网段的PC访问10.20.3.0/29网段时需要通过Ethernet2/0/0口向外发送报文,而访问其他网段时通过Tunnel1/0/0向外发送报文。
案例组网图
配置完成后,发现10.40.0.0/27网段的PC发出的报文都由接口Tunnel1/0/0向外发送,发往10.20.3.0网段的报文无法到达。
故障分析
步骤 1 在RouterA上执行display current-configuration命令,查看路由的配置情况,发现接口Ethernet2/0/0上应用的策略路由中,ACL的反掩码配置错误,如下:
- <RouterA> display current-configuration
- #
- acl 3090
- rule 5 deny ip source 10.40.0.0 0.0.31.255 destination 10.20.3.0 0.0.0.0
- rule 5 permit ip source 10.40.0.0 0.0.31.255 destination any
- rule 5 deny ip source any destination any
- policy-based-route IPtraffic permit node 10
- if-match acl 3090
- apply output-interface Tunnel1/0/0
- interface ethernet2/0/0
- ip policy-based-route IPtraffic
其中10.20.3.0所对应的反掩码为0.0.0.0,匹配的是主机路由。因此,PC访问任何网段都不会匹配该rule规则,导致所有发自10.40.0.0网段的流量都流向Tunnel接口。
----结束
处理步骤
在路由器RouterA执行以下命令:
步骤 1 执行system-view命令,进入系统视图。
步骤 2 执行acl acl-number命令,进入ACL视图。
步骤 3 执行命令rule 5 deny ip source 10.40.0.0 0.0.31.255 destination 10.20.3.0 0.0.0.7,将目的网段设置成10.20.3.0/29网段。
----结束
执行完上面的命令后,10.40.0.0/27网段的PC访问10.20.3.0/29网段时都通过Ethernet2/0/0口向外发送报文。
案例总结
配置ACL时必须仔细检查反掩码是否对应相应的网段。
【编辑推荐】