一,IKE协商.
IKE协商跟TCP三次握手相似.不过比TCP 三次握手复杂点.IKE协商过程需要经过9个报文的来回,才能建立通讯双方需要的IKE SA,然后利用该IKE SA进行数据的加密和解密.
IKE协商报文采用UDP格式,默认端口是500
一,IKE协商的第一阶段:也称为IKE的主模式:
1,A和B通讯,A作为发起方,第一个报文是A本地配置的policy(策略),该policy包含:
⑴,加密算法
⑵,hash算法
⑶,D-H组
⑷,认证方式
⑸,SA生存时间
PS: ①,Policy可以配置多个,只要对端只要有任何一个与它匹配就行.
     ②,五元素里最主要的是认证方式.目前主要分: 预共享 和 数字证书.一般采用预共享秘匙
2,第二个报文是B采用相同的policy发回.表明采用该policy作为后续通讯的保护.
3,第三和第四个报文是A和B进行D-H交换的D-H公开值,这与具体配置关系不大.
在完成上面四个报文的交换后,利用D-H算法.A和B就协商出一个共同的秘密.后续的密匙都是依靠这个秘密来衍生的.
4,第五和第六个报文是身份验证过程.A将自己的身份信息和其他信息发送给B.B对A进行验证,然后发送自己的身份信息回去给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的生存时间 (不配置的话有默认值)
特别鸣谢:灵溪金典网吧以及香香公主网吧提供×××100路由器以及线路,我才得以完成以下实现。(当然,他们不知道。让我们再次对他们的默默的无私奉献致敬)
Configuration:
access-list 111 permit ip 192.168.1.0 0.0.0.255 192.168.16.0 0.0.0.255 ----定义保护的数据流
crypto isakmp policy 1 ----创建isakmp 策略
authentication pre-share   ----认证方式
hash md5              ----hash算法
group 2                ---组号
!
!
crypto isakmp key 7 151b5f72467e7a address 60.190.90.66 -----pre-share密码
crypto ipsec transform-set myset esp-des esp-md5-hmac -----定义交换集合加密和算法
crypto map mymap 1 ipsec-isakmp   ----定义加密映射
set peer 60.190.90.66   ----对端的ip地址
set transform-set myset -----引用myset这个交换集合
match address 111   -----引用access-list 111定义的保护数据流
!
interface FastEthernet 0/0
ip nat inside
ip access-group 120 in
no ip redirects
ip address 192.168.1.2 255.255.255.0
!
interface FastEthernet 1/0
ip nat outside
ip access-group 110 in
ip address 60.190.94.84 255.255.255.248
crypto map mymap    ----应用crypto map-
duplex auto
speed auto
对方配置同上。
#########################调试信息##############################
×××100#clear crypto isakmp   清除isakmp sa
×××100#clear crypto sa       清除所有sa包括isakmp sa和ipsec sa
×××100#debug crypto isakmp debug isakmp 协商过程
×××100#ping
Protocol [ip]:
Target IP address: 192.168.1.2
Repeat count [5]:
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y ---用扩展ping
Source address:192.168.16.254   ---定义源地址是为了能触发isakmp协商。因为我不能在任何一个路由器的内网。
Sending 5, 100-byte ICMP Echoes to 192.168.1.2, timeout is 2 seconds:
< press Ctrl+C to break >
.....
Success rate is 0 percent (0/5)
×××100#sh log
Syslog logging: enabled
Console logging: disabled
Monitor logging: disabled
Buffer logging: level debugging, 281 messages logged
logging trace : disable
Timestamp debug messages: uptime
Timestamp log messages: disabled
Sequence log messages: disable
Trap logging: level informational, 0 message lines logged,0 reserved,0 fail
Log Buffer (Total 4096 Bytes) : have written 3499
Configured from console by vty0 (60.181.132.226)
14:1:54:29 ×××100: %7:Acqurire negociate with 60.190.94.84
14:1:54:29 ×××100: %7:(33) sending packet to 60.190.94.84 (I) MM_SI1_WR1, MM_SA_
SETUP
14:1:54:29 ×××100: %7:sendout main I1, and wait R1
14:1:54:29 ×××100: %7:Receive IKE message packet.
14:1:54:29 ×××100: %7:(33) received packet from 60.190.94.84, (I) MM_SI1_WR1, MM
_SA_SETUP
14:1:54:29 ×××100: %7: Exchange type : 0x2<sa> <vendor ID>
14:1:54:29 ×××100: %7:main mode r1 process
14:1:54:29 ×××100: %7:(33) Checking ISAKMP transform 1 against priority 1 policy
14:1:54:29 ×××100: %7:    encryption DES-CBC
14:1:54:29 ×××100: %7:    hash MD5
14:1:54:29 ×××100: %7:    auth pre-share          -------policy内容
14:1:54:29 ×××100: %7:    group 2
14:1:54:29 ×××100: %7:    life type in seconds
14:1:54:29 ×××100: %7:life duration 86400 orginal:86400
14:1:54:29 ×××100: %7:(33) atts are acceptable
14:1:54:29 ×××100: %7:vendor_id=0xaf 0xca 0xd7 0x13 0x68 0xa1 0xf1 0xc9 0x6b 0x8
6 0x96 0xfc 0x77 0x57 0x1 0x0
14:1:54:29 ×××100: %7: dpd's vendor id is detected.
14:1:54:29 ×××100: %7:(33) sending packet to 60.190.94.84 (I) MM_SI2_WR2, MM_KEY
_EXCH
14:1:54:29 ×××100: %7:IKE message packet process over.
14:1:54:29 ×××100: %7:Receive IKE message packet.
14:1:54:29 ×××100: %7:(33) received packet from 60.190.94.84, (I) MM_SI2_WR2, MM
_KEY_EXCH
14:1:54:29 ×××100: %7: Exchange type : 0x2<key> <nonce>
14:1:54:29 ×××100: %7:main mode process R2:(33) processing NONCE payload.
14:1:54:29 ×××100: %7:(33)main mode process R2:SKEYID state generated
14:1:54:29 ×××100: %7:(33) sending packet to 60.190.94.84 (I) MM_SI3_WR3, MM_VER
IFY
14:1:54:29 ×××100: %7:IKE message packet process over.
14:1:54:29 ×××100: %7:Receive IKE message packet.
14:1:54:29 ×××100: %7:(33) received packet from 60.190.94.84, (I) MM_SI3_WR3, MM
_VERIFY
14:1:54:29 ×××100: %7: Exchange type : 0x2<id> <hash>
14:1:54:29 ×××100: %7:(33) (auth pre-share) processing ID payload. message ID =
0
14:1:54:29 ×××100: %7:(33) (auth pre-share) processing HASH payload. message ID
= 0
14:1:54:29 ×××100: %7:(33) (auth pre-share) SA has been authenticated with 60.19
0.94.84   
14:1:54:29 ×××100: %7:(main mode)(33) (I)Phase_1 negotiate complete! ---主模式成功建立
14:1:54:29 ×××100: %7:++++++++++++++Fill quick sa's dpd_mode(0).
上面为6个报文来IKE的主模式协商过程
下面开始IKE的快速模式(也就是ipsec sa)的协商过程
14:1:54:29 ×××100: %7:(33) Beginning Quick Mode exchange, M-ID of 2060103392
14:1:54:29 ×××100: %7:(33)(quick mode) sending packet to 60.190.94.84 (I) QM_SI1
_WR1
14:1:54:29 ×××100: %7:IKE message packet process over.
14:1:54:29 ×××100: %7:Receive IKE message packet.
14:1:54:29 ×××100: %7:find phase 2 quick sa!
14:1:54:29 ×××100: %7:(33) (2060103392)received packet from 60.190.94.84, (I) QM
_SI1_WR1
14:1:54:29 ×××100: %7: Exchange type : 0x20<hash> <sa> <nonce> <id>
14:1:54:29 ×××100: %7:(quick mode)(isakmp_id---33) process r1:processing SA payl
oad. message ID = 2060103392
14:1:54:29 ×××100: %7: set->lifebak_sec=3600
14:1:54:29 ×××100: %7:(quick_mode)(I)phase 2 sa established,begining to update s
ab!
14:1:54:29 ×××100: %7:+++++++++++++Fill sab' dpd_mode(0)
14:1:54:29 ×××100: %7:add first sab into salink.
14:1:54:29 ×××100: %7: life_seconds=3600
14:1:54:29 ×××100: %7: life_back_seconds=3600
14:1:54:29 ×××100: %7:(quick mode)(isakmp_id---33) sending packet to 60.190.94.8
4 (I) QM_IDLE
14:1:54:29 ×××100: %7:(quick mode)(isakmp_id---33)process r1:Phase_2 negotiate c
omplete!
14:1:54:29 ×××100: %7:ike's tunnel (number=1)established.
14:1:54:29 ×××100: %7:IKE message packet process over.
×××100#debug crypto ipsec   ipsec sa的调试信息
14:2:13:16 ×××100: %7:Get acquire: 192.168.16.0/0.0.0.255 -> 192.168.1.0/0.0.0.2
55 , prot 0, port 0/0
14:2:13:16 ×××100: %7:Get acquire: negotiate source 60.190.90.66 -> dest 60.190.
94.84
14:2:13:17 ×××100: %7:(33) Creating IPSec SAs-esp.
14:2:13:17 ×××100: %7:    inbound SA has spi 276460337
14:2:13:17 ×××100: %7:    protocol esp, DES_CBC
14:2:13:17 ×××100: %7:    auth MD5
14:2:13:17 ×××100: %7: fill esp in success!
14:2:13:17 ×××100: %7:    outbound SA has spi 38689139
14:2:13:17 ×××100: %7:    protocol esp, DES_CBC
14:2:13:17 ×××100: %7:    auth MD5
14:2:13:17 ×××100: %7: fill esp out success!
14:2:13:17 ×××100: %7:^I lifetime of 3600 seconds, soft 3570 seconds
14:2:13:17 ×××100: %7:^I lifetime of 4607000 kilobytes, soft 256 kilobytes
下面命令可以看到isakmp sa已经建立:
×××100#sh crypto isakmp sa
destination       source            state                    conn-id
lifetime(second)
60.190.94.84      60.190.90.66      QM_IDLE                  33
86323
bc2ea01385f769db 7017b83ac843c486
IPSEC SA也已经成功建立
RouterA#show crypto ipsec sa
Interface:Fastethernet 1/0
Crypto map tag:mymap, local addr 60.190.90.66
(目前的加密映射集名mymap,使用本地地址60.190.90.66)
     media mtu 1500
     local ident (addr/mask/prot/port): (192.168.16.0/0.0.0.255/0/0))
     remote ident (addr/mask/prot/port): (192.168.1.0/0.0.0.255/0/0))
