学习精彩网络技术老师:华为HCIA和HCIP数通eNSP实战视频课
学习精彩网络技术老师:华为、华三、锐捷、WLAN、IPv6等全套视频课程
配置BGP Best-external特性,若设备选出的路由是IBGP路由,则选出次优路由(Best-external路由)发布给邻居,从而实现链路故障时路由的快速收敛。
组网需求
在主备PE(Provider Edge)或主备RR(Route Reflector)情景中,现有的BGP选路规则有可能造成路由收敛时间过长,为了保证在主链路故障时,业务可以快速切换到备用链路,可以配置BGP Best-external。
如图1所示,DeviceA与DeviceB建立EBGP邻居,RR1与RR2,RR1、RR2与DeviceB、DeviceC分别建立IBGP邻居,DeviceB是RR1和RR2的客户机。RR1和RR2分别从DeviceB收到同一条路由(1.1.1.0/24)。RR1配置较高的Local_pref,为主反射器。
为了保证在主链路故障时,业务可以快速切换到备份链路,可以在RR2上配置BGP Best-external,这样RR2可以选出Best-external路由(DeviceB传来的路由)发布给邻居,可以实现主备链路的快速切换。
本例中interface1,interface2,interface3,interface4,interface5分别代表GE0/3/1,GE0/3/2,GE0/3/3,GE0/1/1,GE0/1/2。
配置注意事项
在配置过程中,需注意以下事项:
使能BGP Best-external功能时,必须同时使能选举BGP Best-external路由和发送BGP Best-external路由功能才能将BGP Best-external路由发送给指定邻居。
配置思路
采用如下思路配置BGP Best-external功能:
在各NE上配置BGP基本功能。
通过路由策略配置Local_Pref属性控制路由的选路功能。
在RR2上使能BGP Best-external功能。
数据准备
为完成此配置例,需准备如下的数据:
DeviceA、DeviceB、DeviceC和RR1、RR2的Router ID和所在AS号。如表1所示。
RR1上的路由策略及Local_Pref值。
设备 | Router ID | 接口编号 | IP地址 | 所在AS号 |
DeviceA | 1.1.1.1 | GigabitEthernet0/3/1 | 172.16.1.1/24 | AS65008 |
LoopBack0 | 1.1.1.1/32 | |||
DeviceB | 2.2.2.2 | GigabitEthernet0/3/1 | 172.16.1.2/24 | AS65009 |
GigabitEthernet0/3/2 | 172.16.2.1/24 | |||
GigabitEthernet0/1/2 | 172.16.3.1/24 | |||
DeviceC | 3.3.3.3 | GigabitEthernet0/3/1 | 172.16.4.2/24 | AS65009 |
GigabitEthernet0/3/3 | 172.16.5.1/24 | |||
RR1 | 4.4.4.4 | GigabitEthernet0/3/2 | 172.16.2.2/24 | AS65009 |
GigabitEthernet0/3/1 | 172.16.4.1/24 | |||
GigabitEthernet0/1/1 | 172.16.6.1/24 | |||
RR2 | 5.5.5.5 | GigabitEthernet0/1/2 | 172.16.3.2/24 | AS65009 |
GigabitEthernet0/3/3 | 172.16.5.2/24 | |||
GigabitEthernet0/3/2 | 172.16.6.2/24 |
操作步骤
- 配置各NE接口的IP地址,具体配置过程请参考配置文件。
- 配置BGP基本功能,DeviceA与DeviceB建立EBGP邻居,RR1与RR2,RR1、RR2与DeviceB、DeviceC分别建立IBGP邻居,DeviceB是RR1和RR2的客户机。
# 配置DeviceA。
[~DeviceA] bgp 65008
[*DeviceA-bgp] router-id 1.1.1.1
[*DeviceA-bgp] peer 172.16.1.2 as-number 65009
[*DeviceA-bgp] import-route direct
[*DeviceA-bgp] commit
[~DeviceA-bgp] quit
# 配置DeviceB。
[~DeviceB] bgp 65009
[*DeviceB-bgp] router-id 2.2.2.2
[*DeviceB-bgp] peer 172.16.1.1 as-number 65008
[*DeviceB-bgp] peer 172.16.2.2 as-number 65009
[*DeviceB-bgp] peer 172.16.3.2 as-number 65009
[*DeviceB-bgp] import-route direct
[*DeviceB-bgp] commit
[~DeviceB-bgp] quit
# 配置DeviceC。
[~DeviceC] bgp 65009
[*DeviceC-bgp] router-id 3.3.3.3
[*DeviceC-bgp] peer 172.16.4.1 as-number 65009
[*DeviceC-bgp] peer 172.16.5.2 as-number 65009
[*DeviceC-bgp] import-route direct
[*DeviceC-bgp] commit
[~DeviceC-bgp] quit
[~DeviceC] quit
# 配置RR1。
[~RR1] bgp 65009
[*RR1-bgp] router-id 4.4.4.4
[*RR1-bgp] peer 172.16.2.1 as-number 65009
[*RR1-bgp] peer 172.16.4.2 as-number 65009
[*RR1-bgp] peer 172.16.6.2 as-number 65009
[*RR1-bgp] peer 172.16.2.1 reflect-client
[*RR1-bgp] import-route direct
[*RR1-bgp] commit
[~RR1-bgp] quit
# 配置RR2。
[~RR2] bgp 65009
[*RR2-bgp] router-id 5.5.5.5
[*RR2-bgp] peer 172.16.3.1 as-number 65009
[*RR2-bgp] peer 172.16.5.1 as-number 65009
[*RR2-bgp] peer 172.16.6.1 as-number 65009
[*RR2-bgp] peer 172.16.3.1 reflect-client
[*RR2-bgp] import-route direct
[*RR2-bgp] commit
[~RR2-bgp] quit
- 配置RR1的Local-Pref属性为130。
# 配置RR1。
[~RR1] route-policy policy1 permit node 10
[*RR1-route-policy] apply local-preference 130
[*RR1-route-policy] commit
[~RR1-route-policy] quit
[~RR1] bgp 65009
[*RR1-bgp] peer 172.16.6.2 route-policy policy1 export
[*RR1-bgp] peer 172.16.4.2 route-policy policy1 export
[*RR1-bgp] reflect change-path-attribute
[*RR1-bgp] commit
[~RR1-bgp] quit
# 查看DeviceC上1.1.1.1的路由信息。
<DeviceC> display bgp routing-table 1.1.1.1
BGP local router ID : 3.3.3.3
Local AS number : 65009
Paths: 1 available, 1 best, 1 select, 0 best-external
BGP routing table entry information of 1.1.1.0/24:
From: 172.16.4.1 (4.4.4.4)
Route Duration: 0d00h01m19s
Relay IP Nexthop: 172.16.4.1
Relay IP Out-interface: GigabitEthernet0/3/1
Original nexthop: 172.16.1.1
Qos information : 0x0
AS-path 65008, origin incomplete, MED 0, localpref 130, pref-val 0, valid, internal, best, select, pre 255
Originator: 2.2.2.2
Cluster list: 4.4.4.4
Not advertised to any peer yet
从BGP路由表可以看出,在配置BGP Best-external特性之前,DeviceC只能收到一条来自RR1的BGP路由1.1.1.1。
- 在RR2上配置BGP Best-external特性。
# 配置RR2。
[~RR2] bgp 65009
[*RR2-bgp] bestroute best-external
[*RR2-bgp] peer 172.16.5.1 advertise best-external
[*RR2-bgp] commit
[~RR2-bgp] quit
# 查看DeviceC上1.1.1.1的路由信息。
<DeviceC> display bgp routing-table 1.1.1.1
BGP local router ID : 5.5.5.5
Local AS number : 65009
Paths: 2 available, 1 best, 1 select, 0 best-external
BGP routing table entry information of 1.1.1.0/24:
From: 172.16.4.1 (4.4.4.4)
Route Duration: 0d00h03m31s
Relay IP Nexthop: 172.16.4.1
Relay IP Out-interface: GigabitEthernet0/3/1
Original nexthop: 172.16.1.1
Qos information : 0x0
AS-path 65008, origin incomplete, MED 0, localpref 130, pref-val 0, valid, internal, best, select, pre 255
Originator: 2.2.2.2
Cluster list: 4.4.4.4
Not advertised to any peer yet
BGP routing table entry information of 1.1.1.0/24:
From: 172.16.5.2 (5.5.5.5)
Route Duration: 0d00h00m01s
Relay IP Nexthop: 172.16.4.1
Relay IP Out-interface: GigabitEthernet0/3/1
Original nexthop: 172.16.1.1
Qos information : 0x0
AS-path 65008, origin incomplete, MED 0, localpref 100, pref-val 0, valid, inte
rnal, pre 255, not preferred for Local_Pref
Originator: 2.2.2.2
Cluster list: 5.5.5.5
Not advertised to any peer yet
从BGP路由表可以看出,在配置BGP Best-external特性后,DeviceC除收到来自RR1的BGP路由1.1.1.1外还收到一条来自RR2的BGP路由1.1.1.1(BGP Best-external路由)。
配置文件
DeviceA的配置文件
#
sysname DeviceA
#
interface GigabitEthernet0/3/1
undo shutdown
ip address 172.16.1.1 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
bgp 65008
router-id 1.1.1.1
peer 172.16.1.2 as-number 65009
#
ipv4-family unicast
undo synchronization
import-route direct
peer 172.16.1.2 enable
#
return
DeviceB的配置文件
#
sysname DeviceB
#
interface GigabitEthernet0/3/1
undo shutdown
ip address 172.16.1.2 255.255.255.0
#
interface GigabitEthernet0/3/2
undo shutdown
ip address 172.16.2.1 255.255.255.0
#
interface GigabitEthernet0/1/2
undo shutdown
ip address 172.16.3.1 255.255.255.0
#
bgp 65009
#
router-id 2.2.2.2
peer 172.16.1.1 as-number 65008
peer 172.16.2.2 as-number 65009
peer 172.16.3.2 as-number 65009
#
ipv4-family unicast
undo synchronization
import-route direct
peer 172.16.1.1 enable
peer 172.16.2.2 enable
peer 172.16.3.2 enable
#
return
DeviceC的配置文件
#
sysname DeviceC
#
interface GigabitEthernet0/3/1
undo shutdown
ip address 172.16.4.2 255.255.255.0
#
interface GigabitEthernet0/3/3
undo shutdown
ip address 172.16.5.1 255.255.255.0
#
bgp 200
router-id 3.3.3.3
peer 172.16.4.1 as-number 65009
peer 172.16.5.2 as-number 65009
#
ipv4-family unicast
undo synchronization
import-route direct
peer 172.16.4.1 enable
peer 172.16.5.2 enable
#
return
RR1的配置文件
#
sysname RR1
#
interface GigabitEthernet0/3/1
undo shutdown
ip address 172.16.4.1 255.255.255.0
#
interface GigabitEthernet0/3/2
undo shutdown
ip address 172.16.2.2 255.255.255.0
#
interface GigabitEthernet0/1/1
undo shutdown
ip address 172.16.6.1 255.255.255.0
#
bgp 65009
router-id 4.4.4.4
peer 172.16.2.1 as-number 65009
peer 172.16.4.2 as-number 65009
peer 172.16.6.2 as-number 65009
#
ipv4-family unicast
undo synchronization
reflect change-path-attribute
import-route direct
peer 172.16.2.1 enable
peer 172.16.2.1 route-policy policy1 export
peer 172.16.2.1 reflect-client
peer 172.16.4.2 enable
peer 172.16.4.2 route-policy policy1 export
peer 172.16.6.2 enable
peer 172.16.6.2 route-policy policy1 export
#
route-policy policy1 permit node 10
apply local-preference 130
#
return
RR2的配置文件
#
sysname RR1
#
interface GigabitEthernet0/3/2
undo shutdown
ip address 172.16.6.2 255.255.255.0
#
interface GigabitEthernet0/3/3
undo shutdown
ip address 172.16.5.2 255.255.255.0
#
interface GigabitEthernet0/1/2
undo shutdown
ip address 172.16.3.2 255.255.255.0
#
router-id 5.5.5.5
peer 172.16.3.1 as-number 65009
peer 172.16.5.1 as-number 65009
peer 172.16.6.1 as-number 65009
#
ipv4-family unicast
undo synchronization
import-route direct
bestroute best-external
peer 172.16.3.1 enable
peer 172.16.3.1 reflect-client
peer 172.16.5.1 enable
peer 172.16.5.1 advertise best-external
peer 172.16.6.1 enable
peer 172.16.6.1 advertise best-external
#
return