1 业务场景

1.1 业务需求

在有NAT穿越的IPsec VPN场景组网中,分支A经过静态NAT(SNAT)主动连接中心站点,中心站点所在的环境中部署了动态NAT(DNAT)。典型组网图如下所示。

1.2 组网图

image.png

1.3 配置限制与说明

IPsec支持NAT穿越的端口默认为UDP 4500,不支持自定义端口。

1.4 前置条件

已完成中心和分支A的接口IP、路由等基本网络配置,分支A与中心站点可正常通信。

2 配置思路

配置中心:

1、完成接口基本配置。(略)

2、配置VTI隧道接口。

3、配置IPSec隧道。类型选择“点到多点”,不限制感兴趣流。

4、配置开启NAT穿越功能。

配置分支A:

1、完成接口基本配置。(略)

2、配置VTI隧道接口。

3、配置IPSec隧道。类型选择“点到点”,感兴趣流根据本端内网网段以及总部需要访问的资源网段进行配置。

4、配置开启NAT穿越功能。

5、配置到对端内网的路由。

3 配置步骤

3.1 配置中心站点

3.1.1 配置隧道接口

(1)点击[网络]>>[接口]>>[隧道接口]>>[VTI接口]菜单项。

(2)点击<新增>按钮,进入隧道接口配置页面。

(3)在隧道接口配置页面,配置参数如下:

       输入接口名称为“test1”

       设置隧道接口的地址为中心站点的默认出接口地址2.1.0.1

image.png

3.1.2 配置IPsec隧道

1、基本配置

(1)点击[网络]>>[IPsec VPN] >>[自定义隧道]菜单项,并点击<新增>按钮,进入自定义隧道基本配置页面。

(2)在自定义隧道基本配置页面,参数配置如下:

       输入隧道名称为“test1”

       启动状态选择“启用”

       关联隧道接口选择test1,配置本端地址为接口Ge0/2

       认证方式使用默认的预共享密钥,输入口令和确认口令

       中心端开启反向路由注入,根据接入分支的内网网段自动生成路由;优先级使用默认值5,下一跳地址不配置。


image.png

配置项

说明

部署场景

根据部署场景设置IPsec隧道的类型:

      点到点:适用于对端拥有固定IP地址的场景,如企业分支机构的IPsec   VPN部署。

      点到多点:适用于对端IP地址不固定或存在多个对端的场景,如企业总部的IPsec VPN部署;隧道协商需要由对端主动发起。

隧道名称

输入IPsec隧道策略的名称。

描述

隧道的描述信息。合理的描述信息可让管理员快速了解该隧道的用途。

启用状态

是否启用该IPsec隧道策略。

隧道接口

IPsec隧道策略关联的VTI隧道接口。通过该接口实现对IPsec数据流的封装和解封装。

本端地址

本端设备与对端设备建立隧道所使用的接口或IP地址。

对端地址

对端设备建立隧道所使用的IP地址或域名。

认证方式

隧道两端采用的身份认证方式。

当前暂时仅支持预共享密钥(pre-shared key)认证。

密钥类型

      单密钥:不同分支节点接入中心设备时使用相同的预共享密钥。

      多密钥:允许设备作为中心时,每个分支节点接入进来可以使用不同的预共享密钥,通过ID匹配预共享密钥。当设备作为分支节点时,不支持多密钥配置。

口令

预共享密钥认证方式下,用于身份认证的密钥字符串。

本端ID类型

本端ID用于标识本端设备的身份,供对端设备认证自身的合法性。支持以下类型:

      IPV4_ADDRESS:采用IPv4地址作为IKE协商过程中使用的本端ID

      IPV6_ADDRESS:采用IPv6地址作为IKE协商过程中使用的本端ID

      FQDN:采用FQDNFully Qualified Domain Name,完全合格域名)类型的字符串作为IKE协商过程中使用的本端ID

      USER_FQDN:采用User FQDN(用户域名)类型的字符串作为IKE协商过程中使用的本端ID

      KEY_ID:采用指定的密钥标识符作为IKE协商过程中使用的本端ID

本端ID

标识本端设备身份的字符串,用于身份认证。

验证对端ID

是否对对端设备的身份ID信息进行验证,以确保对端设备的合法性。

(对端) ID类型

对端ID用于认证对端设备的身份,支持以下类型:

      IPV4_ADDRESS:对端采用IPv4地址作为ID进行认证。

      IPV6_ADDRESS:对端采用IPv6地址作为ID进行认证。

      FQDN:对端采用域名类型的字符串作为ID进行认证。

      USER_FQDN:对端采用用户域名类型的字符串作为ID进行认证。

      KEY_ID:对端采用指定的密钥标识符作为ID进行认证。

