学习新思想、争做新青年,今天学习的是BGP路由反射器。
实验目的
· 理解BGP路由反射器的应用场景
· 理解BGP路由反射器的工作原理
· 掌握BGP路由反射器的基本配置方法
实验内容
本实验网络包含了两个AS,两个Cluster。R1、R2、R3属于Cluster 1,R4、R5、R6属于Cluster 2,R7不属于任何Cluster。在 AS 100内部,所有路由器都运行 OSPF协议作为IGP,并将各自的 Loopback 0接口宣告进OSPF进程中,使得各路由器可以使用 Loopback 0接口来建立全互联的 IBGP对等体关系。然后,为了减少配置工作量,决定使用路由反射器,要求是:在 Cluster 1中,R1为路由反射器,R2和 R3为其客户端;在 Cluster 2中,R4为路由反射器,R5、R6为其客户端;R7为非客户端;R1与R8为EBGP对等体关系。
实验拓扑
实验配置
1、基础配置
R1:
sys
sysname R1
int loop 0
ip add 10.0.1.1 32
int g0/0/1
ip add 10.0.12.1 24
int g0/0/2
ip add 10.0.13.1 24
int g0/0/3
ip add 10.0.18.1 24
int g0/0/0
ip add 10.0.14.1 24
q
R2:
sys
sysname R2
int loop 0
ip add 10.0.2.2 32
int loop 1
ip add 10.0.22.22 32
int g0/0/1
ip add 10.0.12.2 24
q
R3:
sys
sysname R3
int loop 0
ip add 10.0.3.3 32
int g0/0/2
ip add 10.0.13.3 24
q
R4:
sys
sysname R4
int loop 0
ip add 10.0.4.4 32
int g0/0/0
ip add 10.0.14.4 24
int g0/0/1
ip add 10.0.47.4 24
int g0/0/2
ip add 10.0.46.4 24
int g0/0/3
ip add 10.0.45.4 24
q
R5:
sys
sysname R5
int loop 0
ip add 10.0.5.5 32
int g0/0/1
ip add 10.0.45.5 24
q
R6:
sys
sysname R6
int loop 0
ip add 10.0.6.6 32
int g0/0/2
ip add 10.0.46.6 24
q
R7:
sys
sysname R7
int loop 0
ip add 10.0.7.7 32
int g0/0/0
ip add 10.0.47.7 24
q
R8:
sys
sysname R8
int loop 0
ip add 10.0.8.8 32
int g0/0/0
ip add 10.0.18.8 24
q
2.配置OSPF协议
为了使 AS100 内部的路由器之间都能够使用 Loopback 0 接口建立 IBGP 对等体关系,需要在每台路由器(R8 除外)上配置 OSPF 路由协议,并将 Loopback 0 接口通告进 OSPF 进程。
[R1]ospf 1 router-id 10.0.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 10.0.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.14.0 0.0.0.255
[R2]ospf 1 router-id 10.0.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 10.0.12.0 0.0.0.255
[R3]ospf 1 router-id 10.0.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 10.0.13.0 0.0.0.255
[R4]ospf 1 router-id 10.0.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 10.0.14.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.45.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.46.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.47.0 0.0.0.255
[R5]ospf 1 router-id 10.0.5.5
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]network 10.0.5.5 0.0.0.0
[R5-ospf-1-area-0.0.0.0]network 10.0.45.0 0.0.0.255
[R6]ospf 1 router-id 10.0.6.6
[R6-ospf-1]area 0
[R6-ospf-1-area-0.0.0.0]network 10.0.6.6 0.0.0.0
[R6-ospf-1-area-0.0.0.0]network 10.0.46.0 0.0.0.255
[R7]ospf 1 router-id 10.0.7.7
[R7-ospf-1]area 0
[R7-ospf-1-area-0.0.0.0]network 10.0.7.7 0.0.0.0
[R7-ospf-1-area-0.0.0.0]network 10.0.47.0 0.0.0.255
3.配置 BGP 路由协议
在 AS 100 内部的每台路由器上使用 Loopback 0 接口建立全互联的 IBGP 对等体关系,并通告各自的 Loopback 0 接口到 BGP 进程中。
[R1]bgp 100
[R1-bgp]router-id 10.0.1.1
[R1-bgp]peer 10.0.2.2 as-number 100
[R1-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R1-bgp]peer 10.0.2.2 next-hop-local
[R1-bgp]peer 10.0.3.3 as-number 100
[R1-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R1-bgp]peer 10.0.3.3 next-hop-local
[R1-bgp]peer 10.0.4.4 as-number 100
[R1-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R1-bgp]peer 10.0.4.4 next-hop-local
[R1-bgp]peer 10.0.5.5 as-number 100
[R1-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R1-bgp]peer 10.0.5.5 next-hop-local
[R1-bgp]peer 10.0.6.6 as-number 100
[R1-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R1-bgp]peer 10.0.6.6 next-hop-local
[R1-bgp]peer 10.0.7.7 as-number 100
[R1-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R1-bgp]peer 10.0.7.7 next-hop-local
[R1-bgp]network 10.0.1.1 32
[R2]bgp 100
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.1.1 as-number 100
[R2-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R2-bgp]peer 10.0.3.3 as-number 100
[R2-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R2-bgp]peer 10.0.4.4 as-number 100
[R2-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R2-bgp]peer 10.0.5.5 as-number 100
[R2-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R2-bgp]peer 10.0.6.6 as-number 100
[R2-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R2-bgp]peer 10.0.7.7 as-number 100
[R2-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R2-bgp]network 10.0.2.2 32
[R3]bgp 100
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.1.1 as-number 100
[R3-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R3-bgp]peer 10.0.2.2 as-number 100
[R3-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R3-bgp]peer 10.0.4.4 as-number 100
[R3-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R3-bgp]peer 10.0.5.5 as-number 100
[R3-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R3-bgp]peer 10.0.6.6 as-number 100
[R3-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R3-bgp]peer 10.0.7.7 as-number 100
[R3-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R3-bgp]network 10.0.3.3 32
[R4]bgp 100
[R4-bgp]router-id 10.0.4.4
[R4-bgp]peer 10.0.1.1 as-number 100
[R4-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R4-bgp]peer 10.0.2.2 as-number 100
[R4-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R4-bgp]peer 10.0.3.3 as-number 100
[R4-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R4-bgp]peer 10.0.5.5 as-number 100
[R4-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R4-bgp]peer 10.0.6.6 as-number 100
[R4-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R4-bgp]peer 10.0.7.7 as-number 100
[R4-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R4-bgp]network 10.0.4.4 32
[R5]bgp 100
[R5-bgp]router-id 10.0.5.5
[R5-bgp]peer 10.0.1.1 as-number 100
[R5-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R5-bgp]peer 10.0.2.2 as-number 100
[R5-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R5-bgp]peer 10.0.3.3 as-number 100
[R5-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R5-bgp]peer 10.0.4.4 as-number 100
[R5-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R5-bgp]peer 10.0.6.6 as-number 100
[R5-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R5-bgp]peer 10.0.7.7 as-number 100
[R5-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R5-bgp]network 10.0.5.5 32
[R6]bgp 100
[R6-bgp]router-id 10.0.6.6
[R6-bgp]peer 10.0.1.1 as-number 100
[R6-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R6-bgp]peer 10.0.2.2 as-number 100
[R6-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R6-bgp]peer 10.0.3.3 as-number 100
[R6-bgp]peer 10.0.3.3 connect-interface Loopback 0
[R6-bgp]peer 10.0.4.4 as-number 100
[R6-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R6-bgp]peer 10.0.5.5 as-number 100
[R6-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R6-bgp]peer 10.0.7.7 as-number 100
[R6-bgp]peer 10.0.7.7 connect-interface LoopBack 0
[R6-bgp]network 10.0.6.6 32
[R7]bgp 100
[R7-bgp]router-id 10.0.7.7
[R7-bgp]peer 10.0.1.1 as-number 100
[R7-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R7-bgp]peer 10.0.2.2 as-number 100
[R7-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R7-bgp]peer 10.0.3.3 as-number 100
[R7-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R7-bgp]peer 10.0.4.4 as-number 100
[R7-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R7-bgp]peer 10.0.5.5 as-number 100
[R7-bgp]peer 10.0.5.5 connect-interface LoopBack 0
[R7-bgp]peer 10.0.6.6 as-number 100
[R7-bgp]peer 10.0.6.6 connect-interface LoopBack 0
[R7-bgp]network 10.0.7.7 32
在R1和R8之间使用直连物理接口建立EBGP对等体关系,并通告R8的Loopback 0接口到BGP进程中。
[R1]bgp 100
[R1-bgp]peer 10.0.18.8 as-number 200
[R8]bgp 200
[R8-bgp]router-id 10.0.8.8
[R8-bgp]peer 10.0.18.1 as-number 100
[R8-bgp]network 10.0.8.8 32
为了使R8能够与AS100内部的所有路由器的Loopback0接口所在的网络进行通信,可以在R8上配置一条聚合的静态路由,下一跳为10.0.18.1。
[R8]ip route-static 10.0.0.0 20 10.0.18.1
4.配置BGP路由发射器
对于大型网络来讲,使用路由反射器可以大大减少IBGP对等体关系的数量。路由反射器的使用,会明显减少配置工作量,人为出错的可能性也会大大降低。
首先清除之前各路由器上的BGP进程,在实际场景中如果这样操作,将会导致网络瘫痪一段时间。
(免责声明:请勿在实际场景中操作!!!)
以R1为例,清除原来的BGP进程。
[R1]undo bgp 100
R2和 R3 是路由反射器 R1 的客户端,它们只需和 R1 配置成 IBGP 对等体关系即可,R2 和 R3 之间无需配置为 IBGP 对等体关系。另外,将 R2 的 Loopback 1(10.0.22.22/32)接口通告进 BGP 进程。
[R2]bgp 100
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.1.1 as-number 100
[R2-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R2-bgp]network 10.0.2.2 32
[R2-bgp]network 10.0.22.22 32
[R3]bgp 100
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.1.1 as-number 100
[R3-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R3-bgp]network 10.0.3.3 32
配置 R1 为 R2 和 R3 的路由反射器,配置 Cluster-ID 为 1,配置 R1 与 R4 之间的 IBGP对等体关系,配置 R1 与 R8 之间的 EBGP 对等体关系。
[R1]bgp 100
[R1-bgp]router-id 10.0.1.1
[R1-bgp]group in_1
[R1-bgp]peer 10.0.2.2 group in_1
[R1-bgp]peer 10.0.3.3 group in_1
[R1-bgp]peer in_1 reflect-client
[R1-bgp]peer in_1 next-hop-local
[R1-bgp]reflector cluster-id 1
[R1-bgp]peer 10.0.4.4 as-number 100
[R1-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R1-bgp]peer 10.0.4.4 next-hop-local
[R1-bgp]peer 10.0.18.8 as-number 200
R5 和 R6 是路由反射器 R4 的客户端,它们只需和 R4 配置成 IBGP 对等体关系即可,R5 和 R6 之间无需配置为 IBGP 对等体关系。
[R5]bgp 100
[R5-bgp]router-id 10.0.5.5
[R5-bgp]peer 10.0.4.4 as-number 100
[R5-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R5-bgp]network 10.0.5.5 32
[R6]bgp 100
[R6-bgp]router-id 10.0.6.6
[R6-bgp]peer 10.0.4.4 as-number 100
[R6-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R6-bgp]network 10.0.6.6 32
配置 R4 为 R5 和 R6 的路由反射器,配置 Cluster-ID 为 2,配置 R4 与 R1 之间的 IBGP 对等体关系,配置 R4 与 R7 之间的 IBGP 对等体关系。
[R4]bgp 100
[R4-bgp]router-id 10.0.4.4
[R4-bgp]group in_2
[R4-bgp]peer 10.0.5.5 group in_2
[R4-bgp]peer 10.0.6.6 group in_2
[R4-bgp]peer in_2 reflect-client
[R4-bgp]reflector cluster-id 2
[R4-bgp]peer 10.0.1.1 as-number 100
[R4-bgp]peer 10.0.1.1 connect-interface LoopBack 0
[R4-bgp]peer 10.0.7.7 as-number 100
[R4-bgp]peer 10.0.7.7 connect-interface LoopBack 0
R7是非客户端路由器,配置R7与R4之间的IBGP对等体关系。
[R7]bgp 100
[R7-bgp]router-id 10.0.7.7
[R7-bgp]peer 10.0.4.4 as-number 100
[R7-bgp]peer 10.0.4.4 connect-interface LoopBack 0
[R7-bgp]network 10.0.7.7 32
配置R8与R1之间的EBGP对等体关系。
[R8]bgp 200
[R8-bgp]router-id 10.0.8.8
[R8-bgp]peer 10.0.18.1 as-number 100
[R8-bgp]network 10.0.8.8 255.255.255.255