BGP 路由过滤、community no-export
·一、必须要配置:(如果环境中配置了community):
如果环境中为路由设置了community值,必须要配置:1、ip bgp-community new-format //全局开启。能够显示完整的community,例如:65000:100;如果不开就只能这样显示:493209122、在邻居中配置 send-community
1、过滤 传递给邻居的路由(不将任何路由传递给邻居,或者过滤掉指定路由,不将其传递给邻居)
2、过滤邻居传进的路由
3、不使用prefix-list, route-maps, distribute-lists等其他显示方式过滤路由(使用 community no-export)
·路由过滤建议使用 prefix-list 前缀列表,虽然ACL也行
一、过滤 传递给邻居的路由(不向邻居通告路由)
1、配置 不向邻居通告任何路由:
先配置 ACL,拒绝所有的路由条目ip access-list extended BGP
deny ip any any # 再 配置一个 route-map,应用该 ACLroute-map BGP permit 10
match ip address BGP # 配置BGP,引用该 route-maprouter bgp 2024 neighbor 200.39.47.11 route-map BGP out //应用在 out 方向# neighbor 指定要进行过滤的邻居,这里的意思是,将传递给 200.39.47.11 这个邻居的所有路由都过滤掉
2、配置不向邻居通告指定路由(过滤指定路由):
配置 ACL,过滤 1.1.1.1 的路由(记得后面要允许全部)INTSW(config)#ip access-list extended nei INTSW(config-ext-nacl)#deny ip 1.1.1.1 0.0.0.0 any INTSW(config-ext-nacl)#permit ip any any# 配置 route-map 引用 ACLINTSW(config)#route-map neiINTSW(config-route-map)#match ip address nei# 在 BGP 中 引用route-mapINTSW(config-route-map)#router bgp 2024INTSW(config-router)#neighbor 200.39.47.11 route-map nei out# neighbor 指定要进行过滤的邻居,这里的意思是,将传递给 200.39.47.11 这个邻居的路由其中的 1.1.1.1 路由给过滤掉
二、过滤 邻居传进的路由(过滤传递给自己的路由)
1、过滤邻居传递给自己的全部路由:
配置 ACL,拒绝所有路由:BR1(config)#ip access-list extended routeBR1(config-ext-nacl)#deny ip any any# 配置 route-map 引用该 ACL:BR1(config)#route-map routeBR1(config-route-map)#match ip address route# 在 BGP 中应用该 route-map:BR1(config)#router bgp 110BR1(config-router)#neighbor 200.39.47.200 route-map route in //针对 200.39.47.200 这个邻居传入的路由,将其全部过滤掉
2、过滤邻居传递给自己的指定路由:
配置 ACL,拒绝指定的路由:BR1(config)#ip access-list extended routeBR1(config-ext-nacl)#deny ip 1.1.1.1 0.0.0.0 anyBR1(config-ext-nacl)#permit ip any any //要记得最后需要允许所有# 配置 route-map 引用该 ACL:BR1(config)#route-map routeBR1(config-route-map)#match ip address route# 在 BGP 中应用该 route-map:BR1(config)#router bgp 110BR1(config-router)#neighbor 200.39.47.200 route-map route in //针对 200.39.47.200 这个邻居传入的路由,将其中的 1.1.1.1 过滤掉
三、不使用prefix-list, route-maps, distribute-lists等其他显示方式过滤路由(使用 community no-export)
access-list 1 permit 1.1.1.1 /32route-map BGP permit 10 match ip address 1 set community no-export //no-export参数,不会将带有该参数的路由发给eBGP邻居(包括联邦内部的eBGP邻居),会在邻居边界直接丢弃该路由route-map BGP permit 20 //放行其余路由router bgp 100 # 两条命令必须组合使用才会生效 neighbor 1.1.1.1 send-community //定义发送community,如果不发送community,邻居看不到no-export参数,策略就不会生效 neighbor 1.1.1.1 route-map BGP out
如果要仅针对特定的邻居,可以控制send-community,有该参数的eBGP邻居才会收到携带 community no-export 的路由,并且执行丢弃操作