,IKE协商.
IKE协商跟TCP三次握手相似.不过比TCP 三次握手复杂点.IKE协商过程需要经过9个报文的来回,才能建立通讯双方需要的IKE SA,然后利用该IKE SA进行数据的加密和解 密.
IKE协商报文采用UDP格式,默认端口是500

,IKE 协商的第一阶段 : 也称为 IKE 的主模式 :

1,AB通讯,A作为发起方,第一个报文是A本地配置的policy(策略),policy包含:
,加密算法
,hash算法
,D-H
,认证方式
,SA生存时间
PS:  ,Policy可以配置多个,只要对端只要有任何一个与它匹配就 行.
     ,五元素里最主要的是认证方式.目前主要分: 预共享 数字证书.一般采用预共享秘匙
2,第二个报文是B采用相同的policy发回.表明采用该policy作为后续通讯的保护.
3,第三和第四个报文是AB进行D-H交换的D-H公开值,这与具体配置关系不大.
在完成上面四个报文的交换后,利用D-H算法.AB就协商出一个共同的秘密.后续的密匙都是依靠这个秘密来衍生的.

4,第五和第六个报文是身份验证过程.A将自己的身份信息和其他信息发送给B.BA进行验证,然后发送自己的身份信息回去给A进行验证.
预共享方式主要有两种验证方法 :  A,IP 地址   B, 主机名 一般采用 IP 地址作为验证方法 .

 

完成上面六个报文的交换,IKE的第一阶段就已经完成.(IKE主模式协商完成),打开debug会看到IKE SA Establish (IKE SA已经建立)

 

,IKE 第二阶段 -----IKE 快速模式协商 .

上面6个报文之后,进入的就是第二阶段---快速模式.是依靠最后的三个报文来进行IPSec SA协商.利用第一阶段协商出来的共同的秘密 来为这三个报文来进行加密.配置方面是以下三个
1, 数据流(access-list定义保护加密的数据流)
2, 交换集合transform-set (加密算法和安全协议)
3, 完美前向保护(PFS)
很多情况下,发现IKE SA已经建立,IPSec SA无法建立.很有可能就是因为这三点不一致造成.

 

IKE配置:
1,   Policy

包括hash算法,加密算法,D-H,生存时间,.认证方式是最重要的.
2,   预共享 (preshare)

验证方式一般采用预共享方式,又分为IP地址和主机名(hostname).一般采用IP地址验证.
3,   本端标识 (localID)

IP地址或主机名。一般采用IP地址.   如果发起方
以上三个步骤就完成 IKE SA 的配置 . 接下来的是 IPSec 的配置

1,  配置要保护(加密)的数据流(access-list)

部署任何×××都需要对数据流进行限制.不可能对所有的数据流进行加密(any to any ),Access-list在加密映射(map)里会被引用. 首先是在实际使用过程中,不会有这样的需求,其次,这样 会让很多本来不需要加密的通信无法通信。比如广播被加密后大量丢弃,路由器无法工作.
2,  配置变换集合(transform-set)

变换集合是某个对等方能接受的密码学算法和安全协议(IPSec协议),双方需要一致.
3,  配置加密映射(map)

IPSec创建的加密映射条目,使IPSec联盟的各部件协调工 作.包括以下部分:
, 欲保护(加密)的数据流 (引用access-list所定义)
, 对端的IP地址 (这个是必须的,除非是动态映射加密)
, 欲保护(加密)的数据流采用的加密算法和安全协议(引用transform-set定义)
, 是否需要PFS支持 (两端要一致)
,  SA的生存时间 (不配置的话有默认值)