ip-prefix与ACL的实例

这是我参与更文挑战的第18天,活动详情查看: 更文挑战

地址前缀列表与ACL的区别

ACL和地址前缀列表都可以对路由进行筛选,ACL匹配路由时只能匹配路由的网络号,但无法匹配掩码,也就是前缀长度;而地址前缀列表比ACL更为灵活,可以匹配路由的网络号及掩码,增强了路由匹配的精确度。

如图所示,R1和R2运行OSPF,R1把192.168.0.0的静态路由导入到OSPF中,我们分别使用ACL和地址前缀列表来看有什么不同

在R1上写入两条静态路由模拟直连的网段

ip route-static 192.168.0.0 255.255.0.0 NULL0

ip route-static 192.168.0.0 255.255.255.0 NULL0

配置ACL

acl number 2000

rule 5 permit source 192.168.0.0 0.0.255.255

配置route-policy

route-policy 1 permit node 10

if-match acl 2000

通过route-policy把静态路由导入OSPF

[R1-ospf-1]import-route static route-policy 2

在R2上查看导入结果,我们可以看到路由表中发现有2条192.168.0.0网段的路由,说明2条路由都被引入了。这是由于ACL 2001规则rule permit source 192.168.0.0 0.0.255.255中,0.0.255.255实际上是通配符,而不是掩码长度

所谓通配符,就是指换算成二进制后,“0”表示需要匹配,“1”表示不需要匹配。例如192.168.0.0 0.0.255.255表示匹配网络号192.168.0.0~192.168.255.255,192.168.0.0/16和192.168.0.0/24都能成功匹配ACL 2001,因此这2条路由匹配了route-policy的节点10,都被引入了。ACL无法实现只匹配192.168.0.0/16或者只匹配192.168.0.0/24,ACL只能匹配网络号,无法匹配掩码

接下来,我们尝试用地址前缀列表对引入的路由进行过滤,看是否能实现引入192.168.0.0/16这1条路由,过滤掉192.168.0.0/24。

[R1-ospf-1]undo import-route static

配置地址前缀列表

ip ip-prefix 1 index 10 permit 192.168.0.0 16

通过route-policy把静态路由导入OSPF

[R1-ospf-1]import-route static route-policy 2

配置完成后,在R2上查看路由表,成功实现了只引入192.168.0.0/16这1条路由

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享