DSVPN简介

动态智能VPN(Dynamic Smart Virtual Private Network),是一种在HUB-SPOKE组网方式下为公网地址动态变化的分支之间建立VPN隧道的解决方案。

背景

越来越多的企业希望建立Hub-Spoke方式的IPSec VPN网络将企业总部(Hub)与地理位置不同的多个分支(Spoke)相连,从而加强企业的通信安全、降低通信成本。当企业总部采用静态的公网地址接入Internet,分支机构采用动态的公网地址接入Internet时,使用传统的IPSec、GRE over IPSec等技术构建VPN网络将存在一个问题,即分支之间无法直接通信(源分支无法获取目的分支公网地址,也就无法在分支之间直接建立隧道),所有分支之间的通信数据只能由总部中转。

缺点:

  • 总部在中转分支之间的数据流时会消耗总部HUB的CPU及内存资源,造成资源紧张。

  • 总部要对分支间的数据流封装和解封装,会引入额外的网络延时。

  • 当IPSec网络规模不断扩展时,为减少路由配置和维护,需要部署动态路由协议。但IPSec和动态路由协议之间存在一个基础问题,动态路由协议依赖于组播协议报文或广播协议报文进行路由更新,而IPSec不支持广播报文和组播报文的传输。

DSVPN基本概念

DSVPN典型网络架构

该网络中,当源Spoke需要向目的Spoke发送数据报文时,源Spoke将通过与Hub之间的静态mGRE隧道交互NHRP协议获取目的Spoke的公网地址,并与目的Spoke建立动态mGRE隧道。隧道建立完成后,Spoke与Spoke之间的数据报文将通过该动态mGRE隧道直接发送给对方,不再经过总部Hub中转。

mGRE隧道接口

mGRE隧道接口包含以下元素:

  • 隧道源地址:GRE封装后的报文源地址,图中隧道一端的公网地址。
  • 隧道目的地址:GRE封装后的报文目的地址,即图中隧道另一端的公网地址。与GRE隧道接口手工指定目的地址不同,mGRE隧道目的地址来自于NHRP协议。
  • 隧道接口IP地址:隧道接口地址和其他物理接口上的IP地址一样,用于设备之间的通信(例如获取路由信息等),即图中的Tunnel地址。

采用mGRE隧道接口建立起来的GRE隧道称为mGRE隧道。mGRE隧道分为静态mGRE隧道和动态mGRE隧道两种:

  • 静态mGRE隧道建立于分支Spoke与总部Hub之间,静态mGRE隧道永久存在。
  • 动态mGRE隧道建立于各分支Spoke之间,动态mGRE隧道在一定周期内没有流量转发将自动拆除。

DSVPN基本原理

DSVPN实现分支之间直接通信的关键是在分支之间建立隧道。DSVPN利用mGRE结合NHRP来建立分支之间的隧道。与GRE不同,mGRE建立隧道时不需要定义隧道目的地址,而是依赖NHRP告诉它,这就为在动态地址变化的分支间建立隧道创造了条件。

mGRE与NHRP结合建立隧道的基本原理是:当设备转发一个IP报文时,根据路由表将IP报文传给下一跳的出接口mGRE隧道接口,mGRE在NHRP映射表中查找获取下一跳地址映射的对端公网地址。然后mGRE封装IP报文,加上新IP头,目的地址就是对端的公网地址,这样IP报文就能发向隧道对端,隧道即可建立。

三个环节:

  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间有流量通过时,隧道自动保活;当一定周期内没有流量经过时,隧道自动拆除。

1.建立Spoke与Hub之间的mGRE隧道

DSVPN网络开始时,总部Hub的NHRP映射表是空表,分支Spoke有一个静态配置的NHRP映射表(Hub的Tunnel地址与公网地址的映射),分支Spoke和总部Hub有到彼此的路由。要建立Spoke与Hub之间的mGRE隧道,总部要生成各分支Tunnel地址/子网地址与公网地址的NHRP映射表,这主要通过分支Spoke向总部Hub进行NHRP注册来实现

  1. Spoke向Hub注册请求

    管理员在Spoke上手工配置Hub的Tunnel地址和公网地址以后,Spoke将定时向Hub发送NHRP注册请求报文,该报文中包含Spoke的Tunnel地址和公网地址。

  2. Hub向Spoke注册应答

    Hub从NHRP注册请求报文中提取Spoke的Tunnel地址和公网地址,并生成NHRP映射表,进而建立两者之间的mGRE隧道。

