1、流量可达性控制的2种手段
对流量下手,拒绝流量通过
对路由下手,过滤掉可达的路由信息
Filter-PolicyRIP,OSPF,ISIS,BGP协议都可以使用filter-policy对路由进行过滤。
对协议接收的路由进行过滤:filter-policy { acl-number I ip-prefix ip-prefix-name } import 对协议发布的路由进行过滤:filter-policy { acl-number | ip-prefix ip-prefix-name } export
ACL如果用于接口对报文做过滤,默认语句为允许
ospf 1 router-id 1.1.1.1filter-policy 2000 export static
将满足ACL中permit语句的静态路由引入到oSPF网络中(注意:ACL被其他工具引用时,默认语句拒绝所有。)
import-route static 引入静态路由
acl number 2000rule 5 permit source 192.168.1.0 0.0.0.09
(ac1仅能匹配路由的网络号,不能匹配路由的掩码长度)
ospf 1 router-id 1.1.1.1filter-policy 2000 export将满足ACL中permit语句的静态路由引入到oSPF网络中
(注意:ACL被其他工具引用时,默认语句拒绝所有。)
import-route static引入静态路由
import-route isis1引入ISIS路由
acl number 2000rule 5 permit source 192.168.1.0 0.0.0.0
(ac1仅能匹配路由的网络号,不能匹配路由的掩码长度)
链路状态路由协议(OSPF/ISIS)如何对引I入的路由做过滤?
1、在ASBR上做
2、使用filter-policy或者router-policy
filter-policy acl/prefix import对接收的路由做过滤(包括区域内,区域间,外部),
对于Ls路由协议来说并不会过滤掉LSA,LSA依然可以泛洪给邻居。
对于DV路由协议来说直接过滤掉路由,不会在传递给其他路由器。
单独使用filter-policy acl/prefix export对Ls状态协议发送的路由做过滤无效,仅对Dv路由器发送的路由生效。
ACL
ACL可以灵活地匹配IP地址的前缀但无法匹配掩码长度
IP-Prefix List能够同时匹配IP地址前缀及掩码长度。
IP-Prefix List不能用于IP报文的过滤,只能用于路由信息的过滤。
ip ip-prefix Pref1 index 10 permit 1.1.1.0 24精确匹配1.1.1.0/24
ip ip-prefix Pref1 index 10 permit 1.1.1.024 greater-equal 24 1ess-equal 24精确匹配1.1.1.0/24
ip ip-prefix Pref1 index 10 permit 1.1.0.0 16 greater-equal 24 匹配1.1.x.x,掩码大于等于24,小于等于32的路由
ip ip-prefix Pref1 index10 permit1.1.1.0 16 less-equal 24 匹配1.1.x.x 掩码大于等于16,小于等于24的路由
ip ip-prefix Pref1 index10 permit 1.1.1.0 16 greater-equal 26 less-equal 29 匹配1.1.x.x, 掩码大于等于26,小于等于29
ip ip-prefix Pref1 index 10 permit 0.0.0.0 0 匹配缺省路由
ip ip-prefixPref1 index 10 permit 0.0.0.0 01ess-equal 32 匹配所有的路由注意
ip-prefix-list也存在默认语句,即拒绝所有路由。注意length<=ge<=le
注意ip-prefix-list不能匹配奇偶网段。
请用一条语句把192.168.1.0/24的所有子网都匹配出来。
ip ip-prefix Pref1 index 10 permit 192.168.1.0 24 greater-equal25 less-equal 32
请用一条语句把A类的所有主类网络号都匹配出来。
ip ip-prefix Pref1 index 10 permit 1.0.0.0 1 greater-equal 8 less-equal 8
请用一条语句把B类的所有主类网络号都匹配出来。
ip ip-prefixPref1 index 10 permit 128.0.0.0 2 greater-equal 16 less-equal 16
路由策略:操作的对象是路由表中的路由条目进行管理,比如过滤路由。
过滤路由的2种情况
1、在引入路由时对路由进行过滤,filter-policyexport
2、在发布路由或者接收路由时对路由进行过滤,
filter-policyexport 对发布的路由做过滤(Dv路由协议有效,对Ls路由协议无效)
filter-policyimport对接收的路由做过滤,Dv和Ls都有效。
ip ip-prefix-list 定义路由可以匹配网络号,掩码长度,以及掩码范围。
ACL定义路由只能匹配网络号,不能匹配掩码,功能有限,比如无法匹配192.168.1.0/27这种路由。
但是共同的特点:只能抓网络号,对的路由其他属性无法进行匹配,所以某些情况工作量比较大。
3、通过route-policy这个工具对路由做操作。route-policy
1、可以匹配各种路由的特征来对路由进行匹配,匹配能力更强,灵活,高效。
2、可以对路由的属性做修改,BGP协议大量需要做路由属性编辑就需要用router-policy
route-Policy匹配规则按照node号,重小到大依次匹配,如果匹配后直接按该node进行处理,不在继续向下匹配,如果不匹配该node,则继续向下匹配,如果不匹配任何node,默认语句拒绝。router-policy 中的permit 代表允许引入,deny代表拒绝引入。
node中存在多个if-macth时,基本逻辑:相同的if-match条件是“或”,不同的if-match条件是“与”存在多个apply时,是“与”
node中可以没有if-match语句,即匹配所有路由,相当于anynode中可以没有apply语句,即按默认机制引入。总结:if-match和apply可以单独出现。
如果if-match中引用ACL或者prefix-list,而AcL和prefix-list使用是deny,则代表匹配ACL和prefix-list的deny语句的路由,跳过这个node,继续向下匹配。