IPSEC穿越NAT典型配置指导Huawei-3Com Technologies Co., Ltd.华为3Com技术有限公司IPSEC穿越NAT特性典型配置指导目录目录1 特性介绍 (2)2 特性的优点 (2)3 使用指南 (2)3.1 使用场合 (2)3.2 配置步骤 (2)3.2.1 配置IKE安全提议 (3)3.2.2 配置IKE对等体 (4)3.2.3 配置IPSEC访问控制列表 (4)3.2.4 配置IPSEC安全提议 (5)3.2.5 配置IPSEC安全策略 (5)3.2.6 应用IPSEC安全策略 (6)3.3 注意事项 (6)3.4 举例:隧道模式下的IPSEC穿越NAT (6)3.4.1 组网需求 (6)3.4.2 组网图 (7)3.4.3 硬件连接图 (7)3.4.4 配置 (7)3.4.5 验证结果 (11)3.4.6 故障排除 (11)4 关键命令 (12)4.1 nat traversal (12)5 相关资料 (13)5.1 相关协议和标准 (13)5.2 其他相关资料 (13)IPSEC 穿越NAT 特性典型配置指导 正文关键词:IPSEC ,NAT摘 要:本文简单描述IPSEC 及其穿越NAT 特性的特点,详细描述了路由器上配置IPSEC 穿越NAT 的基本方法和详细步骤,给出了一种IPSEC 穿越NAT 方法的配置案例。
缩略语:第1页1 特性介绍IPSec(IP Security)协议族是IETF制定的一系列协议,它为IP数据报提供了高质量的、可互操作的、基于密码学的安全性。
特定的通信方之间在IP层通过加密与数据源验证等方式,来保证数据报在网络上传输时的私有性、完整性、真实性和防重放。
IPSec通过AH(Authentication Header,认证头)和ESP(Encapsulating Security Payload,封装安全载荷)这两个安全协议来实现上述目标。
并且还可以通过IKE(Internet Key Exchange,因特网密钥交换协议)为IPSec提供了自动协商交换密钥、建立和维护安全联盟的服务,以简化IPSec的使用和管理。
如果两个IPsec设备之间存在一个或多个NAT设备,由于NAT设备会改变源IP地址和源端口,对IPsec报文和IKE协商都造成影响,因此必须配置IPSec/IKE的NAT穿越功能。
为了节省IP地址空间,ISP经常会在公网中加入NAT网关,以便于将私有IP地址分配给用户,此时可能会导致IPSec/IKE隧道的两端一端为公网地址,另一端为私网地址,所以必须在私网侧配置NAT穿越,保证隧道能够正常协商建立。
2 特性的优点IPSEC穿越NAT特性可以帮助用户穿过NAT网关在公网地址和私网地址间建立VPN隧道,极大拓展了IPSEC VPN的应用范围。
3 使用指南3.1 使用场合用户在公网和私网间建立VPN隧道时,若需要对传输数据进行验证和加密,则推荐使用IPSEC穿越NAT特性。
要求两侧作为VPN网关的路由器设备必须支持IPSEC穿越NAT特性,我司路由器设备均支持此特性。
路由器VRP版本要求是VRP 3.3 Release 0006及以上。
3.2 配置步骤IPSec协议有两种操作模式:传输模式和隧道模式。
在传输模式下,AH或ESP被插入到IP头之后但在所有传输层协议之前,或所有其他IPSec协议之前。
在隧道模式下,AH或ESP插在原始IP头之前,另外生成一个新头放到AH或ESP之前。
从安全性来讲,隧道模式优于传输模式。
它可第2页以完全地对原始IP数据报进行验证和加密;此外,可以使用IPSec对等体的IP地址来隐藏客户机的IP地址。
从性能来讲,隧道模式比传输模式占用更多带宽,因为它有一个额外的IP头。
因此,到底使用哪种模式需要在安全性和性能间进行权衡。
在传输模式和隧道模式下的IPSEC,均支持穿越NAT特性。
该特性删去了IKE协商过程中对UDP端口号的验证过程,同时实现了对VPN隧道中NAT网关设备的发现功能,即如果发现NAT网关设备,则将在之后的IPSec数据传输中使用UDP封装(即将IPSec报文封装到IKE协商所使用的UDP连接隧道里)的方法,避免了NAT网关对IPSec报文进行篡改(NAT网关设备将只能够修改最外层的IP和UDP报文头,对UDP报文封装的IPSec报文将不作修改),从而保证了IPSec报文的完整性(IPSec数据加密解密验证过程中要求报文原封不动地被传送到接收端)。
配置IPSEC穿越NAT,需要配置以下内容:●IKE 安全提议和IKE 对等体,为IPSec 提供自动协商交换密钥和建立安全联盟的服务,此外,IKE 对等体中设置的NAT 穿越功能开关可以保证协商及数据报文成功穿过NAT 网关●配置IPSEC 访问控制列表,来判断报文是否进行安全保护●配置IPSEC 安全提议,为安全联盟提供各种安全参数●配置IPSEC 安全策略,来决定何种报文采用何种安全提议●在接口上应用IPSEC 安全策略3.2.1 配置IKE安全提议IKE提议定义了一套属性数据来描述IKE协商怎样进行安全通信。
配置IKE提议包括创建IKE提议、选择加密算法、选择验证方法、选择验证算法、选择Diffie-Hellman组标识和设置安全联盟生存周期。
用户可以按照优先级创建多条IKE提议,但是协商双方必须至少有一条匹配的IKE提议才能协商成功。
协商时将从优先级最高的提议开始匹配一条双方都相同的提议,匹配的原则是:协商双方具有相同的加密算法、验证算法、验证方法和DH组标识。
执行ike proposal命令会进入IKE提议视图。
在IKE提议视图下可以配置加密算法、验证算法、组标识、生存周期和验证方法。
系统提供一条缺省的IKE提议,具有最低的优先级。
配置IKE提议,路由器上需要做如下配置:第3页1) 创建IKE安全提议。
2) 选择加密算法。
3) 选择验证方法。
4) 选择验证算法。
5) 选择Diffie-Hellman组标识。
6) 配置ISAKMP SA生存周期。
说明:在日常使用时通常省略IKE 安全提议的设置,直接使用缺省提议完成协商。
3.2.2 配置IKE对等体IKE对等体是成功实现第一阶段协商的关键配置。
在对等体中,需要设置协商模式,其中野蛮模式支持NAT穿越,而主模式不支持;需要配置IKE协商所使用的身份认证字,以保证双方协商的合法性;无论使用地址协商(id-type ip)还是NAME协商(id-type name),IPSEC SA的发起方必须配置对端安全网关设备的IP地址,当发起协商时,发起方会发送自己的IP地址给对端来标识自己的身份。
若使用NAME协商方式,则必须指定对端的NAME,且需要保证对方指定的IKE NAME与之相同,否则将代之以路由器名,这很可能发生校验错误而引起IKE协商失败;根据穿越NAT的需要,可选择配置NAT穿越功能。
此外,还可以配置本端安全网关ID的类型、指定对端安全网关设备的ID、配置子网类型等。
配置IKE对等体,路由器上需要做如下配置:1) 创建IPSEC对等体。
2) 配置IKE协商模式(IPSEC穿越NAT,必须配置为野蛮模式)。
3) 配置身份验证字(必须)。
4) 配置本端安全网关ID的类型。
5) 指定对端安全网关设备的ID。
6) 配置安全网关的IP地址。
7) 配置NAT穿越功能(必须)。
8) 配置IKE对等体的子网类型。
说明:以上配置都在IKE PEER 视图中完成。
3.2.3 配置IPSEC访问控制列表用于IPSec的访问控制列表的作用不同于在防火墙中所介绍的访问控制列表。
一般的访问控制列表是用来决定一个接口上哪些数据可通过,哪些要被拒绝;而IPSec是根据访问控制列表中的规则来确定哪些报文需要安全保护,哪些报文不需要安全保护,故用于IPSec的访问控制列表可称为加密访问控制列表。
加密访问控制列表匹配(permit)的报文将被保护,加密访问控制列表拒绝第4页(deny)的报文将不被保护。
加密访问控制列表既可用于加密入口数据流,也可用于加密出口数据流。
配置IPSEC访问控制列表,路由器上需要做如下配置:1) 创建IPSEC访问控制列表。
2) 配置相应的匹配规则(rule)。
说明:IPSec 对访问控制列表(ACL)中permit 的数据流进行保护,因此建议用户精确地配置ACL,只对确实需要IPSec 保护的数据流配置permit,避免盲目地使用关键字any。
建议用户将本端和对端的ACL 配置成互为镜像3.2.4 配置IPSEC安全提议安全提议保存IPSec需要使用的特定安全性协议以及加密/验证算法,为IPSec协商安全联盟提供各种安全参数。
为了能够成功的协商IPSec的安全联盟,两端必须使用相同的安全提议。
配置IPSEC安全提议,路由器上需要做如下配置:1) 定义安全提议。
2) 指定加密卡提议使用的加密卡(仅用于加密卡)。
3) 选择安全协议。
4) 选择安全算法。
5) 设置安全协议对IP报文的封装模式。
说明:必须首先通过transform 命令选择了相应的安全协议后,该安全协议所需的安全算法才可配置。
例如,如果使用transform 命令选择了esp,那么只有ESP 所需的安全算法才可配置,而AH 所需的安全算法则不能配置。
3.2.5 配置IPSEC安全策略安全策略规定了对什么样的数据流采用什么样的安全提议。
安全策略分为手工安全策略和IKE 协商安全策略,前者需要用户手工配置密钥、SPI等参数,在隧道模式下还需要手工配置安全隧道两个端点的IP地址;后者则由IKE自动协商生成这些参数。
IPSEC穿越NAT必须使用IKE自动协商方式配置安全策略。
配置IKE自动协商方式的IPSEC安全策略,路由器上需要做如下配置:第5页1) 用IKE创建安全策略。
2) 在安全策略中引用安全提议。
3) 在安全策略中引用访问控制列表。
4) 在安全策略中引用IKE对等体。
5) 配置安全联盟生存周期(可选)。
6) 配置协商时使用的PFS特性。
说明:必须首先通过transform 命令选择了相应的安全协议后,该安全协议所需的安全算法才可配置。
例如,如果使用transform 命令选择了esp,那么只有ESP 所需的安全算法才可配置,而AH 所需的安全算法则不能配置。
3.2.6 应用IPSEC安全策略为使定义的安全联盟生效,应在每个要加密的出站数据、解密的入站数据所在接口(逻辑的或物理的)上应用一个安全策略组,由这个接口根据所配置的安全策略组和对端加密路由器配合进行报文的加密处理。
当安全策略组被从接口上删除后,此接口便不再具有IPSec的安全保护功能。
应用IPSEC安全策略,路由器上需要做如下配置:●进入相应的接口视图●使能IPSEC 安全策略3.3 注意事项当配置IPSEC穿越NAT时,必须注意以下事项:1) IKE对等体中必须指定协商模式为野蛮模式。