FlexVPN介绍

前言

通过前几期的文章,大家对企业网络中通常使用的VPN技术,有了一定的了解,在IPsec VPN结构中,离不开密钥交换协议-IKE,IKE是可在通信双方进行IPSec的处理过程中,对双方身份进行鉴别,同时还可以进行安全策略的协商,以及处理会话密钥的交换。事实证明,现有的基于IKEv1的实现已经成为整个IPSec系统的瓶颈,如何优化IKE已经成为业界在IPSec实施方案中的焦点,为此,2005年12月,推出了正式RFC文档(RFC 5996).也就是IKEv2,来满足对IKEv1的补充。

那这一切跟 FlexVPN有什么关系呢?

在Cisco 的体系中,将IKEv2统称为“FlexVPN”,名字为思科私有,技术为共有标准。

Chapter - 1 FlexVPN介绍
  1. FlexVPN的特点
  • IKEv2是IKEv1的“升级版”,但是它并不向下兼容。也就是说在IKEv1和IKEv2同时存在的环境中,你必须要同时配置IKEv1和IKEv2;
  • IKEv2不占用IKEv1资源,也就是说它们可以同时运行在一台设备上;
  • IKEv2支持EAP认证,而IKEv1则不支持;
  • IKEv2支持MOBIKE,而IKEv1则不支持;(MOBIKE允许IKEv2用于移动平台,如手机等)
  • IKEv2已内置了NAT穿越功能,而IKEv1则需通过扩展协议支持;
  • IKEv2可以检测隧道存活状态,而IKEv1仅能使用DPD(Dead Peer Detection)。而DPD在IKEv2中已成为标准的内建功能。但思科IOS系统默认该功能是禁用的,可在IKEv2的配置文件下配置;
  • IKEv2具有可靠性检测,消息需被确认并排序。而在IKEv1中消息是没有被确认的;
  • IKEv2通过反堵塞cookie,来实现反DOS攻击。而IKEv1则不具备该特性;
  • IKEv2可以在一个策略中配置多套选择器。因此,多个网络可以在一个交换过程中进行协商;
  • IKEv2允许两个加密引擎分别处理IPv4和IPv6流量;
  • IKEv2允许非对称验证方式,而IKEv1则只能对称验证;(即对等体间使用相同的认证方式)
  • IKEv2与IKEv1一样,使用UDP-500端口,如需NAT,则起始端口号为UDP-4500。
  1. IKEv2介绍

采用IKEv2协商安全联盟比IKEv1协商过程要简化的多。要建立一对IPSec SA,IKEv1需要经历两个阶段:“主模式+快速模式”或者“野蛮模式+快速模式”,前者至少需要交换9条消息,后者也至少需要6条消息。而IKEv2正常情况使用2次交换共4条消息就可以完成一对IPSec SA的建立,如果要求建立的IPSec SA大于一对时,每一对IPSec SA只需额外增加1次创建子SA交换,也就是2条消息就可以完成。

IKEv2定义了三种交换:初始化交换(Initial Exchanges),创建子SA交换(Create_Child_SA Exchange)以及通知交换(Informational Exchange)。

初始交换:正常情况下,IKEv2通过初始交换就可以完成第一对IPSec SA的协商建立。IKEv2初始交换对应IKEv1的第一阶段,初始交换包含两次交换四条消息,如下图所示:

  • 消息①和②属于第一次交换(称为IKE_SA_INIT交换),以明文方式完成IKE SA的参数协商,包括协商加密和验证算法,交换临时随机数和DH交换。IKE_SA_INIT交换后生成一个共享密钥材料,通过这个共享密钥材料可以衍生出IPSec SA的所有密钥。
  • 消息③和④属于第二次交换(称为IKE_AUTH交换),以加密方式完成身份认证、对前两条信息的认证和IPSec SA的参数协商。IKEv2支持RSA签名认证、预共享密钥认证以及扩展认证方法EAP(Extensible Authentication Protocol)。EAP认证是作为附加的IKE_AUTH交换在IKE中实现的,发起者通过在消息3中省去认证载荷来表明需要使用EAP认证(此认证方式在前期802.1x准入认证章节有介绍)。

创建子SA交换
当一个IKE SA需要创建多对IPSec SA时,需要使用创建子SA交换来协商多于一对的IPSec SA。另外,创建子SA交换还可以用于IKE SA的重协商。

创建子SA交换包含一个交换两条消息,对应IKEv1协商阶段2,交换的发起者可以是初始交换的协商发起方,也可以是初始交换的协商响应方。创建子SA交换必须在初始交换完成后进行,交换消息由初始交换协商的密钥进行保护。

类似于IKEv1,如果启用PFS,创建子SA交换需要额外进行一次DH交换,生成新的密钥材料。生成密钥材料后,子SA的所有密钥都从这个密钥材料衍生出来。

通知交换
运行IKE协商的两端有时会传递一些控制信息,例如错误信息或者通告信息,这些信息在IKEv2中是通过通知交换完成的,如下图所示:

通知交换必须在IKE SA保护下进行,也就是说通知交换只能发生在初始交换之后。控制信息可能是IKE SA的,那么通知交换必须由该IKE SA来保护进行;也可能是某子SA的,那么该通知交换必须由生成该子SA的IKE SA来保护进行。

Chapter - 2 FlexVPN实验
  1. 实验拓扑
  1. 实验需求
    部署IKEv2站点到站点VPN,保护实际站点Site_1内网访问Site_2内网的流量。

  2. 实验说明

