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 
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,290评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,399评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,021评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,034评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,412评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,651评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,902评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,605评论 0 199
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,339评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,586评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,076评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,400评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,060评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,083评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,851评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,685评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,595评论 2 270

推荐阅读更多精彩内容

  • ipsec学习 本文信息大都摘自http://blog.csdn.net/tantexian/article/de...
    范小闫阅读 2,684评论 0 7
  • 历劫归来,怎会仍是少年 --- 萧元启 他是一个坏人,我气但不恨。 萧元启,他是个有血性的人。他第一次杀人,他说,...
    Hey客栈阅读 306评论 0 1
  • maven 引入插件依赖即可,spring打包jar时会自动处理(如果没有自动下载spring-boot-thin...
    rainmanhhh阅读 4,173评论 0 0
  • 最新cocoapods详细安装 电脑环境 当前电脑版本: macOS High Sierra 10.13.2 xc...
    李阳_98da阅读 211评论 0 1
  • 坚硬的石头, 如同你宽厚的身躯。 一步步, 随着你滴着汗水的步伐, 我们的台阶, 到了。 但是, 随着时间的流逝,...
    最爱金钱的丸子阅读 93评论 1 1