一、 实验拓扑
二、 实验需求及解法
本实验模拟 ISP 网络拓扑,运行 BGP。
如图所示配置各设备 IP 地址,完成以下需求:
1.R1 属于 AS100,R2/3/4 属于 AS200,R5 属于 AS300
2.AS200 内运行 OSPF,进程号为 1。
2.1 手动指定 Loopback0 的 IP 为 RID。
2.2 全部属于区域 0
2.3 network 命令全部使用通配符 0.0.0.0
2.4 R2/4 上不宣告与其他 AS 互联的接口。
R2:
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 23.1.1.2 0.0.0.0
#
R3:
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 23.1.1.3 0.0.0.0
network 34.1.1.3 0.0.0.0
#
R4:
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 34.1.1.4 0.0.0.0
3.建立 IBGP 邻居
3.1 R2 与 R4 使用环回口 Loopback0 建立 IBGP 邻居关系
3.2 为保证 BGP 路由可达,修改下一跳为本地。
R2:
bgp 200
peer 4.4.4.4 as-number 200
peer 4.4.4.4 connect-interface LoopBack0 \\指定用环回口建立IBGP邻居关系
peer 4.4.4.4 next-hop-local \\修改下一跳为本地,解决路由下一跳不可达
#
R4:
bgp 200
peer 2.2.2.2 as-number 200
peer 2.2.2.2 connect-interface LoopBack0
peer 2.2.2.2 next-hop-local
4.建立 EBGP 邻居
4.1 R1 与 R2 使用直连物理接口建立 EBGP 邻居关系
4.2 R4/5 新建环回口:
R4 使用 Loopback1:10.4.4.4/32
R5 使用 Loopback1:10.5.5.5/32
4.3 R4/5 分别配置 32 位静态路由,使得双方的环回口 Loopback1 可达。
4.4 R4 与 R5 使用环回口建立 EBGP 邻居关系,并修改 EBGP 跳数为 2.
R1:
bgp 100
peer 12.1.1.2 as-number 200
#
R2:
bgp 200
peer 12.1.1.1 as-number 100
#
R4:
Int lo1
Ip add 10.4.4.4 32
ip route-static 10.5.5.5 32 45.1.1.5
bgp 200
peer 10.5.5.5 as-number 300
peer 10.5.5.5 ebgp-max-hop 2
\\使用用环回口建立EBGP邻居关系时,默认跳数为1,需把跳数改大。
peer 10.5.5.5 connect-interface LoopBack1
#
R5:
Int lo1
Ip add 10.5.5.5 32
ip route-static 10.4.4.4 32 45.1.1.4
bgp 300
peer 10.4.4.4 as-number 200
peer 10.4.4.4 ebgp-max-hop 2
peer 10.4.4.4 connect-interface LoopBack1
5.BGP 发布路由
5.1 在 R1 上使用 network 命令发布 1.1.1.1/32
bgp 100
network 1.1.1.1 255.255.255.255
5.2 在 R5 上使用 network 命令发布 5.5.5.5/32
bgp 300
network 5.5.5.5 255.255.255.255
5.3 确认 R1/2/4/5 都有 1.1.1.1/32 和 5.5.5.5/32 的路由
6.路由黑洞
由于 R3 没有运行 BGP,导致无法收到 R1 和 R5 路由。
6.1 在 R2 将 BGP 引入 OSPF,确认 R3 获得 1.1.1.1/32 的路由。
ospf 1 router-id 2.2.2.2
import-route bgp
6.2 在 R4 将 BGP 引入 OSPF,确认 R3 获得 5.5.5.5/32 的路由。
ospf 1 router-id 4.4.4.4
import-route bgp
6.3 确认 1.1.1.1 和 5.5.5.5 可以互通。
7.使用MPLS解决路由黑洞问题(首先undo掉上面第6条配置)
R2:
mpls lsr-id 2.2.2.2 \\建立Rid并是可通信的环回地址
mpls \\启用MPLS
mpls ldp \\启用标签
int g0/0/1 \\进入接口
mpls \\接口启用mpls
mpls ldp \\接口启用标签
R3:
mpls lsr-id 3.3.3.3
mpls
mpls ldp
int g0/0/0
mpls
mpls ldp
int g0/0/1
mpls
mpls ldp
R4:
mpls lsr-id 4.4.4.4
mpls
mpls ldp
int g0/0/0
mpls
mpls ldp
7.1 分别检查R2/R3/R4上的MPLS标签
R2/R3/R4:
dis mpls lsp
7.2 R2与R4让BGP路由递归查询隧道信息,一劳永逸解决路由黑洞问题。
R2/R4:
route recursive-lookup tunnel
7.3 在R2/R4检查转发表FIB(这里只检查R2的FIB表)
dis fib \\tunnel id 为0*0表示无隧道、非0表示有隧道