ACL(Access Control List,访问控制列表) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包。下面让我们看一下引用ACL做路由过滤未过滤掉一条聚合路由的故障是怎么解决的。
网络环境
如图所示,RouterA和RouterB是网络中的两台路由器,在RouterA上配置路由策略过引入特定的路由。
图中引用ACL做路由过滤未过滤掉一条聚合路由认证案例组网图
配置完成后,发现多引入了一条路由。
故障分析
步骤 1 在RouterA上执行display current-configuration命令,查看路由策略的配置情况,发现路由策略中引用的策略匹配条件是ACL,ACL的配置如下:
- <RputerA> display current-configuration
- #
- acl 2001
- rule 10 permit source 134.128.0.0 0.0.255.255
引入的两条路由的IP前缀为134.128.0.0/11和134.128.0.0/16。
路由策略引用的ACL只支持标准ACL,即只包含源IP地址和掩码。
对于标准ACL,不考虑IP前缀长度,只要前缀号匹配(IP前缀由前缀号和前缀长度组成),就认为匹配。所以两条路由都被匹配到而被引入。
----结束
处理步骤
在路由器RouterA执行以下命令:
步骤 1 执行system-view命令,进入系统视图。
步骤 2 执行命令ip ip-prefix huawei 134.128.0.0 0.0.255.255 greater-equal 16 less-equal 16,配置IPv4地址前缀列表。
将IP前缀的greater-equal和less-equal都设置为16,即只引入16位掩码的路由。
步骤 3 执行命令route-policy huawei permit node 10,创建Route-Policy的节点,并进入Route-Policy视图。
步骤 4 执行命令if-match ip-prefix huawei,匹配地址前缀列表。
----结束
完成上面的配置后,可以成功将134.128.0.0/16一条路由引入进来,而将134.128.0.0/11路由过滤出去。
案例总结
过滤路由时,需要注意ACL和IP前缀的应用效果,需要精确确定掩码长度时,需要使用IP前缀来定义。
【编辑推荐】