实验拓扑
实验需求
- 按照图示配置 IP 地址,R1 和 R5 上使用环回口模拟业务网段,R2,R3,R4 的环回口用于配置 Router-id 和建立 IBGP 邻居
- AS 200 运行 OSPF 实现内部网络互通
- R1,R2,R4,R5 运行 BGP,R1 和 R2 建立 EBGP 邻居,R4 和 R5 建立 EBGP 邻居,R2 和 R4 建立 IBGP 邻居。要求 EBGP 邻居使用直连接口建立邻居,IBGP 邻居使用环回口建立邻居
- R1 和 R5 把业务网段宣告进 BGP
- 在 R2 和 R4 上把 BGP 引入到 IGP 解决 BGP 路由黑洞问题
- 业务网段可以互通
实验步骤
1、配置 IP 地址
[H3C]sysname R1
[R1]int loop 0
[R1-LoopBack0]ip add 192.168.1.1 24
[R1-LoopBack0]int g0/0
[R1-GigabitEthernet0/0]ip add 100.1.1.1 24
[H3C]sysname 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 loop 0
[R2-LoopBack0]ip add 2.2.2.2 32
[H3C]sysname R3
[R3]int g0/0
[R3-GigabitEthernet0/0]ip add 100.2.2.3 24
[R3-GigabitEthernet0/0]int g0/1
[R3-GigabitEthernet0/1]ip add 100.3.3.3 24
[R3-GigabitEthernet0/1]int loop 0
[R3-LoopBack0]ip add 3.3.3.3 32
[H3C]sysname R4
[R4]int g0/0
[R4-GigabitEthernet0/0]ip add 100.3.3.4 24
[R4-GigabitEthernet0/0]int g0/1
[R4-GigabitEthernet0/1]ip add 100.4.4.4 24
[R4-GigabitEthernet0/1]int loop 0
[R4-LoopBack0]ip add 4.4.4.4 32
[R5]int g0/0
[R5-GigabitEthernet0/0]ip add 100.4.4.5 24
[R5-GigabitEthernet0/0]int loop 0
[R5-LoopBack0]ip add 192.168.2.1 24
2、配置OSPF
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]a 0
[R2-ospf-1-area-0.0.0.0]net 100.2.2.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]net 2.2.2.2 0.0.0.0
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]a 0
[R3-ospf-1-area-0.0.0.0]net 100.2.2.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 100.3.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 3.3.3.3 0.0.0.0
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]a 0
[R4-ospf-1-area-0.0.0.0]net 100.3.3.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]net 4.4.4.4 0.0.0.0
3、R1,R2,R4,R5 运行 BGP,R1 和 R2 建立 EBGP 邻居,R4 和 R5 建立 EBGP 邻居,R2 和 R4 建立 IBGP 邻居。要求 EBGP 邻居使用直连接口建立邻居,IBGP 邻居使用环回口建立邻居
分析:IBGP 邻居要求使用环回口建立,根据 BGP 邻居建立条件,需要修改 IBGP 邻居更新源为对应环回口
由于 R2 和 R4 既有 EBGP 邻居,又有 IBGP 邻居,为了使从 EBGP 邻居学习的路由传递至 IBGP 邻居时下一跳可达,需要修改 IBGP 邻居下一跳为本机
步骤 1:在 R1,R2,R4,R5 上配置 BGP,建立邻居关系
[R1]bgp 100
[R1-bgp-default]peer 100.1.1.2 as-number 200
[R1-bgp-default]address-family ipv4
[R1-bgp-default-ipv4]peer 100.1.1.2 enable
[R2]bgp 200
[R2-bgp-default]peer 4.4.4.4 as-number 200
[R2-bgp-default]peer 4.4.4.4 connect-interface LoopBack 0 //更新源地址必须和邻居指定的IP地址一致(需要修改更新源为环回口)
[R2-bgp-default]peer 100.1.1.1 as-number 100
[R2-bgp-default]address-family ipv4
[R2-bgp-default-ipv4]peer 4.4.4.4 enable
[R2-bgp-default-ipv4]peer 4.4.4.4 next-hop-local
[R2-bgp-default-ipv4]peer 100.1.1.1 enable
[R4]bgp 200
[R4-bgp-default]peer 2.2.2.2 as-number 200
[R4-bgp-default]peer 2.2.2.2 connect-interface LoopBack 0
[R4-bgp-default]peer 100.4.4.5 as-number 300
[R4-bgp-default]address-family ipv4
[R4-bgp-default-ipv4]peer 2.2.2.2 enable
[R4-bgp-default-ipv4]peer 2.2.2.2 next-hop-local
[R4-bgp-default-ipv4]peer 100.4.4.5 enable
[R5]bgp 300
[R5-bgp-default]peer 100.4.4.4 as-number 200
[R5-bgp-default]address-family ipv4
[R5-bgp-default-ipv4]peer 100.4.4.4 enable
效果测试:使用命令 display bgp peer ipv4 检查邻居是否正确建立。
4、R1 和 R5 把业务网段宣告进 BGP
步骤 1:在 R1 和 R5 上把业务网段宣告进 BGP 的 IPv4 地址族模式
[R1]bgp 100
[R1-bgp-default]address-family ipv4
[R1-bgp-default-ipv4]network 192.168.1.0 24
[R5]bgp 300
[R5-bgp-default]address-family ipv4
[R5-bgp-default-ipv4]net 192.168.2.0 24
5、在 R2 和 R4 上把 BGP 引入到 IGP 解决 BGP 路由黑洞问题
分析:由于 R3 没有运行 BGP ,无法学习到业务网段路由,然而业务网段之间通讯的数据包会经过 R3 转发,所以造成 R3 上存在 BGP 路由黑洞
这里通过把 BGP 引入到 OSPF,使 R3 可以通过 OSPF 学习到业务网段的路由,来解决 BGP 路由黑洞问题
步骤 1:在 R2 和 R4 上分别把 BGP 引入到 OSPF
[R2]ospf 1
[R2-ospf-1]import-route bgp
[R4]ospf 1
[R4-ospf-1]import-route bgp
效果测试:在 R3 上查看 IP 路由表,发现已经学习到业务网段的路由,来源为 OSPF 外部路由
6、业务网段可以互通
分析:由于 BGP 只传递了业务网段路由,所以必须使用带源 PING,才能测试是否连通