一.IPSEC VPN (site to site)
第一步:在外部接口启用IKE协商
crypto isakmp enable outside
第二步:配置isakmp协商策略
isakmp 策略两边要一致,可设置多个策略模板,只要其中一个和对方匹配即可
isakmp policy 5 authenticationpre-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-vpn extended permit ip192.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.0x.x.x.x
第五步:配置ipsec的数据转换格式集
crypto ipsec transform-set my_trans esp-desesp-none
第六步:建立加密静态映射图
crypto map vpn_to_test 10 match addressipsec-vpn //配置哪些数据流会启用IPSEC加密
crypto map vpn_to_test 10 set peerx.x.x.x //指定对端地址x.x.x.x为对端VPN公网地址
crypto map vpn_to_test 10 set transform-setmy_trans //建立加密静态映射图,加密格式引用数据转换格式集my_trans(两边要一致)
第七步:将加密静态映射图应用于外网接口
crypto map vpn_to_test interfaceoutside
第八步:建立IPSEC VPN隧道组
tunnel-group x.x.x.x type ipsec-l2l //建立IPSEC VPN隧道组类型
tunnel-group x.x.x.x ipsec-attributes //配置IPSEC VPN隧道组参数
pre-shared-key * //配置预共享密钥,两边要一致,否则第一阶段协商不起来
二.IPSEC VPN (client to site)
第一步:配置地址池
ip local pool testipsec172.19.7.1-172.19.7.127 mask 255.255.255.128 //ipsec拨入后的地址池
第二步:配置隧道分离ACL
access-list split-ssl extended permit ip192.168.0.0 255.255.0.0 any
第三步:配置访问控制ACL
access-list testipsec extended permit ipany 192.168.0.0 255.255.0.0
第四步:配置不走NAT的ACL
access-list nonat-vpn extended permit ip192.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 authenticationpre-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 //配置隧道分离,相当于推送一张路由表
第七步:设置VPN隧道组
tunnel-group ipsectest typeremote-access //设置VPN隧道组类型
tunnel-group ipsectestgeneral-attributes //设置VPN隧道组属性
address-pool testipsec //设置地址池
default-group-policy ipsectest //指定默认的组策略
tunnel-group ipsectestipsec-attributes //设置VPN 远程登入(即使用隧道分离)的ipsec属性
pre-shared-key * //设置共享密钥