2.分支间路由学习

分支间相互学习路由(非shortcut方式)

每个分支需要学习到所有对端的路由数据。这种情况下,Spoke会消耗大量的CPU和内存资源,对其路由表容量和性能有较高的要求。而实际应用中,Spoke的性能往往较低,能存放的路由数量有限。因此,这种路由学习方式只适用于网络节点较少、路由信息量小的中小型网络。

分支路由汇聚到总部(shortcut方式)

实现所有访问目的分支的流量全部指向总部Hub。分支间不需要相互学习路由,通过总部对分支路由汇聚后进行通告,该路由学习方式适用于那些网络规模大、分支较多的大型网络。

3.建立Spoke与Spoke之间的mGRE隧道

  • 非shortcut方式下,源Spoke可以学习到目的Spoke的Tunnel地址。因此,源Spoke可以直接根据目的Spoke的Tunnel地址来查找目的Spoke的公网地址,生成目的Spoke的Tunnel地址与公网地址的NHRP映射表。
  • shortcut方式下,所有Spoke的路由下一跳全部都是Hub的Tunnel地址,源Spoke无法学习到目的Spoke的Tunnel地址。因此,源Spoke只能根据报文的目的地址来查找目的Spoke的公网地址,生成目的Spoke的子网地址与公网地址的NHRP映射表。

非shortcut方式

当Spoke1下的用户首次访问Spoke2下的用户时,将触发Spoke1与Spoke2之间建立动态mGRE隧道,隧道建立过程如下:

  1. Spoke1收到其下用户发往Spoke2的数据报文后:

    • 根据报文目的地址(192.168.2.0)在路由表中找到下一跳10.1.1.2(Spoke2的Tunnel地址),但在NHRP映射表中没有查找10.1.1.2对应的公网地址,就默认将该数据报文直接转发给Hub。
    • 构建并向Hub发送NHRP地址解析请求报文,请求10.1.1.2对应的公网地址。
  2. Hub收到Spoke1发送的数据报文和NHRP地址解析请求报文后,将报文通过Hub与Spoke2间的mGRE隧道转发给Spoke2。

  3. Spoke2收到NHRP地址解析请求报文后:

    • 从NHRP地址解析请求报文中提取Spoke1的Tunnel地址和公网地址,并将该信息更新到自己的NHRP映射表中(见图4-5中的红色字体)。
    • 构建并向Spoke1发送NHRP地址解析应答报文(携带Spoke2的Tunnel地址10.1.1.2和公网地址2.2.2.2)。
  4. Spoke1收到NHRP地址解析应答报文后,从应答报文中提取Spoke2的Tunnel地址和公网地址,更新到自己的NHRP映射表中(见图4-5中的红色字体),Spoke1与Spoke2之间的动态mGRE隧道随即建立。

    当Spoke1再次收到其下用户发送给Spoke2的数据报文时,Spoke1根据报文目的地址(192.168.2.0)在路由表中找到下一跳10.1.1.2,再根据10.1.1.2在NHRP映射表中找到公网地址2.2.2.2,即可按照公网地址2.2.2.2将此报文进行mGRE封装后直接发送给Spoke2,不再经过总部Hub。

shortcut方式

