实验拓扑

BGP路由控制实验

图 1-1

注:如无特别说明,描述中的 R1 或 SW1 对应拓扑中设备名称末尾数字为 1 的设备,R2 或 SW2 对应拓扑中设备名称末尾数字为 2 的设备,以此类推;另外,同一网段中,IP 地址的主机位为其设备编号,如 R3 的 g0/0 接口若在 192.168.1.0/24
 网段,则其 IP 地址为 192.168.1.3/24
,以此类推


实验需求

  1. 按照需求配置 IP 地址,R1 和 R4 配置环回口模拟业务网段,R2 和 R3 配置 Loopback0 口地址作为 OSPF 的 Router-id 和 IBGP 邻居地址

  2. AS 200 内部配置 OSPF,仅用于实现 BGP 的 TCP 可达,不允许宣告业务网段

  3. 配置 BGP,R1 和 R2/R3 建立 EBGP 邻居,R4 和 R2/R3 建立 IBGP 邻居,R1 和 R4 分别把业务网段宣告进 BGP

  4. 通过修改 MED 使 R1 到达 192.168.2.0/24网段的路由经过 R3

  5. 通过修改 Preferred-value 属性,使 R4 到达 192.168.0.0/24网段的路由经过 R3

  6. 通过修改 AS_path 属性,使 R1 到达 192.168.3.0/24 网段的路由经过 R3

  7. 通过修改 Local-pref 属性,使 R4 到达 192.168.1.0/24 网段的路由经过 R3


实验解法

  1. 配置 IP 地址部分

R1

<H3C>sys
System View: return to User View with Ctrl+Z.
[H3C]sysn r1
[r1]int g0/0
[r1-GigabitEthernet0/0]ip add 100.1.1.1 24
[r1-GigabitEthernet0/0]int g0/1
[r1-GigabitEthernet0/1]ip add 100.3.3.1 24
[r1-GigabitEthernet0/1]int loo 0
[r1-LoopBack0]ip add 192.168.0.1 24
[r1-LoopBack0]int loo 1
[r1-LoopBack1]ip add 192.168.1.1 24

R2

<H3C>sys
System View: return to User View with Ctrl+Z.
[H3C]sysn r2
[r2]int g0/0
[r2-GigabitEthernet0/0]ip add 100.1.1.2 24
[r2-GigabitEthernet0/0]int g0/1
[r2-GigabitEthernet0/1]ip add 100.2.2.2 24
[r2-GigabitEthernet0/1]int loo 0
[r2-LoopBack0]ip add 2.2.2.2 32

R3

<H3C>sys
System View: return to User View with Ctrl+Z.
[H3C]sysn r3
[r3]int g0/0
[r3-GigabitEthernet0/0]ip add 100.3.3.3 24
[r3-GigabitEthernet0/0]int g0/1
[r3-GigabitEthernet0/1]ip add 100.4.4.3 24
[r3-GigabitEthernet0/1]int loo 0
[r3-LoopBack0]ip add 3.3.3.3 32

R4

<H3C>sys
System View: return to User View with Ctrl+Z.
[H3C]sysn r4
[r4]int g0/0
[r4-GigabitEthernet0/0]ip add 100.2.2.4 24
[r4-GigabitEthernet0/0]int g0/1
[r4-GigabitEthernet0/1]ip add 100.4.4.4 24
[r4-GigabitEthernet0/1]int loo 0
[r4-LoopBack0]ip add 4.4.4.4 32
[r4-LoopBack0]int loo 1
[r4-LoopBack1]ip add 192.168.2.1 24
[r4-LoopBack1]int loo 2
[r4-LoopBack2]ip add 192.168.3.1 24

2,配置 OSPF 部分

R2

[r2-LoopBack0]ospf rou 2.2.2.2
[r2-ospf-1]a 0
[r2-ospf-1]import-route bgp
[r2-ospf-1-area-0.0.0.0]netw 2.2.2.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]netw 100.1.1.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]netw 100.2.2.0 0.0.0.255

R3

[r3-LoopBack0]ospf rou 3.3.3.3
[r3-ospf-1]a 0
[r3-ospf-1]import-route bgp
[r3-ospf-1-area-0.0.0.0]netw 3.3.3.3 0.0.0.0
[r3-ospf-1-area-0.0.0.0]netw 100.3.3.0 0.0.0.255
[r3-ospf-1-area-0.0.0.0]netw 100.4.4.0 0.0.0.255

R4

