多厂商VPN系列之十:DMVPN的三个发展阶段 | 网络之路博客(公众号同名)(其他平台网络之路Blog)
登录
  • 欢迎网络之路博客网站,分享有用的知识点,公众号:网络之路博客,B站:网络之路Blog
  • 如果您觉得本站对您有帮助,那么赶紧使用Ctrl+D 收藏吧,支持我们下
  • 远程技术支持的淘宝店铺已经开张了哦,传送门:需要的朋友可以点击查看

多厂商VPN系列之十:DMVPN的三个发展阶段

【汇总】学习VPN其实很简单

文档帖子汇总学习视频Book与实验手册学习必备软件
    博主也只是业余时间写写技术文档,请大家见谅,大家觉得不错的话,可以推荐给朋友哦,博主会努力推出更好的系列文档的。如果大家有任何疑问或者文中有错误跟疏忽的地方,欢迎大家留言指出,博主看到后会第一时间修改,谢谢大家的支持,更多技术文章尽在网络之路博客,http://ccieh3c.com

拓扑

 image001.png

我们常常学习DMVPN,通常介绍的为第二个发展阶段,这里所谓的阶段不是IPSec协商的阶段,而是DMVPN这个技术发展的阶段,不同的阶段有着不一样的功能。

DMVPN的 Phase 1

Phase 1也就是DMVPN刚刚出来的时候,通常Hub端利用NHRP和MGRE来和spoke之间建立邻居,而spoke则只使用gre,形成一个点对点的隧道,这样一样,spoke之间互访必须通过Hub端来转发,这样大大的增加了Hub端的负担, Phase 1只是提供了一个更好的连接Spoke的方案,也就是hub不需要更多的配置,就可以容纳新增加的Spoke。

DMVPN Phase 2

phase 2也就是我们经常学习,经常见到的阶段了,Hub和Spoke之间都利用MGRE和NHRP来建立隧道,当Spoke端刚启动,它就会自动发送NHRP消息到Hub进行注册,这样一来Hub端都有了Spoke的地址信息了,分析下它们通信的过程。
1、Spoke1向Spoke2发送数据包进行通信,这时候的数据包是由中心代为转发的。(路由表有Spoke的路由)
2、同时Spoke1会向Hub发送一个NHRP的询问,询问Spoke2的地址信息
3 、Hub回应Spoke1的询问
4、Spoke1收到这个回应后,直接与Spoke2建立IPSec VPN 。
5、Spoke2要回应Spoke1的数据包,它也会发送NHRP的查询给Hub.
6、Hub回应,Spoke2收到,知道数据包怎么回应了,试图建立新的VPN隧道,发现已经有了一个VPN的隧道,所有,后续的数据包都通过这个隧道来传递,而不通过Hub了。

Phase 2的特点,虽然Spoke之间可以互访不通过Hub,但是,在建立初期,Spoke之间都需要询问Hub来寻找其余的Spoke地址信息,并且还需要代为转发数据包(建立VPN的时候),这样对于 有许多分支的Hub来说,也是一个非常大的负担,特别是层次化的设计利用第二阶段,那么所有的流量都必须通过Hub转发。

DMVPN Phase 3

Phase 3 提供了一个更为灵活的设计方案,优化了许多不足的地方,比如动态路由协议不能进行汇总,所有的响应都是由Hub来完成。

 image002.jpg

(这图是截至秦柯老师的博客的图,呵呵,我对画图方面一直不行)

1 、分支站点1向分支站点2发送数据包,中心收到以后,会回复NHRP重定向消息,这个重定向消息包含最优的下一跳信息(也就是S分支站点二的,重定向功能是被动态路由协议识别的,能优化下一跳的作用)
2、分支一收到NHRP重定向消息后,得知最优的下一跳是分支二,会发送一个NHRP解析请求给Hub。
3 、Hub收到以后,它并不会处理这个解析请求,而是直接转发给分支站点二,由请求的目的地来处理。
4、分支二收到请求以后,会主动发送与分支一的IPSec隧道建立 。(这时候分支二也知道分支一的地址信息)
5、IPSec隧道建立以后,分支二在这个安全的隧道里面回应这个NHRP的请求信息。
6、后续的数据包在这两个站点转发,而不需要经过中心了。