当Spoke1下的用户首次访问Spoke2下的用户时,将触发Spoke1与Spoke2之间建立动态mGRE隧道,隧道建立过程如下:

  1. Spoke1收到其下用户发往Spoke2下用户的数据报文后,根据报文目的地址(192.168.2.0)在路由表中找到下一跳10.1.1.3(Hub的Tunnel地址),并在NHRP映射表中找到10.1.1.3对应的公网地址3.3.3.3(Hub的公网地址),就将数据报文转发给Hub。

  2. Hub收到Spoke1转发的数据报文后:

    • 将此报文通过Hub与Spoke2间的mGRE隧道转发给Spoke2。
    • 检查发现接收和发送数据报文的Tunnel接口属于同一个NHRP域(见nhrp network-id),就构建并向Spoke1发送NHRP重定向报文(携带Hub的Tunnel地址和公网地址,以及需要解析的数据报文的目的地址192.168.2.0)。
  3. Spoke1收到NHRP重定向报文后,构建并向Hub发送NHRP地址解析请求报文(携带Spoke1的Tunnel地址10.1.1.1和公网地址1.1.1.1,以及需要解析的数据报文的目的地址192.168.2.0)。

  4. Hub收到NHRP地址解析请求报文后转发给Spoke2处理。

  5. Spoke2收到NHRP地址解析请求报文后:

    • 从NHRP地址解析请求中提取Spoke1的Tunnel地址和公网地址,并将该信息更新到自己的NHRP映射表中(见图4-6中的红色字体)。
    • 构建并向Spoke1发送NHRP地址解析应答报文(携带Spoke2的子网地址192.168.2.0、Spoke2的Tunnel地址10.1.1.2和公网地址2.2.2.2)。
  6. Spoke1收到NHRP地址解析应答报文后,从应答报文中提取Spoke2的子网地址和公网地址,更新到自己的NHRP映射表中(见图4-6中的红色字体),Spoke1与Spoke2之间的动态mGRE隧道随即建立。

    当Spoke1再次收到其下用户发送给Spoke2的数据报文时,Spoke1根据报文目的地址(192.168.2.0)查找NHRP映射表,找到Spoke2的公网地址2.2.2.2,即可根据公网地址2.2.2.2将此报文进行mGRE封装后直接发送给Spoke2,不再经过总部Hub。

DSVPN NAT穿越

DSVPN NAT穿越主要通过在NHRP注册应答报文、NHRP解析请求/应答报文中的NAT扩展字段中填充分支NAT前后的地址信息而实现,具体工作原理如下:

  1. 分支Spoke向总部Hub注册,NHRP注册请求报文中携带分支原始的公网或私网地址。
  2. 总部Hub的NHRP协议感知分支路径中有NAT设备存在,就在NHRP注册请求应答报文的NAT扩展字段中将分支NAT转换后的公网地址告知分支Spoke。
  3. 源Spoke向目的Spoke发起NHRP地址解析请求时,携带源分支NAT转换前的地址和NAT转换后的公网地址(通过NAT扩展字段)告知目的Spoke。
  4. 目的Spoke向源Spoke返回NHRP地址解析请求应答时,携带目的分支NAT转换前的地址和NAT转换后的公网地址(通过NAT扩展字段)告知源Spoke。
  5. 源分支和目的分支互相知道对端NAT转换前的地址和NAT转换后的公网地址后,根据NAT转换后的公网地址建立动态mGRE隧道,实现分支间穿越NAT直接通信
  • DSVPN不支持两个分支位于同一NAT设备之后且NAT转换后IP地址相同的NAT穿越。
  • DSVPN不支持两个分支位于不同NAT设备之后且启用PAT(Port Address Translation)功能的NAT穿越。
  • 分支间互访时,NAT设备必须配置为NAT Server或Static NAT,DSVPN不支持配置为NAT outbound的NAT穿越。
  • 在DSVPN中部署IPSec时,如果两个分支位于不同NAT设备之后或者总部位于NAT设备之后,则IPSec封装模式仅支持为传输模式。因为IPSec封装模式为隧道模式时,NHRP无法学习到NAT转换后的地址。

DSVPN IPSec保护

DSVPN网络中,通过在总部Hub和分支Spoke配置IPSec安全框架并绑定于mGRE隧道接口,mGRE隧道建立的同时会立即触发IPSec隧道建立,具体工作原理如下:

  1. 网络中的所有Spoke向总部Hub发起注册请求,同时将NHRP映射表信息告知IPSec,触发分支和总部的IKE模块进行IPSec隧道的协商。
  2. 总部Hub根据接收的注册请求报文,记录Spoke的Tunnel地址和公网地址的对应关系,生成分支的NHRP映射表,并向Spoke发送注册请求应答消息。
  3. 分支间根据流量触发建立动态mGRE隧道。
  4. 分支Spoke间动态mGRE隧道建立时,IPSec模块获取NHRP映射表信息,根据该信息添加或删除IPSec对等体节点,触发分支间动态建立IPSec隧道。
  5. 分支Spoke间IPSec隧道建立成功后,后续数据转发根据IP报文的目的地址查找路由。如果出接口类型是mGRE隧道接口,则根据路由下一跳找NHRP映射表,获取公网地址,根据公网地址,找IPSec SA,对报文进行IPSec加密发送。