[r4]ospf rou 4.4.4.4
[r4-ospf-1]a 0
[r4-ospf-1-area-0.0.0.0]netw 4.4.4.4 0.0.0.0
[r4-ospf-1-area-0.0.0.0]netw 192.168.2.1 0.0.0.255
[r4-ospf-1-area-0.0.0.0]netw 192.168.3.1 0.0.0.255
[r4-ospf-1-area-0.0.0.0]netw 100.2.2.0 0.0.0.255
[r4-ospf-1-area-0.0.0.0]netw 100.4.4.0 0.0.0.255

3,配置 BGP 基本部分

R1

[r1]bgp 100
[r1-bgp-default]pe 100.1.1.2 as 200
[r1-bgp-default]oe 100.3.3.3 as 200
[r1-bgp-default]pe 100.3.3.3 as 200
[r1-bgp-default]add ipv4 un
[r1-bgp-default-ipv4]netw 192.168.0.1 24
[r1-bgp-default-ipv4]netw 192.168.1.1 24
[r1-bgp-default-ipv4]pe 100.1.1.2 en
[r1-bgp-default-ipv4]pe 100.3.3.3 en

R2

[r2]bgp 200
[r2-bgp-default]pe 4.4.4.4 as 200
[r2-bgp-default]pe 100.1.1.1 as 100
[r2-bgp-default]pe 4.4.4.4 con loo 0
[r2-bgp-default]add ipv4 un
[r2-bgp-default-ipv4]pe 100.1.1.1 en
[r2-bgp-default-ipv4]pe 4.4.4.4 en
[r2-bgp-default-ipv4]pe 4.4.4.4 nex

R3

[r3]bgp 200
[r3-bgp-default]pe 4.4.4.4 as 200
[r3-bgp-default]pe 100.3.3.1 as 100
[r3-bgp-default]pe 4.4.4.4 con loo 0
[r3-bgp-default]add ipv4 un
[r3-bgp-default-ipv4]pe 4.4.4.4 en
[r3-bgp-default-ipv4]pe 100.3.3.1 en
[r3-bgp-default-ipv4]pe 4.4.4.4 nex

R4

[r4]bgp 200
[r4-bgp-default]pe 2.2.2.2 as 200
[r4-bgp-default]pe 3.3.3.3 as 200
[r4-bgp-default]pe 2.2.2.2 con loo 0
[r4-bgp-default]pe 3.3.3.3 con loo 0
[r4-bgp-default]add ipv4 un
[r4-bgp-default-ipv4]netw 192.168.2.0 24
[r4-bgp-default-ipv4]netw 192.168.3.0 24
[r4-bgp-default-ipv4]pe 2.2.2.2 en
[r4-bgp-default-ipv4]pe 2.2.2.2 nex
[r4-bgp-default-ipv4]pe 3.3.3.3 en
[r4-bgp-default-ipv4]pe 3.3.3.3 nex

4,通过修改 MED 使 R1 到达 192.168.2.0/24
 网段的路由经过 R3

  分析:按照 BGP 选路规则,在其他属性都一致的情况下,路由器优选 IP 地址最小的邻居发布的路由,R1 到达 192.168.2.0/24
 网段的路由会优选 R2
  这里要求通过修改 MED 使 R1 优选 R3。MED 类似 IGP 中的 Cost,越小越优先,由 network
 命令产生的 BGP 路由默认 MED 为 0。把 R2 传递至 R1 的该网段路由 MED 改大即可实现效果

  
步骤 1:在 R2 上创建 ACL 抓取 192.168.2.0/24
 网段路由

[r2]acl bas 2000
[r2-acl-ipv4-basic-2000]rule permit source 192.168.2.0 0.0.0.255

步骤 2:在 R2 上创建路由策略,匹配上一步创建的 ACL,修改 MED 为 100,并创建空节点用于放行其他路由

[r2-acl-ipv4-basic-2000]route-policy yueye permit node 10
[r2-route-policy-yueye-10]if-match ip address acl 2000
[r2-route-policy-yueye-10]apply cost 100
[r2-route-policy-yueye-10]route-policy yueye permit node 20

步骤 3:在 R2 上对 R1 的 EBGP 邻居中调用上一步创建的路由策略,应用方向为出方向

[r2-route-policy-yueye-20]bgp 200
[r2-bgp-default]add ipv4 un
[r2-bgp-default-ipv4]peer 100.1.1.1 route-policy yueye export

效果测试:在 R1 上查看 BGP 路由表,发现到达 192.168.2.0/24
 网段的路由已经变为选择 R3

[R1]display bgp routing-table ipv4

5,通过修改 Preferred-value 属性,使 R4 到达 192.168.0.0/24
 网段的路由经过 R3

  分析:按照 BGP 选路规则,在其他属性都一致的情况下,路由器优选 IP 地址最小的邻居发布的路由,R4 到达 192.168.0.0/24
 网段的路由会优选 R2
  这里要求通过修改 Preferred-value 使 R4 优选 R3。Preferred-value 是私有属性,越大越优先,默认 Preferred-value 为 0。把 R4 从 R3 学习的该网段路由 Preferred-value 改大即可实现效果

  
