DMVPN 案例配置及原理分析

简介: DMVPN 案例配置及原理分析

前言:

动态多点虚拟专网DMVPN:思科私有协议,基于MGRE实现高速和高扩展性的IPSec VPN技术;企业希望通过公网安全地将各地的分支机构与中心站点之间联系起来,构成星型拓扑结构网络并通过IPSec隧道来保证内部通信流量的安全;但大多数企业的数据都集中在中心站点,如果两个分支之间需要通信,则要通过中心站点,这样就造成了较大的网络时延;尤其在视频、语音应用中,这种时延会严重影响企业网络正常运行;DMVPN技术的出现,就是为企业解决了这方面的难题。

一、拓扑



640.jpg

要求:


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


640.png


其中第一句是修改Gre 的工作模式为多点GRE,即MGRE。

接着在R2、R3 上完成相同的配置,并且MGRE 的IP 地址分别为192.168.1.2/24、192.168.1.3/24,在下图中没有贴出IP 地址的配置,但实质已经配过了


640.png

640.png

配置完成后,我们可以从R2 上访问另外R1、R3,看能否成功?

640.png


明显看到R2 不能访问R1,同样R2 也不能访问R3,其质上,此时MGRE 的三个端口都没法互访,分析原因,这是因为R2 要发包给R1,必须知道R1 上的MGRE 地址192.168.1.1/24对应的MAC 地址是多少,如果不知道这个MAC 地址,那么根本不可能完成访问。因此在MGRE 的基础上还要配置NHRP,即下一跳解析协议,


3.NHRP配置


1)Hub节点——即中心节点R1的配置


640.png

2)Spoke节点——即分支节点R2、R3的配置

640.png

640.png


其中命令解释如下:

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 上进行互访测试


640.png

640.png

640.png

4.在MGRE上配置动态路由协议,这里选择EIGRP

640.png

640.png

640.png

查看R1 即HUB 上的EIGRP 邻居

640.png


明显可以看到R1 和R2、R3 分别建立了EIGRP 邻居。

同时也可以看到R1 即HUB 上已获得了去往两个SPOKE 节点R2、R3 的EIGRP 路由


640.png

再查看两个SPOKE 节点上的EIGRP 邻居及路由

640.png

640.png

可以看到两个SPOKE 节点彼此间并没有建立EIGRP 邻居关系,仅仅和HUB 即R1 建立了EIGRP 邻居,并且没有学到彼此的环回口路由,这个现象是由EIGRP 的水平分割引起的,现在HUB 节点即R1 上关闭EIGRP 的水平分割

640.png


再查看两个SPOKE 节点R2、R3 上的EIGRP 邻居和路由表


640.png

640.png


可以看到,虽然两个SPOKE 节点R2、R3 间没有直接建立EIGRP 邻居,但是学习到了去往对方环回口的路由,但该路由的下一跳地址是HUB 节点的Tunnel 口地址,而不是对方

640.png

该句的作用是:HUB 节点即R1 上的Tunnel 口不能成为Eigrp 路由的下一跳地址,再查看R2、R3 的路由表

640.png

发现SPOKE 节点R2 上去往另一SPOKE 节点R3 的环回口的路由,其下一跳已经由HUB 节点R1 的Tunnel 地址变成了R3 的Tunnel 地址。查看R3,有相同的变化。

640.png

5.在MGRE 的基础上完成IPSEC 的配置,


1)HUB 节点R1 上的配置

640.png

2)SPOKE 节点R2、R3 上的配置

640.png

640.png


注意: 在这里采用了GRE Over IPSEC 的第二种配法,即新式配法。

6.查看ISAKMP SA 和IPSEC SA

640.png

640.png

直接测试,并抓包

640.png

640.jpg

640.jpg640.png


640.jpg

明显可以看到三个节点在互访时,都进行了加密,即DMVPN 配置成功。

相关文章
|
存储 设计模式 负载均衡
一文读懂Spring动态配置多数据源---源码详细分析(下)
一文读懂Spring动态配置多数据源---源码详细分析
2106 0
一文读懂Spring动态配置多数据源---源码详细分析(下)
|
测试技术 iOS开发 数据格式
WDA原理分析
1、什么是WDA WebDriverAgent是Facebook 在17年的 SeleniumConf 大会上推出了一款新的iOS移动测试框架。 下面摘录一段官方对于WebDriverAgent的介绍字段:(官方文档:https://github.com/facebook/WebDriverAgent) WebDriverAgent 在 iOS 端实现了一个 WebDriver server ,借助这个 server 我们可以远程控制 iOS 设备。
12053 0
|
Java 数据库连接
简述使用Hibernate框架的几个步骤
简述使用Hibernate框架的几个步骤
56 0
|
缓存 Java 数据安全/隐私保护
Spring 循环依赖问题解决方案以及简要源码流程剖析
Spring 循环依赖问题解决方案以及简要源码流程剖析
120 0
|
存储 资源调度 Kubernetes
K8S | 核心应用原理分析
K8S作为开源的容器编排引擎,用来对容器化应用进行自动化部署、 扩缩和管理;
162 0
K8S | 核心应用原理分析
|
缓存 Java Spring
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(二)(下)
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(二)(下)
83 0
|
存储 XML 缓存
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(一)(下)
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(一)
89 0
|
XML 存储 Java
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(一)(上)
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(一)
112 0
|
存储 XML 前端开发
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(二)(上)
Spring 核心方法 refresh 刷新流程简要概述及相关源码扩展实现(二)
69 0
|
XML Java 程序员
【框架源码】SpringBoot核心源码解读之自动配置源码分析
【框架源码】SpringBoot核心源码解读之自动配置源码分析
【框架源码】SpringBoot核心源码解读之自动配置源码分析