一、实验要求
如下图:
二、实验分析
将(一)中的图左上角要求拆分,分析实验需求,得到以下几点:
- R6为ISP只能配置IP地址
- R1-R5的环回为私有网段
- R1/4/5为全连的MGRE结构
- R1/2/3为星型的拓扑结构
- R1为中心站点所有私有网段可以互相通讯,私有网段使用OSPF完成。
- 所有私有网段可以互相通讯,私有网段使用OSPF完成。
配置思路如下
- 开启隧道
- 给隧道端口配置IP
- 定义封装协议
- 定义源
- 使用NHRP协议获取目标IP
- 告诉分支中心是谁,以及怎么把汇报信息发给中心
R1/2/3为标准的MGRE结构,以R1为中心,R2、R3分支,需要运行OSPF,会有一些问题:
只有中心获取到分支的Hello报文,分支之间没有获取到任何信息
嘶,怎么办呢,嗷嗷,OSPF默认是P2P网络,P2P不支持广播传播,那么直接来个中心开启伪广播。
那么接下来问题来了
中心开启伪广播之后,中心与其中一个分支建立了邻接关系,但是分支之间没有信息
这个问题好搞,两种方法,一个是修改接口默认网络类型为Braodcast(以太网类型),另一个是把接口的网络类型修改为P2MP类型。
但是想想,还是麻烦
分支之间没有对方的信息,分支不见面。中心与分支的DR和BDR认知不一致,网络中一些路由无法获取分支信息
这个问题的解决方法也两种,一种是修改分支路由选举优先级为0,让它放弃DR和BDR的选举,另一种修改中心路由的选举优先级,把它的级别提高,确保它是DR。
配置思路有了,不多bb直接开冲,只要在边界路由做一个NAT,为了保证全网通,要在边界路由配置指向ISP设备的缺省路由,如此可以实现所有私有网段可以互相通讯。
三、配置内容
3.1 拓扑搭建
如下图:
3.2 ip配置
R1
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip ad 12.0.0.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip ad 17.0.0.1 24
R2
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip ad 16.0.0.1 24
R3
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip ad 15.0.0.1 24
R4
[R4]int g0/0/0
[R4-GigabitEthernet0/0/0]ip ad 14.0.0.2 24
R5
[R5]int g0/0/0
[R5-GigabitEthernet0/0/0]ip ad 13.0.0.1
R6
[R6]int g0/0/0
[R6-GigabitEthernet0/0/0]ip ad 12.0.0.2 24
[R6-GigabitEthernet0/0/0]int g0/0/1
[R6-GigabitEthernet0/0/1]ip ad 17.0.0.2 24
[R6-GigabitEthernet0/0/1]int g3/0/0
[R6-GigabitEthernet3/0/0]ip ad 15.0.0.2 24
[R6-GigabitEthernet3/0/0]int g4/0/0
[R6-GigabitEthernet4/0/0]ip ad 14.0.0.2 24
[R6-GigabitEthernet4/0/0]int g2/0/0
[R6-GigabitEthernet2/0/0]ip ad 16.0.0.2 24
[R6-GigabitEthernet2/0/0]int g0/0/2
[R6-GigabitEthernet0/0/2]ip ad 13.0.0.2 24
3.3配置NAT并且接口调用NAT
R1
[R1]acl number 2000
[R1-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.255 #配置NAT
[R1-acl-basic-2000]int g0/0/0
[R1-GigabitEthernet0/0/0]nat outbound 2000 #接口G0/0/0调用NAT
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]nat outbount 2000 #接口G0/0/1调用NAT
R2
[R2]acl num 2000
[R2-acl-basic-2000]ru 5 per sou 192.168.5.0 0.0.0.255 #配置NAT
[R2-acl-basic-2000]int g0/0/0
[R2-GigabitEthernet0/0/0]nat out 2000 #接口调用NAT
R3
[R3]acl num 2000
[R3-acl-basic-2000]ru 5 per sou 192.168.4.0 0.0.0.255 #配置NAT
[R3-acl-basic-2000]int g0/0/0
[R3-GigabitEthernet0/0/0]nat out 2000 #接口调用NAT
R4
[R4]acl num 2000
[R4-acl-basic-2000]ru 5 per sou 192.168.3.0 0.0.0.255 #配置NAT
[R4-acl-basic-2000]int g0/0/0
[R4-GigabitEthernet0/0/0]nat out 2000 #接口调用NAT
R5
[R5]acl num 2000
[R5-acl-basic-2000]ru 5 per sou 192.168.3.0 0.0.0.255 #配置NAT
[R5-acl-basic-2000]int g0/0/0
[R5-GigabitEthernet0/0/0]nat out 2000 #接口调用NAT
3.4配置GRE
R1
[R1]int t0/0/0 #创建tunnel接口
[R1-Tunnel0/0/0]ip ad 192.168.6.1 255.255.255.0 #配置私网IP地址
[R1-Tunnel0/0/0]tunnel-protocol gre p2mp #定义封装方式为MGRE
[R1-Tunnel0/0/0]sou 12.0.0.1 #定义封装内容
[R1-Tunnel0/0/0]nhrp network-id 100 #创建NHRP域
[R1-Tunnel0/0/0]nhrp entry 192.168.6.3 14.0.0.1 register #MGRE中心隧道ip地址
[R1-Tunnel0/0/0]nhrp entry 192.168.6.2 13.0.0.1 register #MGRE中心隧道ip地址
[R1-Tunnel0/0/0]ospf network-type broadcast #更改tunnel口的链路类型为broadcast
[R1-Tunnel0/0/0]ospf dr-priority 0 #修改选举优先级,放弃选举
[R1-Tunnel0/0/0]nhrp entry multicast dynamic #开启伪广播
R2
[R2]int t0/0/1
[R2-Tunnel0/0/1]ip ad 192.168.7.2 24
[R2-Tunnel0/0/1]tunnel-protocol gre p2mp
[R2-Tunnel0/0/1]sou 16.0.0.1 #定义封装内容
[R2-Tunnel0/0/1]nhrp network-id 101
[R2-Tunnel0/0/1]nhrp entry 192.168.7.1 17.0.0.1 register #MGRE中心隧道ip地址
[R2-Tunnel0/0/1]ospf network-type p2mp #修改网络类型选举优先级
[R2-Tunnel0/0/1]ospf dr-priority 0
R3
[R3]int t0/0/1
[R3-Tunnel0/0/1]ip ad 192.168.7.3 24
[R3-Tunnel0/0/1]tunnel-protocol gre p2mp
[R3-Tunnel0/0/1]sou 15.0.0.1 #定义封装内容
[R3-Tunnel0/0/1]nhrp network-id 101
[R3-Tunnel0/0/1]nhrp entry 192.168.7.1 17.0.0.1 register
[R3-Tunnel0/0/1]ospf network-type p2mp #更改tunnel口的链路类型为p2mp
[R3-Tunnel0/0/1]ospf dr-priority 0
R4
[R4]int t0/0/0
[R4-Tunnel0/0/0]ip ad 192.168.6.3 24
[R4-Tunnel0/0/0]tunnel-protocol gre p2mp
[R4-Tunnel0/0/0]sou 14.0.0.1
[R4-Tunnel0/0/0]nhrp entry multicast dynamic #开启伪广播
[R4-Tunnel0/0/0]nhrp entry 192.168.6.1 12.0.0.1 register
[R4-Tunnel0/0/0]nhrp entry 192.168.6.2 13.0.0.1 register #MGRE中心隧道ip地址
[R4-Tunnel0/0/0]ospf network-type broadcast #更改tunnel口的链路类型为broadcast
[R4-Tunnel0/0/0]ospf dr-priority 0 #修改选举优先级,放弃选举
[R5]int t0/0/0
[R5-Tunnel0/0/0]ip ad 192.168.6.3 24
[R5-Tunnel0/0/0]tunnel-protocol gre p2mp
[R5-Tunnel0/0/0]sou 14.0.0.1
[R5-Tunnel0/0/0]nhrp network-id 100
[R5-Tunnel0/0/0]nhrp entry multicast dynamic
[R5-Tunnel0/0/0]nhrp entry 192.168.6.1 12.0.0.1 register
[R5-Tunnel0/0/0]nhrp entry 192.168.6.3 14.0.0.1 register
[R5-Tunnel0/0/0]ospf network-type broadcast
[R5-Tunnel0/0/0]ospf dr-priority 2
3.5配置OSPF和缺省
R1
[R1]ospf 1 router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]net 192.168.1.0 0.0.0.255 #配置OSPF,宣告两个tunnel口和环回
[R1-ospf-1-area-0.0.0.0]net 192.168.6.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]net 192.168.7.0 0.0.0.255
[R1]ip route-static 0.0.0.0 0.0.0.0 12.0.0.2 #配置缺省指向公网
[R1]ip route-static 0.0.0.0 0.0.0.0 17.0.0.2
R2
[R2]ospf 1 router-id 2.2.2.2 #配置OSPF
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.7.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.5.0 0.0.0.255
[R2]ip route-static 0.0.0.0 0.0.0.0 16.0.0.2 #配置缺省
R3
[R3]OSPF router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]net 192.168.7.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]net 192.168.4.0 0.0.0.255
[R3]ip route-static 0.0.0.0 0.0.0.0 15.0.0.2
R4
[R4]ospf 1 router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]net 192.168.6.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]net 192.168.3.0 0.0.0.255
[R4]ip route-static 0.0.0.0 0.0.0.0 14.0.0.2
R5
[R5]ospf 1 router-id 5.5.5.5
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]net 192.168.6.0 0.0.0.255
[R5-ospf-1-area-0.0.0.0]net 192.168.2.0 0.0.0.255
[R5]ip route-static 0.0.0.0 0.0.0.0 13.0.0.2
检验
可ping通,试验结束