(对端) ID

标识对端设备身份的字符串,用于认证对端设备的合法性。

预共享密钥

单密钥配置时,对端ID验证功能校验对端的ID是否在配置的校验ID列表中,不存在则协商失败。多密钥配置是在这个基础上,增加了预共享密钥配置,需要使用预共享密钥时,通过ID进行匹配查询配置的预共享密钥。

高级

点击展开高级配置。


DPD类型

DPD探测用于检测IPsec隧道对端的存活状态,以便及时拆除异常的隧道。

DPD支持两种检测模式:

      空闲模式:若本端发送报文后未收到对端的响应报文,则主动向对端发送DPD报文。

      定期模式:按照配置的DPD探测周期,定时发送DPD报文。

DPD探测周期

定期模式下,两次DPD探测之间的时间间隔。单位为秒。

DPD重试间隔

重新发送DPD探测报文的时间间隔。

本端发送DPD请求报文后,若在重试间隔时间内未收到响应报文,将重传DPD请求报文;若重传3次后,仍未收到对端的响应,则认为对端已经失效,自动拆除IPsec隧道。

反向路由注入

设置是否启用反向路由注入功能。

开启反向路由注入功能后,设备会将把通往对端保护网段的路由自动添加到路由表中。

下一跳地址

指定注入路由的下一跳地址。

优先级

设置注入路由的优先级。

(3)基本配置结束,点击<下一步>进入感兴趣流配置页面。

2、感兴趣流配置

(1)在感兴趣流配置页面,点击<新增>按钮,编辑感兴趣流,配置参数如下:

03734174302af8925deff595d6bef1e4_1695018147742059610.png

(2)感兴趣流配置结束,点击<下一步>进入安全参数配置页面。

3、安全参数配置

(1)在安全参数配置页面,选择IKE参数和IPsec参数,确保使用和对端设备相匹配的配置:

       IKE协商模式选择主模式,加密算法选择AES-128,验证算法选择SHA,DH组选择GROUP5,SA生存周期选择86400(单位为秒)

       IPsec协议选择ESP,封装模式选择Tunnel,加密算法选择AES-128,验证算法选择SHA,不开启完美前向保密开关,SA生存周期选择3600(单位为秒),隧道MTU配置为1400

36a8b72c1a4fd3533b62d6b6228678b5_1705631941796046978.png

配置项

说明

IKE参数

VPN两端设备应至少拥有一组相同的IKE参数,才能成功建立起IKE SA

以下IKE参数中,除“SA生存周期”之外,所有参数必须在对端设备的IPsec VPN配置中存在相同选项。

IKE类型

IKE协商类型。

协商模式

设置IKEv1第一阶段的协商模式:

      自动:在响应协商时可接受主模式和野蛮模式,在发起协商时使用主模式。

      IKEv1主模式:对身份信息进行加密保护,安全性更高。

      IKEv1野蛮模式:协商速度更快,但不对身份信息进行加密保护。

伪随机算法

设置IKE协商使用的PRF算法:

      MD5:采用MD5算法,可产生128比特的密钥。

      SHA:采用SHA1算法,可产生160比特的密钥。

      SHA-256:采用SHA2-256算法,可产生256比特的密钥。

      SHA-384:采用SHA2-384算法,可产生384比特的密钥。

      SHA-512:采用SHA2-512算法,可产生512比特的密钥。

IKEv2在交换密钥前使用伪随机函数对密钥进行加密,增强了密钥交换的安全性。按照安全性从高到低,依次为:SHA-512 > SHA-384 > SHA-256 > SHA > MD5

加密算法

设置IKE协商建立IPsec SA使用的加密算法:

      DES:采用密钥长度为56比特的DES加密算法。

      3DES:采用密钥长度为168比特(3*56比特)的3DES加密算法。

      AES-128:采用密钥长度为128比特的AES加密算法。

      AES-192:采用密钥长度为192比特的AES加密算法。

      AES-256:采用密钥长度为256比特的AES加密算法。

按照安全性从高到低,依次为:AES-256 > AES-192 > AES128 > 3DES > DES

验证算法