Phase 3的特点:这里HUB利用了NHRP的重定向功能,这个重定向功能能够优化路由,虽然我们在路由表中看见下一跳是Hub端,但是,通过重定向可以让Spoke知道最优的下一跳是谁,从而优化了路由表。 由于下一跳都是Hub了,所以,Hub端可以做路由汇总,这样优化了分支之间的路由表,甚至可以使用静态路由来完成整个设计。 在层次化的设计中,Spoke之间通信无需经过Hub,直接在SPoke之间转发, 另外一点,也是官方提到的,Phase 2是进程转发的,而Phase 3是由CEF处理的,在资源发面也是很优化的。

 image003.png

关于Phase 3的配置与Phase 2的没什么不同,就只需要在Hub和Spoke之间各敲一句话。这里Hub的内部为192.168.1.0 ,Spoke1为2.0,Spoke2为3.0

Hub

interface Tunnel0
ip address 172.16.1.1 255.255.255.0
no ip redirects
ip nhrp map multicast dynamic
ip nhrp network-id 10
ip nhrp redirect
tunnel source GigabitEthernet0/0
tunnel mode gre multipoint
tunnel protection ipsec profile ipseprofile
!

crypto isakmp key cisco address 0.0.0.0 0.0.0.0
!
!
!
crypto ipsec profile ipseprofile

ip route 192.168.2.0 255.255.255.0 172.16.1.2
ip route 192.168.3.0 255.255.255.0 172.16.1.3
!
!
interface GigabitEthernet0/0
ip address 12.1.1.1 255.255.255.0

interface Loopback0
ip address 192.168.1.1 255.255.255.255

Spoke1

interface Tunnel0
ip address 172.16.1.2 255.255.255.0
no ip redirects
ip nhrp map 172.16.1.1 12.1.1.1
ip nhrp map multicast 12.1.1.1
ip nhrp network-id 10
ip nhrp nhs 172.16.1.1
ip nhrp shortcut
tunnel source GigabitEthernet0/0
tunnel mode gre multipoint
tunnel protection ipsec profile ipsecprofile

interface GigabitEthernet0/0
ip address 12.1.1.2 255.255.255.0

interface Loopback0
ip address 192.168.2.1 255.255.255.255

crypto isakmp key cisco address 0.0.0.0 0.0.0.0
!
!
!
crypto ipsec profile ipsecprofile

!
ip route 192.168.0.0 255.255.0.0 172.16.1.1

Spoke2

interface Tunnel0
ip address 172.16.1.3 255.255.255.0
no ip redirects
ip nhrp map multicast 12.1.1.1
ip nhrp map 172.16.1.1 12.1.1.1
ip nhrp network-id 10
ip nhrp nhs 172.16.1.1
ip nhrp shortcut
tunnel source GigabitEthernet0/0
tunnel mode gre multipoint
tunnel protection ipsec profile ipsecprofile

interface GigabitEthernet0/0
ip address 12.1.1.3 255.255.255.0

!
interface Loopback0
ip address 192.168.3.1 255.255.255.0

crypto isakmp key cisco address 0.0.0.0 0.0.0.0
!
!
!
crypto ipsec profile ipsecprofile

ip route 192.168.0.0 255.255.0.0 172.16.1.1

 image004.jpg

这里我使用的是15.0的IOS,所有,第一二段策略都有默认的,并且隧道是自动建立的。发现,这里没使用动态路由,而是使用静态路由,静态路由其实就Hub麻烦一点点,但是,Spoke是很简单的,因为支持路由汇总了嘛。这样对于带宽的消耗和加解密也减少了。

 image005.png

当Spoke1去往2的数据包时候,触发了默认策略的建立,这也证明了Spoke的流量不是由Hub转发的,而是Spoke之间直接建立了按需的隧道。

