IPSec建立连接的过程 一、对等体建立连接大体分为: 1、流量触发:IPSec建立连接是首先是由对等体直接的数据流触发的。我们通过配置这些IPSec保护的数据流,可以明确哪些数据流会触发IPSec建立连接 2、建立管理连接:IPSec使用ISAKMP/IKE阶段1来建立管理连接。管理连接不进行数据传输,只是数据传输前的准备工作。管理连接阶段需要明确对等体之间的哪种设备验证方式、加密算法、认证算法以及DH密钥组等。 3、建立数据连接:基于阶段1建立的安全的管理连接之上,使用ISAKMP/IKE阶段2来完成。数据连接需要明确具体使用的安全协议的加密或者验证算法,以及数据的传输模式等。 二、ISAKMP/IKE阶段1建立过程 1、交换ISAKMP/IKE传输集 ISAKMP/IKE传输集是一组用来保护管理连接的策略,包括 1)加密算法:3des、des、aes 2)HMAC:MD5、SHA-1 3)设备验证类型:预共享密钥、RSA签名 4)DH密钥组:一般思科路由支持1、2、5 5)管理连接的生存周期 2、通过DH算法实现密钥转换 3、实现设备之间的验证 三、ISAKMP/IKE阶段2建立过程 1、安全关联(SA) IPSec需要在对等体之间建立一条逻辑连接,这是使用了一个信令协议实现,也就是SA,因为IPSec需要无连接的IP在运行在就要成为面向连接的协议。SA由三要素定义: 1)安全参数索引(SPI) 2)安全协议的类型,包括AH和ESP协议 3)目的地址 2、ISAKMP/IKE阶段2的传输集 1)安全协议,AH和ESP协议 2)连接模式,隧道模式、传输模式 3)加密算法,3des,aes等 4)验证方式:MD5、SHA-1
配置过程 一、配置IPSec打通隧道 1、首先需要内网有一条通往ISP的默认路由 ip route 0.0.0.0 0.0.0.0 202.2.2.2 注释:202.2.2.2模拟ISP地址 2、配置ISAKMP策略 crypto isakmp policy 1 注释:1为策略序列号,取值范围是1~10000,值越小,优先级越高 encryption 3des hash sha authentication pre-share group 5 注释:5为DH密钥组号,取值为1、2、5、6 lifetime 10000 注释:lifetime为管理连接生存时间,单位是秒(s) crypto isakmp 0 password-key address 101.1.1.1 注释:该命令为建立共享密钥;0表示密钥使用明文,如果取值6表示密文;101.1.1.1为对端的外网口地址 3、配置IPSec保护的数据流(感兴趣的数据流) access-list 100 permit ip 192.168.1.0 0.0.0.255 172.16.0.0 0.0.255.255 注释:源IP地址为本地局域网的地址,目标为对端的局域网地址;定义ACL是为了明确这些数据流会通过隧道技术转发。 4、定义传输集 crypto ipsec transform-set kaifabu-set esp-des ah-sha-hmac 注释:kaifabu-set为该传输集的名称,后面跟上传输集选项(esp-des、ah-sha-hmac) mode tunnel exit crypto ipsec security-association lifetime seconds 1800 注释:输入exit是为退回到全局模式,可在该模式下设置数据连接的生存周期 5、配置加密映射 crypto map kaifabu-map 1 ipsec-isakmp 注释:1为加密映射的序列号,取值1~65535,值越小,优先级越高 set peer 101.1.1.1 注释:101.1.1.1为对端外网口地址 set transform-set kaifabu-set 注释:在加密映射中调用kaifabu-set这个传输集 match address 100 注释:100前面定义的ACL100,这里是为了调用该ACL 6、应用加密映射到外网口 interface f0/0 crypto map kaifabu-map 二、配置PAT连接到Internet access-list 101 deny 192.168.1.0 0.0.0.255 172.16.0.0 0.0.255.255 access-list 101 permit 192.168.1.0 0.0.0.255 any 注释:ACL配置要拒绝掉IPSec保护的数据流,使该数据流不进行PAT的转换,然后再允许内网地址通往所有的网段实现上网。 ip nat inside source list 101 interface f0/0 overload interface f0/0 ip nat outside interface f0/1 ip nat inside