设置IKE协商使用的验证算法:

      MD5:采用MD5算法,可产生128比特的消息摘要。

      SHA:采用SHA1算法,可产生160比特的消息摘要。

      SHA-256:采用SHA2-256算法,可产生256比特的消息摘要。

      SHA-384:采用SHA2-384算法,可产生384比特的消息摘要。

      SHA-512:采用SHA2-512算法,可产生512比特的消息摘要。

消息摘要越长,安全性越高,同时计算速度也会越慢。

DH

设置IKE协商使用的DHDiffie-Hellman)组:

      GROUP1:采用768位的DH

      GROUP2:采用1024位的DH

      GROUP5:采用1536位的DH

      GROUP14:采用2048位的DH

      GROUP15:采用3072位的DH

      GROUP16:采用4096位的DH

DH组确定了密钥交换过程中使用的密钥强度;组编号越大,安全性越高,同时计算密钥所耗费的时间也会越长。

SA生存周期

设置IKE SA的生存周期。

IKE SA实际的生存周期以两端最终协商结果为准。

IPsec参数

VPN两端设备应至少拥有一组相同的IPsec参数,才能成功建立起IPsec SA

以下IPsec参数中,除“SA生存周期”之外,所有参数必须在对端设备的IPsec VPN配置中存在相同选项。

协议

设置IPsec使用的安全协议,当前仅支持ESPEncapsulating Security Payload,报文安全封装)协议。

ESP协议支持对报文进行加密和认证。

封装模式

IPsec的封装模式,当前仅支持配置为Tunnel(隧道模式)。

加密算法

设置IPsec隧道使用的加密算法:

      DES:采用密钥长度为56比特的DES加密算法。

      3DES:采用密钥长度为168比特(3*56比特)的3DES加密算法。

      AES-128:采用密钥长度为128比特的AES加密算法。

      AES-192:采用密钥长度为192比特的AES加密算法。

      AES-256:采用密钥长度为256比特的AES加密算法。

      NULL:不对数据进行加密。

按照安全性从高到低,依次为:AES-256 > AES-192 > AES128 > 3DES > DES

验证算法

设置IPsec隧道使用的认证算法:

      MD5:采用MD5算法,可产生128比特的消息摘要。

      SHA:采用SHA1算法,可产生160比特的消息摘要。

      SHA-256:采用SHA2-256算法,可产生256比特的消息摘要。

      SHA-384:采用SHA2-384算法,可产生384比特的消息摘要。

      SHA-512:采用SHA2-512算法,可产生512比特的消息摘要。

消息摘要越长,安全性越高,同时计算速度也会越慢。

完美前向保密

设置是否开启完美前向保密功能。

完美前向保密通过执行一次额外的DH交换,确保即使IKE SA使用的密钥被破解,IPsec SA使用的密钥的安全性也不会受到影响。

DH

设置PFS特性使用的DH组:

      GROUP1:采用768位的DH

      GROUP2:采用1024位的DH

      GROUP5:采用1536位的DH

      GROUP14:采用2048位的DH

      GROUP15:采用3072位的DH

      GROUP16:采用4096位的DH

组编号越大,安全性越高,同时计算密钥所耗费的时间也会越长。

SA生存周期

设置IPsec SA的生存周期。

IPsec SA存活时间超过该值时,设备会将使用新协商建立的SA取代旧SA

IPsec SA实际的生存周期以两端协商结果为准。

隧道MTU

设置IPsec隧道单次可传输的数据包的最大字节数。

(2)点击<完成>,完成IPsec隧道的创建。

3.1.3 IPsec高级配置

在有NAT的组网环境下,IPsec要开启NAT穿越,并且配置NAT保活周期。

点击[网络]>>[IPsec VPN]>>[高级配置],进入IPsec高级配置页面,确认NAT穿越开关是打开的,然后配置合适的NAT保活周期,点击<保存>提交配置。

5c3950c8d29b396cd6325a77c6a004a6_1695018151098064848.png

配置项

说明

NAT穿越

设置是否启用NAT穿越功能。

开启后,设备会在IPsec封装报文的新IP头和ESP头之间增加一个标准的UDP报头,使IPsec报文能够穿越NAT设备。

NAT保活周期

设置设备发送NAT Keepalive报文的时间间隔。

NAT设备上的NAT映射会话有一定的存活时间,如果IPsec隧道建立后长时间没有报文穿越,NAT会话表项会被删除,进而导致隧道数据传输中断。为了防止NAT表项老化,NAT设备内网侧的IKE SA需要定时向对端发送NAT Keepalive报文,以维持NAT会话的存活。

抗重放攻击

设置是否启用抗重放攻击功能,

