站点到站点预共享密钥V.P.N(基于思科ASA防火墙)

一:基本名词解释
IPsec-×××--virtual private network
什么是×××--虚拟专用网
×××作用--通过公网实现远程连接,将私有网络联系起来
×××的类型:
1、overlay的×××,例如IPsec-×××
2、peer-to-peer的×××,例如MPLS-×××
还可以分为二层×××和三层×××
IPsec-×××是三层的×××
IPsec-×××的分类:
1、site-to-site ××× 也叫 LAN-to-LAN ××× (要求两个站点都要有固定的IP)
2、EASY-××× 也叫 remote ××× (通常用于连接没有固定IP的站点)
IPsec-×××提供三个特性:
1、authentication 每一个IP包的认证
2、data integrity 验证数据完整性,保证在传输过程中没有被人为改动
3、confidentiality (私密性)数据包的加密

二:算法
在学习IPsec技术之前,先要学习以下几点知识
1、加密机制
2、DH密钥交换算法
3、认证机制
4、散列机制

1:加密机制--密码学分为两类:
对称加密算法---使用一把密匙来对信息提供安全的保护。只有一个密匙,即用来加密,也用来解密
特点:
1、速度快
2、密文紧凑
3、用于大量数据的传送
对称加密算法的代表:DES、3DES、AES
3DES--有三个密匙,用第一个密匙加密,用第二个密匙解密,再用第三个密匙加密
非对称加密---有一对密匙,一个叫公匙,一个叫私匙,如果用其中一个加密,必须用另一个解密。
特点:
1、速度慢
2、密文不紧凑
3、通常只用于数字签名,或加密一些小文件。
非对称加密的代表:RSA、ECC
非对称加密代表RSA--有一对密匙,一个公匙,一个私匙,私匙加密,公匙解密,或者公匙加密,私匙解密
非对称加密可以有两种应用:
1、公钥加密,私钥解密,叫加密
2、私钥加密,公钥解密,叫数字签名
理想的应用方法,用非对称加密法来传送对称加密的密匙,或用在数字签名当中。用对称加密法来加密实际的数据。
数字签名不但证明了消息的内容,还证明了发送方的身份。
密钥化的HASH--使用密钥对生成的消息摘要进行加密时,被称为加密的消息摘要。

2:diffie-hellman key exchange--DH算法
是一种安全的让通信双方协商出一个共享密匙的方法。
用对方的公匙和自已的私匙产生一个双方都能知道的KEY(也叫共享的密秘),作对称加密用
DH group 1的长度是768位 (产生出的KEY的长度)
DH group 2的长度是1024位

3:认证机制--(这里所指的是设备的认证,而不是用户的认证)
现代的基本加密技术要依赖于消息之目标接收者已知的一项秘密,关键的问题是如何保障密钥的安全。
1、用户名和密码
2、OTP(one time password)一次性密码
3、生物认证(指纹、眼膜)
4、预共享密钥
5、数字证书
6、加密临时值

4:散列机制--用来做完整性检验
散列函数(就是HASH)--把一大堆数据经过计算得到一个较小的、定长的值,散列是一种不可逆函数。这意味着一旦明文生成散列,就不可能或者说极端困难再将其由散列转换成明文。
HASH的特点:
1、不管输入什么数据,输出是定长的
2、只要输入有一点微小变化,输出就会发生很大的变化,也就是雪崩效应
3、不可逆
HASH的算法:
1、md5 提供128位的输出 md5是验证,不是加密技术,用来做哈希
2、SHA 提供160位的输出
HMAC--使用散列的消息认证编码,或者叫密钥化的HASH,是一种使用HASH来进行认证的机制。可以用来做预共享密钥的认证。

三:IPsec协议集
IP sec 的组成--IPsec协议集包括三个协议:
1、internet key exchange(IKE)密匙交换协议
协议双方使用的算法,密匙,协商在两个对等体之间建立一条遂道的参数,协商完成再用下面的方法封装数据。
IKE动态的,周期性的在两个PEER之间更新密钥
2、encapsulating secutity payload(ESP)封装安全负载
可以对数据包认证,加密,封装,IP中协议号--50,通常使用3DES来进行加密
3、authentication header (AH)
只提供认证,封装,不提供加密,明文传送,IP中协议号--51

