一、实验拓扑
二、实验要求
1、AS1中存在两个环回,一个地址为192.168.1.0/24,该地址不能在任何协议中宣告;
AS3中存在两个环回,一个地址为192.168.2.0/24,该地址不能在任何协议中宣告,最终要求这两个环回可以ping通;
2、整个AS2的IP地址为172.16.0.0/16,请合理划分;并且其内部配置OSPF协议;
3、AS间的骨干链路IP地址随意定制;
4、使用BGP协议让整个网络所有设备的环回可以互相访问;
5、减少路由条目数量,避免环路出现;
三、实验思路
1、子网划分
为节约资源可以将其划为三部分:路由器相互直连的骨干链路、路由器建邻的网段及AS2内除R2外每个路由器都有一个业务网段
首先,根据要求,将172.16.0.0/16划分为掩码为24 的子网
因为24的掩码能使用的地址数量为(2^8-2=254),可以有效的节约IP地址
172.16.0.0/24
172.16.1.0/24
业务网段:除R1、R2、R8外都需要一个业务网段,可以将剩下的网段作为业务网段
172.16.2.0/24
172.16.3.0/24
172.16.4.0/24
172.16.5.0/24
172.16.6.0/24
172.16.7.0/24
其次,建邻环回:8个路由都需要建邻,将172.16.0.0/24划分为掩码为32的子网
172.16.0.1/32
172.16.0.2/32
172.16.0.3/32
172.16.0.4/32
172.16.0.5/32
172.16.0.6/32
172.16.0.7/32
172.16.0.8/32
最后,骨干链路:将172.16.1.0/24划分为6个掩码为30的网段
每条链路只配两个IP地址,30可用(2^2-2=2),节省IP地址
172.16.1.0000 0000 ---- 172.16.1.0/30
172.16.1.0000 0100 ---- 172.16.1.4/30
172.16.1.0000 1000 ---- 172.16.1.8/30
172.16.1.0000 1100 ---- 172.16.1.12/30
172.16.1.0001 0000 ---- 172.16.1.16/30
172.16.1.0001 0100 ---- 172.16.1.20/30
2、配置OSPF
AS2内部配置OSPF,实现内部全通
3、配置BGP
配置BGP,实现AS与AS之间互通;除AS1,AS2的建邻与业务网段外,其他地址都能被学到
4、宣告网段
宣告AS1和AS2的建邻网段,测试是否R1-R8互通
5、配置反射器
因为BGP的水平分割,所以R4、R7、R8无法学习到R1宣告的网段
将R3和R6设为反射器,就可解决这一问题
6、创建隧道
192.168.1.0/24和192.168.2.0/24不能在任何协议中宣告,可以创建隧道来实现互通
NAT在这里不能应用:
R1与R2,R7和R8之间的链路没有被R2-R7学到,而NAT不能在虚拟接口上创建,要在物理接口上,所以NAT不能实现其互通
四、实验配置
1、配置IP地址
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip add 12.1.1.1 24
[R1-GigabitEthernet0/0/0]int l0
[R1-LoopBack0]ip add 172.16.0.1 32
[R1-LoopBack0]int l1
[R1-LoopBack1]ip add 192.168.1.1 24
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip add 12.1.1.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip add 172.16.1.1 30
[R2-GigabitEthernet0/0/1]int g0/0/2
[R2-GigabitEthernet0/0/2]ip add 172.16.1.21 30
[R2-GigabitEthernet0/0/2]int l0
[R2-LoopBack0]ip add 172.16.0.2 32
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip add 172.16.1.2 30
[R3-GigabitEthernet0/0/0]int g0/0/1
[R3-GigabitEthernet0/0/1]ip add 172.16.1.5 30
[R3-GigabitEthernet0/0/1]int l0
[R3-LoopBack0]ip add 172.16.0.3 32
[R3-LoopBack0]int l1
[R3-LoopBack1]ip add 172.16.3.3 24
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip add 172.16.1.6 30
[R4-GigabitEthernet0/0/0]int g0/0/01
[R4-GigabitEthernet0/0/1]ip add 172.16.1.9 30
[R4-GigabitEthernet0/0/1]int l0
[R4-LoopBack0]ip add 172.16.0.4 32
[R4-LoopBack0]int l1
[R4-LoopBack1]ip add 172.16.4.4 24
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip add 172.16.1.22 30
[R5-GigabitEthernet0/0/0]int g0/0/1
[R5-GigabitEthernet0/0/1]ip add 172.16.1.17 30
[R5-GigabitEthernet0/0/1]int l0
[R5-LoopBack0]ip add 172.16.0.5 32
[R5-LoopBack0]int l1
[R5-LoopBack1]ip add 172.16.5.5 24
[R6]int g0/0/0
[R6-GigabitEthernet0/0/0]ip add 172.16.1.18 30
[R6-GigabitEthernet0/0/0]int g0/0/1
[R6-GigabitEthernet0/0/1]ip add 172.16.1.13 30
[R6-GigabitEthernet0/0/1]int l0
[R6-LoopBack0]ip add 172.16.0.6 32
[R6-LoopBack0]int l1
[R6-LoopBack1]ip add 172.16.6.6 24
[R7]int g0/0/0
[R7-GigabitEthernet0/0/0]ip add 172.16.1.14 30
[R7-GigabitEthernet0/0/0]int g0/0/1
[R7-GigabitEthernet0/0/1]ip add 172.16.1.10 30
[R7-GigabitEthernet0/0/1]int g0/0/2
[R7-GigabitEthernet0/0/2]ip add 34.1.1.7 24
[R7-GigabitEthernet0/0/2]int l0
[R7-LoopBack0]ip add 172.16.0.7 32
[R7-LoopBack0]int l1
[R7-LoopBack1]ip add 172.16.7.7 24
[R8]int g0/0/0
[R8-GigabitEthernet0/0/0]ip add 34.1.1.8 24
[R8-GigabitEthernet0/0/0]int l0
[R8-LoopBack0]ip add 172.16.0.8 32
[R8-LoopBack0]int l1
[R8-LoopBack1]ip add 192.168.2.8 24
2、配置OSPF
因为路由器需要宣告的网段都是172.16.0.0/16下的,所以可以直接宣告172.16.0.0/16
[R2]ospf 1 router-id 2.2.2.2
[R2-ospf-1]a 0
[R2-ospf-1-area-0.0.0.0]ne 172.16.0.0 0.0.255.255
[R3]ospf 1 router-id 3.3.3.3
[R3-ospf-1]a 0
[R3-ospf-1-area-0.0.0.0]ne 172.16.0.0 0.0.255.255
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]a 0
[R4-ospf-1-area-0.0.0.0]ne 172.16.0.0 0.0.255.255
[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]a 0
[R5-ospf-1-area-0.0.0.0]ne 172.16.0.0 0.0.255.255
[R6]ospf 1 router-id 6.6.6.6
[R6-ospf-1]a 0
[R6-ospf-1-area-0.0.0.0]ne 172.16.0.0 0.0.255.255
[R7]ospf 1 router-id 7.7.7.7
[R7-ospf-1]a 0
[R7-ospf-1-area-0.0.0.0]ne 172.16.0.0 0.0.255.255
检查:
3、配置BGP
[R1]bgp 1
[R1-bgp]peer 12.1.1.2 as 2
[R2]bgp 64512
[R2-bgp]confederation id 2
[R2-bgp]confederation peer-as 64513
[R2-bgp]peer 12.1.1.1 as 1
[R2-bgp]
[R2-bgp]peer 172.16.0.3 as 64512
[R2-bgp]peer 172.16.0.3 connect-interface l0
[R2-bgp]peer 172.16.0.3 next-hop-local
[R2-bgp]
[R2-bgp]peer 172.16.1.22 as 64513
[R2-bgp]peer 172.16.1.22 next-hop-local
[R3]bgp 64512
[R3-bgp]confederation id 2
[R3-bgp]peer 172.16.0.2 as 64512
[R3-bgp]peer 172.16.0.2 connect-interface l0
[R3-bgp]
[R3-bgp]peer 172.16.0.4 as 64512
[R3-bgp]peer 172.16.0.4 connect-interface l0
[R4]bgp 64512
[R4-bgp]confederation id 2
[R4-bgp]peer 172.16.0.3 as 64512
[R4-bgp]peer 172.16.0.3 connect-interface l0
[R4-bgp]peer 172.16.0.3 next-hop-local
R2和R5已经建邻,所以R4和R7可以建邻,也可以不建邻;但R4对R3也需要修改下一跳为本地
[R5]bgp 64513
[R5-bgp]confederation id 2
[R5-bgp]confederation peer-as 64512
[R5-bgp]peer 172.16.1.21 as 64512
[R5-bgp]peer 172.16.1.21 next-hop-local
[R5-bgp]
[R5-bgp]peer 172.16.0.6 as 64513
[R5-bgp]peer 172.16.0.6 connect-interface l0
[R5-bgp]peer 172.16.0.6 next-hop-local
[R6]bgp 64513
[R6-bgp]confederation id 2
[R6-bgp]peer 172.16.0.5 as 64513
[R6-bgp]peer 172.16.0.5 connect-interface l0
[R6-bgp]
[R6-bgp]peer 172.16.0.7 as 64513
[R6-bgp]peer 172.16.0.7 connect-interface l0
[R7]bgp 64513
[R7-bgp]confederation id 2
[R7-bgp]peer 172.16.0.6 as 64513
[R7-bgp]peer 172.16.0.6 connect-interface l0
[R7-bgp]peer 172.16.0.6 next-hop-local
[R7-bgp]
[R7-bgp]peer 34.1.1.8 as 3
[R8]bgp 3
[R8-bgp]peer 34.1.1.7 as 2
检查:
4、宣告网段
[R1]bgp 1
[R1-bgp]network 172.16.0.1 32
[R8-bgp]ne
[R8-bgp]network 172.16.0.8 32
因为水平分割,所以R4、R7、R8学不到172.16.0.1
同理R2、R5、R1学不到172.16.0.8 32
通过配置反射器解决
5、配置反射器
[R3]bgp 64512
[R3-bgp]peer 172.16.0.2 reflect-client
[R3-bgp]peer 172.16.0.4 reflect-client
[R6]bgp 64513
[R6-bgp]peer 172.16.0.5 reflect-client
[R6-bgp]peer 172.16.0.7 reflect-client
检查:
测试:
6、宣告AS2中的建邻地址和业务地址
为减少路由条目数量,我们可以直接宣告172.16.0.0/16,但会出现环路。
为避免环路出现,我们可以先配置一条空节点
[R2]ip route-static 172.16.0.0 16 NULL 0
[R2]bgp 64512
[R2-bgp]network 172.16.0.0 16
[R7]ip route-static 172.16.0.0 16 NULL 0
[R7]bgp 64513
[R7-bgp]network 172.16.0.0 16
测试:
7、创建隧道
[R1]int Tunnel 0/0/0
[R1-Tunnel0/0/0]ip add 10.1.1.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]int Tunnel 0/0/0
[R8-Tunnel0/0/0]ip add 10.1.1.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 10.1.1.2
[R8]ip route-static 192.168.1.0 24 10.1.1.1
测试: