文章目录
IP-Prefix工具理论与实践
背景-使用acl匹配路由
IP前缀列表,是一个列表形态的工具,能够去匹配IP路由前缀,跟ACL很相似,ACL也是一个列表形态的工具,可以在一个ACL上去定义多个rule,当使用ACL匹配路由前缀时是有短板的,它的短板就在于只能够去匹配路由前缀的网络号,没办法匹配路由前缀的长度,路由网络掩码,相比之下, ip-prefix list工具就变得更强大了。
在做路由策略时通常情况下,我们的需求是希望针对一部分的一条或多条路由来修改路由属性。
在做路由重发布时可以关联路由策略,在路由策略中可以定义多个node,在每个节点当中可以设定我所感兴趣的路由去匹配他,我可以修改这个路由的属性比如cost值。
通常情况下,路由策略是针对特定的对象来执行的。R1与R2跑了一个RIP,R2与R3跑了一个OSPF,对于R2来讲同时连接着RIP域和OSPF域,假设是从RIP网络引入到OSPF域中,为了让OSPF域学到,就要部署路由重发布,在引入的过程中,有路由策略的需求,让这两条路由注入到OSPF域中,cost值不同,一号引入之后设置为路由10,二号路由引入之后设置为20,这是路由策略的一个典型示例。
假设路由策略的名称叫hcie,有2个node分别是10和20,节点用于抓取路由,抓取的依据是ACL,匹配的时候使用的是2个ACL来分别匹配这两条路由,并且修改路由的属性。
这种方式在这种场景下匹配路由是没有问题的。但ACL有一个明显的短板,就是只能够匹配一个路由条目当中的网络号,至于掩码长度是没办法匹配的。使用ACL,通配符通常情况使用0这种方式定义,这样会稍微精确一点。
用ACL匹配路由存在的短板
RIP域中有明细路由192.168.0.0/24以及汇总路由192.168.0.0/16,现在R2上做RIP到OSPF的路由重发布,要求过滤掉明细路由192.168.0.0/24,放行汇总路由192.168.0.0/16。
用标准ACL就无法实现了。因为使用标准ACL匹配路由时只能够匹配路由的网络号,而无法匹配掩码,也就是前缀长度。因此ACL规则rule permit source 192.168.0.0 0.0.0.0将会把192.168.0.0/24及192.168.0.0/16都匹配住。
假设R2通过RIP学习到两条路由,分别是汇总路由/16,子网路由/24,这两条路由共同特点是网络号相同但是这显然是两条不同的前缀,因为一条完整的路由包含两部分信息,网络号和掩码,一个是/16一个是/24这是两个不同的路由。
这时在R2部署到OSPF的路由重发布,如果在R2部署路由重发布有路由策略的需求,希望把/24路由过滤掉,首先需要创建route-policy,在执行import-route做一个调用,在route-policy当然得匹配192.168.0.0/16路由,匹配就需要工具,如果用acl,要怎么写rule,rule permit source 192.168.0.0 0.0.0.0,如果这样学的话,其实是吧/16和/24两条路由都匹配住了,所以根本没办法用acl来区分这两条路由,因为只能针对网络号来进行路由匹配,而他们的网络相等,所以acl就搞不定了。
IP-Prefix List(IP前缀列表)
IP-Prefix List(IP前缀列表)是一个常用的路由匹配工具(路由抓取工具,对路由策略的对象抓取出来是需要一个工具的,上面学习过acl,但acl有一些短板)。
相比于ACL,它的可控性更强、更为灵活,除了能够匹配路由的网络号还能够匹配路由的前缀长度,甚至能够限定所感兴趣路由前缀长度的范围,增强了路由匹配的精确度。
IP-Prefix List是一个列表形态的工具,包含一条或多条语句,每条语句都有自己的序号,按序号从小到大的顺序排列。在这个层面上,前缀列表与ACL非常相像。
蓝色:前缀列表的名字
绿色:索引值为10条目,可选,如果没有明确指定索引值,系统会自动赋值
橘色:动作,允许或禁止
红色:用来指定被匹配对象的网络号
青色:匹配掩码的,如果写的24,整个条目所匹配的路由就是192.168.4.0而且掩码长度必须是24,如果有一条192.168. 4.0/30的路由,这个路由就不能被条目匹配。
这个条目的意思就是:可能会有很多路由,这些路由经过IP前缀列表匹配时,只有当他的网络部分而且掩码必须是24位,这样的路由才能够被IP前缀列表所匹配。