8.5配置第一个AnyConnect IKEv2 VPN解决方案
CCNP安全VPN 642-648认证考试指南(第2版)
建立IKEv2 AnyConnect连接的过程类似于建立SSL连接的过程,我们需要下面的步骤来成功地建立一个IKEv2的连接。
关键步骤1配置ASA接口的IP地址。
步骤2输入主机名和域名。
步骤3向CA登记并成为PKI的成员(只有基于证书的验证才需要这样做)
步骤4为IKEv2和AnyConnect客户端的访问启动相关的接口。在IKEv2和AnyConnect客户端的访问能够进行之前,你需要指定在哪个接口上启用服务。
步骤5建立一个新的IKEv2策略并且将它分配给ASA的外部接口。这个步骤只有在使用CLI配置ASA时才需要去做,当使用ASDM配置时,会有一个系统默认的策略被建立并自动地应用于外部接口(步骤4中启动IKEv2的接口)。
步骤6建立一个连接配置文件。在这步中,建立一个新的连接配置文件并为IKEv2连接启动这个连接配置文件。
本小节只讨论步骤4、步骤5和步骤6。参考之前讨论SSL连接的小节来了解如何完成步骤1、步骤2和步骤3(IP地址、DNS、PKI等)。回忆一下当使用IKEv2连接时,它不支持IPv6的访问。
8.5.1为IKEv2和AnyConnect访问启动相关的接口
如果使用ASDM配置设备,进入ASA的Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Connection Profiles开始配置过程。如图8-12所示,当使用ASDM配置ASA时,你必须在接口上启动KEv2的访问。当你选择KEv2时,Enable Client Services复选框会被自动地勾选,它允许配置文件下载、AnyConnect客户端软件的更新和使用SCEP申请证书。
8.5.2建立IKEv2策略
前面提到过,这个步骤是可选的,只有你在CLI下配置ASA时才需要执行它。这是因为当使用ASDM配置ASA时,在前面的步骤中启动IKEv2的访问后,ASDM自动地建立一个动态的系统默认的crypto map并将它分配给启动了IKEv2访问的同一个接口。
可以在ASA上建立两种类型的crypto map:静态和动态。静态的crypto map通常用于远端的IP地址是已知的情况下(也就是与ASA连接的人或者设备)。因为静态的起始点和远端终结点都是“已知”的,因此静态的crypto map含有大量的用于协商IKE/IPSec隧道的参数。
动态的map通常用于IP地址或者远端未知的情况下(例如,ASA还没有给一个远端的AnyConnect或者IPSec客户端分配一个IP地址,或者一个远端的路由器或者ASA通过动态主机配置协议[DHCP]得到一个动态的IP地址)。动态的crypto map只含有IKEv1的传输集或者IKEv2的建议,这些传输集或者IKEv2的建议被用来协商VPN的参数以建立一个成功的连接。IKEv2建议和IKEv1传输集(你在讨论IKEv1连接的章节中可以看到更多有关它的信息)含有一个被ASA支持的加密协议的列表,使用它可以保护ASA和远端站点之间的数据。
在连接尝试期间,ASA给远端客户发送完整的建议列表。客户端检查列表,并将这个列表中的协议和自己已安装的协议进行比较,接着使用两者中较高的协议。例如,如果ASA发送给远端的建议中包含AES256、AES192、3DES和DES协议,而远端只支持AES192、3DES和DES协议,则这两者在协商后最终使用AES192.
你可以从CLI配置一个动态的crypto map。首先,使用crypto dynamicmap name priority_set ikev2 ipsec-proposal _protocols命令建立一个crypto map来发送IKEv2建议。接着,使用命令crypto map static crypto map name priority_ipsec-isakmp dynamic _dynamic map name命令将这个新的动态crypto map分配给一个静态crypto map,因为只有静态crypto map才能应用到ASA的接口上。这个静态crypto map可以是一个新的静态crypto map,也可以是一个现有的含有其他策略的静态crypto map(例如,站点到站点VPN连接),这也是为什么在这个命令中包含priority的数值。
最后,将静态crypto map(如果它是新建立的crypto map)应用于IKEv2连接将要连入的接口。为了完成这个任务,如例8-11所示,输入crypto map static map name_interface _interface命令。
例8-11启动进入的IKEv2和AnyConnect连接
8-11
命令crypto dynamic-map name priority_set ikev2 ipsec-proposal _proposals除了可以接受你已经建立的一些定制建议外,还可以接受下面任何一个默认的IPSec建议以将其发送给远端设备:
AES256;
AES192;
AES;
3DES;
DES。
需要注意的是,可以在这个命令中配置priority的数值。这个数值可以是0~65535的任意一个数值,0是最低的数值,但也是最高的优先级,这个优先级的设置取决于同一个crypto map中的其他的策略。例如,你可能决定将含有AES256的建议先发送给连接的客户端,接着发送含有AES192的建议。在这种情况下,这个crypto map应含有两个条目,就像这样:
当在同一个crypto map中配置多个建议时,要保持你所输入的每一个命令中的名字都是相同的,这一点非常重要。
使用优先级的同一个规则可以应用于静态和动态的crypto map,正如在之前静态crypto map的配置中所看到的那样,动态crypto map需要与静态crypto map绑定。不过,因为静态crypto map通常含有特定的远程端点的条目信息并且它使用特定的建议和策略,因此通常给动态crypto map分配一个较高的优先级65535并将其放在静态crypto map列表的末尾。在静态crypto map中,给已知的会话分配一个较低的优先级,而给动态crypto map分配一个较高的优先级,这样任何一个接入的连接如果没有匹配已配置的建议,则最终匹配这个动态crypto map,它充当了一个包容器。
8.5.3建立连接配置文件
一旦在ASA上启动了IKEv2和允许AnyConnect的连接后,你可以建立一个连接配置文件以使远程用户使用所配置的协议连接到网络中。
使用ASDM配置时,在窗口的AnyConnect Connection Profiles部分单击Add,打开Add AnyConnect Connection Profile窗口,如图8-13所示。
在这个窗口中,输入名字AnyConnectIKEv2,这样远程用户可以很容易地识别出连接配置文件。我们也为连接配置文件输入了下面这些配置参数。
Authentication Method:LOCAL。
Client Address Pool:本例选择了一个预定义的名字为IKEPool的IP地址池,使用它为AnyConnect的用户分配地址。
Group Policy:本例中,默认的组策略对象(DfltGrpPolicy)用于连接配置文件。不过,需要在DfltGrpPolicy对象中添加一个定制的客户端配置文件对象以实现客户端的IKEv2验证,后面你会看到它。
Enable IPsec (IKEv2) Client Protocol:勾选。
DNS Servers and Domain Name:输入了两个内部的DNS服务器(172.30.255.1和172.30.255.2),包括已在DNS服务器上将域名VPN.LAB正确地解析为名字到IP地址的映射,这样AnyConnect用户通过域名可以访问所需的内部或者外部资源。
在Edit Connection Profile窗口的Advanced > Group URL/Group Alias部分也输入了组的URL和连接的别名。它允许AnyConnect客户端的用户从下拉列表中选择一个新的连接配置文件或者或者没有使用AnyConnect客户端的用户直接在浏览器中输入一个URL来选择一个连接配置文件(参考8.4节来进一步地了解组的URL和别名的配置信息)。
打开Add AnyConnect Client Profile窗口后,为客户端配置文件输入一个名字(例如,IKEv2_AnyConnect_Profile),因为你正在为核心的AnyConnect客户端软件建立一个配置文件(不是可选的模块NAM、Telemetry等),保持默认的Profile Usage的值为VPN,(可选的)使用Profile Location字段来指明在什么位置保存配置文件XML(除非需要在ASA的一个特定位置保存客户端配置文件,否则推荐保持默认数值)。
最终,本例选择了默认的组策略对象(DfltGrpPolicy)(前面已经选择过它)。当使用连接配置文件的用户连接时,这个客户端的配置文件可以被下载下来。
注意:本例中,让IKEv2访问使用默认组策略不会产生任何安全风险,回忆一下,如果一个连接配置文件还没有应用组策略的话,默认情况下,这个VPN会话就会使用默认的组策略。在生产网络中,推荐使用定制的组策略对象,这是因为它可以满足网络的特定的安全需求。你可以阅读第9章来进一步地了解组策略的其他用法。
当输入完所有必要的配置信息后,单击OK来建立一个新的配置文件。现在你可以从AnyConnect Client Profile窗口的列表中选择配置文件并单击Edit来输入IKEv2的特定配置。
使用AnyConnect Client Profile Editor,你需要指定ASA使用IKEv2。进入VPN > Server List并单击Add打开Server List Entry窗口,如图8-15所示。
在窗口的Primary Protocol部分,将下拉列表中的协议数值从SSL修改为IPsec。你可以选择地启动IKE-RSA、EAP-MD5、EAPMSCHAPV2或者EAP-GTC。除此之外,还可以通过勾选Standard Authentication Only复选框并输入一个IKE Identity,使得客户端只能被IOS设备验证。默认情况下,ASA使用一个私有的EAP方法(只用于AnyConnect客户端)验证客户端。启动标准验证方法会限制客户端的动态下载特性并使得ASA不能配置下面这些设置,如会话超时、空闲超时、分离隧道、分离的DNS和微软的Internet浏览器(MSIE)代理配置。只有基于标准的验证和标准的EAP方法一起使用时才可以配置IKE Identity。你可以在Server List Entry窗口中单击OK来完成这个配置并再次在AnyConnect Client Profile Editor中保存配置文件。