25、BGP高级特性
BGP路由控制
BGP路由控制一般通过路由策略实现,即通过路由匹配工具匹配特定路由,再通过路由策略工具对路由的发布和接收进行控制。
路由匹配工具:
- ACL(Access Control List,访问控制列表),
- IP Prefix List(地址前缀列表),
- AS_Path Filter(AS路径过滤器),
- Community Filter(团体属性过滤器)等。
路由策略工具:Filter-Policy和Route-Policy。
正则表达式中的特殊字符



路由匹配工具:AS Path Filter
AS Path Filter是将BGP中的AS Path属性作为匹配条件的过滤器,利用BGP路由携带的AS Path列表对路由进行过滤。
在不希望接收某些AS的路由时,可以利用AS_Path Filter对携带这些AS号的路由进行过滤,从而实现拒绝某些路由。

使用正则表达式匹配AS_Path

AS_Path Filter的基础配置命令

配置举例
1、创建AS_Path Filter。
# 拒绝始发于AS101的路由,但其他路由可以通过。
[R2]ip as-path-filter 1 deny _101$
[R2]ip as-path-filter 1 permit .*
2、(直接调用方式)应用AS_Path Filter。
[R2]bgp102
[R2-bgp]peer 10.1.23.3 as-number 103
[R2-bgp]ipv4-family unicast
[R2-bgp-af-ipv4]peer 10.1.23.3 as-path-filter 1 export
3、(路由策略方式)应用AS_Path Filter.。
[R2]route-policy AS_Path permit node 10
[R2-route-policy]if-match as-path-filter 1
[R2-route-policy]quit
[R2]bgp 102
[R2-bgp]peer 10.1.23.3 as-number 103
[R2-bgp]ipv4-family unicast
[R2-bgp-af-ipv4]peer 10.1.23.3 route-policy AS_Path export


路由匹配工具:Community Filter
Community Filter与Community属性配合使用,可以在不便使用IP Prefix List和AS_Path Filter时,降低路由管理难度。
团体属性过滤器有两种类型:
- 基本Community Filter。匹配团体号或公认Community属性。
- 高级Community Filter。使用正则表达式匹配团体号。

设置Community的基础配置命令

Community Filter的基础配置命令


Community Filter的配置举例
1、基本Community Filter举例
匹配同时携带Community值[100:1,200:1,300:1]的路由。(多个Community值之间是“与”的关系)
ip community-filter 1 permit 100:1 200:1 300:1
匹配携带Community值[100:1]或[200:1,300:1]的路由。(多组Community值之间是“或”的关系)
ip community-filter 1 permit 100:1
ip community-filter 1 permit 200:1 300:1
2.高级Community Filter举例
匹配携带以10开头的Community值的路由。
ip community-filter 100 permit ^10
配置Community属性
1、R1上部署路由策略为路由添加Community属性,并允许将Community属性传给EBGP对等体R2。
[R1]ip ip-prefix 1 permit 10.1.1.1 32
[R1]route-policy Community permit node 10
[R1-route-policy]if-match ip-prefix 1
[R1-route-policy]apply community 101:1
[R1-route-policy]quit
[R1]route-policy Community permit node 20
[R1-route-policy]quit
[R1]bgp101
[R1-bgp]peer 10.1.12.2 as-number 102
[R1-bgp]peer 10.1.12.2 route-policy Community export
# 配置允许向邻居通告团体属性
[R1-bgp]peer 10.1.12.2 advertise-community
[R1-bgp]network 10.1.1.1 32
[R1-bgp]network 10.1.2.2 32
2、R2配置允许将团体属性传给EBGP对等体R3。
[R2]ip ip-prefix 1 permit 10.1.1.1 32
[R2]route-policy Community permit node 10
[R2-route-policy]if-match ip-prefix 1
[R2-route-policy]apply community no-expert additive
[R2-route-policy]quit
[R2]route-policy Community permit node 20
[R2-route-policy]quit
[R2]bgp102
[R2-bgp]peer 10.1.12.1 as-number 101
[R2-bgp]peer 10.1.23.3 as-number 102
[R2-bgp]peer 10.1.23.3 advertise-community
[R2-bgp]peer 10.1.23.3 route-policy Community export

配置Community Filter

1、配置Community Filter,匹配Community中包含101:1的路由。
[R2]ip community-filter 1 permit 101:1
2、调用Community Filter。
[R2]route-policy Community deny node 10
[R2-route-policy]if-match community-filter 1
[R2-route-policy]quit
[R2]route-policy Community permit node 20
[R2-route-policy]quit
[R2]bgp 102
[R2-bgp]peer 10.1.23.3 route-policy Community export


BGP特性介绍
邻居按需发布路由
如果设备希望只接收自己需要的路由,但对端设备又无法针对每个与它连接的设备维护不同的出口策略。此时,可以通过配置BGP基于前缀的ORF(Outbound Route Filters,出口路由过滤器)来满足两端设备的需求。

配置命令

