BGP综合实验
- 实验拓扑
- 实验要求
1、AS1中存在两个环回,一个地址为192.168.1.0/24,该地址不能在任何协议中宣告;
AS3中存在两个环回,一个地址为192.168.2.0/24,该地址不能在任何协议中宣告,最终要求这两个环回可以ping通;
2、整个AS2的IP地址为172.16.0.0/16,请合理划分;并且其内部配置OSPF协议
3、R1-R8的建邻环回用x.x.x.x/32表示;R2-R7上除了建邻环回,每个设备再划分一个业务网段;
4、AS间的骨干链路IP地址随意定制;
5、使用BGP协议让整个网络所有设备的环回可以互相访问;
三、实验思路
1、IP地址的规划及接口IP地址的配置
2、将AS2内部配置OSPF动态路由协议(用于IBGP建邻用)
3、配置BGP协议(AS间用EBGP建邻,AS内用IBGP建邻)
4、宣告AS2内部的业务网段(查看BGP路由学习情况)
5、192.168.1.0/24与192.168.2.0/24不宣告任何协议也可以正常通讯
1)建立GRE VPN隧道
2)路由引入(在BGP中引入直连路由搭配路由策略)
四、实验步骤
1、IP地址划分及地址配置
划分思路由于16掩码的网段在划分成子网时会造成网段过大,网段过大会造成交换机的交换风暴,会沾满交换机的内存,导致交换机瘫痪。所以将16网段直接划分成24掩码的网段,具体网段划分如下:
172.16.0.0/24 BGP建邻网段
172.16.1.0/24 AS2中骨干链路网段
172.16.2.0/24 R2的业务网段
172.16.3.0/24 R3的业务网段
172.16.4.0/24 R4的业务网段
172.16.5.0/24 R5的业务网段
172.16.6.0/24 R6的业务网段
172.16.7.0/24 R7的业务网段
2、配置IP地址
R1
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
interface LoopBack0
ip address 172.16.0.1 255.255.255.255
interface LoopBack1
ip address 192.168.1.1 255.255.255.0
R2
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 172.16.1.1 255.255.255.252
interface GigabitEthernet0/0/2
ip address 172.16.1.17 255.255.255.252
interface LoopBack0
ip address 172.16.0.2 255.255.255.255
interface LoopBack1
ip address 172.16.2.1 255.255.255.0
R3
interface GigabitEthernet0/0/0
ip address 172.16.1.2 255.255.255.252
interface GigabitEthernet0/0/1
ip address 172.16.1.5 255.255.255.252
interface LoopBack0
ip address 172.16.0.3 255.255.255.255
interface LoopBack1
ip address 172.16.3.1 255.255.255.0
R4
interface GigabitEthernet0/0/0
ip address 172.16.1.6 255.255.255.252
interface GigabitEthernet0/0/1
ip address 172.16.1.21 255.255.255.252
interface LoopBack0
ip address 172.16.0.4 255.255.255.255
interface LoopBack1
ip address 172.16.4.1 255.255.255.0
R5
interface GigabitEthernet0/0/0
ip address 172.16.1.18 255.255.255.252
interface GigabitEthernet0/0/1
ip address 172.16.1.9 255.255.255.252
interface LoopBack0
ip address 172.16.0.5 255.255.255.255
interface LoopBack1
ip address 172.16.5.1 255.255.255.0
R6
interface GigabitEthernet0/0/0
ip address 172.16.1.10 255.255.255.252
interface GigabitEthernet0/0/1
ip address 172.16.1.13 255.255.255.252
interface LoopBack0
ip address 172.16.0.6 255.255.255.255
interface LoopBack1
ip address 172.16.6.1 255.255.255.0
R7
interface GigabitEthernet0/0/0
ip address 172.16.1.14 255.255.255.252
interface GigabitEthernet0/0/1
ip address 172.16.1.22 255.255.255.252
interface GigabitEthernet0/0/2
ip address 34.1.1.1 255.255.255.0
interface LoopBack0
ip address 172.16.0.7 255.255.255.255
interface LoopBack1
ip address 172.16.7.1 255.255.255.0
R8
interface GigabitEthernet0/0/0
ip address 34.1.1.2 255.255.255.0
interface LoopBack0
ip address 172.16.0.8 255.255.255.255
interface LoopBack1
ip address 192.168.2.1 255.255.255.0
3、将AS2内部的私网配置动态路由协议ospf
R2
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 172.16.0.2 0.0.0.0
network 172.16.1.0 0.0.0.255
network 172.16.2.0 0.0.0.255
R3
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 172.16.0.3 0.0.0.0
network 172.16.1.0 0.0.0.255
network 172.16.3.0 0.0.0.255
R4
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 172.16.0.4 0.0.0.0
network 172.16.1.0 0.0.0.255
network 172.16.4.0 0.0.0.255
R5
ospf 1 router-id 5.5.5.5
area 0.0.0.0
network 172.16.0.5 0.0.0.0
network 172.16.1.0 0.0.0.255
network 172.16.5.0 0.0.0.255
R6
ospf 1 router-id 6.6.6.6
area 0.0.0.0
network 172.16.0.6 0.0.0.0
network 172.16.1.0 0.0.0.255
network 172.16.6.0 0.0.0.255
R7
ospf 1 router-id 7.7.7.7
area 0.0.0.0
network 172.16.0.7 0.0.0.0
network 172.16.1.0 0.0.0.255
network 172.16.7.0 0.0.0.255
4、配置BGP协议使AS间正常通讯
1)R1与R2为EBGP邻居
2)AS2中的子AS64512为IBGP全连接(可将R2配置为反射器R3,R4为客户机)
3)AS2中的子AS64513为IBGP全连接(可将R7配置为反射器R5,R6为客户机)
4)R2与R5内配置EBGP邻居
5)R7与R8为EBGP邻居
R1
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 as-number 2
R2
[r2]bgp 64512
[r2-bgp]confederation id 2 //声明自己的公有AS编号
[r2-bgp]confederation peer-as 64513 //声明自己的联邦AS编号(需要与联邦建邻的设备声明)
[r2-bgp]peer 12.1.1.1 as-number 1 //与R1建立BGP邻居
在子AS64512中R2R3R4要建立BGP全连接关系需要配置反射器来解决BGP全连接配置复杂问题
[r2-bgp]group 1 internal //将子AS内部的设备分进同一个组中
[r2-bgp]peer 172.16.0.3 group 1 //将R3加入组
[r2-bgp]peer 172.16.0.4 group 1 //将R4加入组
[r2-bgp]peer 1 connect-interface l0 //对组内所有要建立邻居的成员更新建邻接口为环回
[r2-bgp]peer 1 next-hop-local //对组内所有要建立邻居的成员更改下一跳到本机
配置反射器
[r2-bgp]peer 1 reflect-client //对组内所有要建立邻居的成员声明自己为反射器你们为反射客户机
[r2-bgp]reflector cluster-id 2001 //设置集群id为2001防止多反射器的环路问题
对联盟进行建邻
[r2-bgp]peer 172.16.0.5 as 64513
[r2-bgp]peer 172.16.0.5 connect-interface l0 //更新建邻接口为环回
[r2-bgp]peer 172.16.0.5 next-hop-local //更改下一跳到本机
[r2-bgp]peer 172.16.0.5 ebgp-max-hop //更改最大跳数为255
R3
[r3]bgp 64512
[r3-bgp]confederation id 2 //声明自己的公有AS编号
[r3-bgp]peer 172.16.0.2 as-number 64512 //与R2建立BGP邻居
[r3-bgp]peer 172.16.0.2 connect-interface l0 //更新建邻接口为环回
R4
[r4]bgp 64512
[r4-bgp]confederation id 2 //声明自己的公有AS编号
[r4-bgp]peer 172.16.0.2 as-number 64512 //与R2建立BGP邻居
[r4-bgp]peer 172.16.0.2 connect-interface l0 //更新建邻接口为环回
R5
[r5]bgp 64513
[r5-bgp]confederation id 2 //声明自己的公有AS编号
[r5-bgp]peer 172.16.0.2 as-number 64512 //与R2建立BGP邻居
[r5-bgp]peer 172.16.0.2 connect-interface l0 //更新建邻接口为环回
[r5-bgp]peer 172.16.0.2 next-hop-local //更改下一跳到本机
[r5-bgp]peer 172.16.0.2 ebgp-max-hop //更改最大跳数为255
[r5-bgp]peer 172.16.0.7 as-number 64512 //与R7建立BGP邻居
[r5-bgp]peer 172.16.0.7 connect-interface l0 //更新建邻接口为环回
R6
[r6]bgp 64513
[r6-bgp]confederation id 2 //声明自己的公有AS编号
[r6-bgp]peer 172.16.0.7 as-number 64512 //与R7建立BGP邻居
[r6-bgp]peer 172.16.0.7 connect-interface l0 //更新建邻接口为环回
R7
[r7]bgp 64513
[r7-bgp]confederation id 2 //声明自己的公有AS编号
[r7-bgp]confederation peer-as 64512 //声明自己的联邦AS编号(需要与联邦建邻的设备声明)
[r7-bgp]peer 34.1.1.2 as-number 3 //与R8建立BGP邻居
在子AS64513中R5\R6\R7要建立BGP全连接关系需要配置反射器来解决BGP全连接配置复杂问题
[r7-bgp]group 2 internal //将子AS内部的设备分进同一个组中
[r7-bgp]peer 172.16.0.5 group 2 //将R3加入组
[r7-bgp]peer 172.16.0.6 group 2 //将R4加入组
[r7-bgp]peer 2 connect-interface l0 //对组内所有要建立邻居的成员更新建邻接口为环回
[r7-bgp]peer 2 next-hop-local //对组内所有要建立邻居的成员更改下一跳到本机
配置反射器
[r7-bgp]peer 2 reflect-client //对组内所有要建立邻居的成员声明自己为反射器你们为反射客户机
[r7-bgp]reflector cluster-id 2002 //设置集群id为2002防止多反射器的环路问题
对联盟进行建邻
R8
[r8]bgp 3
[r8-bgp]peer 34.1.1.1 as-number 2
5、将AS2中的业务网段宣告在BGP协议中
R2
[r2-bgp]network 172.16.2.0 24
R3
[r3-bgp]network 172.16.3.0 24
R4
[r4-bgp]network 172.16.4.0 24
R5
[r5-bgp]network 172.16.5.0 24
R6
[r6-bgp]network 172.16.6.0 24
R7
[r7-bgp]network 172.16.7.0 24
现在查看一下R1和R8的BGP路由表
<r1>display bgp routing-table
6、192.168.1.0/24与192.168.2.0/24不宣告任何协议也可以正常通讯,建立GRE VPN隧道
R1
[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ip address 192.168.3.1 24
[r1-Tunnel0/0/0]tunnel-protocol gre
[r1-Tunnel0/0/0]source 172.16.0.1
[r1-Tunnel0/0/0]destination 172.16.0.8
R8
[r8]interface Tunnel 0/0/0
[r8-Tunnel0/0/0]ip address 192.168.3.2 24
[r8-Tunnel0/0/0]tunnel-protocol gre
[r8-Tunnel0/0/0]source 172.16.0.8
[r8-Tunnel0/0/0]destination 172.16.0.1
配置隧道两端的私网通 (配置静态路由协议)
[r1]ip route-static 192.168.2.0 24 192.168.3.2
[r8]ip route-static 192.168.1.0 24 192.168.3.1
此时隧道的物理链路层已经建立起来,但协议层时down状态
隧道私网通了但公网还不能正常通讯需要将隧道中封装的公网地址宣告在BGP中
[r1-bgp]network 172.16.0.1 24
[r8-bgp]network 172.16.0.8 24
现在R1与R8中的两端私网网段可以正常通讯了
测试:
7、192.168.1.0/24与192.168.2.0/24不宣告任何协议也可以正常通讯,路由引入(在BGP中引入直连路由搭配路由策略)
在bgp中引入直连路由但只引入私网网段
R1
[r1]ip ip-prefix a permit 192.168.1.0 24 //用地址前缀列表抓取流量
[r1]route-policy aa permit node 10 //创建路由策略
Info: New Sequence of this List.
[r1-route-policy]if-match ip-prefix a //匹配地址前缀列表
[r1-route-policy]q
[r1]route-policy aa permit node 20 //在创建一个空列表允许放行所有人
路由引入
[r1]bgp 1
[r1-bgp]import-route direct route-policy aa
观察R8的路由表
<r8>display bgp routing-table
R8
[r8]ip ip-prefix b permit 192.168.2.0 24
[r8]route-policy bb permit node 10
Info: New Sequence of this List.
[r8-route-policy]if-match ip-prefix b
[r8-route-policy]q
[r8]route-policy bb permit node 20
[r8]bgp 3
[r8-bgp]import-route direct route-policy bb
再来查看R1的路由表
测试: