DMVPN笔记分享

传统VPN所带来的问题

1.VPN数量过多,维护困难,对设备性能占用更多

2.VPN不能实现动态切换

3.适用于小规模的VPN网络

DMVPN 动态多点VPN,是思科私有的一个VPN

01

GRE 通用路由封装

GRE 通用路由封装,可以支持常见的路由协议,本质上是建立一个隧道,在隧道可以传输多种流量。

优点:支持多种协议,传输多种流量ipv4 ipv6

缺点:仅仅只是提供一个隧道,保证专用性。

02

GRE OVER IPSec

DMVPN具备了GRE VPN的优缺点

DMVPN + IPSec VPN

DMVPN的本质:依靠路由表来决定和谁建立VPN

DMVPN :动态的方式来建立,对于一个隧道而言,要建立隧道由关键的2个参数,隧道的源地址  隧道的目的地址

MGRE:1个接口下可以建立多条的VPN

03

DMVPN的工作原理

1)HUB和SPOKE的VPN是通过手动的方式来建立  目的是为了让HUB和SPOKE 逻辑上直连,运行动态路由协议,学习私网的路由

物理地址:公网地址

隧道地址:逻辑地址

2)SPOKE和SPOKE的VPN是通过动态的方式来建立

当SPOKE 刚启动时,运行NHRP协议,将自己的NHRP映射关系发送给HUB。

HUB和SPOKE---建立VPN---运行路由协议,学习路由信息

当SPOKE访问SPOKE,查找路由表,得到下一跳地址(tunnel地址)---NHRP映射表---物理地址---把他作为VPN的目的地址

04

路由表  NHRP数据库

DMVPN本质是GRE的VPN,

GRE VPN要建立,需要隧道的源地址和目的地址

通过路由表得到下一跳地址(tunnel地址)

通过NHRP数据库,得到隧道的目的地址(物理地址)

根据路由表的下一跳地址 查表得到物理地址,再把物理地址作为隧道目的地址

DMVPN---GRE---隧道的源地址和目的地址?

先查路由表---在查NHRP的数据库—得到目的地址

05

NHRP的数据库如何生成?

当SPOKE刚启动时,会发送注册信息(包含了tunnel-NBMA地址的映射关系)到HUB,HUB就有了完整的NHRP信息库。

触发SPOKE和HUB之间VPN的建立。

当SPOKE去查找NHRP信息库的时候,发现没有对应的tunnel-NBMA的映射关系,向HUB去查询。

06

如何生成路由表?

通过手动的方式在HUB和SPOKE建立VPN,保证了HUB和SPOKE逻辑上的直连,再运行路由协议,生成路由表

07

DMVPN的配置步骤

1、 先保证tunnel source(公网地址)可以通信

2、 配置MGRE

3、 配置NHRP,保证NHRP数据库完整

SPOKE:

指定NHRP服务器的地址

需要和NHRP服务器建立一个VPN

4、 配置路由协议,保证路由信息库完整

5、 配置IPSec VPN(可选)

08

DMVPN的配置步骤

1、 先保证tunnel source(公网地址)可以通信

2、 配置MGRE

目的是为了让一个接口支持建立多个VPN

interface Tunnel0

tunnel source Serial1/1

tunnel mode gre multipoint

3、 配置NHRP,保证NHRP数据库完整

SPOKE

Interface tunnel 0

ip nhrp authentication 123SPOTO

ip nhrp map 172.16.1.1 14.1.1.1

ip nhrp network-id 123

ip nhrp nhs 172.16.1.1

ip nhrp map multicast 14.1.1.1

SPOKE2#show ip nhrp

Show dmvpn

测试tunnel的地址是否能够通信

4、 配置路由协议,保证路由信息库完整

明确路由协议是通过tunnel0口建立邻居,传递路由信息

运行距离矢量路由协议时,需要关闭水平分割。

优化下一跳

1) 使用EIGRP的机制:no ip next-hop-self eigrp 100

2) 使用NHRP的机制

Hub:ip nhrp redirect  spoke:ip nhrp shortcut

第一次走HUB,后面SPOKE-SPOKE

路由表是看不出来。

如果配置的是OSPF协议

1) 接口的网卡类型,默认是P-T-P,需要修改成broadcast

2) DR BDR的选举,控制HUB是DR

5、 配置IPSec VPN(可选)

SPOKE---HUB发送注册消息需要一个VPN

VPN的建立需要至少隧道的源地址和隧道的目的地址

隧道的目的地址需要通过查找NHRP数据库获得

手动写入一条关于HUB设备tunnel地址和物理地址的映射关系

09

DMVPN的排错步骤

1、 先查看tunnel source 是否可以通信

不可以通信:??

2、 Show dmvpn 查看VPN是否建立

没有建立?

去查看tunnel口下的MGRE NHRP的配置

3、 测试tunnel 地址的连通性

4、 查看路由协议的邻居及路由条目

路由协议的配置,tunnel口要宣告

组播映射

MPLS VPN:依靠路由表,压入标签,没有很明确的隧道机制,更多的是依靠LSP,让他有一个固定的路径。

IPSec VPN:隧道目的地址是通过手动指定,手动建立的VPN

依靠ACL进行匹配,需要做流量分离

DMVPN:依靠路由表,查NHRP数据库得到对应的物理地址,作为隧道的目的地址。隧道目的地址是通过动态的方式去获得的,动态多点VPN

(0)

相关推荐