15-IPsec配置
本章节下载: 15-IPsec配置 (461.9 KB)
目 录
IPsec(IP Security)是IETF制定的三层隧道加密协议,它为Internet上传输的数据提供了高质量的、可互操作的、基于密码学的安全保证,特定的通信方之间通过建立IPsec隧道来传输用户的私有数据,并在IP层提供了以下安全服务:
· 数据机密性(Confidentiality):IPsec发送方在通过网络传输包前对包进行加密。
· 数据完整性(Data Integrity):IPsec接收方对发送方发送来的包进行认证,以确保数据在传输过程中没有被篡改。
· 数据来源认证(Data Authentication):IPsec在接收端可以认证发送IPsec报文的发送端是否合法。
· 防重放(Anti-Replay):IPsec接收方可检测并拒绝接收过时或重复的报文。
IPsec具有以下优点:
· 支持IKE(Internet Key Exchange,因特网密钥交换),可实现密钥的自动协商功能,减少了密钥协商的开销。可以通过IKE建立和维护SA(Security Association,安全联盟)的服务,简化了IPsec的使用和管理。
· 所有使用IP协议进行数据传输的应用系统和服务都可以使用IPsec,而不必对这些应用系统和服务本身做任何修改。
· 对数据的加密是以数据包为单位的,而不是以整个数据流为单位,这不仅灵活而且有助于进一步提高IP数据包的安全性,可以有效防范网络攻击。
IPsec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议AH(Authentication Header,认证头)、ESP(Encapsulating Security Payload,封装安全载荷)、IKE(Internet Key Exchange,因特网密钥交换)和用于网络认证及加密的一些算法等。其中,AH协议和ESP协议用于提供安全服务,IKE协议用于密钥交换。关于IKE的详细介绍请参见“2 IKE”,本节不做介绍。
IPsec提供了两种安全机制:认证和加密。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。加密机制通过对数据进行加密运算来保证数据的机密性,以防数据在传输过程中被窃听。
AH协议和ESP协议的功能及工作原理如下:
· AH协议(IP协议号为51)定义了认证的应用方法,提供数据源认证、数据完整性校验和防报文重放功能,它能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。AH的工作原理是在每一个数据包上添加一个身份验证报文头,此报文头插在标准IP包头后面,对数据提供完整性保护。可选择的认证算法有MD5(Message Digest)、SHA-1(Secure Hash Algorithm)等。
· ESP协议(IP协议号为50)定义了加密和可选认证的应用方法,提供加密、数据源认证、数据完整性校验和防报文重放功能。ESP的工作原理是在每一个数据包的标准IP包头后面添加一个ESP报文头,并在数据包后面追加一个ESP尾。与AH协议不同的是,ESP将需要保护的用户数据进行加密后再封装到IP包中,以保证数据的机密性。常见的加密算法有DES、3DES、AES等。同时,作为可选项,用户可以选择MD5、SHA-1算法保证报文的完整性和真实性。
在实际进行IP通信时,可以根据实际安全需求同时使用这两种协议或选择使用其中的一种。AH和ESP都可以提供认证服务,不过,AH提供的认证服务要强于ESP。同时使用AH和ESP时,设备支持的AH和ESP联合使用的方式为:先对报文进行ESP封装,再对报文进行AH封装,封装之后的报文从内到外依次是原始IP报文、ESP头、AH头和外部IP头。
IPsec在两个端点之间提供安全通信,端点被称为IPsec对等体。
SA是IPsec的基础,也是IPsec的本质。SA是通信对等体间对某些要素的约定,例如,使用哪种协议(AH、ESP还是两者结合使用)、协议的封装模式(传输模式和隧道模式)、加密算法(DES、3DES和AES)、特定流中保护数据的共享密钥以及密钥的生存周期等。建立SA的方式有手工配置和IKE自动协商两种,WX系列无线控制器产品只支持通过IKE自动协商方式建立SA。
SA是单向的,在两个对等体之间的双向通信,最少需要两个SA来分别对两个方向的数据流进行安全保护。同时,如果两个对等体希望同时使用AH和ESP来进行安全通信,则每个对等体都会针对每一种协议来构建一个独立的SA。
SA由一个三元组来唯一标识,这个三元组包括SPI(Security Parameter Index,安全参数索引)、目的IP地址、安全协议号(AH或ESP)。
SPI是用于唯一标识SA的一个32比特数值,它在AH和ESP头中传输。在手工配置SA时,需要手工指定SPI的取值。使用IKE协商产生SA时,SPI将随机生成。
通过IKE协商建立的SA具有生存周期,手工方式建立的SA永不老化。IKE协商建立的SA的生存周期有两种定义方式:
· 基于时间的生存周期,定义了一个SA从建立到失效的时间;
· 基于流量的生存周期,定义了一个SA允许处理的最大流量。
生存周期到达指定的时间或指定的流量,SA就会失效。SA失效前,IKE将为IPsec协商建立新的SA,这样,在旧的SA失效前新的SA就已经准备好。在新的SA开始协商而没有协商好之前,继续使用旧的SA保护通信。在新的SA协商好之后,则立即采用新的SA保护通信。
IPsec有如下两种工作模式:
· 隧道(tunnel)模式:用户的整个IP数据包被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被封装在一个新的IP数据包中。通常,隧道模式应用在两个安全网关之间的通讯。
· 传输(transport)模式:只是传输层数据被用来计算AH或ESP头,AH或ESP头以及ESP加密的用户数据被放置在原IP包头后面。通常,传输模式应用在两台主机之间的通讯,或一台主机和一个安全网关之间的通讯。
AC与AP间IPsec只支持隧道模式。
不同的安全协议在tunnel和transport模式下的数据封装形式如图1-1所示。
(1) 认证算法
认证算法的实现主要是通过杂凑函数。杂凑函数是一种能够接受任意长的消息输入,并产生固定长度输出的算法,该输出称为消息摘要。IPsec对等体计算摘要,如果两个摘要是相同的,则表示报文是完整未经篡改的。IPsec使用两种认证算法:
· MD5:MD5通过输入任意长度的消息,产生128bit的消息摘要。
· SHA-1:SHA-1通过输入长度小于2的64次方bit的消息,产生160bit的消息摘要。
MD5算法的计算速度比SHA-1算法快,而SHA-1算法的安全强度比MD5算法高。
(2) 加密算法
加密算法实现主要通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。目前设备的IPsec实现三种加密算法:
· DES(Data Encryption Standard):使用56bit的密钥对一个64bit的明文块进行加密。
· 3DES(Triple DES):使用三个56bit的DES密钥(共168bit密钥)对明文进行加密。
· AES(Advanced Encryption Standard):使用128bit、192bit或256bit密钥长度的AES算法对明文进行加密。
这三个加密算法的安全性由高到低依次是:AES、3DES、DES,安全性高的加密算法实现机制复杂,运算速度慢。对于普通的安全要求,DES算法就可以满足需要。
有如下两种协商方式建立SA:
· 手工方式(manual)配置比较复杂,创建SA所需的全部信息都必须手工配置,而且不支持一些高级特性(例如定时更新密钥),但优点是可以不依赖IKE而单独实现IPsec功能。
· IKE自动协商(isakmp)方式相对比较简单,只需要配置好IKE协商安全策略的信息,由IKE自动协商来创建和维护SA。
WX系列无线控制器产品只支持通过IKE自动协商方式建立SA。
当与之进行通信的对等体设备数量较少时,或是在小型静态环境中,手工配置SA是可行的。对于中、大型的动态网络环境中,推荐使用IKE协商建立SA。
安全隧道是建立在本端和对端之间可以互通的一个通道,它由一对或多对SA组成。
IPsec双机热备功能利用双机热备机制实现了两台设备之间IPsec业务数据的热备份。互为热备份的两台设备(通常为企业中心网关设备)加入同一个备份组,形成一台虚拟设备,对端设备(通常为企业分支网关设备)通过该虚拟设备的虚拟IP地址与其通信。当主设备出现故障时,利用VRRP机制将IPsec业务流量切换到备份设备上继续进行IPsec处理和转发,整个流量切换过程对于远端设备而言完全透明,不需要远端设备添加任何额外的配置。流量切换后也不需要进行IPsec重协商,避免了因IPsec重协商导致的IPsec流量长时间中断。
IPsec双机热备功能只能采用VRRP标准协议模式,即同一时间仅由其中一台设备(主设备)处理以及转发所有的IPsec流量,并负责将产生的IPsec业务数据同步给另外一台设备(备份设备),而另外一台设备不处理任何IPsec流量。当主设备出现故障时,才由备份设备接替主设备处理业务并转发IPsec流量。
图1-2 IPsec双机热备组网图
如图1-2所示,设备A与设备B通过备份链路组成双机热备系统,其中设备A通过VRRP机制被选举为主设备。当设备A正常工作时,它与远端的设备C之间建立IPsec隧道,并通过备份链路将IPsec业务数据同步到设备B上,实现IPsec业务数据在两台设备上的共享。被同步的IPsec业务数据包括IKE SA、IPsec SA、DPD报文序号等。此时,在设备A上协商生成的IKE SA和IPsec SA均称为主用IKE SA和主用IPsec SA。在设备B上,接收到备份信息生成的IKE SA和IPsec SA被称为备份IKE SA和备份IPsec SA。当设备A发生故障后,由VRRP机制实现业务流量的切换,由于设备B上保存了设备A上同步过来的IPsec业务数据,因此设备B可立即替代设备A继续处理IPsec业务,减少了因流量中断而带来的损失。
与IPsec相关的协议规范有:
· RFC2401:Security Architecture for the Internet Protocol
· RFC2402:IP Authentication Header
· RFC2406:IP Encapsulating Security Payload
· RFC4552:Authentication/Confidentiality for OSPFv3
· RFC4301:Security Architecture for the Internet Protocol
· RFC4302:IP Authentication Header
· RFC4303:IP Encapsulating Security Payload (ESP)
建立IPsec安全隧道的基本配置思路如下:
(1) 通过配置IPsec安全提议,指定安全协议、认证算法和加密算法等;
(2) 通过配置IPsec安全策略,将要保护的数据流和IPsec安全提议进行关联(即定义对何种数据流实施何种保护),并指定SA的协商方式、对等体IP地址(即保护路径的起/终点)、所需要的密钥和SA的生存周期等;
(3) 最后在设备接口上应用IPsec安全策略即可完成IPsec隧道的配置。
表1-1 IPsec配置任务简介
配置任务 |
说明 |
详细配置 |
配置IPsec安全提议 |
必选 |
|
配置IPsec安全策略 |
||
在接口上应用IPsec安全策略组 |
通常情况下,由于IKE协议采用UDP的500端口进行通信,IPsec的AH和ESP协议分别使用51或50号协议来工作,因此为保障IKE和IPsec的正常运行,需要确保应用了IKE和IPsec配置的接口上没有禁止掉属于以上端口和协议的流量。
IPsec安全提议是IPsec安全策略的一个组成部分,它用于保存IPsec需要使用的特定安全协议、加密/认证算法等,为IPsec协商SA提供各种安全参数。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建IPsec安全提议,并进入IPsec安全提议视图 |
ipsec proposal proposal-name |
必选 缺省情况下,没有任何IPsec安全提议存在 |
|
配置IPsec安全提议采用的安全协议 |
transform { ah | ah-esp | esp } |
可选 缺省情况下,采用ESP协议 |
|
配置安全算法 |
配置ESP协议采用的加密算法 |
esp encryption-algorithm { 3des | aes [ key-length ] | des } |
可选 缺省情况下,ESP协议采用DES加密算法 |
配置ESP协议采用的认证算法 |
esp authentication-algorithm { md5 | sha1 } |
可选 缺省情况下,ESP协议采用MD5认证算法 |
|
配置AH协议采用的认证算法 |
ah authentication-algorithm { md5 | sha1 } |
可选 缺省情况下,AH协议采用MD5认证算法 |
|
配置安全协议对IP报文的封装形式 |
encapsulation-mode { transport | tunnel } |
可选 缺省情况下,安全协议采用隧道模式对IP报文进行封装 |
· 可对IPsec安全提议进行修改,但对已协商成功的SA,新修改的IPsec安全提议并不起作用,即SA仍然使用原来的IPsec安全提议(除非使用reset ipsec sa命令重置),只有新协商的SA将使用新的IPsec安全提议。
· 只有选择了相应的IPsec安全协议后,该安全协议所需的安全算法才可配置。例如,如果使用transform命令选择了esp,那么只有ESP所需的安全算法才可配置,而AH所需的安全算法则不能配置。ESP协议允许对报文同时进行加密和认证,或只加密,或只认证。
· 系统中最多可以创建10000个IPsec安全提议。
IPsec安全策略规定了对什么样的数据流采用什么样的安全提议。一条IPsec安全策略由“名字”和“顺序号”共同唯一确定。
IPsec安全策略分为手工安全策略和IKE协商安全策略:
· 手工配置方式:需要用户手工配置密钥、SPI等参数,在隧道模式下还需要手工配置安全隧道两个端点的IP地址;
· IKE协商方式:由IKE自动协商生成各参数。
(1) 配置准备
手工配置IPsec安全策略时,除完成该安全策略需要的IPsec安全提议的配置之外,为保证SA的协商成功,安全隧道两端的配置必须符合以下要求:
· IPsec安全策略引用的IPsec安全提议应采用相同的安全协议、安全算法和报文封装形式;
· 当前端点的对端地址与对端的本端地址应保持一致;
· 应分别设置出方向SA和入方向SA的参数,且保证SA的唯一性,即不同SA必须对应不同的SPI;
· 本端和对端SA的SPI及密钥必须是完全匹配的。即,本端的入方向SA的SPI及密钥必须和对端的出方向SA的SPI及密钥相同;本端的出方向SA的SPI及密钥必须和对端的入方向SA的SPI及密钥相同;
· 两端SA使用的密钥应当以相同的方式输入。即,一端以字符串方式输入密钥,另一端必须也以字符串方式输入密钥。而且,任何一端出入方向的SA使用的密钥也应当以相同的方式输入。
(2) 手工配置IPsec安全策略
表1-3 手工配置IPsec安全策略
操作 |
命令 |
说明 |
||
进入系统视图 |
system-view |
- |
||
用手工方式创建一条IPsec安全策略,并进入IPsec安全策略视图 |
ipsec policy policy-name seq-number manual |
必选 缺省情况下,没有任何IPsec安全策略存在 |
||
配置IPsec安全策略所引用的IPsec安全提议 |
proposal proposal-name |
必选 缺省情况下,IPsec安全策略没有引用任何IPsec安全提议 |
||
配置隧道的起点与终点 |
配置安全隧道的本端地址 |
tunnel local ip-address |
缺省情况下,没有配置安全隧道的本端地址和对端地址 |
|
配置安全隧道的对端地址 |
tunnel remote ip-address |
|||
配置SA的安全参数索引参数 |
sa spi { inbound | outbound } { ah | esp } spi-number |
必选 |
||
配置SA使用的密钥 |
配置AH协议的认证密钥(以16进制方式输入) |
sa authentication-hex { inbound | outbound } ah hex-key |
二者必选其一 |
|
配置AH协议的认证密钥(以字符串方式输入) |
sa string-key { inbound | outbound } ah string-key |
|||
配置ESP协议的认证密钥和加密密钥(以字符串方式输入) |
sa string-key { inbound | outbound } esp string-key |
至少选其一 以字符串方式输入密钥时,系统会自动地同时生成认证算法的密钥和加密算法的密钥 |
||
配置ESP协议的认证密钥(以16进制方式输入) |
sa authentication-hex { inbound | outbound } esp hex-key |
|||
配置ESP协议的加密密钥(以16进制方式输入) |
sa encryption-hex { inbound | outbound } esp hex-key |
|||
· 通过手工方式建立SA,一条IPsec安全策略只能引用一个安全提议,并且如果已经引用了IPsec安全提议,必须先取消原先的IPsec安全提议才能引用新的IPsec安全提议。
· 如果先后以不同的方式输入了密钥,则最后设定的密钥有效。
· 对于手工方式创建的IPsec安全策略,不能直接修改它的创建方式,而必须先删除该IPsec安全策略然后再重新创建。
在采用IKE方式配置IPsec安全策略时,有以下两种方式:
· 直接配置IPsec安全策略,在IPsec安全策略视图中定义需要协商的各参数;
· 引用IPsec安全策略模板创建IPsec安全策略,在IPsec安全策略模板中定义需要协商的各参数。应用了该类安全策略的设备不能发起协商,仅可以响应远端设备的协商请求。由于策略模板中未定义的可选参数由发起方来决定,而响应方会接受发起方的建议,因此这种方式适用于通信对端(例如对端的IP地址)未知的情况下,允许这些对端设备向本端设备主动发起协商。
(1) 配置准备
在配置IKE协商IPsec安全策略之前,需要完成以下配置:
· 配置IPsec安全提议。
· 配置IKE对等体。具体配置请参见“2.5 配置IKE对等体”。
为保证IKE协商成功,IPsec安全策略中所有配置的参数必须在本端和对端相匹配。
(2) 配置使用IKE协商方式的安全策略
· 直接配置使用IKE协商方式的IPsec安全策略
表1-4 直接配置使用IKE协商方式的IPsec安全策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一条IPsec安全策略,并进入IPsec安全策略视图 |
ipsec policy policy-name seq-number isakmp |
必选 缺省情况下,没有IPsec安全策略存在 |
配置用于描述IPsec安全策略的IPsec连接名 |
connection-name name |
可选 缺省情况下,无IPsec连接名 |
配置IPsec安全策略引用的访问控制列表 |
security acl acl-number [ aggregation | per-host ] |
必选 缺省情况下,IPsec安全策略没有指定访问控制列表 |
配置IPsec安全策略所引用的IPsec安全提议 |
proposal proposal-name&<1-6> |
必选 缺省情况下,IPsec安全策略没有引用任何提议 |
在IPsec安全策略中引用IKE对等体 |
ike-peer peer-name |
必选 IPsec安全策略中不能引用已经被安全框架引用的IKE对等体,反之亦然 |
配置使用此IPsec安全策略发起协商时使用PFS特性 |
pfs { dh-group1 | dh-group2 | dh-group5 | dh-group14 } |
可选 缺省情况下,IPsec安全策略发起协商时没有使用PFS特性 |
配置SA的生存周期 |
sa duration { time-based seconds | traffic-based kilobytes } |
可选 缺省情况下,IPsec安全策略的SA生存周期为当前全局的SA生存周期值 |
配置IPsec双机热备环境下同步防重放信息的间隔 |
synchronization anti-replay-interval inbound inbound-number outbound outbound-number |
可选 缺省情况下,同步入方向防重放窗口的间隔为每接收1000个报文同步一次;同步出方向防重放序号的间隔为每发送100000个报文同步一次 |
使能IPsec安全策略 |
policy enable |
可选 缺省情况下,IPsec安全策略处于使能状态 |
退回系统视图 |
quit |
- |
配置全局SA的生存周期 |
ipsec sa global-duration { time-based seconds | traffic-based kilobytes } |
可选 缺省情况下,SA基于时间的生存周期为3600秒,基于流量的生存周期为1843200千字节 |
· 引用IPsec安全策略模板配置IKE协商方式的IPsec安全策略
IPsec安全策略模板可配置的参数与IKE方式的IPsec安全策略相同,只是很多参数是可选的。
· 必须配置的参数:IPsec安全提议和IKE对等体,
· 可选配的参数: PFS特性和生存周期。
表1-5 引用IPsec安全策略模板配置IKE协商方式的IPsec安全策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个IPsec安全策略模板,并进入IPsec安全策略模板视图 |
ipsec policy-template template-name seq-number |
必选 缺省情况下,没有任何IPsec安全策略模板存在 |
配置IPsec安全策略所引用的安全提议 |
proposal proposal-name&<1-6> |
必选 缺省情况下,IPsec安全策略没有引用任何提议 |
在IPsec安全策略中引用IKE对等体 |
ike-peer peer-name |
必选 |
配置使用此IPsec安全策略发起协商时使用PFS特性 |
pfs { dh-group1 | dh-group2 | dh-group5 | dh-group14 } |
可选 缺省情况下,IPsec安全策略发起协商时没有使用PFS特性 |
配置SA的生存周期 |
sa duration { time-based seconds | traffic-based kilobytes } |
可选 缺省情况下,IPsec安全策略的SA生存周期为当前全局的SA生存周期值 |
配置IPsec双机热备环境下同步防重放信息的间隔 |
synchronization anti-replay-interval inbound inbound-number outbound outbound-number |
可选 缺省情况下,同步入方向防重放窗口的间隔为每接收1000个报文同步一次;同步出方向防重放序号的间隔为每发送100000个报文同步一次 |
使能IPsec安全策略 |
policy enable |
可选 缺省情况下,IPsec安全策略处于使能状态 |
退回系统视图 |
quit |
- |
配置全局SA的生存周期 |
ipsec sa global-duration { time-based seconds | traffic-based kilobytes } |
可选 缺省情况下,SA基于时间的生存周期为3600秒,基于流量的生存周期为1843200千字节 |
引用IPsec安全策略模板创建一条IPsec安全策略 |
ipsec policy policy-name seq-number isakmp template template-name |
必选 缺省情况下,没有IPsec安全策略存在 |
· synchronization anti-replay-interval命令的支持情况与设备的型号有关,请参见“配置指导导读”中的“特性差异情况”部分的介绍。
· 引用IPsec安全策略模板创建一条IPsec安全策略之后,就不能进入该IPsec安全策略视图下进行安全策略的配置与修改了,只能进入IPsec安全策略模板视图下配置或修改。
· 一条IPsec安全策略只能引用一条访问控制列表,如果设置IPsec安全策略引用了多于一个访问控制列表,最后配置的那条访问控制列表才有效。
· 通过IKE协商建立SA,一条IPsec安全策略最多可以引用六个IPsec安全提议,IKE协商将在安全隧道的两端搜索能够完全匹配的IPsec安全提议。如果IKE在两端找不到完全匹配的IPsec安全提议,则SA不能建立,需要被保护的报文将被丢弃。
· IKE在使用IPsec安全策略发起一个协商时,可以进行一个PFS交换。如果本端配置了PFS特性,则发起协商的对端也必须配置PFS特性,而且本端和对端指定的DH组必须一致,否则协商会失败。
· 所有在IPsec安全策略视图下没有单独配置生存周期的SA,都采用全局生存周期。IKE为IPsec协商建立SA时,采用本地设置的和对端提议的生存周期中较小的一个。
· 可同时配置基于时间和基于流量的SA生存周期,只要到达指定的时间或指定的流量,SA就会老化。
· 对于IKE(无论直接或引用模板)方式创建的IPsec安全策略,不能直接修改它的创建方式,而必须先删除该安全策略然后再重新创建。
IPsec安全策略组是所有具有相同名字、不同顺序号的IPsec安全策略的集合。在同一个IPsec安全策略组中,顺序号越小的IPsec安全策略,优先级越高。
为使定义的SA生效,应在每个要加密的数据流和要解密的数据流所在接口(逻辑的或物理的)上应用一个IPsec安全策略组,以对数据进行保护。当取消IPsec安全策略组在接口上的应用后,此接口便不再具有IPsec的安全保护功能。
当从一个接口发送数据时,将按照从小到大的顺序号查找IPsec安全策略组中每一条安全策略。如果数据匹配了一条IPsec安全策略引用的访问控制列表,则使用这条IPsec安全策略对数据进行处理;如果数据没有匹配IPsec安全策略引用的访问控制列表,则继续查找下一条IPsec安全策略;如果数据与所有IPsec安全策略引用的访问控制列表都不匹配,则直接被发送(IPsec不对数据加以保护)。
表1-6 在接口上应用IPsec安全策略组
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入接口视图 |
interface interface-type interface-number |
- |
应用指定的IPsec安全策略组 |
ipsec policy policy-name |
必选 |
一个接口只能应用一个IPsec安全策略组。通过IKE方式创建的IPsec安全策略可以应用到多个接口上,通过手工创建的IPsec安全策略只能应用到一个接口上。
在IPsec双机热备环境中,有以下配置限制:
· 不支持负载均衡模式的VRRP,仅支持标准协议模式。
· 不支持非对称路径方式的双机热备业务备份功能,仅支持对称路径方式。
· 不支持IKE协商使用rsa-signature认证方式。
· 不支持使用IKE Keepalive机制检测ISAKMP SA的链路状态。
· IPsec双机热备的支持情况与设备的型号有关,请参见“配置指导导读”中的“特性差异情况”部分的介绍。
为使IPsec双机热备功能能够正常运行,需要在两台设备上均完成以下配置:
(1) 配置双机热备
· 开启对称路径方式的双机热备业务备份功能。
· 指定传输状态协商报文和IPsec业务数据的备份接口。
相关配置请参考“可靠性配置指导”中的“双机热备配置”。
(2) 配置VRRP
· 创建外网侧接口所属的VRRP组(称为上行链路VRRP组)和内网侧接口所属的VRRP组(称为下行链路VRRP组),并配置各VRRP组对应的虚拟IP地址。
· 配置设备在各VRRP组中的优先级,保证设备在上行链路VRRP组和下行链路VRRP组中均作为Master或Backup,即本设备在两个VRRP组中的优先级均高于或均低于另外一个设备在两个VRRP组中的优先级。
· 配置设备在上行链路VRRP组和下行链路VRRP组中的工作方式相同(抢占方式或非抢占方式)。对于抢占方式,建议Backup设备的抢占延迟时间设置为0秒,以便Master设备优先级降低时,Backup设备能迅速接替其转发流量;建议Master设备的抢占延迟时间设置为较大值,如255秒,以便Master设备从故障中恢复时,有充足的时间从Backup设备上同步备份信息。
相关配置请参考“可靠性配置指导”中的“VRRP配置”。
(3) 配置IPsec以及IKE
· 创建并配置IKE对等体,保证互为备份的两台设备上的IKE对等体配置完全相同。其中,IKE对等体的本端安全网关地址必须指定为上行链路VRRP组的虚拟IP地址。
· 创建并配置IKE协商方式的IPsec安全策略或IPsec安全框架,保证互为备份的两台设备上的IPsec安全策略或IPsec安全框架配置完全相同。
· 在上行链路VRRP组所在的接口上应用IPsec安全策略或IPsec安全框架。如果应用了IPsec安全策略或IPsec安全框架的接口所属的VRRP虚地址发生了变化,则必须重新将IPsec安全策略或IPsec安全框架应用到接口上。
在两台互为备份的设备上均开启IPsec双机热备功能后,IPsec双机热备功能才能生效。
表1-7 开启IPsec双机热备功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
开启IPsec双机热备功能 |
ipsec synchronization enable |
可选 缺省情况下,IPsec双机热备功能处于开启状态 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后IPsec的运行情况,通过查看显示信息认证配置的效果。
在用户视图下执行reset命令可以清除IPsec统计信息。
表1-8 IPsec显示和维护
操作 |
命令 |
显示IPsec安全策略的信息 |
display ipsec policy [ brief | name policy-name [ seq-number ] ] [ | { begin | exclude | include } regular-expression ] |
显示IPsec安全策略模板的信息 |
display ipsec policy-template [ brief | name template-name [ seq-number ] ] [ | { begin | exclude | include } regular-expression ] |
显示IPsec安全提议的信息 |
display ipsec proposal [ proposal-name ] [ | { begin | exclude | include } regular-expression ] |
显示SA的相关信息 |
display ipsec sa [ active | brief | policy policy-name [ seq-number ] | remote ip-address | standby ] [ | { begin | exclude | include } regular-expression ] |
显示IPsec处理报文的统计信息 |
display ipsec statistics [ tunnel-id integer ] [ | { begin | exclude | include } regular-expression ] |
显示IPsec隧道的信息 |
display ipsec tunnel [ active | standby ] [ | { begin | exclude | include } regular-expression ] |
清除已经建立的SA |
reset ipsec sa [ active | parameters dest-address protocol spi | policy policy-name [ seq-number ] | remote ip-address | standby ] |
清除IPsec的报文统计信息 |
reset ipsec statistics |
“IPsec加密AC和AP间隧道配置举例”请参见“WLAN配置指导”中的“WLAN服务配置”中的“IPsec加密CAPWAP隧道配置举例”。
企业内部使用AC与AP组网,AC与AP之间使用IPSec进行安全保护,并且对AC与AP间的可靠性有要求,两台AC与AP通过交换机相连,AC1与AC2实现双机热备。具体要求如下:
· 两台AC与AP处于同一VLAN,AP分别与AC1和AC2建立IPSec隧道
· 两台AC间通过交换机发送热备心跳报文
· AP与AC1和AC2分别建立IPSec隧道,并在此基础上建立LWAPP隧道
图1-3 AC与AP间建立IPSec隧道组网图
(1) 配置AC 1
# 配置AC 1的IP地址。
<AC1> system-view
[AC1] interface Vlan-interface 1
[AC1-Vlan-interface1] ip address 133.1.1.1 16
[AC1-Vlan-interface1] quit
# 使能AC间热备份功能并设置AC间连接的心跳周期。
[AC1] hot-backup enable
[AC1] hot-backup hellointerval 100
# 配置IKE心跳报文发送间隔时间。
[AC1] ike sa keepalive-timer interval 20
# 配置IKE SA的超时时间。
[AC1] ike sa keepalive-timer timeout 60
# 配置IPSec SA失效后刷新功能。
[AC1] ipsec invalid-spi-recovery enable
# 创建名为tran1的IPsec安全提议。
[AC1] ipsec proposal tran1
# 配置IPsec安全提议tran1采用ESP协议并使用SHA-1认证算法。
[AC1-ipsec-proposal-tran1] esp authentication-algorithm sha1
[AC1-ipsec-proposal-tran1] quit
# 创建一个名称为dpd的DPD。
[AC1] ike dpd dpd
[AC1-ike-dpd-dpd] quit
# 创建名为peer1的IKE对等体。
[AC1] ike peer peer1
# 为对等体peer1应用名称为dpd的DPD。
[AC1-ike-peer-peer1] dpd dpd
# 配置IKE协商所使用的预共享密钥为明文123456。
[AC1-ike-peer-peer1] pre-shared-key simple 123456
# 配置安全网关IP地址为133.1.1.33。
[AC1-ike-peer-peer1] remote-address 133.1.1.33
[AC1-ike-peer-peer1] quit
# 创建一个模板名字为pt,顺序号为1的IPsec安全策略模板。
[AC1] ipsec policy-template pt 1
# 设置安全策略模板引用IPsec安全提议tran1。
[AC1-ipsec-policy-template-pt-1] proposal tran1
# 配置在IPsec安全策略中引用IKE对等体。
[AC1-ipsec-policy-template-pt-1] ike-peer peer1
[AC1-ipsec-policy-template-pt-1] quit
# 配置名字为map,顺序号为1,采用IKE方式协商安全联盟的IPsec安全策略。
[AC1] ipsec policy map 1 isakmp template pt
# 在VLAN接口上应用IPSEC策略map。
[AC1] interface Vlan-interface 1
[AC1-Vlan-interface1] ipsec policy map
[AC1-Vlan-interface1] quit
# 创建AP的模板,名称为ap,型号名称选择WA2620-AGN,配置AP的序列号为210235A35V0088000005,配置备份AC的IP地址和AP连接优先级。
[AC1] wlan ap ap model WA2620-AGN
[AC1-wlan-ap-ap] serial-id 210235A35V0088000005
[AC1-wlan-ap-ap] backup-ac ip 133.1.1.2
[AC1-wlan-ap-ap] priority level 7
# 进入AP的AP配置视图。
[AC1-wlan-ap-ap] provision
# 以明文方式配置AP使用IPsec加密控制隧道的密钥为123456。
[AC1-wlan-ap-ap-prvs] tunnel encryption ipsec pre-shared-key simple 123456
# 配置AP使用IPsec密钥加密数据隧道。
[AC1-wlan-ap-ap-prvs] data-tunnel encryption en
# 将AP预配置信息保存到AP的私有配置文件中。
[AC1-wlan-ap-ap-prvs] save wlan ap provision name ap
[AC1-wlan-ap-ap-prvs] quit
[AC1] quit
# 重启所有AP。
<AC1> reset wlan ap all
This command will reset all master connection AP's.
Do you want to continue [Y/N]:y
(2) 配置AC 2
# 配置AC 2的IP地址。
<AC2> system-view
[AC2] interface Vlan-interface 1
[AC2-Vlan-interface1] ip address 133.1.1.2 16
[AC2-Vlan-interface1] quit
# 使能AC间热备份功能并设置AC间连接的心跳周期。
[AC2] hot-backup enable
[AC2] hot-backup hellointerval 100
# 配置IKE心跳报文发送间隔时间。
[AC2] ike sa keepalive-timer interval 20
# 配置IKE SA的超时时间。
[AC2] ike sa keepalive-timer timeout 60
# 配置IPSec SA失效后刷新功能。
[AC2] ipsec invalid-spi-recovery enable
# 创建名为tran1的IPsec安全提议。
[AC2] ipsec proposal tran1
# 配置IPsec安全提议tran1采用ESP协议并使用SHA-1认证算法。
[AC2-ipsec-proposal-tran1] esp authentication-algorithm sha1
[AC2-ipsec-proposal-tran1] quit
# 创建一个名称为dpd的DPD。
[AC2] ike dpd dpd
[AC2-ike-dpd-dpd] quit
# 创建名为peer1的IKE对等体。
[AC2] ike peer peer1
# 为对等体peer1应用名称为dpd的DPD。
[AC2-ike-peer-peer1] dpd dpd
# 配置IKE协商所使用的预共享密钥为明文123456。
[AC2-ike-peer-peer1] pre-shared-key simple 123456
# 配置安全网关IP地址为133.1.1.33。
[AC2-ike-peer-peer1] remote-address 133.1.1.33
[AC2-ike-peer-peer1] quit
# 创建一个模板名字为pt,顺序号为1的IPsec安全策略模板。
[AC2] ipsec policy-template pt 1
# 设置安全策略模板引用IPsec安全提议tran1。
[AC2-ipsec-policy-template-pt-1] proposal tran1
# 配置在IPsec安全策略中引用IKE对等体。
[AC2-ipsec-policy-template-pt-1] ike-peer peer1
[AC2-ipsec-policy-template-pt-1] quit
# 配置名字为map,顺序号为1,采用IKE方式协商安全联盟的IPsec安全策略。
[AC2] ipsec policy map 1 isakmp template pt
# 在VLAN接口上应用IPSEC策略map。
[AC2] interface Vlan-interface 1
[AC2-Vlan-interface1] ipsec policy map
[AC2-Vlan-interface1] quit
# 创建AP的模板,名称为ap,型号名称选择WA2620-AGN,配置AP的序列号为210235A35V0088000005,配置备份AC的IP地址和AP连接优先级。
[AC2] wlan ap ap model WA2620-AGN
[AC2-wlan-ap-ap] serial-id 210235A35V0088000005
[AC2-wlan-ap-ap] backup-ac ip 133.1.1.1
[AC2-wlan-ap-ap] priority level 1
[AC2-wlan-ap-ap] quit
完成以上配置后,使用display wlan ap all命令可以查看到AC与AP建立的关联关系。
<AC1> dis wlan ap all
Total Number of APs configured : 1
Total Number of configured APs connected : 1
Total Number of auto APs connected : 0
AP Profiles
State : I = Idle, J = Join, JA = JoinAck, IL = ImageLoad
C = Config, R = Run, KU = KeyUpdate, KC = KeyCfm
---------------------------------------------------------------------------
AP Name State Model Serial-ID
---------------------------------------------------------------------------
ap R/M WA2620-AGN 210235A35V0088000005
---------------------------------------------------------------------------
<AC1>
<AC2>dis wlan ap all
Total Number of APs configured : 1
Total Number of configured APs connected : 1
Total Number of auto APs connected : 0
AP Profiles
State : I = Idle, J = Join, JA = JoinAck, IL = ImageLoad
C = Config, R = Run, KU = KeyUpdate, KC = KeyCfm
---------------------------------------------------------------------------
AP Name State Model Serial-ID
---------------------------------------------------------------------------
ap R/B WA2620-AGN 210235A35V0088000005
---------------------------------------------------------------------------
<AC2>
使用display ipsec sa命令可以查看到建立的SA联盟,IKE协商成功并创建了SA后,AP和AC之间的控制报文将被加密传输。
<AC1> display ipsec sa
===============================
Interface: Vlan-interface1
path MTU: 1500
===============================
-----------------------------
IPsec policy name: "pt"
sequence number: 1
mode: template
-----------------------------
connection id: 7
encapsulation mode: tunnel
perfect forward secrecy:
tunnel:
local address: 133.1.1.1
remote address: 133.1.1.33
flow:
sour addr: 133.1.1.1/255.255.255.255 port: 12223 protocol: UDP
dest addr: 133.1.1.33/255.255.255.255 port: 0 protocol: UDP
[inbound ESP SAs]
spi: 220165574 (0x0d1f75c6)
proposal: ESP-ENCRYPT-DES ESP-AUTH-SHA1
sa duration (kilobytes/sec): 1843200/3600
sa remaining duration (kilobytes/sec): 1843177/3261
max received sequence-number: 126
anti-replay check enable: Y
anti-replay window size: 32
udp encapsulation used for nat traversal: N
status: --
[outbound ESP SAs]
spi: 620434955 (0x24fb160b)
proposal: ESP-ENCRYPT-DES ESP-AUTH-SHA1
sa duration (kilobytes/sec): 1843200/3600
sa remaining duration (kilobytes/sec): 1843192/3261
max received sequence-number: 127
udp encapsulation used for nat traversal: N
status: --
-----------------------------
IPsec policy name: "pt"
sequence number: 1
mode: template
-----------------------------
connection id: 8
encapsulation mode: tunnel
perfect forward secrecy:
tunnel:
local address: 133.1.1.1
remote address: 133.1.1.33
flow:
sour addr: 133.1.1.1/255.255.255.255 port: 12222 protocol: UDP
dest addr: 133.1.1.33/255.255.255.255 port: 0 protocol: UDP
[inbound ESP SAs]
spi: 2106938486 (0x7d955476)
proposal: ESP-ENCRYPT-DES ESP-AUTH-SHA1
sa duration (kilobytes/sec): 1843200/3600
sa remaining duration (kilobytes/sec): 1843194/3262
max received sequence-number: 111
anti-replay check enable: Y
anti-replay window size: 32
udp encapsulation used for nat traversal: N
status: --
[outbound ESP SAs]
spi: 1822532692 (0x6ca1a454)
proposal: ESP-ENCRYPT-DES ESP-AUTH-SHA1
sa duration (kilobytes/sec): 1843200/3600
sa remaining duration (kilobytes/sec): 1843200/3262
max received sequence-number: 1
udp encapsulation used for nat traversal: N
status: --
<AC1>
<AC2> display ipsec sa
===============================
Interface: Vlan-interface1
path MTU: 1500
===============================
-----------------------------
IPsec policy name: "pt"
sequence number: 1
mode: template
-----------------------------
connection id: 6
encapsulation mode: tunnel
perfect forward secrecy:
tunnel:
local address: 133.1.1.2
remote address: 133.1.1.33
flow:
sour addr: 133.1.1.2/255.255.255.255 port: 12223 protocol: UDP
dest addr: 133.1.1.33/255.255.255.255 port: 0 protocol: UDP
[inbound ESP SAs]
spi: 1636801638 (0x618f9c66)
proposal: ESP-ENCRYPT-DES ESP-AUTH-SHA1
sa duration (kilobytes/sec): 1843200/3600
sa remaining duration (kilobytes/sec): 1843159/2980
max received sequence-number: 206
anti-replay check enable: Y
anti-replay window size: 32
udp encapsulation used for nat traversal: N
status: --
[outbound ESP SAs]
spi: 1048421470 (0x3e7da45e)
proposal: ESP-ENCRYPT-DES ESP-AUTH-SHA1
sa duration (kilobytes/sec): 1843200/3600
sa remaining duration (kilobytes/sec): 1843189/2980
max received sequence-number: 207
udp encapsulation used for nat traversal: N
status: --
-----------------------------
IPsec policy name: "pt"
sequence number: 1
mode: template
-----------------------------
connection id: 7
encapsulation mode: tunnel
perfect forward secrecy:
tunnel:
local address: 133.1.1.2
remote address: 133.1.1.33
flow:
sour addr: 133.1.1.2/255.255.255.255 port: 12222 protocol: UDP
dest addr: 133.1.1.33/255.255.255.255 port: 0 protocol: UDP
[inbound ESP SAs]
spi: 1751951131 (0x686ca71b)
proposal: ESP-ENCRYPT-DES ESP-AUTH-SHA1
sa duration (kilobytes/sec): 1843200/3600
sa remaining duration (kilobytes/sec): 1843190/2981
max received sequence-number: 205
anti-replay check enable: Y
anti-replay window size: 32
udp encapsulation used for nat traversal: N
status: --
[outbound ESP SAs]
spi: 2945451878 (0xaf900766)
proposal: ESP-ENCRYPT-DES ESP-AUTH-SHA1
sa duration (kilobytes/sec): 1843200/3600
sa remaining duration (kilobytes/sec): 1843200/2981
max received sequence-number: 1
udp encapsulation used for nat traversal: N
status: --
<AC2>
可以使用display ike sa命令查看到IKE协商成功后生成的SA。
<AC1> display ike sa
total phase-1 SAs: 1
connection-id peer flag phase doi status
-----------------------------------------------------------------------
60 133.1.1.33 RD 1 IPSEC --
61 133.1.1.33 RD 2 IPSEC --
62 133.1.1.33 RD 2 IPSEC --
flag meaning
RD--READY ST--STAYALIVE RL--REPLACED FD--FADING TO--TIMEOUT
<AC1>
<AC2> display ike sa
total phase-1 SAs: 1
connection-id peer flag phase doi status
-----------------------------------------------------------------------
117 133.1.1.33 RD 1 IPSEC --
120 133.1.1.33 RD 2 IPSEC --
121 133.1.1.33 RD 2 IPSEC --
flag meaning
RD--READY ST--STAYALIVE RL--REPLACED FD--FADING TO--TIMEOUT
<AC2>
在实施IPsec的过程中,可以使用IKE(Internet Key Exchange,因特网密钥交换)协议来建立SA,该协议建立在由ISAKMP(Internet Security Association and Key Management Protocol,互联网安全联盟和密钥管理协议)定义的框架上。IKE为IPsec提供了自动协商交换密钥、建立SA的服务,能够简化IPsec的使用和管理,大大简化IPsec的配置和维护工作。
IKE不是在网络上直接传输密钥,而是通过一系列数据的交换,最终计算出双方共享的密钥,并且即使第三方截获了双方用于计算密钥的所有交换数据,也不足以计算出真正的密钥。
若无特殊说明,本文中的IKE均指第1版本的IKE协议。
IKE具有一套自保护机制,可以在不安全的网络上安全地认证身份、分发密钥、建立IPsec SA。
数据认证有如下两方面的概念:
· 身份认证:身份认证确认通信双方的身份。支持两种认证方法:预共享密钥(pre-shared-key)认证和基于PKI的数字签名(rsa-signature)认证。
· 身份保护:身份数据在密钥产生之后加密传送,实现了对身份数据的保护。
DH(Diffie-Hellman,交换及密钥分发)算法是一种公共密钥算法。通信双方在不传输密钥的情况下通过交换一些数据,计算出共享的密钥。即使第三方(如黑客)截获了双方用于计算密钥的所有交换数据,由于其复杂度很高,也不足以计算出真正的密钥。所以,DH交换技术可以保证双方能够安全地获得公有信息。
PFS(Perfect Forward Secrecy,完善的前向安全性)特性是一种安全特性,指一个密钥被破解,并不影响其他密钥的安全性,因为这些密钥间没有派生关系。对于IPsec,是通过在IKE阶段2协商中增加一次密钥交换来实现的。PFS特性是由DH算法保障的。
IKE使用了两个阶段为IPsec进行密钥协商并建立SA:
(1) 第一阶段,通信各方彼此间建立了一个已通过身份认证和安全保护的通道,即建立一个ISAKMP SA。第一阶段有主模式(Main Mode)和野蛮模式(Aggressive Mode)两种IKE交换方法。
(2) 第二阶段,用在第一阶段建立的安全隧道为IPsec协商安全服务,即为IPsec协商具体的SA,建立用于最终的IP数据安全传输的IPsec SA。
如图2-1所示,第一阶段主模式的IKE协商过程中包含三对消息:
· 第一对叫SA交换,是协商确认有关安全策略的过程;
· 第二对消息叫密钥交换,交换Diffie-Hellman公共值和辅助数据(如:随机数),密钥材料在这个阶段产生;
· 最后一对消息是ID信息和认证数据交换,进行身份认证和对整个第一阶段交换内容的认证。
野蛮模式交换与主模式交换的主要差别在于,野蛮模式不提供身份保护,只交换3条消息。在对身份保护要求不高的场合,使用交换报文较少的野蛮模式可以提高协商的速度;在对身份保护要求较高的场合,则应该使用主模式。
· 因为有了IKE,IPsec很多参数(如:密钥)都可以自动建立,降低了手工配置的复杂度。
· IKE协议中的DH交换过程,每次的计算和产生的结果都是不相关的。每次SA的建立都运行DH交换过程,保证了每个SA所使用的密钥互不相关。
· IPsec使用AH或ESP报文头中的序列号实现防重放。此序列号是一个32比特的值,此数溢出后,为实现防重放,SA需要重新建立,这个过程需要IKE协议的配合。
· 对安全通信的各方身份的认证和管理,将影响到IPsec的部署。IPsec的大规模使用,必须有CA(Certificate Authority,证书颁发机构)或其他集中管理身份数据的机构的参与。
· IKE提供端与端之间动态认证。
图2-2 IPsec与IKE的关系图
从图2-2中我们可以看出IKE和IPsec的关系:
· IKE是UDP之上的一个应用层协议,是IPsec的信令协议;
· IKE为IPsec协商建立SA,并把建立的参数及生成的密钥交给IPsec;
· IPsec使用IKE建立的SA对IP报文加密或认证处理。
与IKE相关的协议规范有:
· RFC2408:Internet Security Association and Key Management Protocol (ISAKMP)
· RFC2409:The Internet Key Exchange (IKE)
· RFC2412:The OAKLEY Key Determination Protocol
进行IKE配置之前,用户需要确定以下几个因素,以便配置过程的顺利进行。
· 确定IKE交换过程中算法的强度,即确定安全保护的强度(包括身份认证方法、加密算法、认证算法、DH组):不同的算法的强度不同,算法强度越高,受保护数据越难被破解,但消耗的计算资源越多。一般来说,密钥越长的算法强度越高。
· 确定通信双方预先约定的预共享密钥或所属的PKI域。关于PKI的配置,请参见“安全配置指导”中的“PKI”。
表2-1 IKE配置任务简介
配置任务 |
说明 |
详细配置 |
配置本端安全网关的名字 |
可选 |
|
配置IKE安全提议 |
可选 若IKE对等体中需要指定IKE安全提议,则必配 |
|
配置IKE对等体 |
必选 |
|
配置Keepalive定时器 |
可选 |
|
配置NAT Keepalive定时器 |
可选 |
|
配置对等体存活检测 |
可选 |
|
配置取消对next payload域的检查 |
可选 |
当IKE协商的发起端使用FQDN (Fully Qualified Domain Name,完全合格域名)或者User FQDN类型的安全网关名字进行协商时(即配置了id-type name或id-type user-fqdn),本端需要配置本端安全网关的名字,该名字既可以在系统视图下进行配置,也可以在IKE对等体视图下配置,若两个视图下都配置了本端安全网关的名字,则采用IKE对等体视图下的配置。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置本端安全网关的名字 |
ike local-name name |
可选 缺省情况下,使用设备名作为本端安全网关的名字 |
IKE安全提议定义了一套属性数据来描述IKE协商怎样进行安全通信。用户可以创建多条不同优先级的IKE提议,优先级由IKE提议的序号表示,数值越小,优先级越高。
协商双方必须至少有一条匹配的IKE提议才能协商成功。在进行IKE协商时,协商发起方会将自己的安全提议发送给对端,由对端进行匹配,协商响应方则从自己优先级最高(序号最小)的IKE提议开始,按照优先级顺序与对端发送的安全提议进行匹配,直到找到一个匹配的安全提议来使用。匹配的IKE提议将被用来建立安全隧道。
以上IKE安全提议的匹配原则是:协商双方具有相同的加密算法、认证方法、认证算法和DH组标识。匹配的IKE提议的ISAKMP SA存活时间则取两端的最小值。
缺省情况下,系统提供一条缺省的IKE提议。此缺省的IKE提议具有最低的优先级,具有缺省的加密算法、认证方法、认证算法、DH组标识和ISAKMP SA存活时间。
表2-3 配置IKE安全提议
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建IKE提议,并进入IKE提议视图 |
ike proposal proposal-number |
必选 |
指定一个供IKE提议使用的加密算法 |
encryption-algorithm { aes-cbc [ key-length ] | des-cbc } |
可选 缺省情况下,IKE提议使用CBC模式的56-bit DES加密算法 |
指定一个供IKE提议使用的认证方法 |
authentication-method { pre-share | rsa-signature } |
可选 缺省情况下,IKE提议使用预共享密钥的认证方法 |
指定一个供IKE提议使用的认证算法 |
authentication-algorithm { md5 | sha } |
可选 缺省情况下,IKE提议使用SHA1认证算法 |
配置IKE阶段1密钥协商时所使用的DH密钥交换参数 |
dh { group1 | group2 | group5 | group14 } |
可选 缺省情况下,IKE阶段1密钥协商时所使用的DH密钥交换参数为group1,即768-bit的Diffie-Hellman组 |
指定一个IKE提议的ISAKMP SA存活时间 |
可选 缺省情况下,IKE提议的ISAKMP SA存活时间为86400秒 |
如果存活时间超时,ISAKMP SA将自动更新。因为IKE协商需要进行DH计算,在低端设备上需要经过较长的时间,为使ISAKMP SA的更新不影响安全通信,建议设置存活时间大于10分钟。
在采用IKE方式配置安全策略时,需要指定IKE对等体。IKE对等体中主要包括以下配置:
· 本端作为发起方时所使用的协商模式(主模式、野蛮模式)。本端作为响应方时,将自动适配发起方的协商模式。当对端的IP地址为动态获取,且采用预共享密钥认证方式时,建议将本端的IKE的协商模式配置为野蛮模式。
· 本端作为发起方时可以使用的IKE安全提议(可指定多个)。本端作为响应方时,将使用系统视图下已经配置的安全提议与对端发送的安全提议进行协商。
· 根据IKE提议使用的认证方法不同,选择所使用的预共享密钥或者PKI域。
· 本端在IKE第一阶段协商时,所使用的ID类型(IP地址、FQDN名、User FQDN名)。在预共享密钥认证的主模式下,只能使用IP地址类型的ID。
· 本端安全网关的名字或IP地址。一般情况下本端安全网关的IP地址不需要配置,只有要指定特殊的本端安全网关地址时(如指定loopback接口地址)才需要配置。
· 对端安全网关的名字或IP地址。若本端作为发起方,则需要配置对端安全网关名字或对端安全网关IP地址,它们用于发起方在协商过程中寻找对端。
· 用于IKE对等体存活状态检测的DPD名称。
表2-4 配置IKE对等体
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建一个IKE对等体,并进入IKE-Peer视图 |
ike peer peer-name |
必选 |
|
配置IKE第一阶段的协商模式 |
exchange-mode { aggressive | main } |
可选 缺省情况下,IKE阶段的协商模式使用主模式 |
|
配置IKE对等体引用的IKE安全提议 |
proposal proposal-number&<1-6> |
可选 缺省情况下,IKE对等体未引用任何IKE安全提议,使用系统视图下已配置的IKE安全提议进行IKE协商 |
|
配置采用预共享密钥认证时,所使用的预共享密钥 |
pre-shared-key [ cipher | simple ] key |
二者必选其一 根据IKE提议使用的认证方法选择其中一个配置 |
|
配置采用数字签名认证时,证书所属的PKI域 |
certificate domain domain-name |
||
选择IKE第一阶段的协商过程中使用ID的类型 |
id-type { ip | name | user-fqdn } |
可选 缺省情况下,使用IP地址作为IKE协商过程中使用的ID |
|
配置本端及对端安全网关的名字 |
配置本端安全网关的名字 |
local-name name |
可选 对端使用remote-name配置的网关名字应与IKE协商发起端所配置的本端安全网关名字保持一致 缺省情况下,未定义本端安全网关的名字,使用系统视图下本端安全网关的名字 |
配置对端安全网关的名字 |
remote-name name |
||
配置本端及对端安全网关的IP地址 |
配置本端安全网关的IP地址 |
local-address ip-address |
可选 对端使用remote-address配置的IP地址应与IKE协商发起端使用local-address命令所配的安全网关IP地址保持一致 缺省情况下,IKE协商时的本端安全网关IP地址使用应用IPsec安全策略的接口的主IP地址 |
配置对端安全网关的IP地址 |
remote-address { hostname [ dynamic ] | low-ip-address [ high-ip-address ] } |
||
为IKE对等体应用一个DPD |
dpd dpd-name |
可选 缺省情况下,IKE对等体没有应用DPD |
修改IKE对等体配置之后,要执行命令reset ipsec sa、reset ike sa来清除原有的IPsec SA与IKE SA,否则重新协商SA会失败。
IKE通过Keepalive报文维护ISAKMP SA的链路状态。一般在对端配置了等待Keepalive报文的超时时间后,必须在本端配置此Keepalive报文发送时间间隔。当对端在配置的超时时间内未收到此Keepalive报文时,如果该ISAKMP SA带有TIMEOUT标记,则删除该ISAKMP SA以及由其协商的IPsec SA;否则,将其标记为TIMEOUT。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置ISAKMP SA向对端发送Keepalive报文的时间间隔 |
ike sa keepalive-timer interval seconds |
必选 缺省情况下,ISAKMP SA不向对端发送Keepalive报文 |
配置ISAKMP SA等待对端发送Keepalive报文的超时时间 |
ike sa keepalive-timer timeout seconds |
必选 缺省情况下,ISAKMP SA不向对端发送Keepalive报文 |
本端配置的Keepalive报文的等待超时时间要大于对端发送的时间间隔。由于网络中一般不会出现超过连续三次的报文丢失,所以,本端的超时时间可以配置为对端配置的Keepalive报文发送时间间隔的三倍。
在IPsec/IKE组建的VPN隧道中,若存在NAT安全网关设备,需配置NAT穿越功能来实现NAT穿越,但由于在NAT网关上的NAT映射会话有一定存活时间,因此一旦安全隧道建立后如果长时间没有报文穿越,NAT会话表项会被删除,这样将导致在NAT网关外侧的隧道无法继续传输数据。为防止NAT表项老化,NAT网关内网侧的ISAKMP SA会以一定的时间间隔向对端发送NAT Keepalive报文,以维持NAT会话的存活。
表2-6 配置NAT Keepalive定时器
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置ISAKMP SA向对端发送NAT Keepalive报文的时间间隔 |
ike sa nat-keepalive-timer interval seconds |
必选 缺省情况下,ISAKMP SA向对端发送NAT Keepalive报文的时间间隔为20秒 |
DPD(Dead Peer Detection,对等体存活检测)用于IKE对等体存活状态检测。启动DPD功能后,当本端需要向对端发送IPsec报文时,若判断当前距离最后一次收到对端IPsec报文已经超过触发DPD的时间间隔(interval-time interval-time),则触发DPD查询,本端主动向对端发送DPD请求报文,对IKE对等体是否存活进行检测。如果本端在DPD报文的重传时间间隔(time-out time-out)内未收到对端发送的DPD回应报文,则重传DPD请求,缺省重传两次之后,若仍然没有收到对端的DPD回应报文,则删除该IKE SA和对应的IPsec SA。
DPD和Keepalive的区别:
· Keepalive定期发送查询;
· DPD只在要发送加密报文前并且长时间(触发DPD的时间间隔)未收到对端IPsec报文时发送查询。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个DPD,并进入DPD视图 |
ike dpd dpd-name |
必选 |
配置触发DPD的时间间隔 |
interval-time interval-time |
可选 缺省情况下,触发DPD的时间间隔为10秒 |
配置DPD报文的重传时间间隔 |
time-out time-out |
可选 缺省情况下,DPD报文的重传时间间隔为5秒 |
next payload域是在IKE协商报文(由几个payload组装而成)的最后一个payload的通用头中的一个域。按协议规定如果当前载荷处于消息的最后,该域必须为0,但某些公司的设备会将该域赋其它值,为增强设备的互通性,可以通过下面的配置取消IKE协商过程对该域的检查。
表2-8 配置取消对next payload域的检查
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置在IKE协商过程中取消对next payload域的检查 |
ike next-payload check disabled |
必选 缺省情况下,在IPsec协商过程中对next payload域进行检查 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后IKE的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以删除IKE建立的安全隧道。
表2-9 IKE显示和维护
操作 |
命令 |
显示DPD配置的参数 |
display ike dpd [ dpd-name ] [ | { begin | exclude | include } regular-expression ] |
显示IKE对等体配置的参数 |
display ike peer [ peer-name ] [ | { begin | exclude | include } regular-expression ] |
显示当前IKE SA的信息 |
display ike sa [ active | standby | verbose [ connection-id connection-id | remote-address remote-address ] ] [ | { begin | exclude | include } regular-expression ] |
显示每个IKE提议配置的参数 |
display ike proposal [ | { begin | exclude | include } regular-expression ] |
清除IKE建立的安全隧道 |
reset ike sa [ connection-id | active | standby ] |
IKE典型配置举例请参见“WLAN配置指导”中的“WLAN服务配置”中的“IPsec加密AC和AP间隧道配置举例”。
配置参数建立IPsec安全隧道时,可以打开IKE的Error调试开关,帮助我们查找配置问题。其命令是:
<Sysname> debugging ike error
提议不匹配
可以看到调试信息:
got NOTIFY of type NO_PROPOSAL_CHOSEN
或者:
drop message from A.B.C.D due to notification type NO_PROPOSAL_CHOSEN
协商双方没有可以匹配的提议。
对于阶段1,检查IKE proposal是否有与对方匹配的。对于阶段2协商,检查双方接口上应用的IPsec安全策略的参数是否匹配,引用的IPsec安全提议的协议、加密算法和认证算法是否有匹配的。
无法建立安全隧道
实际应用中有时会发现在不稳定的网络状态下,安全隧道无法建立或者存在安全隧道却无法通信,而且检查双方的ACL的配置正确,也有匹配的提议。
这种情况一般是安全隧道建立好以后,有一方的设备重启造成的。
· 使用display ike sa命令检查双方是否都已建立阶段1的SA。
· 使用display ipsec sa policy命令查看接口上的安全策略是否已建立了IPsec SA。
· 根据以上两步的结果查看,如果有一方存在的SA在另一方上不存在,请先使用reset ipsec sa命令清除双方不对称存在的IPsec SA,再使用reset ike sa命令清除双方不对称存在的IKE SA,并重新发起协商。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!