测试路由协议(EIGRP和OSPF)

Hub 端

router eigrp 1
network 172.16.1.0 0.0.0.255
network 192.168.1.0
!
interface Tunnel0
ip summary-address eigrp 1 192.168.0.0 255.255.0.0

Spoke 1

router eigrp 1
network 172.16.1.0 0.0.0.255
network 192.168.2.0

Spoke2

router eigrp 1
network 172.16.1.0 0.0.0.255
network 192.168.3.0

PS:15.0的EIGRP 默认就是no auto-summary 了,所以在show run是不显示默认配置的。另外,关于下一跳优化和水平分割问题,因为利用了重定向功能,所以这些问题都不会存在了。

这里在Hub直接做了汇总,看下路由表

 image006.png

在Phases 3一般情况下是不会丢包的,Spoke1只有一条汇总路由,当发送SPoke2的流量的时候,触发按需的VPN隧道建立。

关于OSPF

Hub端

router ospf 1
router-id 1.1.1.1
log-adjacency-changes
network 172.16.1.0 0.0.0.255 area 1
network 192.168.1.0 0.0.0.255 area 1

interface Tunnel0
ip ospf network broadcast
ip ospf priority 255

Spoke1

router ospf 1
router-id 2.2.2.2
log-adjacency-changes
network 172.16.1.0 0.0.0.255 area 1
network 192.168.2.0 0.0.0.255 area 1

interface Tunnel0
ip ospf network broadcast
ip ospf priority 0

Spoke 2

router ospf 1
router-id 3.3.3.3
log-adjacency-changes
network 172.16.1.0 0.0.0.255 area 1
network 192.168.3.0 0.0.0.255 area 1

interface Tunnel0
ip ospf network broadcast
ip ospf priority 0

在phases 3,OSPF 支持broadcost和point-to-mulitpoint的方式建立邻居,因为有NHRP重定向优化,但是OSPF有个缺点,就是不好做汇总。

ip nhrp redirect是开启重定向功能, 而ip nhrp shortcut 是让Spoke端支持捷径功能。

 image007.jpg

优化方面

1、官方建议MTU改为1400,TCP的MSS改为1360,这样的情况下不会造成分片,因为是tunnel口,所以不会影响其余流量的吞吐量

2、关于路由方面,建议把hello包的时间间隔改长点,因为它消耗的是Intenet的带宽和路由器的资源(需要加解密)

3、路由方面,建议使用静态和EIGRP,因为汇总更容易实现,并且推荐是静态,因为不会占用带宽和路由器的资源

下载对应文档

百度盘下载博客资源汇总与学习思路
如果下载地址失效,请联系博主或者在下面留言,谢谢。下面也有其他您需要的资源推荐哦

关于博客资源下载说明

首先,感谢大家对网络之路博客的支持,本站所有资源都是开放下载,不做任何限制,资源都是上传在百度盘,分为两种类型:
(1)第一种是书籍PDF与视频类,全部放在博客分享,觉得对大家学习有帮助的博主会收集好、然后以博主的经验整理分类后排序好分享出来。
(2)第二种是技术性文章与视频,全部放在公众号(网络之路博客)/B站(网络之路Blog)发布,以博主原创为主,主要分享系列为主,由浅入深的带大家了解工作中常用到的一些网络技术,当然也会分享一些比较经典的案例。
(3)分享资源有涉及到您的利益以及版权问题,请联系博主,24小时候内删除。
想第一时间收到最新更新内容吗,点击获取~~~

点击查看详情

(广告)博主自主原创最新实战课程

点击查看详情


(广告)远程技术支持(设备调试),有搞不定的找我,价格实惠,为您解决实际工作上的问题

远程技术调试与技术支持,点击查看详情


原创与收集的内容,允许转载,转载时请务必以超链接形式标明文章原始出处,博客地址http://ccieh3c.com。

喜欢 (1)
[]
分享 (0)
公众号:网络之路博客(其他平台网络之路Blog)
分享一些自己懂的技术知识点,希望对大家有帮助。
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址