Filter-policy(过滤策略): 1、Filter-Policy(过滤-策略) 是一个很常用的路由信息过滤工具,能够对接收、发布、引入的路由进行过滤,可应用于IS-IS、OSPF、BGP等协议 比如: BGP当中R1想传3条路由给R2,R2只想2条给R3的时候,就可以使用过滤策略 Filter-policy(过滤策略):BGP当中使用逻辑 BGP:(距离矢量路由协议) 设备之间传递的是路由信息,如果需要对这种路由信息进行某种过滤,可以使用Filter-Policy实现,出方向和入方向的生效位置如图所示 传递的是路由信息,如果某台设备通过filter-policy拒绝掉了某条路由信息的话,那么本设备也不会向外继续传递被过滤掉的路由了。 Filter-policy(过滤策略):OSPF当中使用逻辑 OSPF:(链路状态路由协议) 各路由设备之间传递的是LSA信息,然后设备根据LSA汇总成的LSDB信息计 算出路由表。但是Filter-Policy只能过滤路由信息,无法过滤LSA。 针对IS-IS是过滤LSP
1、也就是会接收LSA,但是不计算 2、传递的是链路状态信息(LSA/LSP),那么如果某台设备部署了filter-policy import方向过滤,那么只会影响本设备计算路由的情况(接受LSA但不计算),不会影响其他设备进行LSA的计算(会将LSA/LSP传递出去)。(针对你能传递的路由的LSA都可以不计算) 3、某台设备filter-policy export(出方向)方向的过滤,设备会根据出方向的filter-policy过滤,决定LSA中哪些路由信息不传递。(只能针对引入的5类LSA去做过滤) 4、入方向过滤是不计算那些路由信息,出方向是我不传递那些路由信息 问:为什么接收LSA,但是不计算,直接不接收不就好了? 答:因为我是工作在链路状态当中的呀,信息的传递是依靠LSA,我不需要这个LSA, 但是其他设备可能需要,如果我直接就不接收,那我也就肯定不转发了,所以只能过滤 路由,不能过滤LSA 入方向使用逻辑:
lter-policy import命令对接收的路由设置过滤策略,只有通过过滤策略的路由才被添加到路由表中,没有通过过滤策略的路由不会被添加进路由表,但不影响对外发布出去。 出方向使用逻辑:
OSPF通过命令import-route引入外部路由后,为了避免路由环路的产生,通过filter-policy export命令对引入的路由在发布时进行过滤,只将满足条件的外部路由转换为Type5 LSA(AS-external-LSA)并发布出去。 问:那我使用路由策略,不也能实现? 答:确实,一般都是在引入的时候直接就做路由策略了,另外过滤策略,基本上是为了 各大协议使用的,在用户视图下没有能配置的,在入方向上才彰显出特点 Filter-policy(过滤策略):使用逻辑 逻辑: 1:在OSPF当中: 链路状态路由协议下: 出方向只能在ASBR上做,入方向在所有设备上都可以做。(但是入方向不影响LSA的传递) 2:在IS-IS当中 3:在BGP当中 距离矢量路由协议下: 出入方向任何设备都可以做(传递的是路由并非LSA/LSP),并且会影响路由的传递。
Filter-policy(过滤策略):使用案例一 OSPF,AR1、2、3都是邻居,而且全是full状态 1、AR1配置7条路由指向Null 0,并且引入全部的直连路由 2、AR2配置前缀列表筛选路由 名字叫haha,序号是10,匹配 192.168.200.0 24的路由 3、使用过滤策略 在OSPF视图下,配置过滤策略,过滤条件是前缀列表匹配的数据,前缀列表名称 是haha,在入方向的时候过滤 这个入方向,是针对OSPF协议的,这时候,无论是AR1传来的,还是AR3传来的,AR2当中的Filter-Policy都是生效的 现象一: AR2当中只有前缀列表匹配了的那个路由器,并且LSDB当中存着全部的LSA 原因: 因为前缀列表匹配了这个192.168.200/24位的地址,同时过滤策略是在入方向的时 候,允许使用了这个路由,使用AR2会计算这个路由 ☆使用过滤策略,默认也是拒绝 现象二: AR3上会有全部的AR1引入的路由 原因: 各路由设备之间传递的是LSA信息,然后设备根据LSA汇总成的LSDB信息计 算出路由表。但是Filter-Policy只能过滤路由信息,无法过滤LSA。
Filter-policy(过滤策略):使用案例二 继续上面案例一的配置,在AR3后面接一个AR4,两者之间处在area 1 当中,AR4配置环回接口4.4.4.4,并且和AR3建立OSPF邻居关系,AR4将4.4.4.4和自己的0口地址发布到OSPF当中,让AR3学到 这时候AR3会将4.4.4.4当成非骨干区域,将4.4.4.4包装成为LSA-3传递到area 0 当中 现象一: AR2在配置了上面的那个Filter-Policy的情况下,并没有计算4.4.4.4的路由,但是这个 LSA-3也在LSDB当中 原因: 1、Filter-Policy针对你能传递的路由的LSA都可以不计算,但是还是会传递的(这里就是不但LSA-1不计算,连同LSA-3也不计算了) 2、所以在发出的时候filter-policy效果不明显,几乎等同于import-route xxxx route-policy 去做过滤 3、但是在收到LSA时,import(入)方向的filter-policy是独一无二的效果,几乎没有其他的工具,可以让自己不学到,但是自己的邻居可以学到
Filter-policy(过滤策略):使用案例三
依然是这个拓扑,配置延续案例二,AR4配置环回接口4.4.4.4,并且和AR3建立OSPF邻居关系,AR4将4.4.4.4和自己的0口地址发布到OSPF当中,让AR3学到。 AR2做了filter-policy export(出)方向的过滤,只允许通过AR4的0口的路由过去 现象一: AR1依然学到了AR4传来的4.4.4.4路由,也一样学到了AR4的0口的路由,及时在AR2上配置了对4.4.4.4的拦截,AR1照样学到 原因: 1、链路状态路由协议下,出方向只能在ASBR上做,入方向在所有设备上都可以做。(但是入方向不影响LSA的传递) 问:为什么在AR2对4.4.4.4拦截的情况下,AR1照样学到? 答:因为AR2不是这个LSA-3的始发者,而且就算是始发者AR3也不能控制,因为只能 针对引入的5类LSA去做过滤,也就是只有ASBR上操作出方向的filter-policy才有效果 问:那岂不是出方向啥用没有? 答:所以Filter-Policy在链路状态协议的出方向上,很少使用,更使用的是入方向的操作,但是在距离矢量上就猛了,所以filter-policy更多在BGP当中使用 问:前缀列表和ACL搭配route-policy最终能匹配到哪些路由 答: 总结归纳: 1、某台设备filter-policy export(出)方向的过滤,设备会根据出方向的filter-policy过滤,决定LSA中哪些路由信息不传递。(只能针对引入的LSA-5去做过滤) 2、链路状态路由协议下,出方向只能在ASBR上做,入方向在所有设备上都可以做。(但是入方向不影响LSA的传递) 3、距离矢量路由协议下,出入方向任何设备都可以做(传递的是路由并非LSA/LSP),并且会影响路由的传递。 |