PERMIT
(保护192.168.16.0/24和192.168.1.0/24之间的通信)
current_peer: 60.190.94.84
(对方对等体地址为60.190.94.84)
     #pkts encaps: 3, #pkts encrypt: 3, #pkts digest 3
     #pkts decaps: 3, #pkts decrypt: 3, #pkts verify 3
     #send errors 0, #recv errors 0
(统计数据,依次为:封装包数,加密包数,摘要包数,拆封包数,加密包数,验证包数,发送错误,接收错误)
     inbound esp sas: (进入包处理的安全联盟,协议为ESP)
              spi:0x43D3C7 (4445127)(spi的值为4445127)
              transform: esp-des esp-md5-hmac(变换集合为esp-des-md5)
              in use settings={Tunnel,} (通道模式)
sa timing: remaining key lifetime (k/sec): (4607999/3578)
(离安全联盟的生命周期到期还有:4607999千字节/3578秒)
              IV size: 8 bytes(IV向量长度为8)
              Replay detection support:Y(抗重播处理)

     outbound esp sas: (外出包处理的安全联盟,协议为ESP)
              spi:0x106A0DFA (275385850) (spi的值为275385850)
              transform: esp-des esp-md5-hmac(变换集合为esp-des-md5)
              in use settings={Tunnel,} (通道模式)