相对于传统Hub-Spoke组网的IPSec技术,DSVPN与IPSec联合部署具有如下优势:

  • 传统IPSec技术使用ACL识别待加密的单播流量,需进行复杂的ACL定义,配置和维护困难。而DSVPN中只需将mGRE隧道接口与IPSec安全框架绑定,无需再定义复杂的ACL,网络部署更加简单。
  • 由于动态建立了分支间的IPSec隧道,分支Spoke间交互的IPSec数据不用通过总部Hub进行解密和加密操作,降低了数据传输时延。

在DSVPN中部署IPSec时,如果两个分支位于不同NAT设备之后或者总部位于NAT设备之后,则IPSec封装模式仅支持为传输模式。因为IPSec封装模式为隧道模式时,NHRP无法学习到NAT转换后的地址。

DSVPN可靠性

双HUB主备备份

DSVPN双Hub主备备份的工作机制如下:

  1. 所有分支Spoke同时向主用Hub1和备用Hub2注册,并分别与Hub1建立主用静态mGRE隧道、与Hub2建立备用静态mGRE隧道。
  2. 当分支间需要建立动态mGRE隧道时,源Spoke向Hub发送NHRP地址解析请求报文:
    • 在Hub1和Hub2都运行正常的情况下,根据路由策略,Spoke到Hub1的路由优先级较高,NHRP地址解析请求报文将沿主用静态mGRE隧道发送到Hub1,由Hub1将此解析报文转发至目的Spoke。
    • 当Hub1出现故障时,Spoke到Hub1的路由优先级降低,NHRP地址解析请求报文沿备用静态mGRE隧道发送到Hub2,由Hub2将此解析报文转发至目的Spoke。
    • 当Hub1故障恢复后,各分支Spoke到Hub1的路由优先级又重新高于到Hub2的路由优先级,NHRP地址解析请求报文重新交由Hub1转发。
  3. 目的Spoke向源Spoke回应NHRP地址解析响应报文,动态mGRE隧道建立。
  4. 动态mGRE隧道建立后,分支Spoke间可直接进行通信。此时,Hub设备运行正常与否不会对各分支Spoke间的业务流产生影响。如果分支Spoke之间的动态mGRE隧道由于长时间没有流量经过被拆除了,Spoke与Spoke之间通信时就需要重新建立动态mGRE隧道,Spoke会重新根据路由优先级判断向哪个Hub发送NHRP地址解析请求报文。

双HUB负载分担

不同Hub下的Spoke间直接通信原理如下:

  1. 源Spoke1发送NHRP地址解析请求报文发送给Hub1,请求目的SpokeN的公网地址。
  2. Hub1将源Spoke1的NHRP地址解析请求报文通过Hub1与Hub2之间的静态mGRE隧道转发给Hub2。
  3. Hub2将源Spoke1的NHRP地址解析请求报文转发给目的SpokeN。
  4. 目的SpokeN从报文中获取源Spoke1的公网地址,并给源Spoke1回应NHRP地址解析应答报文。
  5. 源Spoke1从NHRP地址解析应答报文中获取目的SpokeN的公网地址,并与目的SpokeN建立动态mGRE隧道。

动态mGRE隧道建立后,两个不同Hub下的Spoke之间即可进行直接通信。

DSVPN应用场景

中小型网络部署DSVPN

大型网络部署DSVPN

Hub级联网络部署DSVPN

部署DSVPN时,Hub1和Hub2上需创建两个Tunnel接口,分别与Hub和对应的Spoke建立静态mGRE隧道。对于Hub来说,Hub1和Hub2可以当做分支Spoke。

Hub级联网络部署DSVPN时,分支间路由学习方式仅支持shortcut方式。

配置举例

配置shortcutDSVPN示例(ospf路由协议)


查看spoke1的nhrp表


HUB上配置

