一.IPSEC ××× (site to site)
第一步:在外部接口启用IKE协商
crypto isakmp enable outside
第二步:配置isakmp协商 策略
isakmp 策略两边要一致,可设置多个策略模板,只要其中一个和对方匹配即可
isakmp policy 5 authentication pre-share //配置认证方式为预共享密钥
isakmp policy 5 encryption des //配置isakmp 策略的加密算法
isakmp policy 5 hash md5 //配置isakmp 策略的哈希算法
isakmp policy 5 group 2 //配置Diffie-Hellman组
isakmp policy 5 lifetime 86400 //默认的有效时间
第三步:配置需要加密的数据流
192.168.241.0为本地内网地址,10.10.10.0为对方内网地址
access-list ipsec-*** extended permit ip 192.168.241.0 255.255.255.0 10.10.10.0 255.255.255.0
第四步:设置到对方私网地址的路由
配置静态路由指向outside接口x.x.x.x为ASA防火墙outside接口地址
route outside 10.10.10.0 255.255.255.0 x.x.x.x
第五步:配置ipsec的数据转换格式集
crypto ipsec transform-set my_trans esp-des esp-none
第六步:建立加密静态映射图
crypto map ***_to_test 10 match address ipsec-*** //配置哪些数据流会启用IPSEC加密
crypto map ***_to_test 10 set peer x.x.x.x //指定对端地址x.x.x.x为对端×××公网地址
crypto map ***_to_test 10 set transform-set my_trans //建立加密静态映射图,加密格式引用数据转换格式集my_trans(两边要一致)
第七步:将加密静态映射图应用于外网接口
crypto map ***_to_test interface outside
第八步:建立IPSEC ×××隧道组
tunnel-group x.x.x.x type ipsec-l2l //建立IPSEC ×××隧道组类型
tunnel-group x.x.x.x ipsec-attributes //配置IPSEC ×××隧道组参数
pre-shared-key * //配置预共享密钥,两边要一致,否则第一阶段协商不起来
二.IPSEC ××× (client to site)
第一步:配置地址池
ip local pool testipsec 172.19.7.1-172.19.7.127 mask 255.255.255.128 //ipsec拨入后的地址池
第二步:配置隧道分离ACL
access-list split-ssl extended permit ip 192.168.0.0 255.255.0.0 any
第三步:配置访问控制ACL
access-list testipsec extended permit ip any 192.168.0.0 255.255.0.0
第四步:配置不走NAT的ACL
access-list nonat-*** extended permit ip 192.168.0.0 255.255.0.0 172.19.0.0 255.255.248.0
nat (inside) 0 access-list nonat-*** // 不走NAT
crypto isakmp enable outside //在外部接口启用IKE协商
第五步:配置IKE策略
isakmp policy 5 authentication pre-share //配置认证方式为预共享密钥
isakmp policy 5 encryption des //配置isakmp 策略的加密算法
isakmp policy 5 hash md5 //配置isakmp 策略的哈希算法
isakmp policy 5 group 2 //配置Diffie-Hellman组
isakmp policy 5 lifetime 86400 //默认的有效时间
第六步:配置组策略
group-policy ipsectest internal //配置组策略
group-policy ipsectest attributes //配置组策略属性
***-filter value testipsec //设置访问控制
***-tunnel-protocol IPSec //配置隧道协议
split-tunnel-policy tunnelspecified //建立隧道分离策略
split-tunnel-network-list value split-ssl //配置隧道分离,相当于推送一张路由表
第七步:设置×××隧道组
tunnel-group ipsectest type remote-access //设置×××隧道组类型
tunnel-group ipsectest general-attributes //设置×××隧道组属性
address-pool testipsec //设置地址池
default-group-policy ipsectest //指定默认的组策略
tunnel-group ipsectest ipsec-attributes //设置××× 远程登入(即使用隧道分离)的ipsec属性
pre-shared-key * //设置共享密钥
1.查看IPSEC ×××的相关信息基本命令
show crypto isakmp sa //查看IPSEC ××× isakmp(IPSEC第一阶段)协商的结果
show crypto ipsec sa peer X.X.X.X //查看IPSEC 会话的相关信息(IPSEC第二阶段)
debug crypto ipsec //ipsec site to site建立不起来的时候可使用debug命令来获取相关错误信息,通常ASA设备的CPU利用率都比较低,debug命令可放心使用,具体情况区别对待
IPSEC第一阶段协商不起来的常见原因:
peer路由不通
crypto iskmp key没有设置或者不一致
isakmp的策略(IKE策略)不匹配
IPSEC第二阶段协商不起来的常见原因:
IPSEC加密流不对称
Ipsec协商参数不一致
2.IPSEC ipsec site to site需要注意的问题
ipsec会话有默认的时间限制,到默认的时间后会话会失效重新建立,当两端设备类型不一致时,两边的会话的默认到期时间由于不一致将会导致问题,这个参数不影响IPSEC ××× 的建立,但是当一边到期后,另外一边ipsec session保留在那里,而发起访问的服务器是从保留session的那一端过来的话,将不会重新建立新的ipsec会话。当两端设备不一样时需要注意,kilobytes这个参数是说传输完多少数据后ipsec session到期,seconds指的是多长时间后会话到期。
可在全局模式下配置:
crypto ipsec security-association lifetime kilobytes *
crypto ipsec security-association lifetime seconds *
也可在加密静态映射图
crypto map abcmap 1 set security-association lifetime seconds *
crypto map abcmap 1 set security-association lifetime kilobytes *
转载于:https://blog.51cto.com/xiaochong/412389