sa timing: remaining key lifetime (k/sec): (4607999/3577)
(离安全联盟的生命周期到期还有:4607999千字节/3577秒)
IV size: 8 bytes(IV向量长度为8)
              Replay detection support:Y(抗重播处理)
从统计数据可以看出,IPSec已经建立起来并有数据报得到保护
到此,×××就已经成功建立了。
常见问题:
1. 现象:一端发起协商后,另一端没有任何响应。
可能的原因:
ü 检查发起协商的数据流是否匹配所定义的要保护的数据流;
ü 检查路由器上是否有默认路由或者到远端局域网段的路由;
ü 检查加密映射(map)是否已经应用到接口上去;
ü 检查两端的peer地址是否配置正确,确保两个×××网关本身能够互通;
ü 检查预共享密钥是否已经配置;
2. 现象:IKE SA(又称第一阶段主模式)协商不成功
可能的原因:
ü 检查两端是否有一致的policy,如果规划使用预共享认证方式,确保双方一致的policy中的认证方式为预共享;
ü 预共享密钥是否配置是否一致;
3. 现象:IKE SA协商成功了,但是快速模式协商不成功,IPSec SA无法建立
可能的原因:
ü 两端的是否有一致的变化集合;
ü 两端的所要保护的数据流是否相对应;
ü 两端的完美前向保护参数(pfs)是否一致;
4. 现象:IPSec SA已经建立成功,但是两边的局域网中两台主机不通。
可能的原因:(这时候已经与IPSec本身没有多大关系了)
ü 主机上是否已经配置网关,该网关指向路由器的一个接口;
ü 检查两台主机上是否启用了防火墙过滤之类的软件;
ü 数据流在Internet上是否已经穿越了NAT(基本可以从路由器出口的地址是否为公网地址来确定)
第二章        动态对等体
动态获取IP端路由器配置与上面固定IP的一致。
主要是在固定IP端路由器配置部分不同:
!配置默认的预共享密钥,由于对端的ip地址是动态的,不能预先知道需要配置默认的 预共享密钥
crypto isakmp key 123456 address 0.0.0.0 0.0.0.0
!定义动态加密映射
crypto dynamic-map dymymap 1
这部分不需要配置set peer ip-address 因为不能预知对方IP
添加一个动态的加密映射集到静态的加密映射集
crypto map mymap 10 ipsec-isakmp dynamic dymymap
再把这个静态map的名字应用到接口,非应用动态map的名字,切记。
IPsec ×××

