BGP选路
一、拓扑图
二、要求及分析
1.要求
1.使用Preva1策略,确保R4通过R2到达192.168.10.0/24
2、用As Path策略,确保R4通过R3到达192.168.11.0/24
3.配置MED策略,确保R4通过R3到达192.168.12.0/24
4.使用Local Preference策略,确保R1通过R2到达192.168.1.0/24
5.使用Local Preference策略,确保R1通过R3到达192.168.2.0/24
6.配置负载均衡,确保R1通过R2和R3到达192.168.3.0/24
7.使用As策略,As 50不接受任何始发于AS123的路由
8.使用自定义community策略,确保192.168.3.0/24路由不会被发布到As 500
9、IBGP使用环回接口建邻,EBGP使用物理接口建邻
10、修改AS 123中的用户网段为Broadcast,方便后续在BGP中宣告
11、BGP宣告路由时,仅宣告24网段的用户路由
2.分析
-
BGP Peering:
- IBGP (AS 123 内部): 使用环回接口建立邻居,需配置 IGP 保证环回口可达。
- EBGP (AS 400-123, AS 123-500): 使用物理接口建立邻居。
- 只宣告 /24 的用户网段。
-
入站选路控制 (AS 400 流量进入 AS 123/500 的路径):
- AR4 到 192.168.10.0/24 (AS 500): 优先经 AR2。实现方式:在 AR4 对来自 AR2 的该路由设置更高的 Weight 或对来自 AR3 设置更低的 MED。
- AR4 到 192.168.11.0/24 (AS 500): 优先经 AR3。实现方式:在 AR2 向 AR4 宣告时,对该路由进行 AS-Path Prepending。
- AR4 到 192.168.12.0/24 (AS 500): 优先经 AR3。实现方式:在 AR2/AR3 向 AR4 宣告时,AR3 对该路由设置较低的 MED,AR2 设置较高的 MED。
-
出站选路控制 (AS 123 流量出到 AS 400 的路径):
- R1 到 192.168.1.0/24 (AS 400): 优先经 AR2。实现方式:在 AR2 从 AR4 收到该路由时设置更高的 Local Preference,并通过 IBGP 传递给 R1。
- R1 到 192.168.2.0/24 (AS 400): 优先经 AR3。实现方式:在 AR3 从 AR4 收到该路由时设置更高的 Local Preference,并通过 IBGP 传递给 R1。
- R1 到 192.168.3.0/24 (AS 400): 负载均衡通过 AR2 和 AR3。实现方式:确保 AR2 和 AR3 收到该路由后设置相同的 Local Preference,并在 R1 上启用 BGP 多路径。
-
路由过滤/控制:
- AS 500 (AR5): 不接受任何始发于 AS 123 (即 AS-Path 以 123 结尾) 的路由。实现方式:在 AR5 上对来自 AR1 的路由进行 AS-Path 过滤。
- AS 123 (AR1): 不向 AS 500 宣告 192.168.3.0/24 路由。实现方式:使用自定义 Community 策略标记或直接过滤该路由在 AR1 出站给 AR5 的方向。
三、配置
R1
interface GigabitEthernet0/0/0ip address 15.0.0.1 255.255.255.0
interface GigabitEthernet0/0/1ip address 12.0.0.1 255.255.255.0
interface GigabitEthernet0/0/2ip address 13.0.0.1 255.255.255.0
interface LoopBack0ip address 1.1.1.1 255.255.255.255
interface LoopBack1ip address 192.168.100.1 255.255.255.0ospf network-type broadcastospf 1 router-id 1.1.1.1area 0.0.0.0 # 区域0network 1.1.1.1 0.0.0.0 network 12.0.0.1 0.0.0.0 network 13.0.0.1 0.0.0.0 network 15.0.0.1 0.0.0.0 network 192.168.100.0 0.0.0.255 bgp 123router-id 1.1.1.1 peer 2.2.2.2 as-number 123 peer 2.2.2.2 connect-interface LoopBack0 peer 3.3.3.3 as-number 123 peer 3.3.3.3 connect-interface LoopBack0 peer 15.0.0.5 as-number 500
network 192.168.100.0 24 ip ip-prefix LP permit 192.168.1.0 24
route-policy LP permit node 10if-match ip-prefix LP apply local-preference 200
bgp 123peer 2.2.2.2 route-policy LP import
-
接口配置:
- 配置了
GigabitEthernet0/0/0
接口,IP 地址15.0.0.1/24
。 - 配置了
GigabitEthernet0/0/1
接口,IP 地址12.0.0.1/24
。 - 配置了
GigabitEthernet0/0/2
接口,IP 地址13.0.0.1/24
。 - 配置了
LoopBack0
接口,IP 地址1.1.1.1/32
,作为 OSPF 和 BGP 的 Router ID,并用于建立 iBGP Peer。 - 配置了
LoopBack1
接口,IP 地址192.168.100.1/32
,用于代表本地网络的地址,并在 OSPF 和 BGP 中宣告。 - 在所有接口上配置了
ospf network-type broadcast
,强制 OSPF 以广播网络类型工作。
- 配置了
-
OSPF 配置:
- OSPF 进程号
1
。 - Router ID
1.1.1.1
(与 LoopBack0 IP 相同)。 - 所有 OSPF 网络都在
区域 0 (0.0.0.0)
内。 - 宣告了以下网络到 OSPF:
1.1.1.1 0.0.0.0
(LoopBack0 的精确匹配)12.0.0.0 0.0.0.0
(GigabitEthernet0/0/1 子网)13.0.0.0 0.0.0.0
(GigabitEthernet0/0/2 子网)15.0.0.0 0.0.0.0
(GigabitEthernet0/0/0 子网)192.168.100.0 0.0.0.255
(包含 LoopBack1 IP 的子网)
- 确保 OSPF 配置正确,R1 能与 R2 和 R3 建立 OSPF 邻居关系(如果 R2, R3 的接口在同一个广播域内且配置正确)。
- OSPF 进程号
-
BGP 配置:
- BGP AS 号
123
。 - Router ID
1.1.1.1
(与 LoopBack0 IP 相同)。 - 配置了以下 BGP Peer:
2.2.2.2 as-number 123
:iBGP Peer,通过LoopBack0
接口连接。需要确保 R1 和 R2 的 LoopBack0 之间的可达性(通过 OSPF)。3.3.3.3 as-number 123
:iBGP Peer,通过LoopBack0
接口连接。需要确保 R1 和 R3 的 LoopBack0 之间的可达性(通过 OSPF)。15.0.0.5 as-number 500
:eBGP Peer,连接到 R5 的15.0.0.5
。
- 在 BGP 中宣告了网络
192.168.100.0/24
。
- BGP AS 号
-
路由策略配置:
- 定义了
ip-prefix LP
,匹配192.168.1.0/24
网段。 - 定义了
route-policy LP
,匹配ip-prefix LP
。 - 在路由策略中,如果匹配,应用
apply local-preference 200
动作。 - 将
route-policy LP
应用于 BGP Peer2.2.2.2
的import
方向(接收来自 R2 的路由)。这意味着从 R2 接收到的、匹配192.168.1.0/24
的 BGP 路由将被设置 Local Preference 为 200。
- 定义了
R2
interface GigabitEthernet0/0/0ip address 12.0.0.2 255.255.255.0
interface GigabitEthernet0/0/1ip address 24.0.0.2 255.255.255.0
interface LoopBack0ip address 2.2.2.2 255.255.255.255
interface LoopBack1ip address 192.168.20.1 255.255.255.0 ospf network-type broadcastospf 1 router-id 2.2.2.2area 0.0.0.0network 2.2.2.2 0.0.0.0 network 12.0.0.2 0.0.0.0 network 24.0.0.2 0.0.0.0 network 192.168.20.0 0.0.0.255 bgp 123router-id 2.2.2.2peer 1.1.1.1 as-number 123 peer 1.1.1.1 connect-interface LoopBack0 peer 24.0.0.4 as-number 400
network 192.168.20.0 24
-
接口配置:
- 配置了
GigabitEthernet0/0/0
接口,IP 地址12.0.0.2/24
(与 R1 的 12.0.0.1 在同一子网)。 - 配置了
GigabitEthernet0/0/1
接口,IP 地址24.0.0.2/24
。 - 配置了
LoopBack0
接口,IP 地址2.2.2.2/32
,作为 OSPF 和 BGP 的 Router ID,并用于建立 iBGP Peer。 - 配置了
LoopBack1
接口,IP 地址192.168.20.1/32
,代表本地网络地址,并在 OSPF 和 BGP 中宣告。 - 在所有接口上配置了
ospf network-type broadcast
。
- 配置了
-
OSPF 配置:
- OSPF 进程号
1
。 - Router ID
2.2.2.2
(与 LoopBack0 IP 相同)。 - 所有 OSPF 网络都在
区域 0 (0.0.0.0)
内。 - 宣告了以下网络到 OSPF:
2.2.2.2 0.0.0.0
(LoopBack0 的精确匹配)12.0.0.0 0.0.0.0
(GigabitEthernet0/0/0 子网)24.0.0.0 0.0.0.0
(GigabitEthernet0/0/1 子网)192.168.20.0 0.0.0.255
(包含 LoopBack1 IP 的子网)
- 确保 OSPF 配置正确,R2 能与 R1 建立 OSPF 邻居关系,并能与 R4 建立 OSPF 邻居关系(如果 R4 也运行 OSPF,但 R4 配置中未显示 OSPF)。根据R4配置,R4不运行OSPF,R2和R4是通过直连的24.0.0.0/24段进行BGP邻居建立。
- OSPF 进程号
-
BGP 配置:
- BGP AS 号
123
。 - Router ID
2.2.2.2
(与 LoopBack0 IP 相同)。 - 配置了以下 BGP Peer:
1.1.1.1 as-number 123
:iBGP Peer,通过LoopBack0
接口连接。需要确保 R1 和 R2 的 LoopBack0 之间的可达性(通过 OSPF)。24.0.0.4 as-number 400
:eBGP Peer,连接到 R4 的24.0.0.4
。
- 在 BGP 中宣告了网络
192.168.20.0/24
。
- BGP AS 号
R3
interface GigabitEthernet0/0/0ip address 13.0.0.3 255.255.255.0
interface GigabitEthernet0/0/1ip address 34.0.0.3 255.255.255.0
interface LoopBack0ip address 3.3.3.3 255.255.255.255
interface LoopBack1ip address 192.168.30.1 255.255.255.0 ospf network-type broadcastospf 1 router-id 3.3.3.3area 0.0.0.0network 3.3.3.3 0.0.0.0 network 13.0.0.3 0.0.0.0 network 34.0.0.3 0.0.0.0 network 192.168.30.0 0.0.0.255 bgp 123router-id 3.3.3.3peer 1.1.1.1 as-number 123 peer 1.1.1.1 connect-interface LoopBack0 peer 34.0.0.4 as-number 400
network 192.168.30.0 24
-
接口配置:
- 配置了
GigabitEthernet0/0/0
接口,IP 地址13.0.0.3/24
(与 R1 的 13.0.0.1 在同一子网)。 - 配置了
GigabitEthernet0/0/1
接口,IP 地址34.0.0.3/24
。 - 配置了
LoopBack0
接口,IP 地址3.3.3.3/32
,作为 OSPF 和 BGP 的 Router ID,并用于建立 iBGP Peer。 - 配置了
LoopBack1
接口,IP 地址192.168.30.1/32
,代表本地网络地址,并在 OSPF 和 BGP 中宣告。 - 在所有接口上配置了
ospf network-type broadcast
。
- 配置了
-
OSPF 配置:
- OSPF 进程号
1
。 - Router ID
3.3.3.3
(与 LoopBack0 IP 相同)。 - 所有 OSPF 网络都在
区域 0 (0.0.0.0)
内。 - 宣告了以下网络到 OSPF:
3.3.3.3 0.0.0.0
(LoopBack0 的精确匹配)13.0.0.0 0.0.0.0
(GigabitEthernet0/0/0 子网)34.0.0.0 0.0.0.0
(GigabitEthernet0/0/1 子网)192.168.30.0 0.0.0.255
(包含 LoopBack1 IP 的子网)
- 确保 OSPF 配置正确,R3 能与 R1 建立 OSPF 邻居关系,并能与 R4 建立 OSPF 邻居关系(如果 R4 也运行 OSPF,但 R4 配置中未显示 OSPF)。根据R4配置,R4不运行OSPF,R3和R4是通过直连的34.0.0.0/24段进行BGP邻居建立。
- OSPF 进程号
-
BGP 配置:
- BGP AS 号
123
。 - Router ID
3.3.3.3
(与 LoopBack0 IP 相同)。 - 配置了以下 BGP Peer:
1.1.1.1 as-number 123
:iBGP Peer,通过LoopBack0
接口连接。需要确保 R1 和 R3 的 LoopBack0 之间的可达性(通过 OSPF)。34.0.0.4 as-number 400
:eBGP Peer,连接到 R4 的34.0.0.4
。
- 在 BGP 中宣告了网络
192.168.30.0/24
。
- BGP AS 号
R4
interface GigabitEthernet0/0/0ip address 24.0.0.4 255.255.255.0
interface GigabitEthernet0/0/1ip address 34.0.0.4 255.255.255.0
interface LoopBack1ip address 192.168.1.1 255.255.255.0
interface LoopBack2ip address 192.168.2.1 255.255.255.0
interface LoopBack3ip address 192.168.3.1 255.255.255.0 bgp 400 router-id 4.4.4.4 peer 24.0.0.2 as-number 123 peer 34.0.0.3 as-number 123
network 192.168.1.0 24
network 192.168.2.0 24
network 192.168.3.0 24 ip ip-prefix Preval permit 192.168.10.0 24
route-policy Preval permit node 10if-match ip-prefix Prevalapply preferred-value 100
bgp 400peer 24.0.0.2 route-policy Preval import ip ip-prefix MED permit 192.168.12.0 24
route-policy MED permit node 10if-match ip-prefix MEDapply cost 500
bgp 400peer 24.0.0.2 route-policy MED import
-
接口配置:
- 配置了
GigabitEthernet0/0/0
接口,IP 地址24.0.0.4/24
(与 R2 的 24.0.0.2 在同一子网)。 - 配置了
GigabitEthernet0/0/1
接口,IP 地址34.0.0.4/24
(与 R3 的 34.0.0.3 在同一子网)。 - 配置了
LoopBack1
接口,IP 地址192.168.1.1/32
。 - 配置了
LoopBack2
接口,IP 地址192.168.2.1/32
。 - 配置了
LoopBack3
接口,IP 地址192.168.3.1/32
。 - 注意 R4 的配置中没有 OSPF。
- 配置了
-
BGP 配置:
- BGP AS 号
400
。 - Router ID
4.4.4.4
。 - 配置了以下 BGP Peer:
24.0.0.2 as-number 123
:eBGP Peer,连接到 R2 的24.0.0.2
。34.0.0.3 as-number 123
:eBGP Peer,连接到 R3 的34.0.0.3
。
- 在 BGP 中宣告了以下网络:
192.168.1.0/24
(包含 LoopBack1 IP 的子网)192.168.2.0/24
(包含 LoopBack2 IP 的子网)192.168.3.0/24
(包含 LoopBack3 IP 的子网)
- BGP AS 号
-
路由策略配置:
- 定义了
ip-prefix Preval
,匹配192.168.10.0/24
网段。 - 定义了
route-policy Preval
,匹配ip-prefix Preval
,应用apply preferred-value 100
动作 (这通常影响 BGP 选路时的优先级)。 - 将
route-policy Preval
应用于 BGP Peer24.0.0.2
的import
方向。意味着从 R2 接收到的、匹配192.168.10.0/24
的 BGP 路由将应用此策略。 - 定义了
ip-prefix MED
,匹配192.168.12.0/24
网段。 - 定义了
route-policy MED
,匹配ip-prefix MED
,应用apply cost 500
动作 (这通常是设置 BGP 的 MED 属性)。 - 将
route-policy MED
应用于 BGP Peer24.0.0.2
的import
方向。意味着从 R2 接收到的、匹配192.168.12.0/24
的 BGP 路由将被设置 MED 为 500。
- 定义了
R5
interface GigabitEthernet0/0/0ip address 15.0.0.5 255.255.255.0
interface LoopBack0ip address 192.168.10.1 255.255.255.0
interface LoopBack1ip address 192.168.11.1 255.255.255.0
interface LoopBack2ip address 192.168.12.1 255.255.255.0 bgp 500 router-id 5.5.5.5 peer 15.0.0.1 as-number 123
network 192.168.10.0 24
network 192.168.11.0 24
network 192.168.12.0 24
-
接口配置:
- 配置了
GigabitEthernet0/0/0
接口,IP 地址15.0.0.5/24
(与 R1 的 15.0.0.1 在同一子网)。 - 配置了
LoopBack0
接口,IP 地址192.168.10.1/32
。 - 配置了
LoopBack1
接口,IP 地址192.168.11.1/32
。 - 配置了
LoopBack2
接口,IP 地址192.168.12.1/32
。 - 注意 R5 的配置中没有 OSPF。
- 配置了
-
BGP 配置:
- BGP AS 号
500
。 - Router ID
5.5.5.5
。 - 配置了以下 BGP Peer:
15.0.0.1 as-number 123
:eBGP Peer,连接到 R1 的15.0.0.1
。
- 在 BGP 中宣告了以下网络:
192.168.10.0/24
(包含 LoopBack0 IP 的子网)192.168.11.0/24
(包含 LoopBack1 IP 的子网)192.168.12.0/24
(包含 LoopBack2 IP 的子网)
- BGP AS 号