DSVNP原理以及相关配置

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/0
 ip address 11.1.1.1 255.255.255.0 
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface LoopBack0
 ip address 192.168.1.1 255.255.255.0 
#
interface Tunnel0/0/0
 ip address 10.1.1.1 255.255.255.0 
 tunnel-protocol gre p2mp
 source GigabitEthernet0/0/0
 ospf network-type broadcast
 nhrp 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/0
 ip address 12.1.1.1 255.255.255.0 
#
interface GigabitEthernet0/0/1
#
interface GigabitEthernet0/0/2
#
interface LoopBack0
 ip address 192.168.2.1 255.255.255.0 
#
interface Tunnel0/0/0
 ip address 10.1.1.2 255.255.255.0 
 tunnel-protocol gre p2mp
 source GigabitEthernet0/0/0
 ospf network-type broadcast
 ospf dr-priority 0
 nhrp 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/0
 ip address 11.1.1.2 255.255.255.0
#
interface Ethernet0/0/1
 ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/0
 ip address 13.1.1.2 255.255.255.0
#
ospf 1 router-id 11.11.11.11
 area 0.0.0.0
  network 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/0
 Path MTU: 1500
===============================

  -----------------------------
  IPSec profile name: "profile1"
  Mode              : PROF-ISAKMP
  -----------------------------
    Connection ID     : 18
    Encapsulation mode: Tunnel
    Tunnel local      : 13.1.1.1
    Tunnel remote     : 12.1.1.1
    Qos pre-classify  : Disable

    [Outbound ESP SAs] 
      SPI: 486152828 (0x1cfa1a7c)
      Proposal: ESP-ENCRYPT-AES-128 ESP-AUTH-SHA1
      SA remaining key duration (bytes/sec): 1887432656/2736
      Max sent sequence-number: 43
      UDP encapsulation used for NAT traversal: N

    [Outbound AH SAs] 
      SPI: 4233317404 (0xfc534c1c)
      Proposal: AH-SHA1-96
      SA remaining key duration (bytes/sec): 1887436800/2736
      Max sent sequence-number: 43
      UDP encapsulation used for NAT traversal: N

    [Inbound AH SAs] 
      SPI: 2280211258 (0x87e9433a)
      Proposal: AH-SHA1-96
      SA remaining key duration (bytes/sec): 1887436800/2736
      Max received sequence-number: 54
      Anti-replay window size: 32
      UDP encapsulation used for NAT traversal: N

    [Inbound ESP SAs] 
      SPI: 3683871072 (0xdb936960)
      Proposal: ESP-ENCRYPT-AES-128 ESP-AUTH-SHA1
      SA remaining key duration (bytes/sec): 1887431484/2736
      Max received sequence-number: 54
      Anti-replay window size: 32
      UDP encapsulation used for NAT traversal: N

  -----------------------------
  IPSec profile name: "profile1"
  Mode              : PROF-Template
  -----------------------------
    Connection ID     : 20
    Encapsulation mode: Tunnel
    Tunnel local      : 13.1.1.1
    Tunnel remote     : 14.1.1.1
    Qos pre-classify  : Disable

    [Outbound ESP SAs] 
      SPI: 562038613 (0x21800755)
      Proposal: ESP-ENCRYPT-AES-128 ESP-AUTH-SHA1
      SA remaining key duration (bytes/sec): 1887436260/3031
      Max sent sequence-number: 5
      UDP encapsulation used for NAT traversal: N

    [Outbound AH SAs] 
      SPI: 1039987349 (0x3dfcf295)
      Proposal: AH-SHA1-96
      SA remaining key duration (bytes/sec): 1887436800/3031
      Max sent sequence-number: 5
      UDP encapsulation used for NAT traversal: N

    [Inbound AH SAs] 
      SPI: 3575017841 (0xd5167171)
      Proposal: AH-SHA1-96
      SA remaining key duration (bytes/sec): 1887436800/3031
      Max received sequence-number: 10
      Anti-replay window size: 32
      UDP encapsulation used for NAT traversal: N

    [Inbound ESP SAs] 
      SPI: 299733519 (0x11dd920f)
      Proposal: ESP-ENCRYPT-AES-128 ESP-AUTH-SHA1
      SA remaining key duration (bytes/sec): 1887435684/3031
      Max received sequence-number: 10
      Anti-replay window size: 32
      UDP encapsulation used for NAT traversal: N

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

猜你喜欢

转载自blog.csdn.net/qq_43710889/article/details/114375539