四:IPsec×××的两种模式--
1:传输模式:
不产生新的IP头,在原包头之后插入一个字段,当通信点等于加密点用这种方法
原始IP头 | (ESP或AH) | Data
2:隧道模式:
产生一个新IP包头,当通信点不等于加密点用这种方法,site-to-site的×××就是这种模式,因为通信点的IP头通常不是一个公网上可路由的头部,而新的IP头用的是两个peer之间的IP地址。
新IP头 | (ESP或AH) | 原始IP头 | Data
通信点:实际通信的设备
加密点:进行加密的设备

ESP封装中只对原始IP分组(有效载荷)进行完整性检验
AH封装中进行完整性检验还包括新的IP头

五:IKE协商的两个阶段
IKE密匙交换协议
IKE的作用:用于在两个peer之间协商建立IPsec-×××通道
1、协商参数
2、产生KEY,交换KEY、更新KEY
3、对双方进行认证
4、对密钥进行管理
也是由三个不同的协议组成:
1、ISAKMP--定义了信息交换的体系结构,也就是格式
2、SKEME--实现公钥加密认证的机制
3、Oakley--提供在两个IPsec对等体间达成相同加密密钥的基于模式的机制
ISAKMP基于UDP,源目端口都是500
site-to-site ipsec ×××的协商过程,分两个阶段
要想在两个站点之间安全的传输IP数据流,它们之间必须要先进行协商,协商它们之间所采用的加密算法,封装技术以及密钥。这个协商过程是通过IKE来完成的,IKE协商分两个阶段运行:
阶段一:在两个对等体设备之间建立一个安全的管理连接。没有实际的数据通过这个连接。这个管理连接是用来保护第二阶段协商过程的。
阶段二:当对等体之间有了安全的管理连接之后,它们就可以接着协商用于构建安全数据连接的安全参数,这个协商过程是安全的,加了密的。协商完成后,将在两个站点间形成安全的数据连接。用户就可以利用这些安全的数据连接来传输自已的数据了。
第一阶段:建立ISAKMP SA 协商的是以下信息:
1、对等体之间采用何种方式做认证,是预共享密钥还是数字证书。
2、双方使用哪种加密算法
3、双方使用哪种HMAC方式,是MD5还是SHA
4、双方使用哪种Diffie-Hellman密钥组
5、使用哪种协商模式(主模式或主动模式)
6、还要协商SA的生存期
第二阶段:建立IPsec SA 协商的是以下信息:
1、双方使用哪种封装技术,AH还是ESP
2、双方使用哪种加密算法
3、双方使用哪种HMAC方式,是MD5还是SHA
4、使用哪种传输模式,是隧道模式还是传输模式
5、还要协商SA的生存期
第一阶段的协商过程总共有6条消息:
1、消息1和消息2用于peer之间协商加密机制
ISAKMP包含有ISAKMP头、SA负载、提议负载、转换负载等字段
总之是让双方协商好我们之间使用啥子协议、加密方法
具体是要协定四个东东:加密机制、散列机制、DH组、认证机制
2、消息3和消息4用于相互之间交换公共密匙
两端的peer先各自生成自已的私匙和公匙,同时还产生一个临时值。然后再使用消息3或消息4将各自的公匙和临时值进行交换。
交换完公匙后,每个peer先根据对方的公匙和自已的私匙生成一个共享秘密(使用DH算法),再根据共享秘密、对方和自已的临时值、预共享密钥产生出三个SKEY:
SKEYID_d--此密匙被用于计算后续IPsec密匙资源
SKEYID_a--此密匙被用于提供后续IKE消息的数据完整性以及认证
SKEYID_e--此密匙被用于对后续IKE消息进行加密
消息3和4的ISAKMP包含以下字段:ISAKMP包头、密匙交换负载(KE)、临时值负载
3、消息5和消息6用于两个peer之间进行认证,这两个消息是用SKEYID_e进行过加密的。
每个peer根据一大堆东东(包括SKEYID-a、预共享密钥、标识ID)生成一个Hash值,再将这个值和自已的标识ID(通常是IP或主机名)发送给对方。当然,使用的就是消息5或消息6。
每个peer收到对方的ID和Hash值后,先根据对方的ID找到对方的公匙,再计算本地Hash值,如果本地Hash值和对方的Hash值一样,就表示认证成功。
这一步完成后,IKE SA被建立,主模式认证完成
第二阶段的协商过程总共有3条消息:
1、第一、二条信息是两个peer之间协商形成IPsec SA的封装协议、模式、加密算法,还要互发用DH重新生成的新的公匙和临时值,以及其它一些参数,像SPI、ID等等。
2、第三条消息通常由发起者发送给响应者,起一个确认的作用,也用来验证通信信道的有效性
第三条信息发送前,两端的peer必须先用和DH相关的信息(新的私钥和对方公钥)生成一个新的DH秘密,然后用该值和SKEYID_d以及其他一些参数一起来生成最终加解密的KEY。