[Hub] interface tunnel 0/0/0
[Hub-Tunnel0/0/0] tunnel-protocol gre p2mp
[Hub-Tunnel0/0/0] source GigabitEthernet 1/0/0
[Hub-Tunnel0/0/0] nhrp entry multicast dynamic
[Hub-Tunnel0/0/0] ospf network-type p2mp
[Hub-Tunnel0/0/0] nhrp redirect
[Hub-Tunnel0/0/0] quit

Spoke上配置

[Spoke1] interface tunnel 0/0/0
[Spoke1-Tunnel0/0/0] tunnel-protocol gre p2mp
[Spoke1-Tunnel0/0/0] source GigabitEthernet 1/0/0
[Spoke1-Tunnel0/0/0] nhrp entry 172.16.1.1 1.1.1.10 register
[Spoke1-Tunnel0/0/0] ospf network-type p2mp
[Spoke1-Tunnel0/0/0] nhrp shortcut
[Spoke1-Tunnel0/0/0] quit

配置非shortcut方式DSVPN(ospf协议)

  • 正常情况下,配置接口网络模式为p2mp模式,R2与R3相互通信需要经过R1中转,不可以直接互通。
  • 如果修改接口网络模式为broadcast模式,R2与R3通信可以直接通信,不用R1中转,但是需要选举DR/BDR,而且需要修改非DR的ospf-dr-priority为0,放弃选举来固定DR位置。虽然可以实现分支间的vpn互联,但是在DSVPN Hub级联情况下,不可以实现分支间互联,如下面的实验。
  • p2mp模式下,配置shortcut以及reflect可以实现分支间的vpn互联

AR1配置

#sysname R1
#
interface GigabitEthernet0/0/0ip address 11.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface LoopBack0ip address 192.168.1.1 255.255.255.0
#
interface Tunnel0/0/0ip address 10.1.1.1 255.255.255.0 tunnel-protocol gre p2mpsource GigabitEthernet0/0/0ospf network-type broadcastnhrp entry multicast dynamic
#
ospf 1 router-id 1.1.1.1 area 0.0.0.0 network 11.1.1.0 0.0.0.255
#
ospf 2 router-id 1.1.1.1 area 0.0.0.0 network 10.1.1.0 0.0.0.255 network 192.168.0.0 0.0.255.255
#

AR2配置

#sysname R2
#
interface GigabitEthernet0/0/0ip address 12.1.1.1 255.255.255.0
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface LoopBack0ip address 192.168.2.1 255.255.255.0
#
interface Tunnel0/0/0ip address 10.1.1.2 255.255.255.0 tunnel-protocol gre p2mpsource GigabitEthernet0/0/0ospf network-type broadcastospf dr-priority 0nhrp entry 10.1.1.1 11.1.1.1 register
#
ospf 1 router-id 2.2.2.2 area 0.0.0.0 network 12.1.1.0 0.0.0.255
#
ospf 2 router-id 2.2.2.2 area 0.0.0.0 network 10.1.1.0 0.0.0.255 network 192.168.0.0 0.0.255.255
#

R1配置

#
sysname ISP
#
interface Ethernet0/0/0ip address 11.1.1.2 255.255.255.0
#
interface Ethernet0/0/1ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/0ip address 13.1.1.2 255.255.255.0
#
ospf 1 router-id 11.11.11.11area 0.0.0.0network 0.0.0.0 255.255.255.255
#

normal
必须是明细路由
spoke可以主动发起
得到NHRP映射关系是 tunnle-公网地址

shortcut
必须是汇总路由
spoke被动发起
得到NHRP映射关系是 私网地址----公网地址

配置跨NAT DSVPN

分支通过NAT设备进行地址转换后接入公网。企业现网网络规划使用OSPF路由协议。

现在用户希望能够实现分支之间的VPN互联。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1SL5mcU1-1614856053143)(E:\Typora\image\image-20210304161812585.png)]

配置DSVPN双Hub主备备份示例

简单配置不在赘述

[Hub1-Tunnel0/0/0] ospf cost 1000
[Hub2-Tunnel0/0/0] ospf cost 3000
[Spoke1-Tunnel0/0/0] nhrp registration interval 300
  • 在Hub1和Hub2配置不同的ospf cost值是为了让Spoke优先选取Hub1作为路由的下一跳。
  • 在Hub1从故障中恢复之后,只有等到Spoke向其进行注册之后,才能重新进行OSPF协议报文交互,Spoke在原有路由老化之后学习到Hub1的路由。为了让Spoke快速感知Hub1,可以将Spoke的注册间隔调整到合适的值(默认注册间隔为1800秒)。

