原文作者: Mansur

原文链接: http://nbma.info/asa-vpn-policy-proc/

ASA收到VPN请求,由tunnel-group来识别VPN类型(L2L or 远程拨号 or SSLVPN),然后使用tunnel-group中的认证方法(LOCAL or Radius)进行认证,认证通过后经过以下5个关联属性叠加,得到用户的最终的策略

1.用户属性
2.用户属性中关联的group-policy
3.tunnel-group中关联的group-policy
4.系统默认的group-policy:DfltGrpPolicy
5.tunnel-group的属性

这5个策略优先级从高到低,存在重复项时,优先使用最先匹配到的策略。

tunnel-group

tunnel-group用于终结VPN连接。一个VPN请求到达VPN,ASA找到一个与之关联的tunnel-group,tunnel-group为每一个成员定义了VPN连接的脚本。

– L2L VPN

当一个L2L VPN抵达ASA,ASA通过这次请求源IP(对端加密点)来查询本地的tunnel-group,如果有一个有一个tunnel-group的名字等于该IP,那么就使用tunnel-group内的pre-shared-key对这次VPN进行认证。

1
2
tunnel-group 61.128.1.1 type ipsec-l2l
pre-shared-key IPSECKEY

– EZVPN

EZVPN的第一阶段认证group的名字必须能和tunnel-group名字一致

1
2
3
4
5
6
7
8
tunnel-group EZGROUP type remote-access
tunnel-group EZGROUP general-attributes
#就类似路由器在group里设置一样,地址池可以在这里敲。但是更推荐在group-policy里设置
address-pool EZPOOL
#默认是LOCAL认证
#authentication-server-group LOCAL
tunnel-group EZGROUP ipsec-attributes
ikev1 pre-shared-key EZVPNKEY

– SSL VPN

SSLVPN直接使用默认的DefaultWEBVPNGroup的tunnel-group
show run all tunnel-group可以看到该部分配置

另外还有两个默认的tunnel-group分别对应L2L和远程接入VPN:
DefaultL2LGroup适用于对端peer地址不固定的时候配置预共享密钥
DefaultRAGroup适用于拨号VPN(如L2TP over IPSec)


group-policy

可以在多个地方调用:

1
2
3
4
5
6
7
#在user属性里调用
username ASAuser attributes
vpn-group-policy user-group-policy

#在tunnel-group里调用
tunnel-group EZGROUP general-attributes
default-group-policy TUNNEL-GROUP-POLICY