六:什么是SA
SA--安全关联
SA是两个通信实体经协商建立起来的一种协定,它们决定了用来保护数据包安全的IPsec协议、转码方式、密钥、以及密钥的有效存在时间等等。任何IPsec实施方案始终会构建一个SA数据库(SA DB),由它来维护IPsec协议用来保障数据包安全的SA记录。
SA是单向的--如果两个主机(比如A和B)正在通过ESP进行安全通信,那么主机A就需要有一个SA,即SA(OUT),用来处理外发的数据包,另外还需要有一个不同的SA,即SA(IN)用来处理进入的数据包。主机A的SA(OUT)和主机B的SA(IN)将共享相同的加密参数(比如密钥)。
SA还要根据协议来区分,如果两个主机间同时使用ESP和AH,对于ESP和AH会生成不同的SA。
SADB--安全关联数据库,包含双方协商的IKE和IPsec安全信息。
SPI--安全参数索引,是一个32位的值,用来标识用于处理数据包的特定的那个安全联盟。或者这样理解,用于唯一定义一条单向的IPsec通道。这个号码存在于ESP包头中,通道两端必须一致。

SA分为两种:
1、IKE(ISAKMP)SA:协商对IKE数据流进行加密以及对对等体进行验证的算法
2、IPsec S:协商对对等体之间的IP数据流进行加密的算法
对等体之间的IKE SA只能有一个
对等体之间的IPsec SA可以有多个
PFS--完善转发安全性,是一种IKE协商中发起者可以向响应者提供建议的属性,是一种强制对等体双方在快速模式交换中产生新的DH秘密的属性。这允许使用新的DH秘密生成用于加密数据的加密密钥。

实验过程

站点到站点预共享密钥V.P.N(基于思科ASA防火墙)_第1张图片

R1的基本配置

R1#conf t
R1(config)#int f0/0
R1(config-if)#ip add 200.0.0.1 255.255.255.0
R1(config-if)#no shut
R1(config)#int f0/1
R1(config-if)#ip add 192.168.1.254 255.255.255.0
R1(config-if)#no shut

R2的基本配置
R2#conf t
R2(config)#int f0/0
R2(config-if)#ip add 200.0.0.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int f0/1
R2(config-if)#ip add 100.0.0.2 255.255.255.0
R2(config-if)#no shut

R3的基本配置
R3#conf t
R3(config)#int f0/0
R3(config-if)#ip add 100.0.0.1 255.255.255.0
R3(config-if)#no shut
R3(config-if)#int f0/1
R3(config-if)#ip add 192.168.2.254 255.255.255.0
R3(config-if)#no shut

二:路由的设置
R1的路由
R1(config)#ip route 0.0.0.0 0.0.0.0 200.0.0.2

R3的路由
R3(config)#ip route 0.0.0.0 0.0.0.0 100.0.0.2

三:×××的设置

R1的设置
R1(config)#crypto isakmp enable
R1(config)#crypto isakmp identity address
R1(config)#crypto isakmp policy 10
R1(config-isakmp)#encryption aes 128
R1(config-isakmp)#hash md5
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#group 2
R1(config-isakmp)#exit
R1(config)#

R1(config)#crypto isakmp key 6 cisco123 address 100.0.0.1 no-xauth

或者用以下语句配置成积极模式(默认是主模式,本案例使用主模式,此命令不需要)
R1(config)#crypto isakmp peer address 100.0.0.1
R1(config-isakmp-peer)#set aggressive-mode client-endpoint ipv4-address 200.0.0.1

