mportant; overflow-wrap: break-word !important;">动态智能VPN(Dynamic Smart Virtual Private Network),简称DSVPN,是一种在Hub-Spoke组网方式下为公网地址动态变化的分支之间建立VPN隧道的解决方案。
越来越多的企业希望建立Hub-Spoke方式的IPSec VPN网络将企业总部(Hub)与地理位置不同的多个分支(Spoke)相连,从而加强企业的通信安全、降低通信成本。
当企业总部采用静态的公网地址接入Internet,分支机构采用动态的公网地址接入Internet时,使用传统的IPSec、GRE over IPSec等技术构建VPN网络将存在一个问题,即分支之间无法直接通信(源分支无法获取目的分支公网地址,也就无法在分支之间直接建立隧道),所有分支之间的通信数据只能由总部中转。
DSVPN实现分支之间直接通信的关键是在分支之间建立隧道。DSVPN利用mGRE结合NHRP来建立分支之间的隧道。与GRE不同,mGRE建立隧道时不需要定义隧道目的地址,而是依赖NHRP告诉它,这就为在动态地址变化的分支间建立隧道创造了条件。
mGRE与NHRP结合建立隧道的基本原理是:当设备转发一个IP报文时,根据路由表将IP报文传给下一跳的出接口mGRE隧道接口,mGRE在NHRP映射表中查找获取下一跳地址映射的对端公网地址。然后mGRE封装IP报文,加上新IP头,目的地址就是对端的公网地址,这样IP报文就能发向隧道对端,隧道即可建立。
可见,NHRP映射表和路由表是mGRE与NHRP结合建立隧道的重要依据。如果一端分支有对端分支Tunnel地址/子网地址与公网地址的NHRP映射、有到对端分支的路由,那么分支间就可建立mGRE隧道。而DSVPN网络开始时,分支Spoke只有一个静态配置的NHRP映射表(Hub的Tunnel地址与公网地址的映射),也只有到总部Hub的路由。因此,分支间无法直接建立隧道,只能先借助Hub学习到彼此的路由、生成彼此Tunnel地址/子网地址与公网地址的NHRP映射。这一过程主要分为如下三个环节:
1、建立Spoke与Hub之间的mGRE隧道
这一环节的目的是打通分支到分支报文转发的通道,使得一端分支的报文可以借助Hub转发到另一端分支。
DSVPN在Spoke与Hub之间建立的mGRE隧道是一种静态隧道,无论Spoke与Hub间是否有流量经过,该隧道一直存在。
2、分支间路由学习
这一环节的目的是生成一端分支到另一端分支的路由。
3、建立Spoke与Spoke之间的mGRE隧道
这一环节的目的是建立用于分支间直接通信的通道。当一个分支向另一个分支转发用户数据报文时,如果源Spoke找不到目的Spoke的公网地址,则会触发DSVPN建立Spoke与Spoke之间的mGRE隧道。
Spoke与Spoke之间建立的mGRE隧道是一种动态隧道,当Spoke与Spoke间有流量通过时,隧道自动保活;当一定周期内没有流量经过时,隧道自动拆除。
Spoke与Spoke之间的mGRE隧道建成后,分支间的数据报文即可通过该隧道直接转发,不再经过Hub中转。
1.拓扑:
2、组网需求 :
某中小企业有总部(Hub)和两个分支(Spoke1和Spoke2),分布在不同地域,总部和分支的子网环境会经常出现变动。分支采用动态地址接入公网。企业现网网络规划使用OSPF路由协议。 现在用户希望能够实现分支之间的VPN互联。
3、配置思路:
企业网络管理员可以采用如下思路进行分析:
由于分支是采用动态地址接入公网的,分支之间互相不知道对方的公网地址,因此必须采用DSVPN来实现分支之间的VPN互联。
由于分支数量较少,因此采用非shortcut方式的DSVPN。
由于分支和总部的子网环境经常出现变动,为简化维护并根据企业网络规划,选择部署OSPF路由协议来实现分支/总部间的通信。
4、配置过程:
1).配置接口IP地址
HUB:
[Hub] interface gigabitethernet 0/0/0 [Hub-GigabitEthernet0/0/0] ip address 202.1.1.1 255.255.255.0 [Hub-GigabitEthernet0/0/0] quit [Hub] interface tunnel 0/0/0 [Hub-Tunnel0/0/0] ip address 172.16.1.1 255.255.255.0 [Hub] interface loopback 0 [Hub-LoopBack0] ip address 192.168.0.1 255.255.255.0
Spoke1:
[Spoke1] interface gigabitethernet 0/0/0 [Spoke1-GigabitEthernet0/0/0] ip address 202.1.2.1 255.255.255.0 [Spoke1-GigabitEthernet0/0/0] quit [Spoke1] interface tunnel 0/0/0 [Spoke1-Tunnel0/0/0] ip address 172.16.1.2 255.255.255.0 [Spoke1-Tunnel0/0/0] quit [Spoke1] interface loopback 0 [Spoke1-LoopBack0] ip address 192.168.1.1 255.255.255.0
Spoke2:
[Spoke2] interface gigabitethernet 0/0/0 [Spoke2-GigabitEthernet0/0/0] ip address 202.1.3.1 255.255.255.0 [Spoke2-GigabitEthernet0/0/0] quit [Spoke2] interface tunnel 0/0/0 [Spoke2-Tunnel0/0/0] ip address 172.16.1.3 255.255.255.0 [Spoke2-Tunnel0/0/0] quit [Spoke2] interface loopback 0 [Spoke2-LoopBack0] ip address 192.168.2.1 255.255.255.0
Internet:
[Huawei] sysname Internet[Internet] interface gigabitethernet 0/0/0 [Internet-GigabitEthernet0/0/0] ip address 202.1.1.2 255.255.255.0 [Internet-GigabitEthernet0/0/0] quit [Internet] interface gigabitethernet 0/0/1[Internet-GigabitEthernet0/0/0] ip address 202.1.2.2 255.255.255.0 [Internet-GigabitEthernet0/0/0] quit [Internet] interface gigabitethernet 0/0/2[Internet-GigabitEthernet0/0/0] ip address 202.1.3.2 255.255.255.0 [Internet-GigabitEthernet0/0/0] quit
2).配置各Router之间公网路由可达(采用ospf)
HUB:
[Hub-ospf-2] area 0.0.0.1 [Hub-ospf-2-area-0.0.0.1] network 202.1.1.0 0.0.0.255 [Hub-ospf-2-area-0.0.0.1] quit
Spoke1:
[Spoke1-ospf-2] area 0.0.0.1 [Spoke1-ospf-2-area-0.0.0.1] network 202.1.2.0 0.0.0.255 [Spoke1-ospf-2-area-0.0.0.1] quit
Spoke2:
[Spoke2-ospf-2] area 0.0.0.1 [Spoke2-ospf-2-area-0.0.0.1] network 202.1.3.0 0.0.0.255 [Spoke2-ospf-2-area-0.0.0.1] quit
Internet:
[Internet-ospf-2] area 0.0.0.1 [Internet-ospf-2-area-0.0.0.1] network 202.1.1.0 0.0.0.255 [Internet-ospf-2-area-0.0.0.1] network 202.1.2.0 0.0.0.255 [Internet-ospf-2-area-0.0.0.1] network 202.1.3.0 0.0.0.255 [Internet-ospf-2-area-0.0.0.1] quit
3).配置OSPF基本功能
HUB:
[Hub] ospf 1 router-id 172.16.1.1[Hub-ospf-2] area 0.0.0.0[Hub-ospf-2-area-0.0.0.0] network 172.16.1.0 0.0.0.255 [Hub-ospf-2-area-0.0.0.0] network 192.168.0.0 0.0.0.255 [Hub-ospf-2-area-0.0.0.0] quit
Spoke1:
[Spoke1] ospf 1 router-id 172.16.1.2 [Spoke1-ospf-2] area 0.0.0.0 [Spoke1-ospf-2-area-0.0.0.0] network 172.16.1.0 0.0.0.255[Spoke1-ospf-2-area-0.0.0.0] quit
Spoke2:
[Spoke2] ospf 1 router-id 172.16.1.3 [Spoke2-ospf-2] area 0.0.0.0 [Spoke2-ospf-2-area-0.0.0.0] network 172.16.1.0 0.0.0.255[Spoke2-ospf-2-area-0.0.0.0] network 192.168.2.0 0.0.0.255[Spoke2-ospf-2-area-0.0.0.0] quit
说明:这里每个分支只给出一个分支子网的配置,如果子网环境发生变化,只需在本地设备配置相应的动态路由属性即可。
4).配置Tunnel接口
在Hub和Spoke配置OSPF网络类型为broadcast以实现分支间路由相互学习,在Spoke1和Spoke2上分别配置Hub的静态NHRP peer表项。
HUB:
[Hub] interface tunnel 0/0/0
[Hub-Tunnel0/0/0] tunnel-protocol gre p2mp [Hub-Tunnel0/0/0] source gigabitethernet 0/0/0 [Hub-Tunnel0/0/0] nhrp entry multicast dynamic [Hub-Tunnel0/0/0] ospf network-type broadcast [Hub-Tunnel0/0/0] ospf dr-priority 100
Spoke1:
[Spoke1] interface tunnel 0/0/0 [Spoke1-Tunnel0/0/0] tunnel-protocol gre p2mp [Spoke1-Tunnel0/0/0] source gigabitethernet 0/0/0 [Spoke1-Tunnel0/0/0] nhrp entry 172.16.1.1 202.1.1.1 register [Spoke1-Tunnel0/0/0] ospf network-type broadcast [Spoke1-Tunnel0/0/0] ospf dr-priority 0 [Spoke1-Tunnel0/0/0] quit
Spoke2:
[Spoke2] interface tunnel 0/0/0
[Spoke2-Tunnel0/0/0] tunnel-protocol gre p2mp [Spoke2-Tunnel0/0/0] source gigabitethernet 0/0/0 [Spoke2-Tunnel0/0/0] nhrp entry 172.16.1.1 202.1.1.1 register [Spoke2-Tunnel0/0/0] ospf network-type broadcast [Spoke2-Tunnel0/0/0] ospf dr-priority 0 [Spoke2-Tunnel0/0/0] quit
5).检查DSVPN配置结果
配置完成后,检查Spoke上的NHRP peer信息。
Spoke1:
Spoke2:
说明:执行display nhrp peer all命令,Spoke1和Spoke2上只能看到Hub的静态NHRP peer表项。
检查Hub上Spoke1和Spoke2的注册信息。
6.执行ping操作,查看配置结果
在Spoke1上ping分支Spoke2的子网地址192.168.2.1,然后在Spoke1和Spoke2上可以分别看到彼此的动态NHRP peer表项。
在Spoke1上执行display nhrp peer all操作,结果如下。
在Spoke2上执行display nhrp peer all操作,结果如下。
至此DSVPN 配置成功。
打赏支付宝微信扫一扫,打赏作者吧~
本文链接:https://www.kinber.cn/post/985.html 转载需授权!
推荐本站淘宝优惠价购买喜欢的宝贝:
您阅读本篇文章共花了: