FlexVPN介紹

前言

通過前幾期的文章,大家對企業(yè)網(wǎng)絡(luò)中通常使用的VPN技術(shù),有了一定的了解,在IPsec VPN結(jié)構(gòu)中,離不開密鑰交換協(xié)議-IKE,IKE是可在通信雙方進行IPSec的處理過程中,對雙方身份進行鑒別,同時還可以進行安全策略的協(xié)商,以及處理會話密鑰的交換。事實證明,現(xiàn)有的基于IKEv1的實現(xiàn)已經(jīng)成為整個IPSec系統(tǒng)的瓶頸,如何優(yōu)化IKE已經(jīng)成為業(yè)界在IPSec實施方案中的焦點,為此,2005年12月,推出了正式RFC文檔(RFC 5996).也就是IKEv2,來滿足對IKEv1的補充。

那這一切跟 FlexVPN有什么關(guān)系呢?

在Cisco 的體系中,將IKEv2統(tǒng)稱為“FlexVPN”,名字為思科私有,技術(shù)為共有標準。

Chapter - 1 FlexVPN介紹
  1. FlexVPN的特點
  • IKEv2是IKEv1的“升級版”,但是它并不向下兼容。也就是說在IKEv1和IKEv2同時存在的環(huán)境中,你必須要同時配置IKEv1和IKEv2;
  • IKEv2不占用IKEv1資源,也就是說它們可以同時運行在一臺設(shè)備上;
  • IKEv2支持EAP認證,而IKEv1則不支持;
  • IKEv2支持MOBIKE,而IKEv1則不支持;(MOBIKE允許IKEv2用于移動平臺,如手機等)
  • IKEv2已內(nèi)置了NAT穿越功能,而IKEv1則需通過擴展協(xié)議支持;
  • IKEv2可以檢測隧道存活狀態(tài),而IKEv1僅能使用DPD(Dead Peer Detection)。而DPD在IKEv2中已成為標準的內(nèi)建功能。但思科IOS系統(tǒng)默認該功能是禁用的,可在IKEv2的配置文件下配置;
  • IKEv2具有可靠性檢測,消息需被確認并排序。而在IKEv1中消息是沒有被確認的;
  • IKEv2通過反堵塞cookie,來實現(xiàn)反DOS攻擊。而IKEv1則不具備該特性;
  • IKEv2可以在一個策略中配置多套選擇器。因此,多個網(wǎng)絡(luò)可以在一個交換過程中進行協(xié)商;
  • IKEv2允許兩個加密引擎分別處理IPv4和IPv6流量;
  • IKEv2允許非對稱驗證方式,而IKEv1則只能對稱驗證;(即對等體間使用相同的認證方式)
  • IKEv2與IKEv1一樣,使用UDP-500端口,如需NAT,則起始端口號為UDP-4500。
  1. IKEv2介紹

采用IKEv2協(xié)商安全聯(lián)盟比IKEv1協(xié)商過程要簡化的多。要建立一對IPSec SA,IKEv1需要經(jīng)歷兩個階段:“主模式+快速模式”或者“野蠻模式+快速模式”,前者至少需要交換9條消息,后者也至少需要6條消息。而IKEv2正常情況使用2次交換共4條消息就可以完成一對IPSec SA的建立,如果要求建立的IPSec SA大于一對時,每一對IPSec SA只需額外增加1次創(chuàng)建子SA交換,也就是2條消息就可以完成。

IKEv2定義了三種交換:初始化交換(Initial Exchanges),創(chuàng)建子SA交換(Create_Child_SA Exchange)以及通知交換(Informational Exchange)。

初始交換:正常情況下,IKEv2通過初始交換就可以完成第一對IPSec SA的協(xié)商建立。IKEv2初始交換對應(yīng)IKEv1的第一階段,初始交換包含兩次交換四條消息,如下圖所示:

  • 消息①和②屬于第一次交換(稱為IKE_SA_INIT交換),以明文方式完成IKE SA的參數(shù)協(xié)商,包括協(xié)商加密和驗證算法,交換臨時隨機數(shù)和DH交換。IKE_SA_INIT交換后生成一個共享密鑰材料,通過這個共享密鑰材料可以衍生出IPSec SA的所有密鑰。
  • 消息③和④屬于第二次交換(稱為IKE_AUTH交換),以加密方式完成身份認證、對前兩條信息的認證和IPSec SA的參數(shù)協(xié)商。IKEv2支持RSA簽名認證、預(yù)共享密鑰認證以及擴展認證方法EAP(Extensible Authentication Protocol)。EAP認證是作為附加的IKE_AUTH交換在IKE中實現(xiàn)的,發(fā)起者通過在消息3中省去認證載荷來表明需要使用EAP認證(此認證方式在前期802.1x準入認證章節(jié)有介紹)。

創(chuàng)建子SA交換
當一個IKE SA需要創(chuàng)建多對IPSec SA時,需要使用創(chuàng)建子SA交換來協(xié)商多于一對的IPSec SA。另外,創(chuàng)建子SA交換還可以用于IKE SA的重協(xié)商。

創(chuàng)建子SA交換包含一個交換兩條消息,對應(yīng)IKEv1協(xié)商階段2,交換的發(fā)起者可以是初始交換的協(xié)商發(fā)起方,也可以是初始交換的協(xié)商響應(yīng)方。創(chuàng)建子SA交換必須在初始交換完成后進行,交換消息由初始交換協(xié)商的密鑰進行保護。

類似于IKEv1,如果啟用PFS,創(chuàng)建子SA交換需要額外進行一次DH交換,生成新的密鑰材料。生成密鑰材料后,子SA的所有密鑰都從這個密鑰材料衍生出來。

通知交換
運行IKE協(xié)商的兩端有時會傳遞一些控制信息,例如錯誤信息或者通告信息,這些信息在IKEv2中是通過通知交換完成的,如下圖所示:

通知交換必須在IKE SA保護下進行,也就是說通知交換只能發(fā)生在初始交換之后。控制信息可能是IKE SA的,那么通知交換必須由該IKE SA來保護進行;也可能是某子SA的,那么該通知交換必須由生成該子SA的IKE SA來保護進行。

Chapter - 2 FlexVPN實驗
  1. 實驗拓撲
  1. 實驗需求
    部署IKEv2站點到站點VPN,保護實際站點Site_1內(nèi)網(wǎng)訪問Site_2內(nèi)網(wǎng)的流量。

  2. 實驗說明

實驗準備:

  • 本實驗全部在EVE模擬器內(nèi)部完成。
  • 全部設(shè)備使用路由器模擬。

IP地址規(guī)劃

設(shè)備 接口 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地址規(guī)劃,為設(shè)備配置IP地址(此處省略)
    步驟2:解決底層路由連通性
公司總部路由器:
ip route 2.2.2.0 255.255.255.0 10.1.1.10 //去對端私網(wǎng)的路由

Site_1路由器:
ip route 1.1.1.0 255.255.255.0 10.1.1.1 //本地私網(wǎng)的路由
ip route 2.2.2.0 255.255.255.0 20.1.1.100 //對端私網(wǎng)路由
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 //去對端私網(wǎng)的路由

Site_2路由器:
ip route 1.1.1.0 255.255.255.0 30.1.1.100 //去對端私網(wǎng)的路由
ip route 2.2.2.0 255.255.255.0 40.1.1.1 //本端私網(wǎng)的路由
ip route 20.1.1.0 255.255.255.0 30.1.1.100 //對端出口路由的路由

步驟3:Site_1設(shè)備階段1配置

* 創(chuàng)建一個IKEv2安全提議
crypto ikev2 proposal Site-1 
 encryption 3des
 integrity sha1
 group 2
 
*  將安全提議調(diào)用到Policy下
 crypto ikev2 policy Policy
 proposal Site-1
 
* 使用預(yù)先共享密鑰認證,需要配置域共享密鑰
 crypto ikev2 keyring PSK-key 
 peer Site-2
  address 30.1.1.10
  pre-shared-key cisco
  
* 創(chuàng)建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設(shè)備的階段2配置

* 通過ACL抓取感興趣流量
ip access-list extended vpn
 permit ip host 1.1.1.1 host 2.2.2.2
 
* 配置轉(zhuǎn)換集策略,用于保護實際感興趣流。
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

* 接口應(yīng)用。
interface Ethernet0/1
 crypto map cisco

步驟5:Site_2設(shè)備階段1配置

* 創(chuàng)建一個IKEv2安全提議
crypto ikev2 proposal Site-2 
 encryption 3des
 integrity sha1
 group 2

* 將安全提議調(diào)用到Policy
crypto ikev2 policy Policy 
 proposal Site-2

* 使用預(yù)共享密鑰認證,配置認證密鑰。
crypto ikev2 keyring PSK-key
 peer Site-1
  address 20.1.1.10
  pre-shared-key cisco
  
* 創(chuàng)建IKEv2_Profile,指定源目加解密點IP地址,認證方式,調(diào)用本地認證密鑰
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設(shè)備第二階段配置

* 通過ACL抓取感興趣流
ip access-list extended vpn
 permit ip host 2.2.2.2 host 1.1.1.1
 
* 配置轉(zhuǎn)換集策略,用于保護實際感興趣流。
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
 
* 接口應(yīng)用。
interface Ethernet0/1
 crypto map cisco

步驟6:測試

* 測試公司總部內(nèi)網(wǎng)到分公司的內(nèi)網(wǎng)流量連通性。

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
 
*  查看安全關(guān)聯(lián)
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 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • ipsec學(xué)習(xí) 本文信息大都摘自http://blog.csdn.net/tantexian/article/de...
    范小閆閱讀 2,753評論 0 7
  • 歷劫歸來,怎會仍是少年 --- 蕭元啟 他是一個壞人,我氣但不恨。 蕭元啟,他是個有血性的人。他第一次殺人,他說,...
    Hey客棧閱讀 366評論 0 1
  • maven 引入插件依賴即可,spring打包jar時會自動處理(如果沒有自動下載spring-boot-thin...
    rainmanhhh閱讀 4,315評論 0 0
  • 最新cocoapods詳細安裝 電腦環(huán)境 當前電腦版本: macOS High Sierra 10.13.2 xc...
    李陽_98da閱讀 215評論 0 1
  • 堅硬的石頭, 如同你寬厚的身軀。 一步步, 隨著你滴著汗水的步伐, 我們的臺階, 到了。 但是, 隨著時間的流逝,...
    最愛金錢的丸子閱讀 116評論 1 1