R1(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

R1(config)#crypto ipsec transform-set cisco-set esp-aes esp-md5-hmac
R1(cfg-crypto-trans)#exit
R1(config)#crypto map cisco-map 10 ipsec-isakmp
R1(config-crypto-map)#set peer 100.0.0.1
R1(config-crypto-map)#set transform-set cisco-set
R1(config-crypto-map)#match address 101
R1(config-crypto-map)#exit

R1(config)#access-list 102 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
R1(config)#access-list 102 permit ip 192.168.1.0 0.0.0.255 any
R1(config)#ip nat inside source list 102 interface f0/0 overload
R1(config)#int f0/0
R1(config-if)#ip nat outside
R1(config-if)#crypto map cisco-map
R1(config-if)#int f0/1
R1(config-if)#ip nat inside
R1(config-if)#

R3的设置
R3(config)#crypto isakmp enable
R3(config)#crypto isakmp identity address
R3(config)#crypto isakmp policy 10
R3(config-isakmp)#encryption aes 128
R3(config-isakmp)#hash md5
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#group 2
R3(config-isakmp)#exit
R3(config)#

R3(config)#crypto isakmp key 6 cisco123 address 200.0.0.1 no-xauth

或者用以下语句配置成积极模式(默认是主模式)
R3(config)#crypto isakmp peer address 200.0.0.1
R3(config-isakmp-peer)#set aggressive-mode client-endpoint ipv4-address 100.0.0.1

R3(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
R3(config)#crypto ipsec transform-set cisco-set esp-aes esp-md5-hmac
R3(cfg-crypto-trans)#exit
R3(config)#crypto map cisco-map 10 ipsec-isakmp
R3(config-crypto-map)#set peer 200.0.0.1
R3(config-crypto-map)#set transform-set cisco-set
R3(config-crypto-map)#match address 101
R3(config-crypto-map)#exit

R3(config)#access-list 102 deny ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
R3(config)#access-list 102 permit ip 192.168.2.0 0.0.0.255 any
R3(config)#ip nat inside source list 102 interface f0/0 overload
R3(config)#int f0/0
R3(config-if)#ip nat outside
R3(config-if)#crypto map cisco-map
R3(config-if)#int f0/1
R3(config-if)#ip nat inside

测试pc1和pc2的连通性
测试pc1、pc2与运营商的连通性

五、debug 分析(×××部分为解释)
(1)、固定IP 对固定IP
RT1#
Mar 1 00:26:33.299: ISAKMP (0:0): received packet from 200.0.0.1 dport 500
sport 500 Global (N) NEW SA //查找SPDB,没有找到对应的SA,创建一个新的
SA。
Mar 1 00:26:33.299: ISAKMP: Created a peer struct for 200.0.0.1, peer port
500
//创建一个对等体为200.0.0.1,对端端口为500 的SA
Mar 1 00:26:33.299: ISAKMP: New peer created peer = 0x64244BC0 peer_handle =
0x80000003
Mar 1 00:26:33.299: ISAKMP: Locking peer struct 0x64244BC0, IKE refcount 1 for
crypto_isakmp_process_block
Mar 1 00:26:33.303: ISAKMP: local port 500, remote port 500
//本地端口为500,对端端口为500
Mar 1 00:26:33.303: insert sa successfully sa = 64A25B20 //新的SA 创建成功
Mar 1 00:26:33.307: ISAKMP:(0:0:N/A:0):Input = IKE_MESG_FROM_PEER, IKE_MM_EXCH
//进入主模式的exchange 状态,开始DH 交换
Mar 1 00:26:33.307: ISAKMP:(0:0:N/A:0):Old State = IKE_READY New State =
IKE_R_MM1
Mar 1 00:26:33.311: ISAKMP:(0:0:N/A:0): processing SA payload. message ID = 0
//处理SA 负载
Mar 1 00:26:33.311: ISAKMP:(0:0:N/A:0): processing vendor id payload
//处理vendor id 负载
Mar 1 00:26:33.323: ISAKMP:(0:0:N/A:0):found peer pre-shared key matching
200.0.0.1
http://item.taobao.com/item.htm?spm=a1z10.5.w4002-1542627998.17.hv0rhY&id=25302724664
//找到匹配对等体200.0.0.1 的预共享密钥
Mar 1 00:26:33.323: ISAKMP:(0:0:N/A:0): local preshared key found //本地预共
享密钥找到
Mar 1 00:26:33.323: ISAKMP : Scanning profiles for xauth ... //查找扩展认证
Mar 1 00:26:33.323: ISAKMP:(0:0:N/A:0):Checking ISAKMP transform 1 against
priority 1 policy //匹配第一阶段的策略
Mar 1 00:26:33.323: ISAKMP: encryption 3DES-CBC //加密算法为3des
Mar 1 00:26:33.327: ISAKMP: hash MD5 //hash 算法为MD5
Mar 1 00:26:33.327: ISAKMP: default group 2 //DH 组号为2
Mar 1 00:26:33.327: ISAKMP: auth pre-share //身份认证方式为预共享
Mar 1 00:26:33.327: ISAKMP: life type in seconds //生命周期以S 为单位
Mar 1 00:26:33.327: ISAKMP: life duration (VPI) of 0x0 0x1 0x51 0x80
Mar 1 00:26:33.331: ISAKMP:(0:0:N/A:0):atts are acceptable. Next payload is 0
//属性被接受,身份认证成功
Mar 1 00:26:33.931: ISAKMP:(0:1:SW:1): processing ID payload. message ID = 0
//处理ID 负载
Mar 1 00:26:33.931: ISAKMP (0:134217729): ID payload
next-payload : 8 //下一个有效负载
type : 1 //类型为1
address : 200.0.0.1 //对等体网关为200.0.0.1
protocol : 17 //协议号为17,UDP
port : 500 //端口号为500
length : 12
Mar 1 00:26:33.935: ISAKMP:(0:1:SW:1):: peer matches none of the profiles
//对等体匹配随机数
Mar 1 00:26:33.935: ISAKMP:(0:1:SW:1): processing HASH payload. message ID = 0
//处理hash 负载
Mar 1 00:26:33.943: ISAKMP:(0:1:SW:1):SA has been authenticated with
200.0.0.1
//本地SA 已被对端200.0.0.1 认证通过
Mar 1 00:26:33.955: ISAKMP:(0:1:SW:1):SA is doing pre-shared key authentication
using id type ID_IPV4_ADDR //预共享ID 是使用的IPV4 地址
Mar 1 00:26:33.955: ISAKMP (0:134217729): ID payload
next-payload : 8
type : 1
address : 100.0.0.1
protocol : 17
port : 500
length : 12
RT1#ending packet to 200.0.0.1 my_port 500 peer_port 500 (R) MM_KEY_EXCH
//进入主模式的key 交换状态
Mar 1 00:26:33.971: ISAKMP:(0:1:SW:1):Old State = IKE_P1_COMPLETE New State =
IKE_P1_COMPLETE //第一阶段任务已经完成
Mar 1 00:26:34.207: ISAKMP (0:134217729): received packet from 200.0.0.1
dport 500 sport 500 Global (R) QM_IDLE //进入第二阶段的初始状态
Mar 1 00:26:34.207: ISAKMP: set new node -1476491462 to QM_IDLE
//建立一个新的节点
Mar 1 00:26:34.215: ISAKMP:(0:1:SW:1):Checking IPSec proposal 1 //检查ipsec
策略
Mar 1 00:26:34.215: ISAKMP: transform 1, ESP_3DES //加密算法为3des
Mar 1 00:26:34.215: ISAKMP: attributes in transform //交换集属性
Mar 1 00:26:34.215: ISAKMP: encaps is 1 (Tunnel)
//工作模式为tunnel 模式,封装协议为ESP
Mar 1 00:26:34.215: ISAKMP: SA life type in seconds //SA 生命周期单位为S
Mar 1 00:26:34.215: ISAKMP: SA life duration (basic) of 3600 //SA 生命周
期为3600s
Mar 1 00:26:34.219: ISAKMP: authenticator is HMAC-MD5 //hash 算法为MD5
Mar 1 00:26:34.219: ISAKMP:(0:1:SW:1):atts are acceptable. //属性被接受
(key eng. msg.) INBOUND local= 100.0.0.1, remote= 200.0.0.1,
//inbound 方向本地为100.0.0.1,对端为200.0.0.1
local_proxy= 192.168.1.0/255.255.255.0/0/0 (type=4), // 本地代理流量为
192.168.1.0/24
remote_proxy= 192.168.2.0/255.255.255.0/0/0 (type=4),// 对端代理流量为
192.168.2.0/24
protocol= ESP, transform= esp-3des esp-md5-hmac (Tunnel), //协议为ESP
lifedur= 0s and 0kb,
spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x2
Mar 1 00:26:34.275: IPSEC(initialize_sas): ,
(key eng. msg.) OUTBOUND local= 100.0.0.1, remote= 200.0.0.1,
//outband 方向本地为100.0.0.1, 对端为200.0.0.1
local_proxy= 192.168.1.0/255.255.255.0/0/0 (type=4),
remote_proxy= 192.168.2.0/255.255.255.0/0/0 (type=4),
protocol= ESP, transform= esp-3des esp-md5-hmac (Tunnel),
lifedur= 3600s and 4608000kb,
spi= 0xC8856E32(3364187698), conn_id= 0, keysize= 0, flags= 0xA
Mar 1 00:26
RT1#:34.279: Crypto mapdb : proxy_match
src addr : 192.168.1.0
dst addr : 192.168.2.0
protocol : 0
src port : 0
dst port : 0
Mar 1 00:26:34.287: ISAKMP: Locking peer struct 0x64244BC0, IPSEC refcount 2 for
from create_transforms
Mar 1 00:26:34.287: IPSEC(create_sa): sa created,
(sa) sa_dest= 100.0.0.1, sa_proto= 50,
sa_spi= 0x943F66F8(2487183096), sa_trans= esp-3des esp-md5-hmac , sa_conn_id= 2002
Mar 1 00:26:34.287: IPSEC(create_sa): sa created,
(sa) sa_dest= 200.0.0.1, sa_proto= 50,
sa_spi= 0xC8856E32(3364187698),
sa_trans= esp-3des esp-md5-hmac , sa_conn_id= 2001
Mar 1 00:26:34.291: ISAKMP: Unlocking IPSEC struct 0x64244BC0 from
create_transforms, count 1
Mar 1 00:26:34.459: ISAKMP:(0:1:SW:1):deleting node -1476491462 error FALSE
reason "QM done (await)" //快速模式完成
Mar 1 00:26:34.463: ISAKMP:(0:1:SW:1):Old State = IKE_QM_R_QM2 New State =
IKE_QM_PHASE2_COMPLETE //阶段2 完成
RT1#un all
All possible debugging has been turned off
(2)、固定IP 对动态IP
RT1#
Mar 1 00:37:12.767: ISAKMP (0:0): received packet from 200.0.0.1 dport 500
sport 500 Global (N) NEW SA //创立一个新的SA
Mar 1 00:37:12.767: ISAKMP: Created a peer struct for 200.0.0.1, peer port
500
//对等体为200.0.0.1,端口号为500
Mar 1 00:37:12.791: ISAKMP:(0:0:N/A:0):Checking ISAKMP transform 1 against
priority 1 policy //查找策略1 的isakmp 交换集
Mar 1 00:37:12.791: ISAKMP: encryption AES 128 //加密算法为aes
Mar 1 00:37:12.791: ISAKMP: hash MD5 //hash 算法为MD5
Mar 1 00:37:12.791: ISAKMP: default group 2 //DH 组号为2
Mar 1 00:37:12.795: ISAKMP: auth pre-share //身份认证方式为预共享
Mar 1 00:37:12.795: ISAKMP:(0:0:N/A:0):atts are acceptable. Next payload is 0
//属性被接受
Mar 1 00:37:12.863: ISAKMP:(0:1:SW:1): processing vendor id payload //处理下一
个负载
Mar 1 00:37:13.063: ISAKMP (0:134217729): received packet from 200.0.0.1
dport 500 sport 500 Global (R) MM_SA_SETUP //从200.0.0.1 接收到协商参数,
开始建立SA
Mar 1 00:37:13.439: ISAKMP (0:134217729): received packet from 200.0.0.1
dport 500 sport 500 Global (R) MM_KEY_EXCH //进入主模式key 交换状态
Mar 1 00:37:13.447: ISAKMP:(0:1:SW:1): processing ID payload. message ID = 0
//处理ID 负载
Mar 1 00:37:13.447: ISAKMP (0:134217729): ID payload
next-payload : 8
type : 1
address : 200.0.0.1
protocol : 17
port : 500
length : 12
Mar 1 00:37:13.467: ISAKMP:(0:1:SW:1):SA is doing pre-shared key authentication
using id type ID_IPV4_ADDR //预共享使用的ID 是IPV4 地址
Mar 1 00:37:13.471: ISAKMP (0:134217729): ID payload
next-payload : 8
type : 1
address : 100.0.0.1
protocol : 17
port : 500
length : 12
Mar 1 00:37:13.471: ISAKMP:(0:1:SW:1):Total payload length: 12
Mar 1 00:37:13.475: ISAKMP:(0:1:SW:1): s
Mar 1 00:37:13.487: ISAKMP:(0:1:SW:1):Input = IKE_MESG_INTERNAL,
IKE_PHASE1_COMPLETE //阶段1 任务完成
Mar 1 00:37:13.707: ISAKMP (0:134217729): received packet from 200.0.0.1
dport 500 sport 500 Global (R) QM_IDLE //进入积极模式初始状态
Mar 1 00:37:13.707: ISAKMP: set new node -381895170 to QM_IDLE //建立一个新
的节点
Mar 1 00:37:13.715: ISAKMP:(0:1:SW:1):Checking IPSec proposal 1
Mar 1 00:37:13.715: ISAKMP: transform 1, ESP_3DES
Mar 1 00:37:13.715: ISAKMP: attributes in transform:
Mar 1 00:37:13.715: ISAKMP: encaps is 1 (Tunnel)
//工作模式为tunnel 模式,封装协议为ESP
Mar 1 00:37:13.719: ISAKMP: authenticator is HMAC-MD5 //hash 算法为MD5
Mar 1 00:37:13.719: ISAKMP:(0:1:SW:1):atts are acceptable. //属性被接受
Mar 1 00:37:13.723: IPSEC(validate_proposal_request): proposal part #1,
(key eng. msg.) INBOUND local= 100.0.0.1, remote= 200.0.0.1,
local_proxy= 192.168.1.0/255.255.255.0/0/0 (type=4),
remote_proxy= 192.168.2.0/255.255.255.0/0/0 (type=4),
protocol= ESP, transform= esp-3des esp-md5-hmac (Tunnel),
lifedur= 0s and 0kb,
spi= 0x0(0), conn_id= 0, keysize= 0, flags= 0x2
Mar 1 00:37:13.727: Crypto mapdb : proxy_match
src addr : 192.168.1.0
dst addr : 192.168.2.0
protocol : 0
RT1# src port : 0
dst port : 0
Mar 1 00:37:13.731: ISAKMP:(0:1:SW:1): processing NONCE payload. message ID =
-381895170 //处理随机数
Mar 1 00:37:13.743: ISAKMP:(0:1:SW:1): Creating IPSec Sa //创建ipsec sa
Mar 1 00:37:13.743: inbound SA from 200.0.0.1 to 100.0.0.1
(f/i) 0/ 0(proxy 192.168.2.0 to 192.168.1.0) //inbound sa 从200.0.0.1 到
100.0.0.1
Mar 1 00:37:13.747: outbound SA from 100.0.0.1 to 200.0.0.1
(f/i) 0/0
(proxy 192.168.1.0 to 192.168.2.0) //outbound sa 从100.0.0.1 到
200.0.0.1
Mar 1 00:37:13.755: ISAKMP:(0:1:SW:1):Node -381895170, Input =
IKE_MESG_FROM_IPSEC, IKE_SPI_REPLY //SPI 申请
*Mar 1 00:37:14.011: ISAKMP:(0:1:SW:1):Old State = IKE_QM_R_QM2 New State =
IKE_QM_PHASE2_COMPLETE //阶段2 任务完成

fenbu#
fenbu #un debug all
All possible debugging has been turned off

如果加密算法不一致会提示:
Hash algorithm offered does not match policy!

如果Hash 算法不匹配会提示
Encryption algorithm offered does not match policy!