一.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为本地内网地址,
access-list ipsec-vpn extended permit ip 192.168.241.0 255.255.255.0
第四步:设置到对方私网地址的路由
配置静态路由指向outside接口x.x.x.x为ASA防火墙outside接口地址
route outside
第五步:配置ipsec的数据转换格式集
crypto ipsec transform-set my_trans esp-des esp-none
第六步:建立加密静态映射图
crypto map vpn_to_test 10 match address ipsec-vpn //配置哪些数据流会启用IPSEC加密
crypto map vpn_to_test 10 set peer x.x.x.x //指定对端地址x.x.x.x为对端×××公网地址
crypto map vpn_to_test 10 set transform-set my_trans //建立加密静态映射图,加密格式引用数据转换格式集my_trans(两边要一致)
第七步:将加密静态映射图应用于外网接口
crypto map vpn_to_test interface outside
第八步:建立IPSEC ×××隧道组
tunnel-group x.x.x.x type ipsec-l
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-vpn 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-vpn // 不走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 //配置组策略属性
vpn-filter value testipsec //设置访问控制
vpn-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 * //设置共享密钥
查看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协商参数不一致