每一条BGP路由都可以携带多个路径属性,针对其属性也有特有的路由匹配工具,包括:AS Path Filter和Community Filter。
import方向的属性,出现在如策略里面,加入到BGP路由表中,再传给路由表里,出去的时候也要走出策略。
BGP可以通过AS_Path Filter或者Community Filter来匹配
正则表达式
由普通字符和特殊字符组成
类型1
类型2
类型3
路由匹配工具
AS_Path Filter
- 将BGP中的AS Path属性作为匹配条件的过滤器,利用BGP路由携带的AS_Path列表对路由进行过滤
- 在不希望接收某些AS的路由时,可以利用AS_Path Filter对携带这些AS号的路由进行过滤,从而实现拒绝某些路由
直接调用方式
路由策略方式
配置案例-AS_Path
如图,若实现AS103不接收AS100与101的BGP路由
Community Filter
团体属性,用于标识一类相同特征的路由,类似于Tag属性;在IP中,用Tag标识,在BGP中,用团体来标识。
RT值就属于扩展团体属性
可以使用团体号和正则表达式来抓取
配置案例-Community
实现路由传递到R5后,不能继续向R6传递。需要开启团体属性功能
R1
ip ip-prefix 1 index 10 permit 1.1.1.1 32 //抓取一条1.1.1.1的主机路由
#
route-policy community permit node 10 //匹配到1.1.1.1这条路由后,打上团体属性100:100,不匹配的拒绝
if-match ip-prefix 1
apply community 100:100
#
route-policy community permit node 20 //放行
#
bgp 100
peer 12.1.1.2 route-policy community export //向12.1.1.2发送路由时增加团体属性
peer 12.1.1.2 advertise-community //向12.1.1.2开启团体属性功能
R2
ip community-filter 1 permit 100:100 //使用community-filter工具匹配团体属性为100:100的
#
route-policy 1 deny node 10 //如果匹配到团体属性1,那么则拒绝
if-match community-filter 1
#
route-policy 1 permit node 20 //其余没有匹配到的,放行
#
bgp 101
peer 12.1.1.1 route-policy 1 import //12.1.1.1向自己发送路由时,使用入策略
peer 12.1.1.1 advertise-community
ORF
类似于点菜的功能,需要什么路由就发送什么路由
如果设备希望只接收自己需要的路由,但对端设备又无法针对每个与它连接的设备维护不同的出口策略。此时,可以通过配置BGP基于前缀的ORF来满足两端设备的需求。
如图,如果只需要10.1.1.4/32这一条路由;
R1
bgp 100
peer 10.1.12.2 capability-advertise orf ip-prefix both
R2
ip ip-prefix orf index 10 permit 10.1.1.4 32
#
bgp 200
peer 10.1.12.1 ip-prefix orf import
peer 10.1.12.1 capability-advertise orf ip-prefix both
路由策略是全部接收,接收后再进行筛选
ORF是发送之前,查看哪些需要发,哪些不需要发
BGP对等体组
可以用来节约一些命令
bgp 100
group IBGP100 internal
peer 10.1.2.2 as-number 100
peer 10.1.2.2 group IBGP100
peer 10.1.3.3 as-number 100
peer 10.1.3.3 group IBGP100
peer IBGP100 connect-interface LoopBack0
group EBGP external
BGP安全性
- 建立非法BGP邻居关系,通告非法路由条目,干扰正常路由表
- 发送大量非法BGP报文,路由器收到后上送CPU,导致CPU利用率升高
- BGP使用认证和GTSM(通用TTL安全保护机制)两个方法保证BGP对等体间的交互安全
-
- BGP的GSTM功能检测IP报文头中的TTL值是否在一个预先设置好的特性范围内,并对不符合TTL值范围的报文进行丢弃,这样就避免了网络攻击者模拟“合法”BGP报文攻击设备。在IP中,解析到IP就能处理完毕,不用上交到BGP模块,帮助BGP减少资源。
BGP认证
分为MD5认证和Keychain(秘钥链,不同时间用不同的密码进行认证)认证,对BGP对等体关系进行可以预防非法BGP邻居建立。
MD5认证
R1:
bgp 123
peer 3.3.3.3 password cipher dalong
R2:
bgp 123
peer 1.1.1.1 password cipher dalong
在TCP头部进行认证,MD5。BGP不做认证,让TCP帮助完成认证
bgp 123
keychain key1 mode periodic daily //名字为key1,密码的循环周期
receive-tolerance 10 //前后延时10分钟
key-id 1 //第一个秘钥
algorithm md5 //加密md5的方式
key-string cipher dalong //密码
send-time daily 00:00 to 23:00 //密码发送的时间
receive-time daily 00:00 to 23:00 //密码的接收时间
peer 3.3.3.3 keychain key1
GTSM配置
peer 3.3.3.3 valid-ttl-hops
hops:指定需要检测的TTL跳数值
整数形式,取值范围是1-255
缺省值是255.如果配置为hops,则被检测的报文的TTL值有效范围为[255-hops+1,255]
4字节AS号
刚开始的时候,AS号只有2个字节,1-65535,现在不够用,因为企业与运营商都在申请,导致现在申请光了,现在定义出4个字节的AS号,现在的设备基本都能支持4字节。
例,1.100,AS号就是65636。
携带4字节AS号的Open消息
因为My AS Number字段只有2个字节,所以不支持填充4字节的as号,因此重新开发了一个optional parameters字段用来填充4字节AS号,并在My As Number中置23456。
4字节AS号的路由信息传递
备份RR组网
两个RR之间不是反射关系,是同级反射,IBGP关系。、