第一步:在外部接口启用IKE协商
crypto ikev1 enable outside
第二步:配置ikev1协商 策略
Ikev1 策略两边要一致,可设置多个策略模板,只要其中一个和对方匹配即可
crypto ikev1 policy 5 //启用并创建一个ikev1策略,并指定优先级为5
authentication pre-share //配置认证方式为预共享密钥
encryption 3des //配置策略的加密算法,有3des、des、ase等
hash sha //配置策略的哈希算法,校验算法有sha、md5等
group 2 //配置Diffie-Hellman组,1为768位,2为1024位
lifetime 86400 //默认的有效时间
第三步:配置需要加密的数据流
10.30.0.0为本地内网地址,172.17.0.0为对方内网地址
access-list ipsec-vpn extended permit ip 10.30.0.0 255.255.0.0 172.17.0.0 255.255.0.0
第四步:设置到对方私网地址的路由
配置静态路由指向outside接口,x.x.x.x为ASA防火墙outside接口地址, 172.17.0.0为对方内网地址
route outside 172.17.0.0 255.255.0.0 x.x.x.x
第五步:配置ipsec的数据转换格式集
crypto ipsec ikev1 transform-set E7_AWS_trans(自定义名) esp-3des esp-sha-hmac
第六步:建立加密静态映射图
crypto map E7_to_AWS 10 match address ipsec-vpn //配置哪些数据流会启用IPSEC加密
crypto map E7_to_AWS 10 set peer x.x.x.x //指定对端地址,x.x.x.x为对端VPN公网地址
crypto map E7_to_AWS 10 set ikev1 transform-set E7_AWS_trans //建立加密静态映射图,加密格式引用数据转换格式集my_trans(两边要一致)
第七步:将加密静态映射图应用于外网接口
crypto map E7_to_AWS interface outside
第八步:建立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 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 //配置隧道分离,相当于推送一张路由表
第七步:设置VPN隧道组
tunnel-group ipsectest type remote-access //设置VPN隧道组类型
tunnel-group ipsectest general-attributes //设置VPN隧道组属性
address-pool testipsec //设置地址池
default-group-policy ipsectest //指定默认的组策略
tunnel-group ipsectest ipsec-attributes //设置VPN 远程登入(即使用隧道分离)的ipsec属性
pre-shared-key * //设置共享密钥
1.查看IPSEC VPN的相关信息基本命令
show crypto isakmp sa //查看IPSEC VPN 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 VPN 的建立,但是当一边到期后,另外一边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 *
因篇幅问题不能全部显示,请点此查看更多更全内容