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