配置IPSec保护的DSVPN示例

1.配置接口IP地址

在各Router上配置接口IP地址。

system-view
[Huawei] sysname Hub
[Hub] interface GigabitEthernet 1/0/0
[Hub-GigabitEthernet1/0/0] ip address 1.1.1.10 255.255.255.0
[Hub-GigabitEthernet1/0/0] quit
[Hub] interface tunnel 0/0/0
[Hub-Tunnel0/0/0] ip address 172.16.1.1 255.255.255.0
[Hub-Tunnel0/0/0] quit
[Hub] interface loopback 0
[Hub-LoopBack0] ip address 192.168.0.1 255.255.255.0
[Hub-LoopBack0] quit
按照图4-23配置Spoke1、Spoke2各接口的IP地址,具体配置过程与配置Hub相同(略)。

2.配置各Router之间公网路由可达

在各Router上配置OSPF路由协议,实现公网路由可达。

在Hub上配置OSPF。

[Hub] ospf 2 router-id 1.1.1.10
[Hub-ospf-2] area 0.0.0.1
[Hub-ospf-2-area-0.0.0.1] network 1.1.1.0 0.0.0.255
[Hub-ospf-2-area-0.0.0.1] quit
[Hub-ospf-2] quit

在Spoke1上配置OSPF。

在Spoke2上配置OSPF。

3.配置OSPF基本功能

配置Hub。

