BGP常用过滤策略
![]() 目的:研究BGP常用的几种过滤方法
1.分发列表
2.前缀列表 3.路径列表/过滤列表 4.路由映射 5.团体列表 6.ORF 7.策略列表 大家注意在做好策略以后一定要重启一下BGP进程再观察实验现象,建议用软重启,这样可以保证邻接关系不中断(clear ip bgp * soft in / out)
1.分发列表是BGP过滤中最为简单的一种,可以应用到所有对等体上,也可以应用到特定对等体上,如在BGP进程下: ditribute-list 1 in/out(对所有对等体均有效) nei 1.1.1.1 ditribute-list 1 in/out (只对某个对等体有效) 在R2上,过滤前缀2.2.2.0,操作如下: r2(config)#access-list 1 deny 2.2.2.0 r2(config)#access-list 1 permit an r2(config-router)#nei 10.1.1.1 distribute-list 1 out distribute-list,灵活性较差,可分为标准和扩展两种。要注意的是扩张访问列表用于接口分组过滤时,它有源地址和目的地址,但当与BGP分发列表一起使用时,源地址变成了网络号,目的地址变成网络掩码。而标准没有此功能。 例如:access-list 101 permit ip 10.10.0.0 0.0.255.255 255.255.0.0 0.0.0.0 网络部分:10.10.0.0 0.0.255.255,表示允许10.10.x.x,x为0-255任意值 掩码部分:255.255.0.0 0.0.0.0,表示在通配符中全使用了O,只能匹配16位掩码。分发列表,前缀列表,过滤列表后面都有一个隐藏命令deny any. 2.前缀列表是一种更简单的过滤方法 r2(config)#ip prefix-list 1 deny 2.2.2.0/24 r2(config)#ip prefix-list 1 permit 0.0.0.0/0 le 32 r2(config-router)#nei 10.1.1.1 prefix-list 1 out 在前缀列表中,通常用前缀长度进行过滤,当同时使用ge/le属性时,过滤范围就在ge值和le值之间,前缀的掩码必须和所有过滤的路由前缀精确匹配,如 : ip prefix-list one permit 156.1.1.0/24 ge 25 le 31
156.1.1.0/24不在此范围内,/32也不在,此前缀包括 2个/25-----156.1.1.0/25,156.1.1.128/25 4个/26-----156.1.1.0/26,156.1.1.64/26,...,156.1.1.192/26 8个/27------156.1.1.0/27,156.1.1.32/27,...,156.1.1.224/27 .... 128个/31-----156.1.1.0/31,156.1.1.2/31,...,156.1.1.254/31 前缀号---seq,默认从5,10,15,20...,当增加或减少某个前缀列表时,直接增减该前缀号.序列号的检查是从最小的开始。 前缀列表比分发列表更为简单功能更强大。 3.AS路径列表一般和正则表达式,filter-list一起应用,是使用AS路径属性来过滤BGP路由,IOS的常规表达式和UNIX上的相同,在R1上过滤来自AS2的路由条目: r1(config)#ip as-path access-list 1 deny _2$ r1(config)#ip as-path access-list 1 permit .* r1(config-router)#nei 10.1.1.2 filter-list 1 in 提供一种查看AS路径序列号的方法:show ip bgp regexp .按照AS-PATHS进行过滤,提供了较好的灵活性。 正则表达式是一种重要的工具,关于一些常规表达式含义详见等级三(上)实验手册P124. 4.路由映射提供了强大的功能,可对其诸多属性进行修改,可以基于NEXT-HOP,LOCOL-PREF,MED,AS-PATH,WEIGHT,ROUTE-TYPE,TAG等过滤和更新,当在有相同类型的多个match时,它们之间是或的关系,不同类型的多个match时,它们之间是与的关系,如: route-map one permit 10 match community 1 2(或关系) route-map one permit 10 match community 1 match community 2(与关系) 这里只讲用作过滤用的路由映射,只举例match ip add r2(config)#access-list 1 deny 2.2.2.0 r2(config)#access-list 1 permit an r2(config)#route-map tor1 permit 10 r2(config-route-map)#match ip add 1 r2(config-router)#nei 10.1.1.1 route-map tor1 out 5.团体列表通常用来在BGP策略中使用,为大型BGP网络管理中管理BGP前缀提供了一种灵活的方法,是根据共同的团体属性来标示过滤,当配置了团体属性时,必须为对等体配置命令nei ip/peer-group send-community命令,此命令作用是把最佳本地出境策略允许的团体发送给对等体。在此谈它用来做过滤。在R2上: 把2.2.2.0/24作为团体2:1,把4.4.4.0/24,6.6.6.0/24,8.8.8.0/24作为团体2:2
r2(config)#access-list 1 permit 2.2.2.0 r2(config)#access-list 2 permit 4.4.4.0 r2(config)#access-list 2 permit 6.6.6.0 r2(config)#access-list 2 permit 8.8.8.0 r2(config)#route-map tor1 permit 10 r2(config-route-map)#match ip add 1 r2(config-route-map)#set community 2:1 r2(config)#route-map tor1 permit 20 r2(config-route-map)#match ip add 2 r2(config-route-map)#set community 2:2 在R1过滤团体2:2,操作如下 r1(config)#ip community-list 1 permit 2:1 r1(config)#ip community-list 2 deny 2:2 r1(config)#route-map fromr2 permit 10 r1(config-route-map)#match community 1 r1(config-route-map)#route-map fromr2 per 20 r1(config-route-map)#match community 2 6.orf是基于出口路由过滤能力,提供了一种动态的方法,接受者向发送者公布它的入口过滤器,然后发送者把过滤器加载到与接受者之间的出口邻居关系上。只有ORF达成一致时,ORF才可以被使用。ORF是一种可以在远程节点加载在入口前缀列表,主要是节省带宽以及路由器的性能。R1要拒绝2.2.2.0/24,在R1上操作如下: router bg 1 nei 10.1.1.2 capability orf prefix-list both(激活R1与R2的ORF能力,R1可以从R2那里接受发送前缀) nei 10.1.1.2 prefix-list one in(R1已经向R2配置了入口前缀列表one,) ! ip prefix-list one deny 2.2.2.0/24 ip prefix-list one permit 0.0.0.0/0 le 32 ! clear ip bgp 10.1.1.2 in prefix-list(向R2发送R1的入口前缀列表) 在R2上操作如下: router bg 2 nei 10.1.1.1 capability orf prefix-list both(激活R2与R1的ORF能力,R2可以从R1那里接受发送前缀) 7.策略列表一般用在很多相同匹配子句被不同的路由映射重用时,策略列表可以通过命令ip policy-list配置,策略列表,其他匹配的子句和路由映射是可以保存的。例如: ip as-path access-list 1 permit ^1_ ip as-path access-list 2 permit ^2_ ip community-list 1 permit 100:1 ip policy-list one permit
match as-path 1 match community 1 route-map two permit 10
match policy-list one set metric 120 应注意的几个问题:
1.当几个列表一起应用时,顺序如下: 入站:过滤列表>路由映射>分布列表/前缀列表 出站:分布列表/前缀列表>由orf接收到的前缀列表>过滤列表>路由映射 更新使用是要通过所有过滤!举个例子,对于出站来说,如果前缀列表和过滤列表都允许更新,但路由映射拒绝,那么这个更新是被拒绝的,同样入站亦适应。 2.当已对nei配置了一个邻居策略时,但该策略没有被定义,那么缺省动作是: 对于分布列表和前缀列表,允许所有; 对于过滤列表和路由映射,拒绝所有。 |




Steven.Q
博客统计信息
热门文章
最新评论
友情链接