R1:
conf t
in fa0/0
ip add 170.58.12.1 255.255.255.0
no sh
in lo0
ip add 1.1.1.1 255.255.255.0
exit
ip route 0.0.0.0 0.0.0.0 170.58.12.2
crypto isakmp policy 10
encr 3des
hash md5
authentication pre-share
group 2
exit
crypto isakmp key cisco address 170.58.23.3
crypto ipsec transform-set zhang esp-3des esp-md5-hmac
exit
crypto map wang 10 ipsec-isakmp
set peer 170.58.23.3
set transform-set zhang
match address ***
exit
ip access-list extended ***
permit ip host 1.1.1.1 host 3.3.3.3
exit
in fa0/0
cry map wang
exit
R2:
conf t
in fa0/0
ip add 170.58.12.2 255.255.255.0
no sh
in fa0/1
ip add 170.58.23.2 255.255.255.0
no sh
exit
R3:
conf t
in fa0/1
ip add 170.58.23.3 255.255.255.0
no sh
in lo0
ip add 3.3.3.3 255.255.255.0
exit
ip route 0.0.0.0 0.0.0.0 170.58.23.2
crypto isakmp policy 10
encr 3des
hash md5
authentication pre-share
group 2
exit
crypto isakmp key cisco address 170.58.12.1
crypto ipsec transform-set zhang esp-3des esp-md5-hmac
exit
crypto map wang 10 ipsec-isakmp
set peer 170.58.12.1
set transform-set zhang
match address ***
exit
ip access-list extended ***
permit ip host 3.3.3.3 host 1.1.1.1
exit
in fa0/1
cry map wang
exit

转载于:https://blog.51cto.com/1194740/273153