实验准备:

  • 本实验全部在EVE模拟器内部完成。
  • 全部设备使用路由器模拟。

IP地址规划

设备 接口 IP地址
公司总部 E0/0 10.1.1.1/24
公司总部 Loopback 0 1.1.1.1/24
公司分部 E0/0 40.1.1.1/24
公司分部 Loopback 0 2.2.2.2/24
Site_1 E0/0 10.1.1.10/24
Site_1 E0/1 20.1.1.10/24
Site_2 E0/0 40.1.1.10/24
Site_2 E0/1 30.1.1.10/24
Internet E0/0 20.1.1.100/24
Internet E0/1 30.1.1.100/24
  1. 实验步骤
    步骤1:按照IP地址规划,为设备配置IP地址(此处省略)
    步骤2:解决底层路由连通性
公司总部路由器:
ip route 2.2.2.0 255.255.255.0 10.1.1.10 //去对端私网的路由

Site_1路由器:
ip route 1.1.1.0 255.255.255.0 10.1.1.1 //本地私网的路由
ip route 2.2.2.0 255.255.255.0 20.1.1.100 //对端私网路由
ip route 30.1.1.0 255.255.255.0 20.1.1.100 //对端出口路由器路由

分公司路由器:
ip route 1.1.1.0 255.255.255.0 40.1.1.10 //去对端私网的路由

Site_2路由器:
ip route 1.1.1.0 255.255.255.0 30.1.1.100 //去对端私网的路由
ip route 2.2.2.0 255.255.255.0 40.1.1.1 //本端私网的路由
ip route 20.1.1.0 255.255.255.0 30.1.1.100 //对端出口路由的路由

步骤3:Site_1设备阶段1配置

* 创建一个IKEv2安全提议
crypto ikev2 proposal Site-1 
 encryption 3des
 integrity sha1
 group 2
 
*  将安全提议调用到Policy下
 crypto ikev2 policy Policy
 proposal Site-1
 
* 使用预先共享密钥认证,需要配置域共享密钥
 crypto ikev2 keyring PSK-key 
 peer Site-2
  address 30.1.1.10
  pre-shared-key cisco
  
* 创建IKEv2_Profile,制定源目加密点IP,认证方式  
crypto ikev2 profile pro 
 match identity remote address 30.1.1.10 255.255.255.255 
 identity local address 20.1.1.10
 authentication remote pre-share
 authentication local pre-share
 keyring local PSK-key

步骤4:Site_1设备的阶段2配置

* 通过ACL抓取感兴趣流量
ip access-list extended vpn
 permit ip host 1.1.1.1 host 2.2.2.2
 
* 配置转换集策略,用于保护实际感兴趣流。
crypto ipsec transform-set Trans esp-3des esp-md5-hmac 
 mode tunnel

* 配置Crypto-map,汇总所配置策略。
crypto map cisco 10 ipsec-isakmp 
 set peer 30.1.1.10
 set transform-set Trans 
 set ikev2-profile pro
 match address vpn

* 接口应用。
interface Ethernet0/1
 crypto map cisco

步骤5:Site_2设备阶段1配置

* 创建一个IKEv2安全提议
crypto ikev2 proposal Site-2 
 encryption 3des
 integrity sha1
 group 2

* 将安全提议调用到Policy
crypto ikev2 policy Policy 
 proposal Site-2

* 使用预共享密钥认证,配置认证密钥。
crypto ikev2 keyring PSK-key
 peer Site-1
  address 20.1.1.10
  pre-shared-key cisco
  
* 创建IKEv2_Profile,指定源目加解密点IP地址,认证方式,调用本地认证密钥
crypto ikev2 profile pro
 match identity remote address 20.1.1.10 255.255.255.255 
 identity local address 30.1.1.10
 authentication remote pre-share
 authentication local pre-share
 keyring local PSK-key

步骤6:Site_2设备第二阶段配置

* 通过ACL抓取感兴趣流
ip access-list extended vpn
 permit ip host 2.2.2.2 host 1.1.1.1
 
* 配置转换集策略,用于保护实际感兴趣流。
crypto ipsec transform-set Trans esp-3des esp-md5-hmac 
 mode tunnel
 
* 配置Crypto-map,汇总所配置策略。
crypto map cisco 10 ipsec-isakmp 
 set peer 20.1.1.10
 set transform-set Trans 
 set ikev2-profile pro
 match address vpn
 
* 接口应用。
interface Ethernet0/1
 crypto map cisco

步骤6:测试

* 测试公司总部内网到分公司的内网流量连通性。

R1#ping 2.2.2.2 source loopback 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1 
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 2/2/6 ms

* 查看加解密包
Site_1#show crypto engine connections active 
Crypto Engine Connections

   ID  Type    Algorithm           Encrypt  Decrypt LastSeqN IP-Address
    1  IPsec   3DES+MD5                 19        0        0 20.1.1.10
    2  IPsec   3DES+MD5                  0       19       19 20.1.1.10
 1001  IKEv2   SHA+3DES                  0        0        0 20.1.1.10
 
*  查看安全关联
Site_1#show crypto ikev2 sa 
 IPv4 Crypto IKEv2  SA 

Tunnel-id Local                 Remote                fvrf/ivrf            Status 
1         20.1.1.10/500         30.1.1.10/500         none/none            READY  
      Encr: 3DES, PRF: SHA1, Hash: SHA96, DH Grp:2, Auth sign: PSK, Auth verify: PSK
      Life/Active Time: 86400/3092 sec

 IPv6 Crypto IKEv2  SA 

你可能感兴趣的:(FlexVPN介绍)