前言:
动态多点虚拟专网DMVPN:思科私有协议,基于MGRE实现高速和高扩展性的IPSec VPN技术;企业希望通过公网安全地将各地的分支机构与中心站点之间联系起来,构成星型拓扑结构网络并通过IPSec隧道来保证内部通信流量的安全;但大多数企业的数据都集中在中心站点,如果两个分支之间需要通信,则要通过中心站点,这样就造成了较大的网络时延;尤其在视频、语音应用中,这种时延会严重影响企业网络正常运行;DMVPN技术的出现,就是为企业解决了这方面的难题。
一、拓扑
要求:
1.按图中要求,在R1、R2、R3 上配置MGRE,其中MGRE 的IP 地址为192.168.1.0/24。2.在MGRE 上运行IGP 协议,使R1、R2、R3 背后的环回口可以通过IGP 相通。3.在MGRE 的基础上配置IPSEC VPN,即DMVPN,并且分析其工作过程。
二、配置
1.基本IP地址配置(省略)
2.配置MGRE
其中第一句是修改Gre 的工作模式为多点GRE,即MGRE。
接着在R2、R3 上完成相同的配置,并且MGRE 的IP 地址分别为192.168.1.2/24、192.168.1.3/24,在下图中没有贴出IP 地址的配置,但实质已经配过了
配置完成后,我们可以从R2 上访问另外R1、R3,看能否成功?
明显看到R2 不能访问R1,同样R2 也不能访问R3,其质上,此时MGRE 的三个端口都没法互访,分析原因,这是因为R2 要发包给R1,必须知道R1 上的MGRE 地址192.168.1.1/24对应的MAC 地址是多少,如果不知道这个MAC 地址,那么根本不可能完成访问。因此在MGRE 的基础上还要配置NHRP,即下一跳解析协议,
3.NHRP配置
1)Hub节点——即中心节点R1的配置
2)Spoke节点——即分支节点R2、R3的配置
明显看到R2 不能访问R1,同样R2 也不能访问R3,其质上,此时MGRE 的三个端口都没法互访,分析原因,这是因为R2 要发包给R1,必须知道R1 上的MGRE 地址192.168.1.1/24对应的MAC 地址是多少,如果不知道这个MAC 地址,那么根本不可能完成访问。因此在MGRE 的基础上还要配置NHRP,即下一跳解析协议,
3.NHRP配置
1)Hub节点——即中心节点R1的配置
2)Spoke节点——即分支节点R2、R3的配置
其中命令解释如下:
Ip nhrp map 192.168.1.1 123.1.1.1:让SPOKE 知道HUB 的虚拟地址(tunnel 口地址)和其
物理地址(Tunnel 源的物理地址)之间的对应关系。
Ip nhrp map multicast 123.1.1.1:即让SPOKE 向物理地址为123.1.1.1 的接口发组播包,
因为此时的MGRE 是一个NBMA 网络。
Ip nhrp nhs 192.168.1.1:让SPOKE 知道nhrp 服务器的地址,即向该服务器进行注册。
配置完成后,我们可以在HUB 和SPOKE 上进行互访测试
4.在MGRE上配置动态路由协议,这里选择EIGRP
查看R1 即HUB 上的EIGRP 邻居
明显可以看到R1 和R2、R3 分别建立了EIGRP 邻居。
同时也可以看到R1 即HUB 上已获得了去往两个SPOKE 节点R2、R3 的EIGRP 路由
再查看两个SPOKE 节点上的EIGRP 邻居及路由
可以看到两个SPOKE 节点彼此间并没有建立EIGRP 邻居关系,仅仅和HUB 即R1 建立了EIGRP 邻居,并且没有学到彼此的环回口路由,这个现象是由EIGRP 的水平分割引起的,现在HUB 节点即R1 上关闭EIGRP 的水平分割
再查看两个SPOKE 节点R2、R3 上的EIGRP 邻居和路由表
可以看到,虽然两个SPOKE 节点R2、R3 间没有直接建立EIGRP 邻居,但是学习到了去往对方环回口的路由,但该路由的下一跳地址是HUB 节点的Tunnel 口地址,而不是对方的Tunnel 口地址,现我们再配置如下
该句的作用是:HUB 节点即R1 上的Tunnel 口不能成为Eigrp 路由的下一跳地址,再查看R2、R3 的路由表
发现SPOKE 节点R2 上去往另一SPOKE 节点R3 的环回口的路由,其下一跳已经由HUB 节点R1 的Tunnel 地址变成了R3 的Tunnel 地址。查看R3,有相同的变化。
5.在MGRE 的基础上完成IPSEC 的配置,
1)HUB 节点R1 上的配置
2)SPOKE 节点R2、R3 上的配置
注意: 在这里采用了GRE Over IPSEC 的第二种配法,即新式配法。
6.查看ISAKMP SA 和IPSEC SA
直接测试,并抓包
明显可以看到三个节点在互访时,都进行了加密,即DMVPN 配置成功。