重放攻击指攻击者通过捕获并重复发送目的主机已经接收过的数据包来对目的主机进行欺骗。

开启本功能后,IPsec会通过抗重放窗口机制检测重放报文,并将检测到的重放报文在解封装处理之前丢弃。

为保证业务正常运行,修改抗重放攻击相关参数后,将只对新协商的SA生效,已有SA不受影响。

抗重放窗口

设置IPsec抗重放窗口的大小,支持64位、128位、256位或1024位。

为保证业务正常运行,修改抗重放窗口大小后,将只对新协商的SA生效,已有SA不受影响。

DF-bit动作

配置IPsec报文外层IP头的DFDon't Fragment)标志位取值,控制是否允许对IPsec封装后的报文进行分片:

      clearDF标志位设置为0,表示允许对IPsec封装后的报文进行分片。

      setDF标志位设置为1,表示不允许对IPsec封装后的报文进行分片。

      copy:设置外层IP头的DF标志位取值与原始报文的DF标志位相同。

3.2 配置分支A

3.2.1 配置隧道接口

(1)点击[网络]>>[接口]>>[隧道接口]>>[VTI接口]。

(2)点击<新增>按钮,进入隧道接口配置页面。

(3)在隧道接口配置页面,配置参数如下:

image.png

3.2.2 配置IPsec隧道

1、基本配置

(1)点击[网络]>>[IPsec VPN]>>[自定义隧道]菜单项,并点击<新增>按钮,进入自定义隧道基本配置页面。

(2)在自定义隧道基本配置页面,参数配置如下:

       输入隧道名称为“to_71”

       启动状态选择“启用”

       关联隧道接口选择out,配置本端地址为2.1.0.2,对端地址为2.1.1.2

       认证方式使用默认的预共享密钥,输入口令和确认口令

a73d4ac75b253f0ccbc75384e2a1fd2b_1695018151631076330.png

(3)基本配置结束,点击<下一步>进入感兴趣流配置页面。

2、感兴趣流配置

(1)在感兴趣流配置页面,点击<新增>按钮,编辑感兴趣流,配置参数如下:

       选择代理方式为子网到子网

       输入本端网络为192.168.3.0/24,对端网络为192.168.100.0/24

e920a59446f4b46916b58cdd8b387a17_1695018148347010793.png

(2)感兴趣流配置结束,点击<下一步>进入安全参数配置页面。

3、安全参数配置

(1)在安全参数配置页面,选择IKE参数和IPsec参数,确保使用和对端设备相匹配的配置:

       IKE协商模式选择主模式,加密算法选择AES-128,验证算法选择SHA,DH组选择GROUP5,SA生存周期选择86400(单位为秒)

       IPsec协议选择ESP,封装模式选择Tunnel,加密算法选择AES-128,验证算法选择SHA,不开启完美前向保密开关,SA生存周期选择3600(单位为秒),隧道MTU配置为1400

36a8b72c1a4fd3533b62d6b6228678b5_1705631941796046978.png

(2)点击<完成>,完成IPsec隧道的创建。

3.2.3 IPsec高级配置

在有NAT的组网环境下,IPsec要开启NAT穿越,并且配置NAT保活周期。

点击[网络]>>[IPsec VPN]>>[高级配置],进入IPsec高级配置页面,确认NAT穿越开关是打开的,然后配置合适的NAT保活周期,点击<保存>提交配置。


3.2.4 配置静态路由

1、点击[网络]>>[路由]>>[静态路由]>>[IPv4]菜单项。

2、点击<新增>按钮,创建用于到VPN对端保护子网的静态路由。

d711a51250bef858093ca1b2e04f58ba_1695018152437036227.png

4 配置验证

4.1 查看中心

       点击[网络]>>[IPsec VPN]>>[隧道监控],即可查看到隧道建立情况及隧道状态详情。

15d6ebb55a37682c3c66e4b8c4fd97b6_1695018152699007117.png

       点击[监控]>>[日志监控]>>[IPsec VPN日志],可查看到IPsec隧道协商日志。

39d27ce60892e2df104a783d4119dbd2_1695018153012088446.png

4.2 查看分支A

       点击[网络]>>[IPsec VPN]>>[隧道监控],即可查看到隧道建立情况及隧道状态详情。

0a75e52f5622292ce2c001f745b2c210_1695018153172001889.png

       点击[监控]>>[日志监控]>>[IPsec VPN日志],可查看到IPsec隧道协商日志。

076b5537fa24f4b91c46c4bc14743612_1695018153329079419.png