配置举例
1、R2上配置基于10.1.1.1/32的路由过滤策略,并使能0RF功能,发送ORF报文。
[R2]ip ip-prefix 1 permit 10.1.1.1 32
[R2]bgp 102
[R2-bgp]peer 10.1.12.1 as-number 101
[R2-bgp]peer 10.1.12.1 ip-prefix 1 import
# 发送
[R2-bgp]peer 10.1.12.1 capability-advertise orf ip-prefix send
2、R1上使能ORF功能,接收ORF报文。
[R1]bgp101
[R1-bgp]peer 10.1.12.2 as-number 102
# 接收
[R1-bgp]peer 10.1.12.2 capability-advertise orf ip-prefix receive
[R1-bgp]network 10.1.1.1 32
[R1-bgp]network 10.1.2.2 32
[R1-bgp]network 10.1.3.3 32

查看ORF信息
display bgp peer 10.1.12.2 orf ip-prefix

BGP对等体组
对等体组(Peer Group)是一些具有某些相同策略的对等体的集合。当一个对等体加入对等体组中时,该对等体将获得与所在对等体组相同的配置。当对等体组的配置改变时,组内成员的配置也相应改变。
配置命令

配置举例
1、完成R1的BGP基本配置。
[R1]bgp 101
[R1-bgp]peer 10.1.12.2 as-number 102
[R1-bgp]network 10.1.1.1 32
2、完成R2的EBGP基本配置和IBGP对等体组基本配置。
[R2]bgp 102
[R2-bgp]peer 10.1.12.1 as-number 101
[R2-bgp]group in internal
[R2-bgp]peer 10.1.3.3 group in
[R2-bgp]peer 10.1.4.4 group in
[R2-bgp]peer 10.1.5.5 group in
[R2-bgp]peer in connect-interface Loopback 0
3、完成R3的IBGP基本配置。
[R3]bgp 102
[R3-bgp]peer 10.1.2.2 as-number 102
[R3-bgp]peer 10.1.2.2 connect-interface Loopback0

查看对等体组信息
display bgp group in

BGP安全性
常见BGP攻击主要有两种:
- 建立非法BGP邻居关系,通告非法路由条目,干扰正常路由表。
- 发送大量非法BGP报文,路由器收到后上送CPU,导致CPU利用率升高
BGP使用认证和GTSM(Generalized TTL Security Mechanism,通用TTL安全保护机制)两个方法保证BGP对等体间的交互安全。

BGP认证
BGP认证分为MD5认证和Keychain认证,对BGP对等体关系进行认证可以预防非法BGP邻居建立。

GTSM
BGP的GTSM功能检测IP报文头中的TTL(Time-to-Live)值是否在一个预先设置好的特定范围内,并对不符合TTL值范围的报文进行丢弃,这样就避免了网络攻击者模拟“合法”BGP报文攻击设备。

基础配置命令


GTSM配置举例
1、建立IBGP全互联。
[R1]bgp101
[R1-bgp]peer 10.1.2.2 as-number 101
[R1-bgp]peer 10.1.2.2 connect-interface Loopback 0
[R1-bgp]peer 10.1.3.3 as-number 101
[R1-bgp]peer 10.1.3.3 connect-interface Loopback 0
[R1-bgp]network 10.1.1.1 32
[R2]bgp101
[R2-bgp]peer 10.1.1.1 as-number 101
[R2-bgp]peer 10.1.1.1 connect-interface Loopback0
[R2-bgp]peer 10.1.3.3 as-number 101
[R2-bgp]peer 10.1.3.3 connect-interface Loopback 0
[R3]bgp101
[R3-bgp]peer 10.1.1.1 as-number 101
[R3-bgp]peer 10.1.1.1 connect-interface Loopback0
[R3-bgp]peer 10.1.2.2 as-number 101
[R3-bgp]peer 10.1.2.2 connect-interface Loopback0
2、在R1与R2间开启GTSM。由于两台路由器直连,因此TTL到达对方的有效范围是[255,255],所以此处的valid-ttl-hops值取1。
[R1-bgp]peer 10.1.2.2 valid-ttl-hops 1
[R2-bgp]peer 10.1.1.1 valid-ttl-hops 1
3、在R2与R3间开启GTSM。由于两台路由器直连,因此TTL到达对方的有效范围是[255,255],所以此处的valid-ttl-hops值取1。
[R2-bgp]peer 10.1.3.3 valid-ttl-hops 1
[R3-bgp]peer 10.1.2.2 valid-ttl-hops 1
4、在R1与R3间开启GTSM。由于两台路由器经过R2连接,经过一跳后,TTL到达对方的有效范围是[254,255)],所以此处的valid-ttl-hops值取2。
[R1-bgp]peer 10.1.3.3 valid-ttl-hops 2
[R3-bgp]peer 10.1.1.1 valid-ttl-hops 2

查看GTSM配置
display peer 10.1.3.3 verbose

BGP路由反射器组网方式
备份RR组网
为增加网络的可靠性,防止单点故障对网络造成影响,有时需要在一个集群中配置一个以上的RR。
转发路径上的路由器与所有RR均建立IBGP关系,任意一个RR均有完整的BGP路由。
集群:Cluster ID相同的一组路由器。

多集群RR组网
一个AS中可以存在多个集群,各个集群的RR之间建立IBGP对等体。
当RR所处的网络层相同时,可以将不同集群的RR全互联,形成同级RR。

分级RR:当RR所处的网络层不同时,可以将较低网络层次的RR配成客户机,形成分级RR。

单集群问题

多集群设计

思考题

-
D
-
B。
GTSM:预防大量BGP报文攻击。
认证:预防非法BGP邻居建立。
-
A

浙公网安备 33010602011771号