步骤 1:在 R4 上创建 ACL 抓取 192.168.0.0/24
 网段路由

[r4]acl basic 2000
[r4-acl-ipv4-basic-2000]rule permit source 192.168.0.0 0.0.0.255

步骤 2:在 R4 上创建路由策略,匹配上一步创建的 ACL,修改 Preferred-value 为 200,并创建空节点用于放行其他路由

[r4-acl-ipv4-basic-2000]route-policy yueye permit node 10
[r4-route-policy-yueye-10]if-match ip address acl 2000
[r4-route-policy-yueye-10]apply preferred-value 200
[r4-route-policy-yueye-10]route-policy yueye permit node 20

步骤 3:在 R4 上对 R3 的 EBGP 邻居中调用上一步创建的路由策略,应用方向为入方向

[r4-route-policy-yueye-20]bgp 200
[r4-bgp-default]add ipv4 un
[r4-bgp-default-ipv4]peer 3.3.3.3 route-policy yueye import 

效果测试:在 R4 上查看 BGP 路由表,发现到达 192.168.0.0/24
 网段的路由已经变为选择 R3

[R4]display bgp routing-table ipv4

6,通过修改 AS_path 属性,使 R1 到达 192.168.3.0/24
 网段的路由经过 R3

  分析:按照 BGP 选路规则,在其他属性都一致的情况下,路由器优选 IP 地址最小的邻居发布的路由,R1 到达 192.168.3.0/24
 网段的路由会优选 R2
  这里要求通过修改 AS_path 使 R1 优选 R3。AS_path 属性用于描述该路由传递所经过的 AS 路径,越短越优先,R1 收到的该网段路由从 AS 200 始发,然后进入本 AS,所以 AS_path 属性为 100。把 R1 从 R2 学习的该网段路由 AS_path 改长即可实现效果

  
步骤 1:在 R1 上创建 ACL 抓取 192.168.3.0/24
 网段路由

[r1]acl basic 2000
[r1-acl-ipv4-basic-2000]rule permit source 192.168.3.0 0.0.0.255

步骤 2:在 R1 上创建路由策略,匹配上一步创建的 ACL,添加 200 到 AS_path,并创建空节点用于放行其他路由

[r1-acl-ipv4-basic-2000]route-policy x3 permit node 10
[r1-route-policy-x3-10]if-match ip address acl 2000
[r1-route-policy-x3-10]apply as-path 200
[r1-route-policy-x3-10]route-policy x3 permit node 20

步骤 3:在 R2 上对 R1 的 EBGP 邻居中调用上一步创建的路由策略,应用方向为入方向

[r1]bgp 100
[r1-bgp-default]add ipv4 un
[r1-bgp-default-ipv4]peer 100.1.1.2 route-policy x3 import 

效果测试:在 R1 上查看 BGP 路由表,发现到达 192.168.3.0/24
 网段的路由已经变为选择 R3

[R1]display bgp routing-table ipv4

7,通过修改 Local-pref 属性,使 R4 到达 192.168.1.0/24
 网段的路由经过 R3

  分析:按照 BGP 选路规则,在其他属性都一致的情况下,路由器优选 IP 地址最小的邻居发布的路由,R4 到达 192.168.1.0/24
 网段的路由会优选 R2
  这里要求通过修改 Local-pref 使 R4 优选 R3。Local-pref 越大越优先,默认值为 100。把 R3 向 R4 发布的该网段路由 Local-pref 改大即可实现效果

  
步骤 1:在 R3 上创建 ACL 抓取 192.168.1.0/24
 网段路由

[r3]acl basic 2000
[r3-acl-ipv4-basic-2000]rule permit source 192.168.1.0 0.0.0.255

步骤 2:在 R1 上创建路由策略,匹配上一步创建的 ACL,修改 Local-pref 为 150,并创建空节点用于放行其他路由

[r3-acl-ipv4-basic-2000]route-policy x1 permit node 10
[r3-route-policy-x1-10]if-match ip address acl 2000
[r3-route-policy-x1-10]apply local-preference 150
[r3-route-policy-x1-10]route-policy x1 permit node 20

步骤 3:在 R3 上对 R4 的 EBGP 邻居中调用上一步创建的路由策略,应用方向为出方向

[r3]bgp 200
[r3-bgp-default]add ipv4 un
[r3-bgp-default-ipv4]peer 4.4.4.4 route-policy x1 export 

效果测试:在 R4 上查看 BGP 路由表,发现到达 192.168.0.0/24网段的路由已经变为选择 R3

[R4]display bgp routing-table ipv4

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