CONFIG prefix-list
router(config)#ip prefix-list list-name seq permit/deny network/len ge/le
prefix-list 本来是为BGP设计的。可以匹配路由条目的网络地址部分和掩码部分
ip prefix-list NAME permit 172.16.0.0/22 ge 24 le 24
/22 : 前缀22bit相同的
ge24:掩码范围最小24位
le24:掩码范围最大24位
当没有ge,掩码范围最小和前缀相同
当有ge,没有le时,le=32
当没有ge,le。ge与le都跟前缀相同
ip prefix-list A permit 0.0.0.0/0 ge 32 //所有主机路由
ip prefix-list B permit 128.0.0.0/2 ge16 //所有B类子网
ip prefix-list C permit 0.0.0.0/0 le 32 //所有路由
ip prefix-list D permit 0.0.0.0/0 //默认路由
ip prefix-list E permit 0.0.0.0/1 le 24 //A类的不超过24位的子网
IP prefix-list A permit 10.0.0.0/8 le32 //A类私网地址
IP prefix-list B permit 172.16.0.0/12 le32 //B类私网地址
ip prefix-list C permit 192.168.0.0/16 le32 //C类私网地址
###############################################################
outbound route filtering ORF
作用:
- 用来减少不必要的BGP流量和CPU的占用
- 路由器吧入方向的过滤配置交换给邻居路由器在出方向做
- ORF的报文被封装在route refresh ,在open报文中协商
当AS1有100条路由,而AS2只需要10条,此时,AS2可以配置ORF,filter-list给AS1 ,AS1就只给AS2所需要的10条
配置:nei x.x.x.x capability orf prefix-list send/receive/both
router bgp 100
address-family ipv4 unicast
nei 172.16.1.2 remot 200
nei 172.16.1.2 ebgp-multihop
nei 172.16.1.2 capability orf prefix-list send
ip prefix-list FILTER seq 10 permit 192.168.1.10/24
show 邻居 show ip bgp nei x.x.x.x //可以看到capabilities
实验
如图。AS200配置联邦,R2R3=AS2000. R4=AS300
R5 开启3个loopback 5.1.1.1; 5.1.1.2; 5.1.1.1.3
需求。AS100只需要5.1.1.1的路由
R1:
ip prefix-list test deny 5.1.1.2/31 le32
ip prefix-list test permit 0.0.0.0/0 ge 32
router bgp 100
nei 12.1.1.2 prefix-list test in
sho ip bgp //就只能看到5.1.1.1的路由
R2:
sho ip bgp neighbor 12.1.1.1 advertised-routes //查看R2传给R1的路由
可以看到3条5.1.1.x的路由都传了
R1:
router bgp 100
nei 12.1.1.2 capability orf prefix-list both
R2:
router bgp 2000
nei 12.1.1.1 capability orf prefix-list both
sho ip bgp nei 12.1.1.1 ad //可看到只传一条路由给R1
思科的ORF类型只支持prefix-list
###############################################################
ASpath-list 过滤
◆本地配置 as-path access-list
router(config)#
ip as-path access-list number permit/deny regexp
◆邻居配置filter-list
rotuer(config-router)#
neighbor ip-address filter-list as-path-filter in/out
使用正则表达式匹配
| :表示或,|两端任意匹配一个
[ ] : 表示范围内的一个,[1234] [1-4]
. : 表示任意一个字符 [1-3].[34]---213 和 3空格3
^ : 表示一个字符串的起始
$ : 表示一个字符串的结束
_ : 表示任意一个定界符(不能代表数字)
():表示一个组合,组合的结果再参与到大的表达式中
\ :是转意字符,即还原后面字符中特殊符号的原有含义
* :零个或多个
?:零个活一个
+ :一个活多个
实例: _100$ //起源于AS100的
^100_ //从邻居AS100过来的
^100$ //起源于AS100,且从邻居AS100过来的
_100_ //起源于AS100的
从邻居AS100过来的
穿过AS100的
^[0-9]+$ //任何起源于邻居AS的
^$ //起源于本AS的
.* //所有
^([0-9]+)(_\1)*4 //以任何数值标记的AS号以及重复出现的
◆可以在show 里配合正则表达式,只看自己想要的
例如:show ip bgp regexp ^$ //只看本地的路由
show ip bgp regexp ^100$ //只看起源于且邻居是100的路由
show ip bgp regexp _300$ //只看起源于300的路由
上图,控制R1只收AS200的路由
R1:ip as-path access-list 1 permit ^200$
router bgp 100
nei 12.1.1.2 filter-list 1 in
###############################################################
route-map
过滤处理顺序:
入站 过滤列表(filter-list/AS-path) 路由映射 分布列表/前缀列表(prefix-list)
出站 分布列表/前缀 由ORF接收到的前缀列表 过滤列表 路由映射
##############################################################
policy list
可以用route-map去调用一个policy list
在一个大型的ISP网络中,可预先配置一些policy list,然后在不同route-map里调用
无需重复的配置相同的route-map的匹配项
减少了重复的策略定义
例如:针对一个邻居只能使用一个route-map
所以当对多个邻居使用route-map时,就要写过个重复策略的route-map
只用route-map时
route-map test permit 10
match as-path 1
match ip address prefix-list 1
match community 1
route-map test permit 1000
route-map test-2 permit 10
match as-path 1
match ip add prefix-list 1
match commuinty 1
而使用policy list 就可以简化配置
ip policy-list test permit
match as-path 1
match ip add pre 1
match community 1
route-map test
match policy-listy 1
rotue-map test-2
match policy-list 1
##############################################################
限制接收BGP条目
router(config-router)#
neighbor ip-address maxinum-prefix maximum [threshold] [warning-only] [restart restart-interval]
threshold :超过阀值 默认75% 弹出log
warning-only:警告
restart :超限down邻居后的恢复时间
R1:
router bgp 100
nei 12.1.1.2 maximum-prefix 10 //限制从邻居12.1.1.2收到最多10条路由
###############################################################
改良BGP收敛
邻居路由更新时间默认:
30 second for EBGP neighbor
5 second for IBGP neighbor
###############################################################
BGP peer group