[Hub] ospf 1 router-id 172.16.1.1
[Hub-ospf-1] area 0.0.0.0
[Hub-ospf-1-area-0.0.0.0] network 172.16.1.0 0.0.0.255
[Hub-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255
[Hub-ospf-1-area-0.0.0.0] quit
[Hub-ospf-1] quit

配置Spoke1

配置Spoke2

4.配置IKE提议

在Hub和Spoke上配置IKE提议,选择相同的认证方式。

配置Hub。

[Hub] ike proposal 1
[Hub-ike-proposal-1] dh group5
[Hub-ike-proposal-1] authentication-algorithm sha2-256
[Hub-ike-proposal-1] prf aes-xcbc-128
[Hub-ike-proposal-1] quit

配置Spoke1。

配置Spoke2。

5.配置IKE peer

在Hub和Spoke上配置进行IKE协商时需要的IKE peer。

配置Hub。

[Hub] ike peer hub
[Hub-ike-peer-hub] ike-proposal 1
[Hub-ike-peer-hub] pre-shared-key cipher Huawei@1234
[Hub-ike-peer-hub] dpd type periodic
[Hub-ike-peer-hub] dpd idle-time 40
[Hub-ike-peer-hub] quit

配置Spoke1。

配置Spoke2。

6.创建安全提议

在Hub和Spoke上配置安全提议。

配置Hub。

[Hub] ipsec proposal pro1
[Hub-ipsec-proposal-pro1] transform ah-esp
[Hub-ipsec-proposal-pro1] ah authentication-algorithm sha2-256
[Hub-ipsec-proposal-pro1] esp authentication-algorithm sha2-256
[Hub-ipsec-proposal-pro1] esp encryption-algorithm aes-192
[Hub-ipsec-proposal-pro1] quit

配置Spoke1。

配置Spoke2。

7.配置安全框架

在Hub和Spoke上配置安全框架。

配置Hub。

[Hub] ipsec profile profile1
[Hub-ipsec-profile-profile1] ike-peer hub
[Hub-ipsec-profile-profile1] proposal pro1
[Hub-ipsec-profile-profile1] quit

配置Spoke1。

配置Spoke2。

7.配置Tunnel接口

在Hub上配置Tunnel接口和OSPF相关属性,应用安全框架。

[Hub] interface tunnel 0/0/0
[Hub-Tunnel0/0/0] tunnel-protocol gre p2mp
[Hub-Tunnel0/0/0] source GigabitEthernet 1/0/0
[Hub-Tunnel0/0/0] nhrp entry multicast dynamic
[Hub-Tunnel0/0/0] ospf network-type p2mp
[Hub-Tunnel0/0/0] nhrp redirect
[Hub-Tunnel0/0/0] ipsec profile profile1
[Hub-Tunnel0/0/0] quit

在Spoke1上配置Tunnel接口,OSPF路由相关属性以及Hub的静态NHRP peer表项,应用安全框架。

[Spoke1] interface tunnel 0/0/0
[Spoke1-Tunnel0/0/0] tunnel-protocol gre p2mp
[Spoke1-Tunnel0/0/0] source GigabitEthernet 1/0/0
[Spoke1-Tunnel0/0/0] nhrp entry 172.16.1.1 1.1.1.10 register
[Spoke1-Tunnel0/0/0] ospf network-type p2mp
[Spoke1-Tunnel0/0/0] nhrp shortcut
[Spoke1-Tunnel0/0/0] ipsec profile profile1
[Spoke1-Tunnel0/0/0] quit

在Spoke2上配置Tunnel接口,OSPF路由相关属性以及Hub的静态NHRP peer表项,应用安全框架。

测试:
检查IPSec SA信息

<SPOKE1>dis ipsec sa===============================
Interface: Tunnel0/0/0Path MTU: 1500
===============================-----------------------------IPSec profile name: "profile1"Mode              : PROF-ISAKMP-----------------------------Connection ID     : 18Encapsulation mode: TunnelTunnel local      : 13.1.1.1Tunnel remote     : 12.1.1.1Qos pre-classify  : Disable[Outbound ESP SAs] SPI: 486152828 (0x1cfa1a7c)Proposal: ESP-ENCRYPT-AES-128 ESP-AUTH-SHA1SA remaining key duration (bytes/sec): 1887432656/2736Max sent sequence-number: 43UDP encapsulation used for NAT traversal: N[Outbound AH SAs] SPI: 4233317404 (0xfc534c1c)Proposal: AH-SHA1-96SA remaining key duration (bytes/sec): 1887436800/2736Max sent sequence-number: 43UDP encapsulation used for NAT traversal: N[Inbound AH SAs] SPI: 2280211258 (0x87e9433a)Proposal: AH-SHA1-96SA remaining key duration (bytes/sec): 1887436800/2736Max received sequence-number: 54Anti-replay window size: 32UDP encapsulation used for NAT traversal: N[Inbound ESP SAs] SPI: 3683871072 (0xdb936960)Proposal: ESP-ENCRYPT-AES-128 ESP-AUTH-SHA1SA remaining key duration (bytes/sec): 1887431484/2736Max received sequence-number: 54Anti-replay window size: 32UDP encapsulation used for NAT traversal: N-----------------------------IPSec profile name: "profile1"Mode              : PROF-Template-----------------------------Connection ID     : 20Encapsulation mode: TunnelTunnel local      : 13.1.1.1Tunnel remote     : 14.1.1.1Qos pre-classify  : Disable[Outbound ESP SAs] SPI: 562038613 (0x21800755)Proposal: ESP-ENCRYPT-AES-128 ESP-AUTH-SHA1SA remaining key duration (bytes/sec): 1887436260/3031Max sent sequence-number: 5UDP encapsulation used for NAT traversal: N[Outbound AH SAs] SPI: 1039987349 (0x3dfcf295)Proposal: AH-SHA1-96SA remaining key duration (bytes/sec): 1887436800/3031Max sent sequence-number: 5UDP encapsulation used for NAT traversal: N[Inbound AH SAs] SPI: 3575017841 (0xd5167171)Proposal: AH-SHA1-96SA remaining key duration (bytes/sec): 1887436800/3031Max received sequence-number: 10Anti-replay window size: 32UDP encapsulation used for NAT traversal: N[Inbound ESP SAs] SPI: 299733519 (0x11dd920f)Proposal: ESP-ENCRYPT-AES-128 ESP-AUTH-SHA1SA remaining key duration (bytes/sec): 1887435684/3031Max received sequence-number: 10Anti-replay window size: 32UDP encapsulation used for NAT traversal: N

注:模拟器中切忽使用SM3,不支持。亲测!!!

DSVNP原理以及相关配置相关推荐

  1. SSH深度历险(十一) AOP原理及相关概念学习+xml配置实例(对照注解方式的优缺点)...

    接上一篇 SSH深度历险(十) AOP原理及相关概念学习+AspectJ注解方式配置spring AOP,本篇我们主要是来学习使用配置XML实现AOP 本文採用强制的CGLB代理方式 Security ...

  2. CAS单点登录原理解析及相关配置

    1.基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理: 将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中 ...

  3. SpringBoot:MultipartResolver 文件上传、大小限制相关配置、实现原理与自定义

    基于 SpringBoot 2.3.2.RELEASE Spring-web 5.2.8.RELEASE 问题 做上传下载文件时,SpringBoot获取的文件是MultipartFile,不想把文件 ...

  4. 2021年大数据HBase(十四):HBase的原理及其相关的工作机制

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的原理及其相关的工作机制 一.HBase的flus ...

  5. kafka入门:简介、使用场景、设计原理、主要配置及集群搭建

    为什么80%的码农都做不了架构师?>>>    kafka入门:简介.使用场景.设计原理.主要配置及集群搭建(转) 问题导读: 1.zookeeper在kafka的作用是什么? 2. ...

  6. Servlet和HTTP请求协议-学习笔记01【Servlet_快速入门-生命周期方法、Servlet_3.0注解配置、IDEA与tomcat相关配置】

    Java后端 学习路线 笔记汇总表[黑马程序员] Servlet和HTTP请求协议-学习笔记01[Servlet_快速入门-生命周期方法.Servlet_3.0注解配置.IDEA与tomcat相关配置 ...

  7. 使用LVS实现负载均衡原理及安装配置详解

    使用LVS实现负载均衡原理及安装配置详解 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均 ...

  8. linux的apache2.4限定某个目录禁止解析PHP及user_agent与PHP相关配置

    限定某个目录禁止解析PHP 对于使用PHP语言编写的网站,有一些目录是有需求上传文件的,比如服务器可以上传图片,并且没有做防盗链,所以就会被人家当成了一个图片存储服务器,并且盗用带宽流量.如果网站代码 ...

  9. Nginx工作原理及相关介绍

    Nginx工作原理及相关介绍 一.Nginx工作原理与模块介绍 1.Nginx基本工作原理 NGINX以高性能的负载均衡器,缓存,和web服务器闻名.Nginx由内核和模块组成,其中,内核的设计非常微 ...

最新文章

  1. 声明一个图书类(Java)
  2. 学习Python3:20171031
  3. HDFS restful API:关于WebHDFS与HttpFS的区别
  4. 字符串基础类型拓宽的操作,转换成整数值
  5. 可视化工具Navicat for MySQL-操作三
  6. RTT大牛告诉你,混合微内核是什么?
  7. 计算所有1-100之间数字之和(偶数之和)代码
  8. windos系统快捷键 2015-05-08 23:31 24人阅读 评论(0) 收藏...
  9. 14 MySQL--事务函数与流程控制
  10. SpringBoot私人学习笔记
  11. Atitit.html css  浏览器原理理论概论导论attilax总结
  12. sap abap开发从入门到精通_云端的ABAP Restful服务开发
  13. 计算机系统结构模拟试卷3,计算机系统结构全真模拟试卷.pdf
  14. JavaScript判断日期时间差的实例代码
  15. JAVA查搜索文件内容
  16. 从Uniswap v3来看新的期权范式?
  17. nginx php 无法输出图片大小,Nginx+PHP实时生成不同尺寸图片
  18. JIRA + FishEye + Crucible + Confluence + PostgreSQL
  19. linux dns主配置文件,RHEL 5下DNS的主配置文件详解
  20. Windows系统win10系统磁力种子文件下载软件推荐

热门文章

  1. calibrate sensors
  2. 计算机基础的英语单词怎么写,计算机基础英语单词
  3. 联网 五子棋 PHP + MySQL
  4. ThreeJS思维导图总结
  5. 【电赛】2017年电赛A题——三相逆变电源EG8030测试
  6. c语言双截龙_双截龙的GBA版
  7. 计算机对护理工作的应用研究,【计算机专业论文】护理专业计算机实践教学改革研究(共3924字)...
  8. JAVA计算机毕业设计幼儿健康管理系统Mybatis+源码+数据库+lw文档+系统+调试部署
  9. python九宫格图片的原理~
  10. 用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