ipsec-***过程相关推荐

  1. 华为AR路由器策略模板建立ipsec过程

    华为AR系列路由器使用策略模板建立ipsec vpn专用线路 display current-configuration [V200R003C00] sysname ZB snmp-agent loc ...

  2. 基于CA认证的IPsec ×××问题

    基于CA认证的IPsec ×××问题 1.环境描述 (fa0/1:192.168.0.212)RR5(fa0/0:10.2.1.1)-------(fa0/0:10.2.1.3)RR7(fa0/1:1 ...

  3. H3C SE 教程笔记——构建安全优化的广域网(上)

    第1篇    广域网安全和优化概述 第1章    企业网模型 随着应用的发展,各种需求不断出现.作为企业IT系统基础的计算机网络,其未来的发展适应企业业务和应用对IT系统越来越高的要求. 1.2    ...

  4. ubantu与CentOS虚拟机之间搭建GRE隧道

    Author       : Email         : vip_13031075266@163.com Date          : 2020.01.23 Copyright : 未经同意不得 ...

  5. IPSEC ***两个阶段的协商过程

    IPSEC ×××两个阶段的协商过程 第一阶段 有主模式和积极模式2种 注意!!!只有remote ***和Easy ***是积极模式的,其他都是用主模式来协商的 让IKE对等体彼此验证对方并确定会话 ...

  6. 点到点 Ipsec *** 从一端能正常发起,另一端发起不成功的解决过程

    集团总部用的cisco 5540防火墙,上面配置了2个动态***,若干L2L***.集团总部到各分公司直接用lan to lan ipsce ***连接,部分分公司到集团总部的***能够双向发起,部分 ...

  7. IPsec ***数据传输过程

    以下是一个数据包经IPsec×××隧道的传送过程(如ICMP包),由左边的×××保护子网内的PC机向右边×××保护子网内的PC机传送数据时,左边PC发送的数据由左××× eth1内口接收后发现需要经过 ...

  8. IPSEC 的IKE协商过程,主模式和野蛮模式,AH和ESP

    一. 基本名词解释: 1.IPSec 对等体 IPSec 用于在两个端点之间提供安全的 IP 通信,通信的两个端点被称为 IPSec 对等体. 2.安全联盟 SA(Security Associati ...

  9. IPSEC建立过程(简)

    IPSEC建立过程 文章目录 IPSEC建立过程 阶段一: 阶段一支持两种协商模式: 主模式: 野蛮模式: 阶段二 快速模式共有3条消息完成双方IPSec SA的建立. 主模式和野蛮模式的区别 主模式 ...

  10. IPsec之IKE协商过程详解

    IPsec之IKE协商过程详解 IKE第一阶段 IKE的精髓在于它永远不在不安全的网络上直接传送密钥,而是通过一系列的计算,双方最终计算出共享密钥,并且即使第三方截获了交换中的所有数据,也无法计算出真 ...

最新文章

  1. 重磅!13所985高校,成立大学联盟!
  2. Thinking In Design Pattern——Query Object模式
  3. 二叉树最大深度:给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。
  4. 国外值得关注的网站系列之一
  5. php ms5解密,「phpmd5解密」解析php混淆加密解密的手段
  6. 快速原型制造_快速原型初学者指南
  7. 大厂标配的动态化解决方案,高阶技术从未如此简单
  8. 应届生offer指南
  9. linux离线安装sails,sails.js – 在Sails应用程序中运行npm install odbc会产生错误?
  10. js中的深拷贝和浅拷贝
  11. kubernetes-----pod资源创建与Harbor私有仓库
  12. 【图解】AC97、HD音效卡前置音频线的接法
  13. Hibernate查询语句拼接乱码问题
  14. 【转】GitHub 优秀的 Android 开源项目
  15. 测试与开发人员的战斗
  16. 正运动学 与 逆运动学 区别
  17. 第一代到第四代计算机特点应用,第一代至第四代计算机依次是什么
  18. edrawmax使用技巧备忘
  19. 开发笔记、记录常用命令
  20. 【Python】PygameK库中按键响应

热门文章

  1. Java--SpringBoot无法访问网站
  2. 【大四上学期】过程控制系统课程笔记
  3. java横线_java 字体 加横线
  4. VC++计算正反坐标方向角
  5. 【PyTorch深度学习项目实战100例】—— 基于ResNet50实现多目标美味蛋糕图像分类 | 第51例
  6. 存储英文字符字段类型用什么?
  7. Android iOS防录屏截屏
  8. 咖啡店管理系统设计与实现C语言,答粉丝问|GUI编程实例化之咖啡店点单系统
  9. 基因-高通量测序-变异检测
  10. Python函数(西安加油!!!)