• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

12-安全配置指導

目錄

12-IPsec配置

本章節下載 12-IPsec配置  (1.84 MB)

12-IPsec配置

目 

1 IPsec

1.1 IPsec簡介

1.1.1 IPsec協議框架

1.1.2 IPsec提供的安全服務

1.1.3 IPsec的優點

1.1.4 安全協議

1.1.5 封裝模式

1.1.6 安全聯盟

1.1.7 認證與加密

1.1.8 IPsec隧道保護的對象

1.1.9 IPsec隧道保護匹配ACL的報文

1.1.10 IPsec隧道保護隧道接口上的報文

1.1.11 IPsec隧道保護IPv6路由協議報文

1.1.12 IPsec保護SDWAN報文

1.1.13 IPsec安全策略和IPsec安全框架

1.1.14 IPsec反向路由注入功能

1.1.15 協議規範

1.2 IPsec與軟件版本適配關係

1.3 FIPS相關說明

1.4 加密版本說明

1.5 IPsec配置限製和指導

1.6 配置IPsec隧道保護匹配ACL的報文

1.6.1 配置任務簡介

1.6.2 配置ACL

1.6.3 配置IPsec安全提議

1.6.4 配置手工方式的IPsec安全策略

1.6.5 配置IKE協商方式的IPsec安全策略

1.6.6 在接口上應用IPsec安全策略

1.6.7 配置解封裝後IPsec報文的ACL檢查功能

1.6.8 配置IPsec流量不進行NAT轉換功能

1.6.9 配置IPsec抗重放功能

1.6.10 配置共享源接口IPsec安全策略

1.6.11 配置QoS預分類功能

1.6.12 配置IPsec反向路由注入功能

1.6.13 配置IPsec掩碼過濾功能

1.6.14 配置IPsec流量重疊檢測功能

1.7 配置IPsec隧道保護IPv6路由協議

1.7.1 配置任務簡介

1.7.2 配置手工方式的IPsec安全框架

1.7.3 在IPv6路由協議上應用IPsec安全框架

1.8 配置IPsec隧道保護隧道接口上的報文

1.8.1 配置任務簡介

1.8.2 配置IKE協商方式的IPsec安全框架

1.8.3 在隧道接口上應用IPsec安全框架

1.9 配置IPsec保護SDWAN隧道接口上的報文

1.9.1 配置任務簡介

1.9.2 配置SDWAN方式的IPsec安全框架

1.9.3 在SDWAN隧道接口上應用IPsec安全框架

1.10 配置IPsec基於時間的抗重放窗口寬度

1.11 配置IPsec抗重放窗口和序號的同步功能

1.12 配置全局IPsec SA生存時間和空閑超時功能

1.13 配置IPsec分片功能

1.14 設置IPsec隧道模式下封裝後外層IP頭的DF位

1.15 配置本端允許建立IPsec隧道的最大數

1.15.2 配置本端僅作為協商IPsec SA的響應方功能

1.16 配置SDWAN模式的IPsec隧道的報文統計功能

1.17 配置IPsec報文日誌信息記錄功能

1.18 配置IPsec協商事件日誌功能

1.19 配置IPsec告警功能

1.20 開啟IPsec P2MP隧道表項事件日誌功能

1.21 IPsec顯示和維護

1.22 IPsec典型配置舉例

1.22.1 采用手工方式建立保護IPv4報文的IPsec隧道

1.22.2 采用IKE方式建立保護IPv4報文的IPsec隧道

1.22.3 采用IKE方式建立保護IPv6報文的IPsec隧道

1.22.4 配置IPsec保護RIPng報文

1.22.5 配置IPsec反向路由注入

1.22.6 基於IPsec隧道接口建立保護IPv4報文的IPsec隧道

1.22.7 基於IPsec P2MP隧道接口建立保護IPv4報文的IPsec隧道

2 IKE

2.1 IKE簡介

2.1.1 IKE的優點

2.1.2 IPsec與IKE的關係

2.1.3 IKE的協商過程

2.1.4 IKE的安全機製

2.1.5 協議規範

2.2 FIPS相關說明

2.3 IKE配置任務簡介

2.4 IKE配置準備

2.5 配置IKE profile

2.5.1 創建IKE profile

2.5.2 配置匹配對端身份的規則

2.5.3 配置keychain或者PKI域

2.5.4 配置IKE第一階段的協商模式

2.5.5 配置IKE profile引用的IKE提議

2.5.6 配置本端身份信息

2.5.7 配置內部MPLS L3VPN實例

2.5.8 配置IKE profile的可選功能

2.6 配置IKE提議

2.7 配置IKE keychain

2.8 配置本端身份信息

2.9 配置IKE Keepalive功能

2.10 配置IKE NAT Keepalive功能

2.11 配置全局IKE DPD功能

2.12 配置針對無效IPsec SPI的IKE SA恢複功能

2.13 配置對IKE SA數目的限製

2.14 配置為客戶端分配IP地址的IKE本地地址池

2.15 配置HA中主、從管理設備可以使用的IKE地址池範圍

2.16 配置IKE協商的兼容性

2.16.1 配置IKE協商使用sm4-cbc算法的兼容性

2.16.2 配置IKE國密主模式協商時使用的SM4算法版本

2.16.3 配置IKE國密主模式協商時使用的IKE協議版本號

2.16.4 配置對端證書序列號

2.17 配置IKE告警和日誌功能

2.17.1 配置IKE告警功能

2.17.2 配置IKE協商事件日誌功能

2.18 IKE顯示和維護

2.19 IKE典型配置舉例

2.19.1 IKE主模式及預共享密鑰認證配置舉例

2.19.2 IKE野蠻模式及RSA數字簽名認證配置舉例

2.19.3 IKE野蠻模式及NAT穿越配置舉例

2.19.4 IKE支持遠程擴展認證配置舉例

2.19.5 IKE支持本地擴展認證及地址授權配置舉例

2.19.6 IKE支持發起方擴展認證配置舉例

2.19.7 IKE國密主模式及SM2-DE數字信封認證配置舉例

2.20 常見錯誤配置舉例

2.20.1 提議不匹配導致IKE SA協商失敗

2.20.2 未正確引用IKE提議或IKE keychain導致IKE SA協商失敗

2.20.3 提議不匹配導致IPsec SA協商失敗

2.20.4 身份信息無效導致IPsec SA協商失敗

3 IKEv2

3.1 IKEv2簡介

3.1.1 IKEv2的協商過程

3.1.2 IKEv2引入的新特性

3.1.3 協議規範

3.2 IKEv2配置任務簡介

3.3 IKEv2配置準備

3.4 配置IKEv2 profile

3.4.1 創建IKEv2 profile

3.4.2 指定IKEv2協商時本端和對端采用的身份認證方式

3.4.3 配置Keychain或者PKI域

3.4.4 配置本端身份信息

3.4.5 配置匹配對端身份的規則

3.4.6 配置IKEv2 profile所屬的VPN實例

3.4.7 配置內部VPN實例

3.4.8 配置IKEv2 profile可選功能

3.5 配置IKEv2安全策略

3.6 配置IKEv2安全提議

3.7 配置IKEv2 keychain

3.8 配置IKEv2全局參數

3.8.1 配置IKEv2 cookie-challenge功能

3.8.2 配置全局IKEv2 DPD探測功能

3.8.3 配置IKEv2 NAT Keepalive功能

3.8.4 配置為對端分配IP地址的IKEv2本地地址池

3.8.5 配置對IKEv2 SA數目的限製

3.9 IKEv2顯示和維護

3.10 IKEv2典型配置舉例

3.10.1 IKEv2預共享密鑰認證配置舉例

3.10.2 IKEv2 RSA數字簽名認證配置舉例

3.10.3 IKEv2 NAT穿越配置舉例

3.11 常見錯誤配置舉例

3.11.1 IKEv2提議不匹配導致IKEv2 SA協商失敗

3.11.2 IPsec提議不匹配導致IPsec SA協商失敗

3.11.3 無法建立安全隧道

 


1 IPsec

1.1  IPsec簡介

IPsec(IP Security,IP安全)是IETF製定的三層隧道加密協議,它為互聯網上傳輸的數據提供了高質量的、基於密碼學的安全保證,是一種傳統的實現三層VPN(Virtual Private Network,虛擬專用網絡)的安全技術。IPsec通過在特定通信方之間(例如兩個安全網關之間)建立“通道”,來保護通信方之間傳輸的用戶數據,該通道通常稱為IPsec隧道。

1.1.1  IPsec協議框架

IPsec協議不是一個單獨的協議,它為IP層上的網絡數據安全提供了一整套安全體係結構,包括安全協議AH(Authentication Header,認證頭)和ESP(Encapsulating Security Payload,封裝安全載荷)、IKE(Internet Key Exchange,互聯網密鑰交換)以及用於網絡認證及加密的一些算法等。其中,AH協議和ESP協議用於提供安全服務,IKE協議用於密鑰交換。關於IKE的詳細介紹請參見“安全配置指導”中的“IKE”,本節不做介紹。

1.1.2  IPsec提供的安全服務

IPsec提供了兩大安全機製:認證和加密。認證機製使IP通信的數據接收方能夠確認數據發送方的真實身份以及數據在傳輸過程中是否遭篡改。加密機製通過對數據進行加密運算來保證數據的機密性,以防數據在傳輸過程中被竊聽。

IPsec為IP層的數據報文提供的安全服務具體包括以下幾種:

·     數據機密性(Confidentiality):發送方通過網絡傳輸用戶報文前,IPsec對報文進行加密。

·     數據完整性(Data Integrity):接收方對發送方發送來的IPsec報文進行認證,以確保數據在傳輸過程中沒有被篡改。

·     數據來源認證(Data Origin Authentication):接收方認證發送IPsec報文的發送端是否合法。

·     抗重放(Anti-Replay):接收方可檢測並拒絕接收過時或重複的IPsec報文。

1.1.3  IPsec的優點

IPsec可為IP層上的數據提供安全保護,其優點包括如下幾個方麵:

·     支持IKE(Internet Key Exchange,互聯網密鑰交換),可實現密鑰的自動協商功能,減少了密鑰協商的開銷。可以通過IKE建立和維護SA(Security Association,安全聯盟),簡化了IPsec的使用和管理。

·     所有使用IP協議進行數據傳輸的應用係統和服務都可以使用IPsec,而不必對這些應用係統和服務本身做任何修改。

·     對數據的加密是以數據包為單位的,而不是以整個數據流為單位,這不僅靈活而且有助於進一步提高IP數據包的安全性,可以有效防範網絡攻擊。

1.1.4  安全協議

IPsec包括AH和ESP兩種安全協議,它們定義了對IP報文的封裝格式以及可提供的安全服務。

·     AH協議(IP協議號為51)定義了AH頭在IP報文中的封裝格式,如圖1-3所示。AH可提供數據來源認證、數據完整性校驗和抗重放功能,它能保護報文免受篡改,但不能防止報文被竊聽,適合用於傳輸非機密數據。AH使用的認證算法有HMAC-MD5和HMAC-SHA1等。AH協議不支持NAT穿越功能。

·     ESP協議(IP協議號為50)定義了ESP頭和ESP尾在IP報文中的封裝格式,如圖1-3所示。ESP可提供數據加密、數據來源認證、數據完整性校驗和抗重放功能。與AH不同的是,ESP將需要保護的用戶數據進行加密後再封裝到IP包中,以保證數據的機密性。ESP使用的加密算法有DES、3DES、AES等。同時,作為可選項,ESP還可以提供認證服務,使用的認證算法有HMAC-MD5和HMAC-SHA1等。雖然AH和ESP都可以提供認證服務,但是AH提供的認證服務要強於ESP。

在實際使用過程中,可以根據具體的安全需求同時使用這兩種協議或僅使用其中的一種。設備支持的AH和ESP聯合使用的方式為:先對報文進行ESP封裝,再對報文進行AH封裝。

1.1.5  封裝模式

IPsec支持兩種封裝模式:傳輸模式和隧道模式。

1. 傳輸模式(Transport Mode)

該模式下的安全協議主要用於保護上層協議報文,僅傳輸層數據被用來計算安全協議頭,生成的安全協議頭以及加密的用戶數據(僅針對ESP封裝)被放置在原IP頭後麵。若要求端到端的安全保障,即數據包進行安全傳輸的起點和終點為數據包的實際起點和終點時,才能使用傳輸模式。如圖1-1所示,通常傳輸模式用於保護兩台主機之間的數據。

圖1-1 傳輸模式下的IPsec保護

 

2. 隧道模式(Tunnel Mode)

該模式下的安全協議用於保護整個IP數據包,用戶的整個IP數據包都被用來計算安全協議頭,生成的安全協議頭以及加密的用戶數據(僅針對ESP封裝)被封裝在一個新的IP數據包中。這種模式下,封裝後的IP數據包有內外兩個IP頭,其中的內部IP頭為原有的IP頭,外部IP頭由提供安全服務的設備添加。在安全保護由設備提供的情況下,數據包進行安全傳輸的起點或終點不為數據包的實際起點和終點時(例如安全網關後的主機),則必須使用隧道模式。如圖1-2所示,通常隧道模式用於保護兩個安全網關之間的數據。

圖1-2 隧道模式下的IPsec保護

 

不同的安全協議及組合在隧道和傳輸模式下的數據封裝形式如圖1-3所示。

圖1-3 安全協議數據封裝格式

 

1.1.6  安全聯盟

1. SA簡介

SA(Security Association,安全聯盟)是IPsec的基礎,也是IPsec的本質。IPsec在兩個端點之間提供安全通信,這類端點被稱為IPsec對等體。SA是IPsec對等體間對某些要素的約定,例如,使用的安全協議(AH、ESP或兩者結合使用)、協議報文的封裝模式(傳輸模式或隧道模式)、認證算法(HMAC-MD5、HMAC-SHA1或SM3)、加密算法(DES、3DES、AES或SM)、特定流中保護數據的共享密鑰以及密鑰的生存時間等。

SA是單向的,在兩個對等體之間的雙向通信,最少需要兩個SA來分別對兩個方向的數據流進行安全保護。同時,如果兩個對等體希望同時使用AH和ESP來進行安全通信,則每個對等體都會針對每一種協議來構建一個獨立的SA。

SA由一個三元組來唯一標識,這個三元組包括SPI(Security Parameter Index,安全參數索引)、目的IP地址和安全協議號。其中,SPI是用於標識SA的一個32比特的數值,它在AH和ESP頭中傳輸。

2. SA生成方式

SA有手工配置和IKE自動協商兩種生成方式:

·     手工方式:通過命令行配置SA的所有信息。該方式的配置比較複雜,而且不支持一些高級特性(例如定時更新密鑰),優點是可以不依賴IKE而單獨實現IPsec功能。該方式主要用於需要安全通信的對等體數量較少,或小型靜態的組網環境中。

·     IKE自動協商方式:對等體之間通過IKE協議自動協商生成SA,並由IKE協議維護該SA。該方式的配置相對比較簡單,擴展能力強。在中、大型的動態網絡環境中,推薦使用IKE自動協商建立SA。

3. SA老化機製

手工方式建立的SA永不老化。通過IKE協商建立的SA具有生存時間,當生存時間到達時,舊的SA會被刪除。

IKE協商建立的SA在生存時間到達前會提前協商一個新的SA來替換舊的SA。從SA建立到啟動新SA協商的這段時間是軟超時時間。缺省情況下,係統會基於SA的生存時間使用默認算法計算一個軟超時時間。係統允許配置一個軟超時緩衝來控製軟超時時間,計算公式為:軟超時時間=生存時間-軟超時緩衝。

IKE協商建立的SA有兩種形式的生存時間:

·     基於時間的生存時間,定義了一個SA從建立到刪除的時間;

·     基於流量的生存時間,定義了一個SA允許處理的最大流量。

可同時存在基於時間和基於流量兩種方式的SA生存時間,隻要其中一種到達,就會刪除舊的SA。

1.1.7  認證與加密

1. 認證算法

IPsec使用的認證算法主要是通過雜湊函數實現的。雜湊函數是一種能夠接受任意長度的消息輸入,並產生固定長度輸出的算法,該算法的輸出稱為消息摘要。IPsec對等體雙方都會計算一個摘要,接收方將發送方的摘要與本地的摘要進行比較,如果二者相同,則表示收到的IPsec報文是完整未經篡改的,以及發送方身份合法。目前,IPsec使用基於HMAC(Hash-based Message Authentication Code,基於散列的消息鑒別碼)的認證算法和SM3認證算法。HMAC認證算法包括HMAC-MD5和HMAC-SHA。其中,HMAC-MD5算法的計算速度快,而HMAC-SHA算法的安全強度高。

2. 加密算法

IPsec使用的加密算法屬於對稱密鑰係統,這類算法使用相同的密鑰對數據進行加密和解密。目前設備的IPsec使用的加密算法包括:

·     DES:使用56比特的密鑰對一個64比特的明文塊進行加密。

·     3DES:使用三個56比特(共168比特)的密鑰對明文塊進行加密。

·     AES:使用128比特、192比特或256比特的密鑰對明文塊進行加密。

·     SM:使用128比特的密鑰對明文塊進行加密。

這些加密算法的安全性由高到低依次是:AES/SM、3DES、DES,安全性高的加密算法實現機製複雜,運算速度慢。

3. 加密引擎

IPsec的認證和加/解密處理在設備上既可以通過軟件實現,也可以通過硬件加密引擎實現。通過軟件實現的IPsec,由於複雜的加密/解密、認證算法會占用大量的CPU資源,將會影響設備整體處理效率;通過硬件加密引擎實現的IPsec,由於複雜的算法處理由硬件完成,因此可以提高設備的處理效率。

若設備支持通過硬件加密引擎進行認證和加/解密處理,則設備會首先將需要處理的數據發送給硬件加密引擎,由硬件加密引擎對數據進行處理之後再發送回設備,最後由設備進行轉發。

關於加密引擎的詳細介紹請參見“安全配置指導”中的“加密引擎”。

1.1.8  IPsec隧道保護的對象

IPsec隧道可以保護匹配ACL(Access Control List,訪問控製列表)的報文、隧道接口上的報文和IPv6路由協議報文。要實現建立IPsec隧道為兩個IPsec對等體之間的數據提供安全保護,首先要配置和應用相應的安全策略,這裏的安全策略包括IPsec安全策略和IPsec安全框架。有關IPsec安全策略和IPsec安全框架的詳細介紹請參見“IPsec安全策略和IPsec安全框架”。

當IPsec對等體根據IPsec安全策略和IPsec安全框架識別出要保護的報文時,就建立一個相應的IPsec隧道並將其通過該隧道發送給對端。此處的IPsec隧道可以是提前手工配置或者由報文觸發IKE協商建立。這些IPsec隧道實際上就是兩個IPsec對等體之間建立的IPsec SA。由於IPsec SA是單向的,因此出方向的報文由出方向的SA保護,入方向的報文由入方向的SA來保護。對端接收到報文後,首先對報文進行分析、識別,然後根據預先設定的安全策略對報文進行不同的處理(丟棄,解封裝,或直接轉發)。

1.1.9  IPsec隧道保護匹配ACL的報文

將引用了ACL的IPsec安全策略應用到接口上後,該接口上匹配ACL的報文將會受到IPsec保護。這裏的接口包括串口、以太網接口等實際物理接口,以及Tunnel、Virtual Template等虛接口。

具體的保護機製如下:

·     隻要接口發送的報文與該接口上應用的IPsec安全策略中的ACL的permit規則匹配,就會受到出方向IPsec SA的保護並進行封裝處理。

·     接口接收到目的地址是本機的IPsec報文時,首先根據報文頭裏攜帶的SPI查找本地的入方向IPsec SA,由對應的入方向IPsec SA進行解封裝處理。解封裝後的IP報文若能與ACL的permit規則匹配上則采取後續處理,否則被丟棄。

目前,設備支持的數據流的保護方式包括以下三種:

·     標準方式:一條IPsec隧道保護一條數據流。ACL中的每一個規則對應的數據流分別由一條單獨創建的IPsec隧道來保護。缺省采用該方式。

·     聚合方式:一條IPsec隧道保護ACL中定義的所有數據流。ACL中的所有規則對應的數據流隻會由一條創建的IPsec隧道來保護。該方式僅用於和老版本的設備互通。

·     主機方式:一條IPsec隧道保護一條主機到主機的數據流。ACL中的每一個規則對應的不同主機之間的數據流分別由一條單獨創建的IPsec隧道來保護。這種方式下,受保護的網段之間存在多條數據流的情況下,將會消耗更多的係統資源。

1.1.10  IPsec隧道保護隧道接口上的報文

在隧道接口上應用IPsec安全框架後,路由到該隧道接口的報文都會受到IPsec的保護,除非用戶指定該報文不需要被IPsec保護。此方式建立的IPsec的封裝模式必須為隧道模式。該類應用通常也被稱為在VTI(Virtual Tunnel Interface)上應用IPsec。

相比於保護匹配ACL的報文,保護隧道接口上報文的IPsec有以下優勢:

·     支持保護組播報文。

·     支持動態路由協議在IPsec隧道兩端的傳播。

·     簡化配置。不需要通過ACL規則對流量進行篩選,路由表會將流量引導到隧道口上。

隧道接口對報文的封裝/解封裝發生在隧道接口上。進入設備的報文被路由到應用了IPsec安全框架的隧道接口後,此隧道接口會對這些報文進行封裝/解封裝處理。如圖1-4所示,隧道接口對報文進行封裝的過程如下:

圖1-4 隧道接口封裝報文原理圖

 

(1)     Device將從入接口接收到的IP明文送到轉發模塊進行路由處理;

(2)     轉發模塊依據路由查詢結果,將IP明文發送到隧道接口進行封裝:原始IP報文加密後被封裝在一個新的IP報文中,新IP頭中的源地址和目的地址分別為隧道接口的源端地址和目的端地址。

(3)     隧道接口完成對IP明文的封裝處理後,將IP密文再次送到轉發模塊進行路由處理;

(4)     轉發模塊根據新IP頭中的目的IP地址進行第二次路由查詢後,將IP密文通過隧道接口的實際物理出接口轉發出去。

圖1-5所示,隧道接口對報文進行解封裝的過程如下:

圖1-5 隧道接口解封裝報文原理圖

 

(1)     Device將從入接口接收到的IP密文送到轉發模塊進行路由處理;

(2)     轉發模塊識別到此IP密文的目的IP地址為本設備隧道接口源端地址且IP協議號為AH或ESP時,會將IP密文送到相應的隧道接口進行解封裝:將IP密文的外層IP頭去掉,對內層IP報文進行解密處理。

(3)     隧道接口完成對IP密文的解封裝處理之後,將IP明文重新送回轉發模塊進行路由處理;

(4)     轉發模塊根據IP明文的目的IP地址進行第二次路由查詢後,將IP明文從隧道的實際物理出接口轉發出去。

1.1.11  IPsec隧道保護IPv6路由協議報文

將IPsec安全框架應用到某一IPv6路由協議(目前支持保護OSPFv3、IPv6 BGP、RIPng路由協議)後,設備產生的需要IPsec保護的某一IPv6路由協議的所有報文都要進行封裝處理,而設備接收到的不受IPsec保護的以及解封裝失敗的業務協議報文都要被丟棄。

由於IPsec的密鑰交換機製僅適用於兩點之間的通信保護,在廣播網絡一對多的情形下,IPsec無法實現自動交換密鑰,同樣,由於廣播網絡一對多的特性,要求各設備對於接收、發送的報文均使用相同的SA參數(相同的SPI及密鑰),因此該方式下必須手工配置用來保護IPv6路由協議報文的IPsec SA。

1.1.12  IPsec保護SDWAN報文

1. SDWAN簡介

SDWAN(Software Defined Wide Area Network,軟件定義廣域網)是將SDN技術應用到廣域網的一種VPN技術。控製平麵通過標準的MP-BGP通告TTE(Transport Tunnel Endpoint,傳輸隧道端點)信息和EVPN路由信息,實現不同站點之間的MAC地址、IP地址的學習和發布;數據平麵采用UDP封裝轉發數據報文且能保障數據快速安全傳輸,為分散在廣闊地理範圍內的企業網絡、數據中心等提供安全可靠的互聯服務。有關SDWAN的詳細介紹,請參見“XX配置指導”中的“SDWAN”。

2. SDWAN網絡模型

圖1-6 SDWAN網絡模型示意圖

 

圖1-6所示,SDWAN網絡由控製通道和數據通道組成。CPE各自生成IPsec SA,並通過與RR的控製通道傳遞給其他CPE。當CPE之間的數據通道有數據需要傳輸時,CPE將使用IPsec SA對CPE之間傳輸的數據進行IPsec加密保護。

例如,當CPE1向CPE2發送報文時,CPE1將使用CPE2的IPsec SA對報文進行加密後,發送給CPE2,CPE2收到報文後,使用自己的IPsec SA進行解密,並對未加密的報文進行丟棄。反之,CPE2向CPE1發送報文時,CPE2將使用CPE1的IPsec SA進行加密後,發送給CPE1,CPE1收到報文後,使用自己的IPsec SA進行解密,並對未加密的報文進行丟棄。

由於IPsec SA是單向的,設備加密和解密采用不同的IPsec SA。通常情況下,本端IPsec SA僅用於解密,對端IPsec SA僅用於加密。

1.1.13  IPsec安全策略和IPsec安全框架

IPsec安全策略和IPsec安全框架用於在兩個對等體之間建立IPsec隧道,保護兩個對等體之間需要被安全防護的報文。

1. IPsec安全策略

一個IPsec安全策略是若幹具有相同名字、不同順序號的IPsec安全策略表項的集合,IPsec安全策略被應用在接口上,用於控製對等體之間建立IPsec隧道,由ACL定義要保護的數據範圍。IPsec安全策略主要定義了以下內容:

·     要保護的數據流的範圍:由ACL定義。

·     對數據流實施何種保護:由IPsec安全提議定義。

·     IPsec SA的生成方式:手工方式、IKE協商方式、GDOI方式。GDOI方式的相關配置請參見“安全配置指導”中的“Group Domain VPN”。

·     保護路徑的起點或終點:即對等體的IP地址。

在同一個IPsec安全策略中,順序號越小的IPsec安全策略表項優先級越高。當從一個接口發送數據時,接口將按照順序號從小到大的順序逐一匹配引用的IPsec安全策略中的每一條安全策略表項。如果數據匹配上了某一條安全策略表項引用的ACL,則停止匹配,並對其使用當前這條安全策略表項進行處理,即根據已經建立的IPsec SA或者觸發IKE協商生成的IPsec SA對報文進行封裝處理;如果數據與所有安全策略表項引用的ACL都不匹配,則直接被正常轉發,IPsec不對數據加以保護。

應用了IPsec安全策略的接口收到數據報文時,對於目的地址是本機的IPsec報文,根據報文頭裏攜帶的SPI查找本地的IPsec SA,並根據匹配的IPsec SA對報文進行解封裝處理;解封裝後的IP報文若能與ACL的permit規則匹配上則采取後續處理,否則被丟棄。

IPsec安全策略除了可以應用到串口、以太網接口等實際物理接口上之外,還能夠應用到Tunnel、Virtual Template等虛接口上,對GRE、L2TP等流量進行保護。

2. IPsec安全框架

IPsec安全框架(IPsec Profile)與IPsec安全策略類似,但不需要使用ACL指定要保護的數據流的範圍。一個IPsec安全框架由名字唯一確定。IPsec安全框架包括如下兩種:

·     手工方式的IPsec安全框架:定義了對數據流進行IPsec保護所使用的安全提議,以及SA參數,應用於IPv6路由協議中。

·     IKE協商方式的IPsec安全框架:定義了對數據流進行IPsec保護所使用的安全提議,IKE profile和SA參數,應用於隧道接口上。

1.1.14  IPsec反向路由注入功能

RRI(Reverse Route Injection,反向路由注入)功能是一種自動添加到達IPsec VPN私網靜態路由的機製,可以實現為受IPsec保護的流量自動添加靜態路由的功能。在大規模組網中,這種自動添加靜態路由的機製可以簡化用戶配置,減少在企業總部網關設備上配置靜態路由的工作量,並且可以根據IPsec SA的創建和刪除進行靜態路由的動態增加和刪除,增強了IPsec VPN的可擴展性。

圖1-7所示,某企業在企業分支與企業總部之間的所有流量通過IPsec進行保護,企業總部網關上需要配置靜態路由,將總部發往分支的數據引到應用IPsec安全策略的接口上來。如果未配置RRI,當企業分支眾多或者內部網絡規劃發生變化時,就需要同時增加或調整總部網關上的靜態路由配置,該項工作量大且容易出現配置錯誤。

企業總部側網關設備GW上配置RRI功能後,每一個IPsec隧道建立之後,GW都會自動為其添加一條相應的靜態路由。通過RRI創建的路由表項可以在路由表中查詢到,其目的地址為受保護的對端網絡,下一跳地址為IPsec隧道的對端地址或指定的地址,它使得發往對端的流量被強製通過IPsec保護並轉發。

RRI創建的靜態路由和手工配置的靜態路由一樣,可以向內網設備進行廣播,允許內網設備選擇合適的路由對IPsec VPN流量進行轉發。也可以為RRI創建的靜態路由配置優先級,從而更靈活地應用路由管理策略。例如:當設備上還有其他方式配置到達相同目的地的路由時,如果為它們指定相同的優先級,則可實現負載分擔,如果指定不同的優先級,則可實現路由備份。同時,還可以通過修改靜態路由的Tag值,使得設備能夠在路由策略中根據Tag值對這些RRI生成的靜態路由進行靈活的控製。

圖1-7 IPsec VPN總部-分支組網圖

 

1.1.15  協議規範

與IPsec相關的協議規範有:

·     RFC 2401:Security Architecture for the Internet Protocol

·     RFC 2402:IP Authentication Header

·     RFC 2406:IP Encapsulating Security Payload

·     RFC 4552:Authentication/Confidentiality for OSPFv3

1.2  IPsec與軟件版本適配關係

在GRE over IPsec組網中,在隧道接口上應用IPsec安全框架時,若使用F6749L18之前的版本與F6749L18及之後的版本進行對接,存在以下限製:

·     當F6749L18之前的版本作為發起方,而F6749L18及之後的版本作為響應方時,會導致IPsec SA協商失敗。

·     當F6749L18之前的版本作為響應方,而F6749L18及之後的版本作為發起方時,可以成功協商IPsec SA。

為避免IPsec SA協商失敗,當網絡中存在上述跨版本設備對接情況時,請將F6749L18及之後的版本設置為發起方。

1.3  FIPS相關說明

設備運行於FIPS模式時,本特性部分配置相對於非FIPS模式有所變化,具體差異請見本文相關描述。有關FIPS模式的詳細介紹請參見“安全配置指導”中的“FIPS”。

1.4  加密版本說明

設備運行於低加密版本時,本特性部分配置相對於高加密版本有所變化,具體差異請見本文相關描述。可以通過安裝相應的license將設備從低加密版本升級為高加密版本,也可以通過卸載相應的license將升級為高加密版本的設備恢複為低加密版本。

1.5  IPsec配置限製和指導

通常情況下,由於IKE協議采用UDP的500端口進行通信,IPsec的AH和ESP協議分別使用51或50號協議來工作,因此為保障IKE和IPsec的正常運行,需要確保應用了IKE和IPsec配置的接口上沒有禁止掉屬於以上端口和協議的流量。

1.6  配置IPsec隧道保護匹配ACL的報文

說明

在傳輸模式下,設備通過ACL來識別由IPsec隧道保護的流量時,受保護的流量隻能是源地址或目的地址為本機的報文。例如:可配置IPsec隧道對設備發送給日誌服務器的日誌信息進行保護。ACL中定義的匹配轉發流量的規則不生效,IPsec不會對設備轉發的任何數據流和語音流進行保護。

 

1.6.1  配置任務簡介

IPsec隧道保護匹配ACL的報文配置任務如下:

(1)     配置ACL

(2)     配置IPsec安全提議

(3)     配置IPsec安全策略

請選擇以下一項任務進行配置:

¡     配置手工方式的IPsec安全策略

¡     配置IKE協商方式的IPsec安全策略

(4)     在接口上應用IPsec安全策略

(5)     (可選)配置IPsec隧道保護匹配ACL的報文的輔助功能

¡     配置解封裝後IPsec報文的ACL檢查功能

¡     配置IPsec流量不進行NAT轉換功能

¡     配置IPsec抗重放功能

¡     配置IPsec基於時間的抗重放窗口寬度

¡     配置IPsec抗重放窗口和序號的同步功能

¡     配置共享源接口IPsec安全策略

¡     配置QoS預分類功能

¡     設置IPsec隧道模式下封裝後外層IP頭的DF位

¡     配置IPsec反向路由注入功能

¡     配置IPsec掩碼過濾功能

¡     配置IPsec流量重疊檢測功能

¡     配置全局IPsec SA生存時間和空閑超時功能

¡     配置IPsec分片功能

¡     配置本端允許建立IPsec隧道的最大數

¡     配置本端僅作為協商IPsec SA的響應方功能

(6)     (可選)配置IPsec日誌和告警功能

¡     配置SDWAN模式的IPsec隧道的報文統計功能

¡     配置IPsec報文日誌信息記錄功能

¡     配置IPsec協商事件日誌功能

¡     配置IPsec告警功能

1.6.2  配置ACL

1. ACL規則中關鍵字的使用

IPsec通過配置ACL來定義需要保護的數據流。在IPsec應用中,ACL規則中的permit關鍵字表示與之匹配的流量需要被IPsec保護,而deny關鍵字則表示與之匹配的流量不需要保護。一個ACL中可以配置多條規則,首個與數據流匹配上的規則決定了對該數據流的處理方式。

在IPsec安全策略中定義的ACL既可用於過濾接口入方向數據流,也可用於過濾接口出方向數據流。

·     設備出入方向的數據流都使用IPsec安全策略中定義的ACL規則來做匹配依據。具體是,出方向的數據流正向匹配ACL規則,入方向的數據流反向匹配ACL規則。例如,對於應用於IPsec安全策略中的某ACL規則:rule 0 permit ip source 1.1.1.0 0.0.0.255 destination 2.2.2.0 0.0.0.255,設備使用其正向過濾出方向上從1.1.1.0/24網段發往2.2.2.0/24網段的數據流,反向過濾入方向上從2.2.2.0/24網段發往1.1.1.0/24網段的數據流。

·     在出方向上,與ACL的permit規則匹配的報文將被IPsec保護,未匹配上任何規則或與deny規則匹配上的報文將不被IPsec保護。

·     在入方向上,與ACL的permit規則匹配上的未被IPsec保護的報文將被丟棄;目的地址為本機的被IPsec保護的報文將被進行解封裝處理。缺省情況下解封裝後的IP報文若能與ACL的permit規則匹配上則采取後續處理,否則被丟棄。若解封裝後IPsec報文的ACL檢查功能處於關閉狀態,則解封裝後的IP報文不與ACL匹配,直接進行後續處理。

需要注意的是:

·     僅對確實需要IPsec保護的數據流配置permit規則,避免盲目地使用關鍵字any。這是因為,在一個permit規則中使用any關鍵字就代表所有指定範圍上出方向的流量都需要被IPsec保護,所有對應入方向上被IPsec保護的報文將被接收並處理,入方向上未被IPsec保護的報文都將被丟棄。這種情況下,一旦入方向收到的某流量是未被IPsec保護的,那麼該流量就會被丟棄,這會造成一些本不需要IPsec處理的流量丟失,影響正常的業務傳輸。

·     當一個安全策略下有多條優先級不同的安全策略表項時,合理使用deny規則。避免本應該與優先級較低的安全策略表項的ACL permit規則匹配而被IPsec保護的出方向報文,因為先與優先級較高的安全策略表項的ACL deny規則匹配上,而沒有被IPsec保護,繼而在接收端被丟棄。

下麵是一個deny規則的錯誤配置示例。Device A和Device B上分別配置如下所示的IPsec安全策略,當Device A連接的1.1.2.0/24網段用戶訪問Device B連接的3.3.3.0/24網段時,報文在Device A的應用了IPsec安全策略testa的出接口上優先與順序號為1的安全策略表項匹配,並匹配上了IPv4 ACL 3000的rule 1,因此Device A認為它不需要IPsec保護,而未進行IPsec封裝。該報文到達Device B後,在應用了IPsec安全策略testb的入接口上與IPv4 ACL 3001的rule 0匹配,並被判斷為應該受IPsec保護但未被保護的報文而丟棄。

Device A上的關鍵配置如下:

acl advanced 3000

 rule 0 permit ip source 1.1.1.0 0.0.0.255 destination 2.2.2.0 0.0.0.255

 rule 1 deny ip

acl advanced 3001

 rule 0 permit ip source 1.1.2.0 0.0.0.255 destination 3.3.3.0 0.0.0.255

 rule 1 deny ip

#

ipsec policy testa 1 isakmp <---優先級高的安全策略表項

 security acl 3000

 ike-profile aa

 transform-set 1

#

ipsec policy testa 2 isakmp <---優先級低的安全策略表項

 security acl 3001

 ike-profile bb

 transform-set 1

Device B上的關鍵配置如下:

acl advanced 3001

 rule 0 permit ip source 3.3.3.0 0.0.0.255 destination 1.1.2.0 0.0.0.255

 rule 1 deny ip

#

ipsec policy testb 1 isakmp

 security acl 3001

 ike-profile aa

 transform-set 1

為保證Device A連接的1.1.2.0/24網段用戶訪問Device B連接的3.3.3.0/24網段的報文可被正確處理,建議將Device A上的IPv4 ACL 3000中的deny規則刪除。

2. ACL規則的鏡像配置

為保證IPsec對等體上能夠成功建立SA,建議兩端設備上用於IPsec的ACL配置為鏡像對稱,即保證兩端定義的要保護的數據流範圍的源和目的盡量對稱。例如,圖1-8中Device A和Device B上的ACL配置都是完全鏡像對稱的,因此用於保護主機Host A與主機Host C之間、子網Network 1與子網Network 2之間流量的SA均可成功建立。

圖1-8 鏡像ACL配置

若IPsec對等體上的ACL配置非鏡像,那麼隻有在一端的ACL規則定義的範圍是另外一端的子集時,SA協商可以成功。如圖1-9所示,Device A上的ACL規則允許的範圍(Host A->Host C)是Device B上ACL規則允許的範圍(Network 2->Network 1)的子集。

圖1-9 非鏡像ACL配置

需要注意的是,在這種ACL配置下,並不是任何一端發起的SA協商都可以成功,僅當保護範圍小(細粒度)的一端向保護範圍大(粗粒度)的一端發起的協商才能成功,反之則SA協商失敗。這是因為,協商響應方要求協商發起方發送過來的數據必須在響應方可以接受的範圍之內。其結果就是,從細粒度一端向粗粒度一端發送報文時,細粒度側設備發起的SA協商可以成功,例如Host A->Host C;從粗粒度一方向細粒度一方發送報文時,粗粒度側設備發起的SA協商不能成功,例如Host C->Host A、Host C->Host B、Host D->Host A等。

3. MPLS L3VPN組網中的ACL配置

為滿足MPLS L3VPN中的用戶流量能夠通過IPsec隧道來保護,需要保證連接VPN用戶流量的設備上定義的要保護的數據流範圍中明確指定了數據流所屬的VPN實例。

圖1-10 MPLS L3VPN組網

以上組網環境中,Device A設備上的ACL配置如下:

#

acl advanced 3400

 rule 0 permit ip vpn-instance vpn1 source 1.1.1.0 0.0.0.255 destination 3.3.3.0 0.0.0.255

#

同時,還必須在IKE profile視圖中配置內部VPN實例為vpn1。

#

ike profile vpn1

 keychain vpn1

 match remote identity address 8.8.8.1 255.255.255.255

 inside-vpn vpn-instance vpn1

#

1.6.3  配置IPsec安全提議

1. 功能簡介

IPsec安全提議是IPsec安全策略的一個組成部分,它用於定義IPsec需要使用的安全協議、加密/認證算法以及封裝模式,為IPsec協商SA提供各種安全參數。

2. 配置限製和指導

·     可對IPsec安全提議進行修改,但對已協商成功的IPsec SA,新修改的安全提議並不起作用,即仍然使用原來的安全提議,隻有新協商的SA使用新的安全提議。若要使修改對已協商成功的IPsec SA生效,則需要執行reset ipsec sa命令。

·     FIPS模式下,若采用了ESP安全協議,則必須同時配置ESP加密算法和ESP認證算法。

·     傳輸模式必須應用於數據流的源地址和目的地址與IPsec隧道兩端地址相同的情況下。如果要配置應用於IPv6路由協議的手工方式的安全框架,則該安全框架引用的安全提議僅支持傳輸模式的封裝。

·     隧道模式通常應用於數據流的源地址和目的地址與IPsec隧道兩端地址不相同的情況下。如果要配置應用於隧道接口上的安全框架所引用的安全提議,則該安全提議僅支持隧道模式的封裝。

·     IKEv1協商時發起方的PFS強度必須大於或等於響應方的PFS強度,否則協商會失敗。IKEv2不受該限製。不配置PFS特性的一端,按照對端的PFS特性要求進行IKE協商。

·     可以使用命令為一個安全協議指定多個認證或者加密算法,算法優先級以配置順序為準。

·     以下這些算法隻適用於IKEv2協商:

表1-1 IKEv2協商適用的算法

參數

取值

加密算法

aes-ctr-128/aes-ctr-192/aes-ctr-256

camellia-cbc-128/camellia-cbc-192/camellia-cbc-256

gmac-128/gmac-192/gmac-256/

gcm-128/gcm-192/gcm-256

認證算法

aes-xcbc-mac

PFS(Perfect Forward Secrecy,完善的前向安全性)算法

dh-group19

dh-group20

 

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建IPsec安全提議,並進入IPsec安全提議視圖。

ipsec transform-set transform-set-name

(3)     配置IPsec安全提議采用的安全協議。

protocol { ah | ah-esp | esp }

缺省情況下,采用ESP安全協議。

(4)     配置協議(espah-esp采用的加密算法。

(低加密版本)

esp encryption-algorithm des-cbc

缺省情況下,ESP協議沒有采用任何加密算法。

非ESP協議,請忽略本步驟。

(高加密版本-非FIPS模式)

esp encryption-algorithm { 3des-cbc | aes-cbc-128 | aes-cbc-192 | aes-cbc-256 | aes-ctr-128 | aes-ctr-192 | aes-ctr-256 | camellia-cbc-128 | camellia-cbc-192 | camellia-cbc-256 | des-cbc | gmac-128 | gmac-192 | gmac-256 | gcm-128 | gcm-192 | gcm-256 | null | sm1-cbc-128 | sm4-cbc } *

缺省情況下,ESP協議沒有采用任何加密算法。

非ESP協議,請忽略本步驟。

esp encryption-algorithm { aes-cbc-128 | aes-cbc-192 | aes-cbc-256 | aes-ctr-128 | aes-ctr-192 | aes-ctr-256 | gmac-128 | gmac-192 | gmac-256 | gcm-128 | gcm-192 | gcm-256 } *

缺省情況下,ESP協議沒有采用任何加密算法。

非ESP協議,請忽略本步驟。

(5)     配置協議(espah-esp)采用的認證算法。

(非FIPS模式)

esp authentication-algorithm { aes-xcbc-mac | md5 | sha1 | sha256 | sha384 | sha512 | sm3 } *

缺省情況下,ESP協議沒有采用任何認證算法。

非ESP協議,請忽略本步驟。

aes-xcbc-mac認證算法僅適用於IKEv2協商。

(FIPS模式)

esp authentication-algorithm { sha1 | sha256 | sha384 | sha512 } *

缺省情況下,ESP協議沒有采用任何認證算法。

非ESP協議,請忽略本步驟。

(6)     配置協議(ahah-esp)采用的認證算法。

(非FIPS模式)

ah authentication-algorithm { aes-xcbc-mac | md5 | sha1 | sha256 | sha384 | sha512 | sm3 } *

缺省情況下,AH協議沒有采用任何認證算法。

采用ESP協議時,請忽略本步驟。

aes-xcbc-mac認證算法僅適用於IKEv2協商。

(FIPS模式)

ah authentication-algorithm { sha1 | sha256 | sha384 | sha512 } *

缺省情況下,AH協議沒有采用任何認證算法。

采用ESP協議時,請忽略本步驟。

(7)     配置安全協議對IP報文的封裝模式。

encapsulation-mode { transport | tunnel }

缺省情況下,安全協議采用隧道模式對IP報文進行封裝。

(8)     (可選)配置使用IPsec安全策略發起協商時使用PFS特性。

(非FIPS模式)

pfs { dh-group1 | dh-group2 | dh-group5 | dh-group14 | dh-group24 | dh-group19 | dh-group20 }

(FIPS模式)

pfs { dh-group14 | dh-group19 | dh-group20 }

缺省情況下,使用IPsec安全策略發起協商時不使用PFS特性。

有關PFS(Perfect Forward Secrecy,完善的前向安全性)功能的詳細介紹請參見“安全配置指導”中的“IKE”。

(9)     (可選)開啟ESN功能。

esn enable [ both ]

缺省情況下,ESN功能處於關閉狀態。

本功能僅適用於IKEv2協商的IPsec SA。

1.6.4  配置手工方式的IPsec安全策略

1. 配置限製和指導

為保證SA能夠成功生成,IPsec隧道兩端的配置必須符合以下要求:

·     IPsec安全策略引用的IPsec安全提議應采用相同的安全協議、加密/認證算法和報文封裝模式。

·     當前端點的IPv4對端地址應與對端應用IPsec安全策略的接口的主IPv4地址保持一致;當前端點的IPv6對端地址應與對端應用IPsec安全策略的接口的第一個IPv6地址保持一致。

·     應分別設置inboundoutbound兩個方向的IPsec SA參數,且保證每一個方向上的IPsec SA的唯一性:對於出方向IPsec SA,必須保證三元組(對端IP地址、安全協議、SPI)唯一;對於入方向IPsec SA,必須保證SPI唯一。

·     本端和對端IPsec SA的SPI及密鑰必須是完全匹配的。即,本端的入方向IPsec SA的SPI及密鑰必須和對端的出方向IPsec SA的SPI及密鑰相同;本端的出方向IPsec SA的SPI及密鑰必須和對端的入方向IPsec SA的SPI及密鑰相同。

·     兩端IPsec SA使用的密鑰應當以相同的方式輸入,即如果一端以字符串方式輸入密鑰,另一端必須也以字符串方式輸入密鑰。如果先後以不同的方式輸入了密鑰,則最後設定的密鑰有效。

·     對於ESP協議,以字符串方式輸入密鑰時,係統會自動地同時生成認證算法的密鑰和加密算法的密鑰。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建一條手工方式的IPsec安全策略,並進入IPsec安全策略視圖。

ipsec { ipv6-policy | policy } policy-name seq-number manual

(3)     (可選)配置IPsec安全策略的描述信息。

description text

缺省情況下,無描述信息。

(4)     指定IPsec安全策略引用的ACL。

security acl [ ipv6 ] { acl-number | name acl-name }

缺省情況下,IPsec安全策略沒有引用ACL。

一條安全策略隻能引用一個ACL。

(5)     指定IPsec安全策略所引用的安全提議。

transform-set transform-set-name

缺省情況下,IPsec安全策略沒有引用IPsec安全提議。

一條手工方式的IPsec安全策略隻能引用一個安全提議。

(6)     指定IPsec隧道的對端IP地址。

remote-address { ipv4-address | ipv6 ipv6-address }

缺省情況下,未指定IPsec隧道的對端地址。

(7)     配置IPsec SA的入方向SPI。

sa spi inbound { ah | esp } spi-number

缺省情況下,不存在IPsec SA的入方向SPI。

(8)     配置IPsec SA的出方向SPI。

sa spi outbound { ah | esp } spi-number

缺省情況下,不存在IPsec SA的出方向SPI。

(9)     配置IPsec SA使用的密鑰。

¡     配置AH協議的認證密鑰(以十六進製方式輸入)。

sa hex-key authentication { inbound | outbound } ah { cipher | simple } string

¡     配置AH協議的認證密鑰(以字符串方式輸入)。

sa string-key { inbound | outbound } ah { cipher | simple } string

¡     配置ESP協議的認證密鑰和加密密鑰(以字符串方式輸入)。

sa string-key { inbound | outbound } esp { cipher | simple } string

¡     配置ESP協議的認證密鑰(以十六進製方式輸入)。

sa hex-key authentication { inbound | outbound } esp { cipher | simple } string

¡     配置ESP協議的加密密鑰(以十六進製方式輸入)。

sa hex-key encryption { inbound | outbound } esp { cipher | simple } string

缺省情況下,未配置IPsec SA使用的密鑰。

根據本安全策略引用的安全提議中指定的安全協議,配置AH協議或ESP協議的密鑰,或者兩者都配置。

(10)     (可選)配置IPsec安全策略表項的別名。

policy alias alias-name

缺省情況下,IPsec安全策略表項的別名為IPsec安全策略名-IPsec安全策略表項序號。

1.6.5  配置IKE協商方式的IPsec安全策略

1. 配置方式簡介

IKE協商方式的IPsec安全策略有以下兩種配置方式:

·     直接配置IPsec安全策略:在安全策略視圖中定義需要協商的各參數;

·     引用IPsec安全策略模板配置IPsec安全策略:首先在IPsec安全策略模板中定義需要協商的各參數,然後通過引用IPsec安全策略模板創建一條IPsec安全策略。應用了該類IPsec安全策略的接口不能發起協商,僅可以響應遠端設備的協商請求。由於IPsec安全策略模板中未定義的可選參數由發起方來決定,而響應方會接受發起方的建議,因此這種方式適用於通信對端(例如對端的IP地址)未知的情況下,允許這些對端設備向本端設備主動發起協商。

IPsec安全策略模板與直接配置的IKE協商方式的IPsec安全策略中可配置的參數類似,但是配置較為簡單,除了IPsec安全提議和IKE profile之外的其它參數均為可選。應用了引用IPsec安全策略模板配置的IPsec安全策略的接口不能發起協商,僅可以響應遠端設備的協商請求。IPsec安全策略模板中未定義的可選參數由發起方來決定,而響應方會接受發起方的建議,例如IPsec安全策略模板下的用於定義保護對象範圍的ACL是可選的,該參數在未配置的情況下,相當於支持最大範圍的保護,即完全接受協商發起端的ACL設置。

2. 配置限製和指導

IPsec隧道兩端的配置必須符合以下要求:

·     IPsec安全策略引用的IPsec安全提議中應包含相同的安全協議、認證/加密算法和報文封裝模式。

·     IPsec安全策略引用的IKE profile參數相匹配。

·     一條IKE協商方式的IPsec安全策略中最多可以引用六個IPsec安全提議。IKE協商過程中,IKE將會在隧道兩端配置的IPsec安全策略中查找能夠完全匹配的IPsec安全提議。如果IKE在兩端找不到完全匹配的IPsec安全提議,則SA不能協商成功,需要被保護的報文將被丟棄。

·     IKE協商的發起方必須配置IPsec隧道的對端地址,響應方可選配,且當前端點的對端地址與對端的本端地址應保持一致。

對於IKE協商建立的IPsec SA,遵循以下原則:

·     采用隧道兩端設置的IPsec SA生存時間中較小者。

·     可同時存在基於時間和基於流量兩種方式的IPsec SA生存時間,隻要到達指定的時間或指定的流量,IPsec SA就會老化。

·     一條IPsec安全策略隻能引用一個IKEv1 profile或者一個IKEv2 profile。同時引用時IKEv2 profile的優先級高於IKEv1 profile的優先級。

IKEv1 profile的相關配置請參見“安全配置指導”中的“IKE”。

IKEv2 profile的相關配置請參見“安全配置指導”中的“IKEv2”。

3. 直接配置IKE協商方式的IPsec安全策略

(1)     進入係統視圖。

system-view

(2)     創建一條IKE協商方式的IPsec安全策略,並進入IPsec安全策略視圖。

ipsec { ipv6-policy | policy } policy-name seq-number isakmp

(3)     (可選)配置IPsec安全策略的描述信息。

description text

缺省情況下,無描述信息。

(4)     (可選)配置觸發建立IPsec SA的模式。

sa trigger-mode { auto | traffic-based }

缺省情況下,觸發建立IPSec SA的模式為流量觸發。

若IPsec安全策略/IPsec安全策略模板引用的ACL被指定為聚合方式或主機方式,則該IPsec安全策略/IPsec安全策略模板無法通過自動觸發模式建立IPsec SA。

(5)     指定IPsec安全策略引用的ACL。

security acl [ ipv6 ] { acl-number | name acl-name } [ aggregation | per-host ]

缺省情況下,IPsec安全策略沒有指定ACL。

一條IPsec安全策略隻能引用一個ACL。

(6)     指定IPsec安全策略引用的IPsec安全提議。

transform-set transform-set-name&<1-6>

缺省情況下,IPsec安全策略沒有引用IPsec安全提議。

(7)     指定IPsec安全策略引用的IKE profile或者IKEv2 profile。

¡     指定IPsec安全策略引用的IKE profile。

ike-profile profile-name

缺省情況下,IPsec安全策略沒有引用IKE profile。

¡     指定IPsec安全策略引用的IKEv2 profile。

ikev2-profile profile-name

缺省情況下,IPsec安全策略沒有引用IKEv2 profile。

(8)     指定IPsec隧道的本端IP地址。

local-address { ipv4-address | ipv6 ipv6-address }

缺省情況下,IPsec隧道的本端IPv4地址為應用IPsec安全策略的接口的主IPv4地址,本端IPv6地址為應用IPsec安全策略的接口的第一個IPv6地址。

此處指定的IPsec隧道本端IP地址必須與IKE使用的標識本端身份的IP地址一致。在VRRP組網環境中,IPsec隧道本端IP地址為應用IPsec安全策略接口所在備份組的虛擬IP地址。

IPsec隧道的本端IP地址不得為應用IPsec安全策略的接口的從IP地址。

(9)     指定IPsec隧道的對端IP地址。

remote-address { [ ipv6 ] host-name | ipv4-address | ipv6 ipv6-address } [ primary ] [ track track-id ]

缺省情況下,未指定IPsec隧道的對端IP地址。

為實現IPsec對端地址回切功能,需要至少指定兩條IPsec隧道的對端IP地址,包括一條首選地址。IPsec隧道的對端地址都需要與Track項關聯。

(10)     (可選)開啟IPsec對端地址回切功能。

remote-address switch-back enable

缺省情況下,IPsec對端地址回切功能處於關閉狀態。

為實現本功能需要配置IPsec反向路由注入和IKE的DPD探測功能,並配置NQA和Track相關功能。關於NQA和Track的相關配置,請分別參見“網絡管理和監控配置指導”中的“NQA”和“可靠性配置指導”中的“Track”。

(11)     (可選)配置IPsec SA的生存時間或空閑超時時間。

¡     配置IPsec SA的生存時間。

sa duration { time-based seconds | traffic-based kilobytes }

缺省情況下,IPsec安全策略下的IPsec SA生存時間為當前全局的IPsec SA生存時間。

¡     配置IPsec SA的軟超時緩衝參數。

sa soft-duration buffer { time-based seconds | traffic-based kilobytes }

缺省情況下,未配置軟超時緩衝參數。

¡     配置IPsec SA的空閑超時時間。

sa idle-time seconds

缺省情況下,IPsec安全策略下的IPsec SA空閑超時時間為當前全局的IPsec SA空閑超時時間。

(12)     (可選)開啟TFC(Traffic Flow Confidentiality)填充功能。

tfc enable

缺省情況下,TFC填充功能處於關閉狀態。

本功能僅適用於IKEv2協商的IPsec SA。

(13)     (可選)啟用IPsec安全策略表項。

policy enable

缺省情況下,IPsec安全策略表項處於啟用狀態。

(14)     (可選)配置IPsec安全策略表項的別名。

policy alias alias-name

缺省情況下,IPsec安全策略表項的別名為IPsec安全策略名-IPsec安全策略表項序號。

4. 引用IPsec安全策略模板配置IKE協商方式的IPsec安全策略

(1)     進入係統視圖。

system-view

(2)     創建一個IPsec安全策略模板,並進入IPsec安全策略模板視圖。

ipsec { ipv6-policy-template | policy-template } template-name seq-number

(3)     (可選)配置IPsec安全策略模板的描述信息。

description text

缺省情況下,無描述信息。

(4)     (可選)指定IPsec安全策略模板引用的ACL。

security acl [ ipv6 ] { acl-number | name acl-name } [ aggregation | per-host ]

缺省情況下,IPsec安全策略模板沒有指定ACL。

一條IPsec安全策略模板隻能引用一個ACL。

(5)     指定IPsec安全策略模板引用的安全提議。

transform-set transform-set-name&<1-6>

缺省情況下IPsec安全策略模板沒有引用IPsec安全提議。

(6)     指定IPsec安全策略模板引用的IKE profile或者IKEv2 profile。

¡     指定IPsec安全策略模板引用的IKE profile。

ike-profile profile-name

缺省情況下,IPsec安全策略模板沒有引用IKE profile。

不能引用已經被其它IPsec安全策略或IPsec安全策略模板引用的IKE profile。

¡     指定IPsec安全策略模板引用的IKEv2 profile。

ikev2-profile profile-name

缺省情況下,IPsec安全策略模板沒有引用IKEv2 profile。

(7)     指定IPsec隧道的本端IP地址和對端IP地址。

¡     指定IPsec隧道的本端IP地址。

local-address { ipv4-address | ipv6 ipv6-address }

缺省情況下,IPsec隧道的本端IPv4地址為應用IPsec安全策略的接口的主IPv4地址,本端IPv6地址為應用IPsec安全策略的接口的第一個IPv6地址。

IPsec隧道本端IP地址必須與IKE對等體使用的標識本端身份的IP地址一致。VRRP組網環境中, IPsec隧道本端IP地址為應用IPsec安全策略的接口所在備份組的虛擬IP地址。

IPsec隧道的本端IP地址不得為應用IPsec安全策略的接口的從IP地址。

¡     指定IPsec隧道的對端IP地址。

remote-address { [ ipv6 ] host-name | ipv4-address | ipv6 ipv6-address }

缺省情況下,未指定IPsec隧道的對端IP地址。

(8)     (可選)配置IPsec SA的生存時間或者空閑超時時間。

¡     配置IPsec SA的生存時間。

sa duration { time-based seconds | traffic-based kilobytes }

缺省情況下,IPsec安全策略模板下的IPsec SA生存時間為當前全局的IPsec SA生存時間。

¡     配置IPsec SA的空閑超時時間。

sa idle-time seconds

缺省情況下,IPsec安全策略模板下的IPsec SA空閑超時時間為當前全局的IPsec SA空閑超時時間。

(9)     (可選)開啟TFC(Traffic Flow Confidentiality)填充功能。

tfc enable

缺省情況下,TFC填充功能處於關閉狀態。

(10)     (可選)啟用IPsec安全策略模板表項。

policy enable

缺省情況下,IPsec安全策略模板表項處於啟用狀態。

(11)     (可選)配置IPsec安全策略模板表項的別名。

policy alias alias-name

缺省情況下,IPsec安全策略模板表項的別名為template-IPsec安全策略模板名-IPsec安全策略模板表項序號。

(12)     退回係統視圖。

quit

(13)     引用安全策略模板創建一條IKE協商方式的安全策略。

ipsec { ipv6-policy | policy } policy-name seq-number isakmp template template-name

1.6.6  在接口上應用IPsec安全策略

1. 配置限製與指導

為使定義的IPsec SA生效,應在每個要加密的數據流和要解密的數據流所在接口上應用一個IPsec安全策略,以對數據進行保護。當取消IPsec安全策略在接口上的應用後,此接口便不再具有IPsec的安全保護功能。

在將IKE方式的IPsec安全策略應用到多個接口上時,請使用共享源接口的IPsec安全策略;手工方式的IPsec安全策略隻能應用到一個接口上。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     應用IPsec安全策略。

ipsec apply { ipv6-policy | policy } policy-name

缺省情況下,接口上沒有應用IPsec安全策略。

一個接口下最多隻能應用一個IPv4/IPv6類型的IPsec安全策略,但可以同時應用一個IPv4類型的IPsec安全策略和一個IPv6類型的IPsec安全策略。

1.6.7  配置解封裝後IPsec報文的ACL檢查功能

1. 功能簡介

在隧道模式下,接口入方向上解封裝的IPsec報文的內部IP頭有可能不在當前IPsec安全策略引用的ACL的保護範圍內,如網絡中一些惡意偽造的攻擊報文就可能有此問題,所以設備需要重新檢查解封裝後的報文的IP頭是否在ACL保護範圍內。開啟該功能後可以保證ACL檢查不通過的報文被丟棄,從而提高網絡安全性。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟解封裝後IPsec報文的ACL檢查功能。

ipsec decrypt-check enable

缺省情況下,解封裝後IPsec報文的ACL檢查功能處於開啟狀態。

1.6.8  配置IPsec流量不進行NAT轉換功能

1. 功能簡介

在一個接口上同時配置了IPsec與NAT的情況下,對於出方向報文,設備先進行NAT轉換,再進行IPsec處理。若接口上需要進行NAT轉換的流量與需要進行IPsec處理的流量未能通過配置準確的區分,將會導致接口上的報文不能按照預期進行IPsec處理。而準確的區分可能導致配置複雜,難以維護。

開啟本功能後,當前接口上需要進行IPsec處理的流量將不會進行NAT轉換,減輕劃分NAT與IPsec流量的工作量,進而降低接口上IPsec與NAT共存時配置的複雜度。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     在當前接口上開啟IPsec流量不進行NAT轉換功能。

ipsec no-nat-process enable

缺省情況下,IPsec流量不進行NAT轉換功能處於關閉狀態。

注意

該功能會影響NAT業務的處理流程,請謹慎使用。

 

1.6.9  配置IPsec抗重放功能

1. 功能簡介

重放報文,通常是指設備再次接收到的已經被IPsec處理過的報文。IPsec通過滑動窗口(抗重放窗口)機製檢測重放報文。AH和ESP協議報文中帶有序列號,如果收到的報文的序列號與已經解封裝過的報文序列號相同,或收到的報文的序列號出現得較早,即已經超過了抗重放窗口的範圍,則認為該報文為重放報文。

對重放報文的解封裝無意義,並且解封裝過程涉及密碼學運算,會消耗設備大量的資源,導致業務可用性下降,造成了拒絕服務攻擊。通過開啟IPsec抗重放檢測功能,將檢測到的重放報文在解封裝處理之前丟棄,可以降低設備資源的消耗。

在某些特定環境下,業務數據報文的接收順序可能與正常的順序差別較大,雖然並非有意的重放攻擊,但會被抗重放檢測認為是重放報文,導致業務數據報文被丟棄,影響業務的正常運行。因此,這種情況下就可以通過關閉IPsec抗重放檢測功能來避免業務數據報文的錯誤丟棄,也可以通過適當地增大抗重放窗口的寬度,來適應業務正常運行的需要。

2. 配置限製和指導

·     隻有IKE協商的IPsec SA才能夠支持抗重放檢測,手工方式生成的IPsec SA不支持抗重放檢測。因此該功能開啟與否對手工方式生成的IPsec SA沒有影響。

·     使用較大的抗重放窗口寬度會引起係統開銷增大,導致係統性能下降,與抗重放檢測用於降低係統在接收重放報文時的開銷的初衷不符,因此建議在能夠滿足業務運行需要的情況下,使用較小的抗重放窗口寬度。

·     一般情況下,分布式設備直接在接收報文的單板上進行業務處理。但IPsec抗重放功能檢測要求同一個全局虛擬接口上發送和接收的流量必須在同一個單板上處理,此時需要在該接口上通過sevice命令指定轉發當前接口流量的單板。

·     IPsec抗重放檢測功能缺省是開啟的,是否關閉該功能請根據實際需求慎重使用。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IPsec抗重放檢測功能。

ipsec anti-replay check

缺省情況下,IPsec抗重放檢測功能處於開啟狀態。

(3)     配置IPsec抗重放窗口寬度。

ipsec anti-replay window width

缺省情況下,IPsec抗重放窗口寬度為64。

1.6.10  配置共享源接口IPsec安全策略

1. 配置簡介

為了提高網絡的可靠性,通常核心設備到ISP(Internet Service Provider,互聯網服務提供商)都會有兩條出口鏈路,它們互為備份或者為負載分擔的關係。由於在不同的接口上應用安全策略時,各個接口將分別協商生成IPsec SA。因此,則在主備鏈路切換時,接口狀態的變化會觸發重新進行IKE協商,從而導致數據流的暫時中斷。這種情況下,兩個接口上的IPsec SA就需要能夠平滑切換。

通過將一個IPsec安全策略與一個源接口綁定,使之成為共享源接口IPsec安全策略,可以實現主備鏈路切換時受IPsec保護的業務流量不中斷。具體機製為:應用相同IPsec安全策略的多個物理接口共同使用一個指定的源接口(稱為共享源接口)協商IPsec SA,當這些物理接口對應的鏈路切換時,如果該源接口的狀態不變化,就不會刪除該接口協商出的IPsec SA,也不需要重新觸發IKE協商,各物理接口繼續使用已有的IPsec SA保護業務流量。

2. 配置限製和指導

·     隻有IKE協商方式的IPsec安全策略才能配置為IPsec共享源接口安全策略。

·     一個IPsec安全策略隻能與一個源接口綁定。

·     一個源接口可以同時與多個IPsec安全策略綁定。

·     刪除與共享源接口IPsec安全策略綁定的共享源接口時,將使得該共享源接口IPsec安全策略恢複為普通IPsec安全策略。

·     若一個IPsec安全策略為共享源接口IPsec安全策略,但該IPsec安全策略中未指定隧道本端地址,則IKE將使用共享源接口地址作為IPsec隧道的本端地址進行IKE協商;如果共享源接口IPsec安全策略中指定了隧道本端地址,則將使用指定的隧道本端地址進行IKE協商。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置IPsec安全策略為IPsec共享源接口安全策略。

ipsec { ipv6-policy | policy } policy-name local-address interface-type interface-number

缺省情況下,IPsec安全策略不是共享源接口IPsec安全策略,即未將IPsec安全策略與任何源接口綁定。

1.6.11  配置QoS預分類功能

1. 功能簡介

當在接口上同時應用了IPsec安全策略與QoS策略時,缺省情況下,QoS使用封裝後報文的外層IP頭信息來對報文進行分類。但如果希望QoS基於被封裝報文的原始IP頭信息對報文進行分類,則需要配置QoS預分類功能來實現。

2. 配置限製和指導

·     若在接口上同時配置IPsec和QoS,同一個IPsec SA保護的數據流如果被QoS分類進入不同隊列,會導致部分報文發送亂序。由於IPsec具有抗重放功能,IPsec入方向上對於抗重放窗口之外的報文會進行丟棄,從而導致丟包現象。因此當IPsec與QoS配合使用時,必須保證IPsec分類與QoS分類規則配置保持一致。

·     IPsec的分類規則完全由引用的ACL規則確定,QoS策略及QoS分類的相關介紹請參見“ACL和QoS配置指導”中的“QoS”。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IPsec安全策略視圖或者IPsec安全策略模板視圖。

¡     進入IPsec安全策略視圖。

ipsec { ipv6-policy | policy } policy-name seq-number [ gdoi | isakmp | manual ]

¡     進入IPsec安全策略模板視圖。

ipsec { ipv6-policy-template | policy-template } template-name seq-number

(3)     開啟QoS預分類功能。

qos pre-classify

缺省情況下,QoS預分類功能處於關閉狀態。

1.6.12  配置IPsec反向路由注入功能

1. 配置限製和指導

開啟RRI功能時,會刪除相應IPsec安全策略協商出的所有IPsec SA。當有新的流量觸發生成IPsec SA時,根據新協商的IPsec生成路由信息。

關閉RRI功能時,會刪除相應IPsec安全策略協商出的所有IPsec SA。

RRI生成的靜態路由隨IPsec SA的創建而創建,隨IPsec SA的刪除而刪除。

RRI功能在隧道模式和傳輸模式下都支持。

若修改了RRI生成的靜態路由的優先級或Tag屬性,則會刪除由相應IPsec安全策略建立的IPsec SA和已添加的靜態路由,修改後的屬性值在下次生成IPsec SA且添加靜態路由時生效。

在RRI功能開啟的情況下,對於與未指定目的IP地址的ACL規則相匹配的報文流觸發協商出的IPsec SA,設備並不會為其自動生成一條靜態路由。因此,如果IPsec安全策略/IPsec安全策略模板引用了此類型的ACL規則,則需要通過手工配置一條到達對端受保護網絡的靜態路由。

在MPLS L3VPN組網環境中,配置了RRI功能的網關設備能夠依據應用IPsec安全策略的接口所綁定的VPN實例,在相應VPN實例的IP路由表中自動添加靜態路由。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IPsec安全策略視圖或者IPsec安全策略模板視圖。

¡     進入IPsec安全策略視圖。

ipsec { policy | ipv6-policy } policy-name seq-number isakmp

¡     進入IPsec安全策略模板視圖。

ipsec { ipv6-policy-template | policy-template } template-name seq-number

(3)     開啟IPsec反向路由注入功能。

reverse-route [ next-hop [ ipv6 ] ip-address ] dynamic

缺省情況下,IPsec反向路由注入功能處於關閉狀態。

(4)     (可選)配置IPsec反向路由功能生成的靜態路由的優先級。

reverse-route preference number

缺省情況下,IPsec反向路由注入功能生成的靜態路由的優先級為60。

(5)     (可選)配置IPsec反向路由功能生成的靜態路由的Tag值。

reverse-route tag tag-value

缺省情況下,IPsec反向路由注入功能生成的靜態路由的tag值為0。

1.6.13  配置IPsec掩碼過濾功能

1. 功能簡介

在中心-分支組網環境中,當有新的分支加入組網時,如果新分支側配置的保護數據流範圍過大,可能會導致其他分支的流量被引入到該分支,導致報文轉發錯誤。配置本功能後,當中心側設備與分支側設備進行IPsec SA協商時,如果中心側需要保護數據流的源、目的IP地址的掩碼長度大於或等於本功能配置的值,則允許繼續協商;否則,IPsec SA協商失敗,設備將生成掩碼過濾失敗的告警信息,提示用戶當前需要保護數據流的掩碼設置過小。當IPsec SA協商失敗時,管理員需要針對當前組網環境,重新規劃分支側的ACL配置。

2. 配置限製和指導

僅IPv4網絡支持本功能。

本功能僅在設備采用IPsec安全策略模板方式協商IPsec SA時生效。

建議在中心-分支組網環境中的中心側配置本功能。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置IPsec掩碼過濾功能。

ipsec netmask-filter { destination-mask mask-length | source-mask mask-length } *

缺省情況下,未配置IPsec掩碼過濾功能。

1.6.14  配置IPsec流量重疊檢測功能

1. 功能簡介

在中心-分支組網環境中,通常中心側采用IPsec安全策略模板方式協商IPsec SA。當分支側分支眾多時,需保護的數據流範圍可能會重疊。此時通過開啟本功能,在協商IPsec SA時,設備會檢測新建隧道與已有隧道的需保護數據流是否存在重疊。若重疊,則IPsec SA協商失敗,設備將生成IPsec流量重疊檢測失敗的告警信息,提示用戶當前需要保護的數據流存在流量重疊。當IPsec SA協商失敗時,管理員需要針對當前組網環境,重新規劃分支側的ACL配置。

中心側設備判斷是否存在IPsec流量重疊的方法為:檢測待保護數據流的目的IP地址範圍是否與已有隧道保護的數據流的目的IP地址範圍重疊。若重疊,則認為待保護的數據流與已有隧道保護的數據流發生了重疊。

2. 配置限製和指導

本功能具有如下使用限製:

·     建議在中心-分支組網環境中的中心側配置本功能。

·     僅在設備采用IPsec安全策略模板方式協商IPsec SA時生效。

·     僅支持對新建的IPsec SA進行流量重疊檢測,不支持對已有的IPsec SA進行流量重疊檢測。

·     僅支持在同一接口、同一VPN實例下進行流量重疊檢測。

·     不支持對IPsec重協商後生成的IPsec SA進行流量重疊檢測。

·     流量重疊檢測時不會判斷源IP地址範圍是否與已有隧道保護的數據流的源IP地址範圍重疊。

·     流量重疊檢測對設備性能有一定的影響,建議僅在進行網絡升級擴容等操作時開啟,並在操作完成後及時關閉。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IPsec流量重疊檢測功能。

ipsec flow-overlap check enable

缺省情況下,IPsec流量重疊檢測功能處於關閉狀態。

1.7  配置IPsec隧道保護IPv6路由協議

1.7.1  配置任務簡介

IPsec隧道保護IPv6路由協議配置任務如下:

(1)     配置IPsec安全提議

(2)     配置手工方式的IPsec安全框架

(3)     在IPv6路由協議上應用IPsec安全框架

(4)     (可選)配置IPsec基於時間的抗重放窗口寬度

(5)     (可選)配置IPsec抗重放窗口和序號的同步功能

(6)     (可選)配置IPsec分片功能

(7)     (可選)配置本端允許建立IPsec隧道的最大數

(8)     (可選)配置SDWAN模式的IPsec隧道的報文統計功能

(9)     (可選)配置IPsec報文日誌信息記錄功能

(10)     (可選)配置IPsec協商事件日誌功能

(11)     (可選)配置IPsec告警功能

1.7.2  配置手工方式的IPsec安全框架

手工方式的IPsec安全框架定義了對數據流進行IPsec保護所使用的安全提議,以及SA的SPI、SA使用的密鑰。

1. 配置限製和指導

IPsec隧道兩端的配置必須符合以下要求:

·     IPsec安全框架引用的IPsec安全提議應采用相同的安全協議、加密/認證算法和報文封裝模式。

·     本端出方向IPsec SA的SPI和密鑰必須和本端入方向IPsec SA的SPI和密鑰保持一致。

·     同一個範圍內的、所有設備上的IPsec SA的SPI和密鑰均要保持一致。該範圍與協議相關:對於OSPFv3,是OSPFv3鄰居之間或鄰居所在的區域;對於RIPng,是RIPng直連鄰居之間或鄰居所在的進程;對於BGP,是BGP鄰居之間或鄰居所在的一個組。

·     兩端IPsec SA使用的密鑰應當以相同的方式輸入,即如果一端以字符串方式輸入密鑰,另一端必須也以字符串方式輸入密鑰。如果先後以不同的方式輸入了密鑰,則最後設定的密鑰有效。

·     對於ESP協議,以字符串方式輸入密鑰時,係統會自動地同時生成認證算法的密鑰和加密算法的密鑰。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建一個手工方式的IPsec安全框架,並進入IPsec安全框架視圖。

ipsec profile profile-name manual

進入已創建的IPsec安全框架時,可以不指定協商方式manual

(3)     (可選)配置IPsec安全框架的描述信息。

description text

缺省情況下,無描述信息。

(4)     指定IPsec安全框架引用的IPsec安全提議。

transform-set transform-set-name

缺省情況下,IPsec安全框架沒有引用IPsec安全提議。

要引用的IPsec安全提議所采用的封裝模式必須為傳輸模式。

(5)     配置IPsec SA的SPI。

sa spi { inbound | outbound } { ah | esp } spi-number

缺省情況下,未配置IPsec SA的SPI。

(6)     配置IPsec SA使用的密鑰。

¡     配置AH協議的認證密鑰(以十六進製方式輸入)。

sa hex-key authentication { inbound | outbound } ah { cipher | simple } string

¡     配置AH協議的認證密鑰(以字符串方式輸入)。

sa string-key { inbound | outbound } ah { cipher | simple } string

¡     配置ESP協議的認證密鑰和加密密鑰(以字符串方式輸入)。

sa string-key { inbound | outbound } esp { cipher | simple } string

¡     配置ESP協議的認證密鑰(以十六進製方式輸入)。

sa hex-key authentication { inbound | outbound } esp { cipher | simple } string

¡     配置ESP協議的加密密鑰(以十六進製方式輸入)。

sa hex-key encryption { inbound | outbound } esp { cipher | simple } string

缺省情況下,未配置IPsec SA使用的密鑰。

根據本安全框架引用的安全提議中指定的安全協議,配置AH協議或ESP協議的密鑰,或者兩者都配置。

(7)     (可選)配置IPsec安全框架的別名。

profile alias alias-name

缺省情況下,IPsec安全框架的別名為profile-安全框架名稱。

1.7.3  在IPv6路由協議上應用IPsec安全框架

有關在IPv6路由協議上應用IPsec安全框架的相關配置,請分別參見“三層技術-IP路由配置指導”中的“IPv6 BGP”、“OSPFv3”和“RIPng”。

1.8  配置IPsec隧道保護隧道接口上的報文

1.8.1  配置任務簡介

IPsec隧道保護隧道接口上的報文配置任務如下:

(1)     配置IPsec安全提議

(2)     配置IKE協商方式的IPsec安全框架

(3)     在隧道接口上應用IPsec安全框架

(4)     (可選)配置IPsec隧道保護隧道接口上的報文的高級功能

¡     配置IPsec基於時間的抗重放窗口寬度

¡     配置IPsec抗重放窗口和序號的同步功能

¡     配置全局IPsec SA生存時間和空閑超時功能

¡     配置IPsec分片功能

¡     設置IPsec隧道模式下封裝後外層IP頭的DF位

¡     配置本端允許建立IPsec隧道的最大數

¡     配置本端僅作為協商IPsec SA的響應方功能

(5)     (可選)配置IPsec日誌和告警功能

¡     配置SDWAN模式的IPsec隧道的報文統計功能

¡     配置IPsec報文日誌信息記錄功能

¡     配置IPsec協商事件日誌功能

¡     配置IPsec告警功能

¡     開啟IPsec P2MP隧道表項事件日誌功能

1.8.2  配置IKE協商方式的IPsec安全框架

IKE協商方式的IPsec安全框架定義了對數據流進行IPsec保護所使用的安全提議,以及IKE profile。

1. 配置限製和指導

IPsec隧道兩端的配置必須符合以下要求:

·     IPsec安全框架引用的IPsec安全提議中應包含具有相同的安全協議、認證/加密算法和報文封裝模式的IPsec安全提議。

·     IPsec安全框架引用的IKE profile參數相匹配。

·     一條IKE協商方式的IPsec安全框架中最多可以引用六個IPsec安全提議。IKE協商過程中,IKE將會在隧道兩端配置的IPsec安全框架中查找能夠完全匹配的IPsec安全提議。如果IKE在兩端找不到完全匹配的IPsec安全提議,則SA不能協商成功,需要被保護的報文將被丟棄。

對於IKE協商建立的IPsec SA,遵循以下原則:

·     采用隧道兩端設置的IPsec SA生存時間中較小者。

·     可同時存在基於時間和基於流量兩種方式的IPsec SA生存時間,隻要到達指定的時間或指定的流量,IPsec SA就會老化。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建一個IKE協商方式的IPsec安全框架,並進入IPsec安全框架視圖。

ipsec profile profile-name isakmp

進入已創建的IPsec安全框架時,可以不指定協商方式isakmp

(3)     (可選)配置IPsec安全框架的描述信息。

description text

缺省情況下,無描述信息。

(4)     指定IPsec安全框架引用的IPsec安全提議。

transform-set transform-set-name&<1-6>

缺省情況下,IPsec安全框架沒有引用IPsec安全提議。

要引用的IPsec安全提議所采用的封裝模式必須為隧道模式。

(5)     指定IPsec安全框架引用的IKE profile。

ike-profile profile-name

缺省情況下,IPsec安全框架沒有引用IKE profile。若係統視圖下配置了IKE profile,則使用係統視圖下配置的IKE profile進行性協商,否則使用全局的IKE參數進行協商。

隻能引用一個IKE profile,IKE profile的相關配置請參見“安全配置指導”中的“IKE”。

(6)     (可選)指定IPsec安全框架引用的IKEv2 profile。

ikev2-profile profile-name

缺省情況下,IPsec安全框架沒有引用IKEv2 profile。若同時引用IKE profile和IKEv2 profile,優先使用IKEv2 profile進行協商。

隻能引用一個IKEv2 profile,IKE profile的相關配置請參見“安全配置指導”中的“IKEv2”。

(7)     (可選)配置IPsec SA的生存時間。

sa duration { time-based seconds | traffic-based kilobytes }

缺省情況下,IPsec安全框架下的IPsec SA生存時間為當前全局的IPsec SA生存時間。

(8)     (可選)配置IPsec SA的軟超時緩衝參數。

sa soft-duration buffer { time-based seconds | traffic-based kilobytes }

缺省情況下,未配置軟超時緩衝參數。

(9)     (可選)配置IPsec SA的空閑超時時間。

sa idle-time seconds

缺省情況下,IPsec安全框架下的IPsec SA空閑超時時間為當前全局的IPsec SA空閑超時時間。

(10)     (可選)配置IPsec安全框架的別名。

profile alias alias-name

缺省情況下,IPsec安全框架的別名為profile-安全框架名稱。

1.8.3  在隧道接口上應用IPsec安全框架

1. 功能簡介

在隧道接口上應用IPsec安全框架後,隧道兩端會通過IKE協商建立IPsec隧道對隧道接口上傳輸的數據流進行IPsec保護。隻有兩端IKE協商成功後IPsec隧道接口才會up。

應用IPsec安全框架的時候,還可以通過ACL規則來對路由到隧道接口的報文進行進一步的過濾,隻有匹配ACL permit規則的報文才會受到IPsec的保護。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建一個Tunnel接口,指定隧道模式,並進入該Tunnel接口視圖。

interface tunnel number mode { advpn { gre | udp }  [ ipv6 ] | ipsec [ ipv6 ] | mgre }

(3)     在隧道接口上應用IPsec安全框架。

tunnel protection ipsec profile profile-name [ acl [ ipv6 ] { acl-number | name acl-name } ]

缺省情況下,隧道接口下未應用IPsec安全框架。

1.9  配置IPsec保護SDWAN隧道接口上的報文

1.9.1  配置任務簡介

在SDWAN網絡中為了實現IPsec保護SDWAN隧道接口上的報文,需要在通信兩端的CPE設備上執行如下配置任務:

(1)     配置IPsec安全提議

(2)     配置SDWAN方式的IPsec安全框架

(3)     在SDWAN隧道接口上應用IPsec安全框架

(4)     (可選)配置IPsec基於時間的抗重放窗口寬度

(5)     (可選)配置IPsec抗重放窗口和序號的同步功能

(6)     (可選)配置全局IPsec SA生存時間和空閑超時功能

(7)     (可選)配置本端允許建立IPsec隧道的最大數

(8)     (可選)配置SDWAN模式的IPsec隧道的報文統計功能

(9)     (可選)配置IPsec協商事件日誌功能

1.9.2  配置SDWAN方式的IPsec安全框架

1. 功能簡介

SDWAN方式的IPsec安全框架,用於在SDWAN設備上生成IPsec SA。該類型的IPsec安全框架不限製對端IP地址,不需要進行ACL配置,即所有路由到SDWAN隧道接口的流量都會被IPsec保護,配置簡單,易於維護。

2. 配置限製和指導

IPsec通信雙方的IPsec安全框架所引用的IPsec安全提議中的安全協議、認證/加密算法可以不一致。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建一個SDWAN方式的IPsec安全框架,並進入IPsec安全框架視圖。

ipsec profile profile-name sdwan

進入已創建的IPsec安全框架時,可以不指定協商方式sdwan

(3)     (可選)配置IPsec安全框架的描述信息。

description text

缺省情況下,無描述信息。

(4)     指定IPsec安全框架引用的IPsec安全提議。

transform-set transform-set-name&

缺省情況下,IPsec安全框架沒有引用IPsec安全提議。

引用的IPsec安全提議所采用的封裝模式必須為傳輸模式。

(5)     (可選)配置IPsec SA的生存時間。

sa duration time-based seconds

缺省情況下,IPsec安全框架下的IPsec SA生存時間為當前全局的IPsec SA生存時間。

(6)     (可選)配置IPsec安全框架的別名。

profile alias alias-name

缺省情況下,IPsec安全框架的別名為profile-安全框架名稱

1.9.3  在SDWAN隧道接口上應用IPsec安全框架

1. 功能簡介

在SDWAN隧道接口上應用SDWAN方式的IPsec安全框架後,SDWAN設備將創建IPsec SA,用於對路由到SDWAN隧道接口的流量進行IPsec保護。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建一個Tunnel接口,指定隧道模式為SDWAN類型,並進入該Tunnel接口視圖。

interface tunnel number mode sdwan udp

(3)     在隧道接口上應用IPsec安全框架。

tunnel protection ipsec profile profile-name

缺省情況下,隧道接口下未應用IPsec安全框架。

(4)     配置在指定slot上處理當前接口的流量。

(獨立運行模式)

service slot slot-number

(IRF模式)

service chassis chassis-number slot slot-number

缺省情況下,未指定處理當前接口流量的slot,業務處理在接收報文的slot上進行。

1.10  配置IPsec基於時間的抗重放窗口寬度

1. 功能簡介

基於時間的抗重放檢測是指,本端設備向對端設備發送報文時,會在報文中添加時間戳,用於記錄報文的發送時間。該報文到達對端設備後,對端設備會檢測報文的時間戳,隻有在指定時間內到達的報文才會被接收,超過本命令配置的抗重放時間窗口寬度的報文將被設備丟棄。

相較於係統視圖下的基於序列號的全局抗重放功能,基於時間的抗重放檢測,不影響設備的轉發性能。在實現抗重放功能的同時,可以保證設備的轉發性能。因此,如果需要提升SDWAN的轉發性能,可以使用基於時間的抗重放功能。

在某些特定環境下,業務報文的發送和接收時間差可能與正常的時間差相差較大,雖然並非有意的重放攻擊,但會被基於時間的抗重放檢測認為是重放報文,導致業務數據報文被丟棄,影響業務的正常運行。因此,這種情況下就可以通過關閉基於時間的抗重放檢測功能,避免業務數據報文被錯誤丟棄,也可以通過適當地增大抗重放時間窗口的寬度,來適應業務正常運行的需要。

2. 配置限製和指導

·     本功能僅支持在SDWAN方式的IPsec安全框架下進行配置。

·     修改後的抗重放時間窗口寬度僅對新協商成功的IPsec SA生效。

·     本功能需要開啟IPsec抗重放檢測功能(通過ipsec anti-replay check命令開啟)後才能生效。

·     當本功能與係統視圖下的全局抗重放功能同時配置時,僅本功能生效。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入SDWAN方式的IPsec安全框架視圖。

ipsec profile profile-name sdwan

(3)     配置IPsec基於時間的抗重放窗口寬度。

anti-replay time-based window seconds

缺省情況下,使用全局配置的基於序列號的抗重放窗口寬度。

1.11  配置IPsec抗重放窗口和序號的同步功能

1. 功能簡介

IPsec抗重放窗口和序號的同步功能是指,以指定的報文間隔將接口上IPsec入方向抗重放窗口的左側值和出方向IPsec報文的抗重放序號進行備份。當配置了防重放窗口和序號的同步間隔的IPsec安全策略/IPsec安全框架被應用到接口/IPv6路由協議上時,若IPsec冗餘備份功能處於開啟狀態,則可以保證主備切換時IPsec流量不間斷和抗重放保護不間斷。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IPsec冗餘備份功能。

ipsec redundancy enable

缺省情況下,IPsec冗餘備份功能處於關閉狀態。

(3)     進入IPsec安全策略視圖/IPsec安全策略模板視圖/IPsec安全框架視圖。

¡     進入IPsec安全策略視圖。

ipsec { ipv6-policy | policy } policy-name seq-number [ gdoi | isakmp | manual ]

¡     進入IPsec安全策略模板視圖。

ipsec { ipv6-policy-template | policy-template } template-name seq-number

¡     進入IPsec安全框架視圖。

ipsec profile profile-name [ isakmp | manual ]

(4)     配置防重放窗口和序號的同步間隔。

redundancy replay-interval inbound inbound-interval outbound outbound-interval

缺省情況下,同步入方向防重放窗口的報文間隔為1000個報文,同步出方向IPsec SA防重放序號的報文間隔為100000個報文。

1.12  配置全局IPsec SA生存時間和空閑超時功能

1. 功能簡介

此功能用來配置IPsec SA生存時間和空閑超時功能。對於IKE協商建立的IPsec SA,遵循以下原則:

·     采用隧道兩端設置的IPsec SA生存時間中較小者。

·     可同時存在基於時間和基於流量兩種方式的IPsec SA生存時間,隻要到達指定的時間或指定的流量,IPsec SA就會老化。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置IPsec SA生存時間或者IPsec SA空閑超時時間。

¡     配置IPsec SA生存時間。

ipsec sa global-duration { time-based seconds | traffic-based kilobytes }

缺省情況下,IPsec SA基於時間的生存時間為3600秒,基於流量的生存時間為1843200千字節。

¡     配置IPsec SA的全局軟超時緩衝參數。

ipsec sa global-soft-duration buffer { time-based seconds | traffic-based kilobytes }

缺省情況下,未配置全局軟超時緩衝參數。

¡     開啟IPsec SA空閑超時功能,並配置IPsec SA空閑超時時間。

ipsec sa idle-time seconds

缺省情況下, IPsec SA空閑超時功能處於關閉狀態。

1.13  配置IPsec分片功能

1. 功能簡介

通過配置IPsec分片功能,可以選擇在報文進行IPsec封裝之前是否進行分片:

·     IPsec封裝前分片功能處於開啟狀態時,設備會先判斷報文在經過IPsec封裝之後大小是否會超過發送接口的MTU值,如果封裝後的大小超過發送接口的MTU值,那麼會先對其分片再封裝。

·     IPsec封裝後分片功能處於開啟狀態時,無論報文封裝後大小是否超過發送接口的MTU值,設備會直接對其先進行IPsec封裝處理,再由後續業務對其進行分片。

2. 配置限製和指導

該功能僅對需要進行IPsec封裝的IPv4報文有效。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置IPsec分片功能。

ipsec fragmentation { after-encryption | before-encryption }

缺省情況下,IPsec封裝前分片功能處於開啟狀態。

1.14  設置IPsec隧道模式下封裝後外層IP頭的DF位

1. 功能簡介

IP報文頭中的DF(Don’t Fragment,不分片)位用於控製報文是否允許被分片。在隧道模式下,IPsec會在原始報文外封裝一個新的IP頭,稱為外層IP頭。IPsec的DF位設置功能允許用戶設置IPsec封裝後的報文外層IP頭的DF位,並支持以下三種設置方式:

·     clear:表示清除外層IP頭的DF位,IPsec封裝後的報文可被分片。

·     set:表示設置外層IP頭的DF位,IPsec封裝後的報文不能被分片。

·     copy:表示外層IP頭的DF位從原始報文IP頭中拷貝。

封裝後外層IP頭的DF位可以在IPsec安全策略視圖/IPsec安全策略模板視圖/IPsec安全框架視圖、接口視圖和係統視圖下分別配置,IPsec安全策略/IPsec安全策略模板/IPsec安全框架下的配置優先級最高。如果IPsec安全策略/IPsec安全策略模板/IPsec安全框架下未配置IPsec DF位,將使用接口下配置的IPsec DF位;如果接口下也未配置IPsec DF位,將使用係統視圖下配置的全局IPsec DF位。

2. 配置限製和指導

·     該功能僅在IPsec的封裝模式為隧道模式時有效,僅用於設置IPsec隧道模式封裝後的外層IP頭的DF位,原始報文IP頭的DF位不會被修改。

·     隻有IKE協商方式的IPsec才能夠支持本功能。

·     如果有多個接口應用了共享源接口安全策略,則這些接口上必須使用相同的DF位設置。

·     轉發報文時對報文進行分片、重組,可能會導致報文的轉發延時較大。若設置了封裝後IPsec報文的DF位,則不允許對IPsec報文進行分片,可以避免引入分片延時。這種情況下,要求IPsec報文轉發路徑上各個接口的MTU大於IPsec報文長度,否則,會導致IPsec報文被丟棄。如果無法保證轉發路徑上各個接口的MTU大於IPsec報文長度,則建議清除DF位。

3. 在IPsec安全策略/IPsec安全策略模板/IPsec安全框架下設置IPsec封裝後外層IP頭的DF位

(1)     進入係統視圖。

system-view

(2)     進入IPsec安全策略視圖/IPsec安全策略模板視圖/IPsec安全框架視圖。

¡     進入IPsec安全策略視圖。

ipsec { ipv6-policy | policy } policy-name seq-number isakmp

¡     進入IPsec安全策略模板視圖。

ipsec { ipv6-policy-template | policy-template } template-name seq-number

¡     進入IPsec安全框架視圖。

ipsec profile profile-name isakmp

(3)     為IPsec安全策略/IPsec安全策略模板/IPsec安全框架設置IPsec封裝後外層IP頭的DF位。

sa df-bit { clear | copy | set }

缺省情況下,未設置IPsec封裝後外層IP頭的DF位,采用接口或全局設置的DF位。

4. 在接口下設置IPsec封裝後外層IP頭的DF位

(1)     進入係統視圖。

system-view

(2)     進入接口視圖。

interface interface-type interface-number

(3)     為當前接口設置IPsec封裝後外層IP頭的DF位。

ipsec df-bit { clear | copy | set }

缺省情況下,接口下未設置IPsec封裝後外層IP頭的DF位,采用全局設置的DF位。

5. 全局設置IPsec封裝後外層IP頭的DF位

(1)     進入係統視圖。

system-view

(2)     為全局設置IPsec封裝後外層IP頭的DF位。

ipsec global-df-bit { clear | copy | set }

缺省情況下,IPsec封裝後外層IP頭的DF位從原始報文IP頭中拷貝。

1.15  配置本端允許建立IPsec隧道的最大數

1. 配置限製與指導

此功能用來配置對本端IPsec隧道數目的限製。本端允許建立IPsec隧道的最大數與內存資源有關。內存充足時可以設置較大的數值,提高IPsec的並發性能;內存不足時可以設置較小的數值,降低IPsec占用內存的資源。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置本端允許建立IPsec隧道的最大數。

ipsec limit max-tunnel tunnel-limit

缺省情況下,本端允許建立IPsec隧道的最大數為4294967295。

1.15.2  配置本端僅作為協商IPsec SA的響應方功能

1. 功能簡介

缺省情況下,如果IPsec對等體兩端均采用IKE協商方式的IPsec安全框架建立IPsec SA,則兩端均會主動發起協商,對等體之間將存在兩個協商IPsec SA的過程,但對等體之間最終隻會建立一個IPsec SA,該協商過程將會造成設備CPU資源的浪費。此時可以配置本功能,指定本端隻能作為建立IPsec SA的響應方,不主動發起協商,可以有效解決此問題,同時也有助於IPsec故障的診斷和定位。

2. 配置限製和指導

建議在中心-分支組網環境中的中心側配置本功能。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IPsec安全策略視圖/IPsec安全策略模板視圖/IPsec安全框架視圖。

¡     進入IPsec安全策略視圖。

ipsec { ipv6-policy | policy } policy-name seq-number isakmp

¡     進入IPsec安全策略模板視圖。

ipsec { ipv6-policy-template | policy-template } template-name seq-number

¡     進入IPsec安全框架視圖。

ipsec profile profile-name isakmp

(3)     開啟本端僅作為協商IPsec SA的響應方功能。

responder-only enable

缺省情況下,本端僅作為協商IPsec SA的響應方功能處於關閉狀態。

1.16  配置SDWAN模式的IPsec隧道的報文統計功能

1. 功能簡介

開啟SDWAN模式的IPsec隧道的報文統計功能後,當設備處理的SDWAN業務流量較多時會產生大量的統計信息,占用設備較多的存儲空間,從而影響設備的SDWAN轉發性能。此時,可以通過關閉SDWAN模式的IPsec隧道的報文統計功能,提升SDWAN的轉發性能。當SDWAN業務流量較少或業務出現問題時,可以重新打開該報文統計功能,用於記錄報文統計信息或協助定位問題。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     關閉SDWAN模式的IPsec隧道的報文統計功能。

undo ipsec sdwan-statistics enable

缺省情況下,SDWAN模式的IPsec隧道的報文統計功能處於開啟狀態。

1.17  配置IPsec報文日誌信息記錄功能

1. 功能簡介

開啟IPsec報文日誌記錄功能後,設備會在丟棄IPsec報文的情況下,例如入方向找不到對應的IPsec SA、AH/ESP認證失敗、ESP加密失敗等時,輸出相應的日誌信息,該日誌信息內容主要包括報文的源和目的IP地址、報文的SPI值、報文的序列號信息,以及設備丟包的原因。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IPsec報文日誌記錄功能。

ipsec logging packet enable

缺省情況下,IPsec報文日誌記錄功能處於關閉狀態。

1.18  配置IPsec協商事件日誌功能

1. 功能簡介

開啟IPsec協商事件日誌記錄功能後,設備會輸出IPsec協商過程中的相關日誌。

此功能隻在非FIPS模式下才支持。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IPsec協商事件日誌功能。

ipsec logging negotiation enable

缺省情況下,IPsec協商事件日誌功能處於關閉狀態。

1.19  配置IPsec告警功能

1. 功能簡介

開啟IPsec的Trap功能後,IPsec會生成告警信息,用於向網管軟件報告該模塊的重要事件。生成的告警信息將被發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。

如果希望生成並輸出某種類型的IPsec告警信息,則需要保證IPsec的全局告警功能以及相應類型的告警功能均處於開啟狀態。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IPsec的全局告警功能。

snmp-agent trap enable ipsec global

缺省情況下,IPsec的全局告警功能處於關閉狀態。

(3)     開啟IPsec的指定告警功能。

snmp-agent trap enable ipsec [ auth-failure | connection-start | connection-stop | decrypt-failure | encrypt-failure | invalid-sa-failure | no-sa-failure | policy-add | policy-attach | policy-delete | policy-detach | tunnel-start | tunnel-stop ] *

缺省情況下,IPsec的所有告警功能均處於關閉狀態。

1.20  開啟IPsec P2MP隧道表項事件日誌功能

1. 功能簡介

開啟IPsec P2MP隧道表項日誌記錄功能後,當IPsec P2MP隧道學習表項和刪除表項時,設備會輸出相關日誌信息。有關日誌信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“信息中心”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IPsec P2MP隧道表項日誌功能。

ipsec logging ipsec-p2mp enable

缺省情況下,IPsec的P2MP隧道表項日誌記錄功能處於關閉狀態。

1.21  IPsec顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IPsec的運行情況,通過查看顯示信息認證配置的效果。

在用戶視圖下執行reset命令可以清除IPsec統計信息。

表1-2 IPsec顯示和維護

操作

命令

顯示IPsec的全局配置信息

display ipsec global-info

顯示IPsec安全策略的信息

display ipsec { ipv6-policy | policy } [ policy-name [ seq-number ] ]

顯示IPsec安全策略模板的信息

display ipsec { ipv6-policy-template | policy-template } [ template-name [ seq-number ] ]

顯示IPsec P2MP隧道表項的信息

(獨立運行模式)

display ipsec p2mp tunnel-table interface tunnel tunnel-number [ ipv4 | ipv6 ] [ slot slot-number ]

(IRF模式)

display ipsec p2mp tunnel-table interface tunnel tunnel-number [ ipv4 | ipv6 ] [ chassis chassis-number slot slot-number ]

顯示IPsec安全框架的信息

display ipsec profile [ profile-name ]

顯示IPsec SA的相關信息

display ipsec sa [ brief | count | interface interface-type interface-number [ brief | count ] | { ipv6-policy | policy } policy-name [ seq-number ] [ brief | count ] | profile profile-name [ brief | count ] | remote [ ipv6 ] ip-address [ brief | count ] ]

顯示本端SDWAN模式的IPsec SA的相關信息

display ipsec sdwan-sa local [ brief | count | interface tunnel tunnel-number | spi spi-number ]

顯示對端SDWAN模式的IPsec SA的相關信息

display ipsec sdwan-sa remote [ brief | count ]

顯示SDWAN模式的IPsec隧道的報文統計信息

display ipsec sdwan-statistics [ tunnel-id tunnel-id ]

顯示SDWAN模式的IPsec隧道信息

display ipsec sdwan-tunnel [ brief | count | remote-site site-id device-id interface-id | tunnel-id tunnel-id ]

顯示IPsec處理報文的統計信息

display ipsec statistics [ tunnel-id tunnel-id ]

顯示IPsec安全提議的信息

display ipsec transform-set [ transform-set-name ]

顯示IPsec隧道的信息

display ipsec tunnel [ brief | count | tunnel-id tunnel-id ]

清除已經建立的IPsec SA

reset ipsec sa [ { ipv6-policy | policy } policy-name [ seq-number ] | profile profile-name | remote { ipv4-address | ipv6 ipv6-address } | spi { ipv4-address | ipv6 ipv6-address } { ah | esp } spi-num ]

清除SDWAN模式的IPsec SA

reset ipsec sdwan-sa [ local [ interface tunnel tunnel-number ] | remote ]

清除SDWAN模式的IPsec隧道的報文統計信息

reset ipsec sdwan-statistics [ tunnel-id tunnel-id ]

清除SDWAN模式的IPsec隧道信息

reset ipsec sdwan-tunnel [ tunnel-id tunnel-id ]

清除IPsec的報文統計信息

reset ipsec statistics [ tunnel-id tunnel-id ]

 

1.22  IPsec典型配置舉例

1.22.1  采用手工方式建立保護IPv4報文的IPsec隧道

1. 組網需求

在Router A和Router B之間建立一條IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。具體要求如下:

·     封裝形式為隧道模式。

·     安全協議采用ESP協議。

·     加密算法采用128比特的AES,認證算法采用HMAC-SHA1。

·     手工方式建立IPsec SA。

2. 組網圖

圖1-11 保護IPv4報文的IPsec配置組網圖

3. 配置步驟

(1)     配置Router A

# 配置各接口的IP地址,具體略。

# 配置一個IPv4高級ACL,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。

<RouterA> system-view

[RouterA] acl advanced 3101

[RouterA-acl-ipv4-adv-3101] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[RouterA-acl-ipv4-adv-3101] quit

# 配置到達Host B所在子網的靜態路由。2.2.2.3為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[RouterA] ip route-static 10.1.2.0 255.255.255.0 gigabitethernet 1/0/2 2.2.2.3

# 創建IPsec安全提議tran1。

[RouterA] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[RouterA-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[RouterA-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為采用128比特的AES,認證算法為HMAC-SHA1。

[RouterA-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[RouterA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterA-ipsec-transform-set-tran1] quit

# 創建一條手工方式的IPsec安全策略,名稱為map1,序列號為10。

[RouterA] ipsec policy map1 10 manual

# 指定引用ACL 3101。

[RouterA-ipsec-policy-manual-map1-10] security acl 3101

# 指定引用的IPsec安全提議為tran1。

[RouterA-ipsec-policy-manual-map1-10] transform-set tran1

# 指定IPsec隧道對端IP地址為2.2.3.1。

[RouterA-ipsec-policy-manual-map1-10] remote-address 2.2.3.1

# 配置ESP協議的出方向SPI為12345,入方向SPI為54321。

[RouterA-ipsec-policy-manual-map1-10] sa spi outbound esp 12345

[RouterA-ipsec-policy-manual-map1-10] sa spi inbound esp 54321

# 配置ESP協議的出方向SA的密鑰為明文字符串abcdefg,入方向SA的密鑰為明文字符串gfedcba。

[RouterA-ipsec-policy-manual-map1-10] sa string-key outbound esp simple abcdefg

[RouterA-ipsec-policy-manual-map1-10] sa string-key inbound esp simple gfedcba

[RouterA-ipsec-policy-manual-map1-10] quit

 # 在接口GigabitEthernet1/0/2上應用IPsec安全策略map1。

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] ip address 2.2.2.1 255.255.255.0

[RouterA-GigabitEthernet1/0/2] ipsec apply policy map1

[RouterA-GigabitEthernet1/0/2] quit

(2)     配置Router B

# 配置各接口的IP地址,具體略。

# 配置一個IPv4高級ACL,定義要保護由子網10.1.2.0/24去往子網10.1.1.0/24的數據流。

<RouterB> system-view

[RouterB] acl advanced 3101

[RouterB-acl-ipv4-adv-3101] rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

[RouterB-acl-ipv4-adv-3101] quit

# 配置到達Host A所在子網的靜態路由。2.2.3.3為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[RouterB] ip route-static 10.1.1.0 255.255.255.0 gigabitethernet 1/0/2 2.2.3.3

# 創建IPsec安全提議tran1。

[RouterB] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[RouterB-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[RouterB-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[RouterB-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[RouterB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterB-ipsec-transform-set-tran1] quit

# 創建一條手工方式的IPsec安全策略,名稱為use1,序列號為10。

[RouterB] ipsec policy use1 10 manual

# 指定引用ACL 3101。

[RouterB-ipsec-policy-manual-use1-10] security acl 3101

# 指定引用的IPsec安全提議為tran1。

[RouterB-ipsec-policy-manual-use1-10] transform-set tran1

# 指定IPsec隧道對端IP地址為2.2.2.1。

[RouterB-ipsec-policy-manual-use1-10] remote-address 2.2.2.1

# 配置ESP協議的出方向SPI為54321,入方向SPI為12345。

[RouterB-ipsec-policy-manual-use1-10] sa spi outbound esp 54321

[RouterB-ipsec-policy-manual-use1-10] sa spi inbound esp 12345

# 配置ESP協議的出方向SA的密鑰為明文字符串gfedcba,入方向SA的密鑰為明文字符串abcdefg。

[RouterB-ipsec-policy-manual-use1-10] sa string-key outbound esp simple gfedcba

[RouterB-ipsec-policy-manual-use1-10] sa string-key inbound esp simple abcdefg

[RouterB-ipsec-policy-manual-use1-10] quit

# 在接口GigabitEthernet1/0/2上應用IPsec安全策略use1。

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] ip address 2.2.3.1 255.255.255.0

[RouterB-GigabitEthernet1/0/2] ipsec apply policy use1

[RouterB-GigabitEthernet1/0/2] quit

4. 驗證配置

以上配置完成後,Router A和Router B之間的IPsec隧道就建立好了,子網10.1.1.0/24與子網10.1.2.0/24之間數據流的傳輸將受到生成的IPsec SA的保護。可通過以下顯示查看Router A上手工創建的IPsec SA。

[RouterA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/2

-------------------------------

 

  -----------------------------

  IPsec policy: map1

  Sequence number: 10

  Alias: map1-10

  Mode: Manual

  -----------------------------

    Tunnel id: 549

    Encapsulation mode: tunnel

    Path MTU: 1443

    Tunnel:

        local  address/port: 2.2.2.1/0

        remote address/port: 2.2.3.1/0

    Flow:

        as defined in ACL 3101

    [Inbound ESP SA]

      SPI: 54321 (0x0000d431)

      Connection ID: 90194313219

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      No duration limit for this SA

    [Outbound ESP SA]

      SPI: 12345 (0x00003039)

      Connection ID: 64424509441

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      No duration limit for this SA

Router B上也會產生相應的IPsec SA來保護IPv4報文,查看方式與Router A同,此處略。

1.22.2  采用IKE方式建立保護IPv4報文的IPsec隧道

1. 組網需求

在Router A和Router B之間建立一條IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。具體要求如下:

·     封裝形式為隧道模式。

·     安全協議采用ESP協議。

·     加密算法采用128比特的AES,認證算法采用HMAC-SHA1。

·     IKE協商方式建立IPsec SA。

2. 組網圖

圖1-12 保護IPv4報文的IPsec配置組網圖

3. 配置步驟

(1)     配置Router A

# 配置各接口的IP地址,具體略。

# 配置一個IPv4高級ACL,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。

<RouterA> system-view

[RouterA] acl advanced 3101

[RouterA-acl-ipv4-adv-3101] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[RouterA-acl-ipv4-adv-3101] quit

# 配置到達Host B所在子網的靜態路由。2.2.2.3為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[RouterA] ip route-static 10.1.2.0 255.255.255.0 gigabitethernet 1/0/2 2.2.2.3

# 創建IPsec安全提議tran1。

[RouterA] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[RouterA-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[RouterA-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[RouterA-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[RouterA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterA-ipsec-transform-set-tran1] quit

# 創建並配置IKE keychain,名稱為keychain1。

[RouterA] ike keychain keychain1

# 配置與IP地址為2.2.3.1的對端使用的預共享密鑰為明文123456TESTplat&!。

[RouterA-ike-keychain-keychain1] pre-shared-key address 2.2.3.1 255.255.255.0 key simple 123456TESTplat&!

[RouterA-ike-keychain-keychain1] quit

# 創建並配置IKE profile,名稱為profile1。

[RouterA] ike profile profile1

[RouterA-ike-profile-profile1] keychain keychain1

[RouterA-ike-profile-profile1] match remote identity address 2.2.3.1 255.255.255.0

[RouterA-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為map1,序列號為10。

[RouterA] ipsec policy map1 10 isakmp

# 指定引用ACL 3101。

[RouterA-ipsec-policy-isakmp-map1-10] security acl 3101

# 指定引用的安全提議為tran1。

[RouterA-ipsec-policy-isakmp-map1-10] transform-set tran1

# 指定IPsec隧道的本端IP地址為2.2.2.1,對端IP地址為2.2.3.1。

[RouterA-ipsec-policy-isakmp-map1-10] local-address 2.2.2.1

[RouterA-ipsec-policy-isakmp-map1-10] remote-address 2.2.3.1

# 指定引用的IKE profile為profile1。

[RouterA-ipsec-policy-isakmp-map1-10] ike-profile profile1

[RouterA-ipsec-policy-isakmp-map1-10] quit

# 在接口GigabitEthernet1/0/2上應用安全策略map1。

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] ip address 2.2.2.1 255.255.255.0

[RouterA-GigabitEthernet1/0/2] ipsec apply policy map1

[RouterA-GigabitEthernet1/0/2] quit

(2)     配置Router B

# 配置各接口的IP地址,具體略。

# 配置一個IPv4高級ACL,定義要保護由子網10.1.2.0/24去往子網10.1.1.0/24的數據流。

<RouterB> system-view

[RouterB] acl advanced 3101

[RouterB-acl-ipv4-adv-3101] rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

[RouterB-acl-ipv4-adv-3101] quit

# 配置到達Host A所在子網的靜態路由。2.2.3.3為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[RouterB] ip route-static 10.1.1.0 255.255.255.0 gigabitethernet 1/0/2 2.2.3.3

# 創建IPsec安全提議tran1。

[RouterB] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[RouterB-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[RouterB-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[RouterB-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[RouterB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterB-ipsec-transform-set-tran1] quit

# 創建並配置IKE keychain,名稱為keychain1。

[RouterB] ike keychain keychain1

[RouterB-ike-keychain-keychain1] pre-shared-key address 2.2.2.1 255.255.255.0 key simple 123456TESTplat&!

[RouterB-ike-keychain-keychain1] quit

# 創建並配置IKE profile,名稱為profile1。

[RouterB] ike profile profile1

[RouterB-ike-profile-profile1] keychain keychain1

[RouterB-ike-profile-profile1] match remote identity address 2.2.2.1 255.255.255.0

[RouterB-ike-profile-profile1] quit

# 創建一條IKE協商方式的安全策略,名稱為use1,序列號為10。

[RouterB] ipsec policy use1 10 isakmp

# 指定引用ACL 3101。

[RouterB-ipsec-policy-isakmp-use1-10] security acl 3101

# 指定引用的IPsec安全提議為tran1。

[RouterB-ipsec-policy-isakmp-use1-10] transform-set tran1

# 指定IPsec隧道的本端IP地址為2.2.3.1,對端IP地址為2.2.2.1。

[RouterB-ipsec-policy-isakmp-use1-10] local-address 2.2.3.1

[RouterB-ipsec-policy-isakmp-use1-10] remote-address 2.2.2.1

# 指定引用的IKE對等體為profile1。

[RouterB-ipsec-policy-isakmp-use1-10] ike-profile profile1

[RouterB-ipsec-policy-isakmp-use1-10] quit

# 在接口GigabitEthernet1/0/2上應用IPsec安全策略use1。

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] ip address 2.2.3.1 255.255.255.0

[RouterB-GigabitEthernet1/0/2] ipsec apply policy use1

[RouterB-GigabitEthernet1/0/2] quit

4. 驗證配置

以上配置完成後,Router A和Router B之間如果有子網10.1.1.0/24與子網10.1.2.0/24之間的報文通過,將觸發IKE進行IPsec SA的協商。IKE成功協商出IPsec SA後,子網10.1.1.0/24與子網10.1.2.0/24之間數據流的傳輸將受到IPsec SA的保護。可通過以下顯示查看到協商生成的IPsec SA。

[RouterA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/2

-------------------------------

 

  -----------------------------

  IPsec policy: map1

  Sequence number: 10

  Alias: map1-10

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Transmitting entity: Initiator

    Path MTU: 1443

    Tunnel:

        local  address/port: 2.2.3.1/500

        remote address/port: 2.2.2.1/500

    Flow:

        sour addr: 10.1.1.0/255.255.255.0  port: 0  protocol: ip

        dest addr: 10.1.2.0/255.255.255.0  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 3769702703 (0xe0b1192f)

      Connection ID: 90194313219

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 3000/28800

      SA remaining duration (kilobytes/sec): 2300/797

      Max received sequence-number: 1

      Anti-replay check enable: N

      Anti-replay window size:

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 3840956402 (0xe4f057f2)

      Connection ID: 64424509441

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA idle time: 60

      SA duration (kilobytes/sec): 3000/28800

      SA remaining duration (kilobytes/sec): 2312/797

      Max sent sequence-number: 1

      UDP encapsulation used for NAT traversal: N

      Status: Active

Router B上也會產生相應的IPsec SA來保護IPv4報文,查看方式與Router A同,此處略。

1.22.3  采用IKE方式建立保護IPv6報文的IPsec隧道

1. 組網需求

在Router A和Router B之間建立一條IPsec隧道,對Host A所在的子網(333::/64)與Host B所在的子網(555::/64)之間的數據流進行安全保護。具體要求如下:

·     封裝形式為隧道模式。

·     安全協議采用ESP協議。

·     加密算法采用128比特的AES,認證算法采用HMAC-SHA1。

·     IKE協商方式建立IPsec SA。

2. 組網圖

圖1-13 保護IPv6報文的IPsec配置組網圖

 

3. 配置步驟

(1)     配置Router A

# 配置各接口的IPv6地址,具體略。

# 配置一個IPv6高級ACL,定義要保護由子網333::/64去往子網555::/64的數據流。

<RouterA> system-view

[RouterA] acl ipv6 advanced 3101

[RouterA-acl-ipv6-adv-3101] rule permit ipv6 source 333::0 64 destination 555::0 64

[RouterA-acl-ipv6-adv-3101] quit

# 配置到達Host B所在子網的靜態路由。111::2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[RouterA] ipv6 route-static 555::0 64 111::2

# 創建IPsec安全提議tran1。

[RouterA] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[RouterA-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[RouterA-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[RouterA-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[RouterA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterA-ipsec-transform-set-tran1] quit

# 創建並配置IKE keychain,名稱為keychain1。

[RouterA] ike keychain keychain1

[RouterA-ike-keychain-keychain1] pre-shared-key address ipv6 222::1 64 key simple 123456TESTplat&!

[RouterA-ike-keychain-keychain1] quit

# 創建並配置IKE profile,名稱為profile1。

[RouterA] ike profile profile1

[RouterA-ike-profile-profile1] keychain keychain1

[RouterA-ike-profile-profile1] match remote identity address ipv6 222::1 64

[RouterA-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為map1,序列號為10。

[RouterA] ipsec ipv6-policy map1 10 isakmp

# 指定引用IPv6 ACL 3101。

[RouterA-ipsec-ipv6-policy-isakmp-map1-10] security acl ipv6 3101

# 指定引用的IPsec安全提議為tran1。

[RouterA-ipsec-ipv6-policy-isakmp-map1-10] transform-set tran1

# 指定IPsec隧道本端IPv6地址為111::1,對端IPv6地址為222::1。

[RouterA-ipsec-ipv6-policy-isakmp-map1-10] local-address ipv6 111::1

[RouterA-ipsec-ipv6-policy-isakmp-map1-10] remote-address ipv6 222::1

# 指定引用的IKE對等體為profile1。

[RouterA-ipsec-ipv6-policy-isakmp-map1-10] ike-profile profile1

[RouterA-ipsec-ipv6-policy-isakmp-map1-10] quit

# 在接口GigabitEthernet1/0/2上應用IPsec安全策略map1。

[RouterA] interface gigabitethernet 1/0/2

[RouterA-GigabitEthernet1/0/2] ipv6 address 111::1/64

[RouterA-GigabitEthernet1/0/2] ipsec apply ipv6-policy map1

[RouterA-GigabitEthernet1/0/2] quit

(2)     配置Router B

# 配置各接口的IPv6地址,具體略。

# 配置一個IPv6高級ACL,定義要保護由子網555::/64去往子網333::/64的數據流。

<RouterB> system-view

[RouterB] acl ipv6 advanced 3101

[RouterB-acl-ipv6-adv-3101] rule permit ipv6 source 555::/64 destination 333::/64

[RouterB-acl-ipv6-adv-3101] quit

# 配置到達Host A所在子網的靜態路由。222::2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[RouterB] ipv6 route-static 333::0 64 222::2

# 創建IPsec安全提議tran1。

[RouterB] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[RouterB-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[RouterB-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[RouterB-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[RouterB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterB-ipsec-transform-set-tran1] quit

# 創建並配置IKE keychain,名稱為keychain1。

[RouterB] ike keychain keychain1

[RouterB-ike-keychain-keychain1] pre-shared-key address ipv6 111::1 64 key simple 123456TESTplat&!

[RouterB-ike-keychain-keychain1] quit

# 創建並配置IKE profile,名稱為profile1。

[RouterB] ike profile profile1

[RouterB-ike-profile-profile1] keychain keychain1

[RouterB-ike-profile-profile1] match remote identity address ipv6 111::1 64

[RouterB-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為use1,序列號為10。

[RouterB] ipsec ipv6-policy use1 10 isakmp

# 指定引用ACL 3101。

[RouterB-ipsec-ipv6-policy-isakmp-use1-10] security acl ipv6 3101

# 指定引用的安全提議為tran1。

[RouterB-ipsec-ipv6-policy-isakmp-use1-10] transform-set tran1

# 指定IPsec隧道本端IPv6地址為222::1,對端IPv6地址為111::1。

[RouterB-ipsec-ipv6-policy-isakmp-use1-10] local-address ipv6 222::1

[RouterB-ipsec-ipv6-policy-isakmp-use1-10] remote-address ipv6 111::1

# 指定引用的IKE對等體為profile1。

[RouterB-ipsec-ipv6-policy-isakmp-use1-10] ike-profile profile1

[RouterB-ipsec-ipv6-policy-isakmp-use1-10] quit

# 在接口GigabitEthernet1/0/2上應用IPsec安全策略use1。

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] ipv6 address 222::1/64

[RouterB-GigabitEthernet1/0/2] ipsec apply ipv6-policy use1

[RouterB-GigabitEthernet1/0/2] quit

4. 驗證配置

以上配置完成後,當Router A和Router B之間有子網333::/64與子網555::/64之間的報文通過時,將觸發IKE進行IPsec SA的協商。IKE成功協商出IPsec SA後,子網333::/64與子網555::/64之間數據流的傳輸將受到IPsec SA的保護。可通過以下顯示查看到協商生成的IPsec SA。

[RouterA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/2

-------------------------------

 

  -----------------------------

  IPsec policy: map1

  Sequence number: 10

  Alias: map1-10

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Transmitting entity: Initiator

    Path MTU: 1423

    Tunnel:

        local  address/port: 111::1/500

        remote address/port: 222::1/500

    Flow:

    sour addr: 111::1/0      port: 0  protocol: ipv6

    dest addr: 222::1/0      port: 0  protocol: ipv6

 

    [Inbound ESP SAs]

      SPI: 3769702703 (0xe0b1192f)

      Connection ID: 1

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 3000/28800

      SA remaining duration (kilobytes/sec): 2300/797

      Max received sequence-number: 1

      Anti-replay check enable: N

      Anti-replay window size:

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 3840956402 (0xe4f057f2)

      Connection ID: 2

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 3000/28800

      SA remaining duration (kilobytes/sec): 2312/797

      Max sent sequence-number: 1

      UDP encapsulation used for NAT traversal: N

      Status: Active

Router B上也會產生相應的IPsec SA來保護IPv6報文,查看方式與Router A同,此處略。

1.22.4  配置IPsec保護RIPng報文

1. 組網需求

圖1-14所示,Router A、Router B和Router C相連,並通過RIPng來學習網絡中的IPv6路由信息。在各設備之間建立IPsec隧道,對它們收發的RIPng報文進行安全保護。具體要求如下:

·     安全協議采用ESP協議;

·     加密算法采用128比特的AES;

·     認證算法采用HMAC-SHA1。

2. 組網圖

圖1-14 配置IPsec保護RIPng報文組網圖

3. 配置思路

(1)     配置RIPng的基本功能

RIPng配置的詳細介紹請參見“三層技術-IP路由配置指導”中的“RIPng”。

(2)     配置IPsec安全框架

¡     各設備上本端出方向SA的SPI及密鑰必須和本端入方向SA的SPI及密鑰保持一致。

¡     Router A、Router B和Router C上的安全策略所引用的安全提議采用的安全協議、認證/加密算法和報文封裝模式要相同,而且所有設備上的SA的SPI及密鑰均要保持一致。

(3)     在RIPng進程下或接口上應用IPsec安全框架

4. 配置步驟

(1)     配置Router A

¡     配置各接口的IPv6地址(略)

¡     配置RIPng的基本功能

<RouterA> system-view

[RouterA] ripng 1

[RouterA-ripng-1] quit

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] ripng 1 enable

[RouterA-GigabitEthernet1/0/1] quit

¡     配置IPsec安全框架

# 創建並配置名為tran1的IPsec安全提議(報文封裝模式采用傳輸模式,安全協議采用ESP協議,加密算法采用128比特的AES,認證算法采用HMAC-SHA1)。

[RouterA] ipsec transform-set tran1

[RouterA-ipsec-transform-set-tran1] encapsulation-mode transport

[RouterA-ipsec-transform-set-tran1] protocol esp

[RouterA-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[RouterA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterA-ipsec-transform-set-tran1] quit

# 創建並配置名為profile001的IPsec安全框架(協商方式為手工方式,出入方向SA的SPI均為123456,出入方向SA的密鑰均為明文abcdefg)。

[RouterA] ipsec profile profile001 manual

[RouterA-ipsec-profile-manual-profile001] transform-set tran1

[RouterA-ipsec-profile-manual-profile001] sa spi outbound esp 123456

[RouterA-ipsec-profile-manual-profile001] sa spi inbound esp 123456

[RouterA-ipsec-profile-manual-profile001] sa string-key outbound esp simple abcdefg

[RouterA-ipsec-profile-manual-profile001] sa string-key inbound esp simple abcdefg

[RouterA-ipsec-profile-manual-profile001] quit

¡     在RIPng進程上應用IPsec安全框架

[RouterA] ripng 1

[RouterA-ripng-1] enable ipsec-profile profile001

[RouterA-ripng-1] quit

(2)     配置Router B

¡     配置各接口的IPv6地址(略)

¡     配置RIPng的基本功能

<RouterB> system-view

[RouterB] ripng 1

[RouterB-ripng-1] quit

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] ripng 1 enable

[RouterB-GigabitEthernet1/0/1] quit

[RouterB] interface gigabitethernet 1/0/2

[RouterB-GigabitEthernet1/0/2] ripng 1 enable

[RouterB-GigabitEthernet1/0/2] quit

¡     配置IPsec安全框架

# 創建並配置名為tran1的IPsec安全提議(報文封裝模式采用傳輸模式,安全協議采用ESP協議,加密算法采用128比特的AES,認證算法采用HMAC-SHA1)。

[RouterB] ipsec transform-set tran1

[RouterB-ipsec-transform-set-tran1] encapsulation-mode transport

[RouterB-ipsec-transform-set-tran1] protocol esp

[RouterB-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[RouterB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterB-ipsec-transform-set-tran1] quit

# 創建並配置名為profile001的IPsec安全框架(協商方式為手工方式,出入方向SA的SPI均為123456,出入方向SA的密鑰均為明文abcdefg)。

[RouterB] ipsec profile profile001 manual

[RouterB-ipsec-profile-manual-profile001] transform-set tran1

[RouterB-ipsec-profile-manual-profile001] sa spi outbound esp 123456

[RouterB-ipsec-profile-manual-profile001] sa spi inbound esp 123456

[RouterB-ipsec-profile-manual-profile001] sa string-key outbound esp simple abcdefg

[RouterB-ipsec-profile-manual-profile001] sa string-key inbound esp simple abcdefg

[RouterB-ipsec-profile-manual-profile001] quit

¡     在RIPng進程上應用IPsec安全框架

[RouterB] ripng 1

[RouterB-ripng-1] enable ipsec-profile profile001

[RouterB-ripng-1] quit

(3)     配置Router C

¡     配置各接口的IPv6地址(略)

¡     配置RIPng的基本功能

<RouterC> system-view

[RouterC] ripng 1

[RouterC-ripng-1] quit

[RouterC] interface gigabitethernet 1/0/1

[RouterC-GigabitEthernet1/0/1] ripng 1 enable

[RouterC-GigabitEthernet1/0/1] quit

¡     配置IPsec安全框架

# 創建並配置名為tran1的IPsec安全提議(報文封裝模式采用傳輸模式,安全協議采用ESP協議,加密算法采用128比特的AES,認證算法采用HMAC-SHA1)。

[RouterC] ipsec transform-set tran1

[RouterC-ipsec-transform-set-tran1] encapsulation-mode transport

[RouterC-ipsec-transform-set-tran1] protocol esp

[RouterC-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[RouterC-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterC-ipsec-transform-set-tran1] quit

# 創建並配置名為profile001的IPsec安全框架(協商方式為手工方式,出入方向SA的SPI均為123456,出入方向SA的密鑰均為明文abcdefg)。

[RouterC] ipsec profile profile001 manual

[RouterC-ipsec-profile-manual-profile001] transform-set tran1

[RouterC-ipsec-profile-manual-profile001] sa spi outbound esp 123456

[RouterC-ipsec-profile-manual-profile001] sa spi inbound esp 123456

[RouterC-ipsec-profile-manual-profile001] sa string-key outbound esp simple abcdefg

[RouterC-ipsec-profile-manual-profile001] sa string-key inbound esp simple abcdefg

[RouterC-ipsec-profile-manual-profile001] quit

¡     在RIPng進程上應用IPsec安全框架

[RouterC] ripng 1

[RouterC-ripng-1] enable ipsec-profile profile001

[RouterC-ripng-1] quit

5. 驗證配置

以上配置完成後,Router A、Router B和Router C將通過RIPng協議學習到網絡中的IPv6路由信息,且分別產生用於保護RIPng報文的IPsec SA。

可以通過如下display命令查看Router A上RIPng的配置信息。如下顯示信息表示RIPng進程1上已成功應用了IPsec安全框架。

[RouterA] display ripng 1

    RIPng process : 1

       Preference : 100

       Checkzero : Enabled

       Default Cost : 0

       Maximum number of load balanced routes : 8

       Update time   :   30 secs  Timeout time         :  180 secs

       Suppress time :  120 secs  Garbage-Collect time :  120 secs

       Update output delay:   20(ms)  Output count:    3

       Graceful-restart interval:   60 secs

       Triggered Interval : 5 50 200

       Number of periodic updates sent : 186

       Number of triggered updates sent : 1

       IPsec profile name: profile001

 

可以通過如下命令查看Router A上生成的IPsec SA。

[RouterA] display ipsec sa

-------------------------------

Global IPsec SA

-------------------------------

 

  -----------------------------

  IPsec profile: profile001

 

  Alias: profile-profile001

  Mode: Manual

  -----------------------------

    Encapsulation mode: transport

    [Inbound ESP SA]

      SPI: 123456 (0x3039)

      Connection ID: 90194313219

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      No duration limit for this SA

    [Outbound ESP SA]

      SPI: 123456 (0x3039)

      Connection ID: 64424509441

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      No duration limit for this SA

Router B和Router C上也會生成相應的IPsec SA來保護RIPng報文,查看方式與Router A同,此處略。

1.22.5  配置IPsec反向路由注入

1. 組網需求

企業分支通過IPsec VPN接入企業總部,有如下具體需求:

·     總部網關Router A和各分支網關Router B、RouterC、Router D之間建立IPsec隧道,對總部網絡4.4.4.0/24與分支網絡5.5.5.0/24之間的數據進行安全保護。

·     使用IKE協商方式建立IPsec SA,采用ESP安全協議,DES加密算法,HMAC-SHA-1-96認證算法。

·     IKE協商采用預共享密鑰認證方式、3DES加密算法、HMAC-SHA1認證算法。

·     在Router A上開啟IPsec反向路由注入功能,實現總部到分支的靜態路由隨IPsec SA的建立而動態生成。

2. 組網圖

圖1-15 配置IPsec反向路由注入功能組網圖

3. 配置步驟

(1)     配置RouterA

¡     配置各接口的IPv4地址(略)

¡     配置IPsec安全提議

# 創建並配置名為tran1的安全提議,采用使用ESP安全協議,DES加密算法,HMAC-SHA-1-96認證算法。

<RouterA> system-view

[RouterA] ipsec transform-set tran1

[RouterA-ipsec-transform-set-tran1] encapsulation-mode tunnel

[RouterA-ipsec-transform-set-tran1] protocol esp

[RouterA-ipsec-transform-set-tran1] esp encryption-algorithm des

[RouterA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterA-ipsec-transform-set-tran1] quit

¡     配置IKE profile

# 創建並配置IKE profile,名稱為profile1。

[RouterA] ike profile profile1

[RouterA-ike-profile-profile1] keychain key1

[RouterA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.255.0

[RouterA-ike-profile-profile1] quit

¡     配置IPsec安全策略模板

# 創建並配置名為temp1的IPsec安全策略模板,引用安全提議tran1

[RouterA] ipsec policy-template temp1 1

[RouterA-ipsec-policy-template-temp1-1] transform-set tran1

[RouterA-ipsec-policy-template-temp1-1] ike-profile profile1

¡      配置RRI功能

# 開啟RRI功能,指定生成的靜態路由的優先級為100、Tag值為1000。

[RouterA-ipsec-policy-template-temp1-1] reverse-route dynamic

[RouterA-ipsec-policy-template-temp1-1] reverse-route preference 100

[RouterA-ipsec-policy-template-temp1-1] reverse-route tag 1000

[RouterA-ipsec-policy-template-temp1-1] quit

¡     配置IKE協商方式的IPsec安全策略

# 創建並配置名為map1的IPsec安全策略,基於安全策略模板temp1創建

[RouterA] ipsec  policy map1 10 isakmp template temp1

¡     配置IKE提議

# 創建並配置IKE提議1,指定使用預共享密鑰認證方式、3DES加密算法、HMAC-SHA1認證算法。

[RouterA] ike proposal 1

[RouterA-ike-proposal-1] encryption-algorithm 3des-cbc

[RouterA-ike-proposal-1] authentication-algorithm sha

[RouterA-ike-proposal-1] authentication-method pre-share

[RouterA-ike-proposal-1] quit

¡     配置IKE keychain

# 創建並配置名為key1的IKE keychain,指定與地址為2.2.2.2的對端使用的預共享密鑰為明文123。

[RouterA] ike keychain key1

[RouterA-ike-keychain-key1] pre-shared-key address 2.2.2.2 key simple 123

[RouterA-ike-keychain-key1] quit

¡     在接口下引用IPsec安全策略

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。

[RouterA] interface gigabitethernet 1/0/1

[RouterA-GigabitEthernet1/0/1] ipsec apply policy map1

[RouterA-GigabitEthernet1/0/1] quit

(2)     配置Router B

¡     配置各接口的IPv4地址(略)

¡     配置IPsec安全提議

# 創建並配置名為tran1的安全提議

[RouterB] ipsec transform-set tran1

[RouterB-ipsec-transform-set-tran1] encapsulation-mode tunnel

[RouterB-ipsec-transform-set-tran1] protocol esp

[RouterB-ipsec-transform-set-tran1] esp encryption-algorithm des

[RouterB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[RouterB-ipsec-transform-set-tran1] quit

¡     配置ACL

# 配置IPv4高級ACL 3000,定義要保護由子網5.5.5.0/24去往子網4.4.4.0/24的數據流。

[RouterB] acl advanced 3000

[RouterB-acl-ipv4-adv-3000] rule permit ip source 5.5.5.0 0.0.0.255 destination 4.4.4.0 0.0.0.255

[RouterB-acl-ipv4-adv-3000] quit

¡     配置IKE profile

# 創建並配置IKE profile,名稱為profile1。

[RouterB] ike profile profile1

[RouterB-ike-profile-profile1] keychain key1

[RouterB-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.255.0

[RouterB-ike-profile-profile1] quit

¡     配置ISAKMP方式的安全策略

# 創建並配置名為map1的IPsec安全策略,引用安全提議tran1,引用ACL 3000,並指定IPsec隧道的對端地址為1.1.1.1。

[RouterB] ipsec policy map1 10 isakmp

[RouterB-ipsec-policy-isakmp-map1-10] transform-set tran1

[RouterB-ipsec-policy-isakmp-map1-10] security acl 3000

[RouterB-ipsec-policy-isakmp-map1-10] remote-address 1.1.1.1

[RouterB-ipsec-policy-isakmp-map1-10] ike-profile profile1

[RouterB-ipsec-policy-isakmp-map1-10] quit

¡     配置IKE提議

# 創建並配置IKE提議1,指定預共享密鑰認證方式、3DES加密算法、HMAC-SHA1認證算法。

[RouterB] ike proposal 1

[RouterB-ike-proposal-1] encryption-algorithm 3des-cbc

[RouterB-ike-proposal-1] authentication-algorithm sha

[RouterB-ike-proposal-1] authentication-method pre-share

[RouterB-ike-proposal-1] quit

¡     配置IKE keychain

# 創建並配置名為key1的IKE keychain,指定與地址為1.1.1.1的對端使用的預共享密鑰為明文123。

[RouterB] ike keychain key1

[RouterB-ike-keychain-key1] pre-shared-key address 1.1.1.1 key simple 123

[RouterB-ike-keychain-key1] quit

¡     在接口上應用IPsec安全策略

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。

[RouterB] interface gigabitethernet 1/0/1

[RouterB-GigabitEthernet1/0/1] ipsec apply policy map1

[RouterB-GigabitEthernet1/0/1] quit

保證RouterB上存在到達對端私網網段的路由,出接口為GigabitEthernet1/0/1。

(3)     配置Router C、Router D

配置步驟與Router B類似,請參考Router B的配置。

4. 驗證配置結果

以上配置完成後,當分支子網5.5.5.0/24向總部網絡4.4.4.0/24發起數據連接時,將觸發Router B和Router A之間進行IKE協商。IKE成功協商出IPsec SA後,企業總部與分支子網之間的數據流傳輸將受到IPsec SA的保護。在Router A上可通過以下顯示查看到協商生成的IPsec SA。

[RouterA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

 

  -----------------------------

  IPsec policy: map1

  Sequence number: 10

  Alias: map1-10

  Mode: Template

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Transmitting entity: Initiator

    Path MTU: 1463

    Tunnel:

        local  address/port: 1.1.1.1/500

        remote address/port: 2.2.2.2/500

    Flow:

        sour addr: 4.4.4.0/255.255.255.0  port: 0  protocol: ip

        dest addr: 5.5.5.0/255.255.255.0  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 1014286405 (0x3c74c845)

      Connection ID: 90194313219

      Transform set: ESP-ENCRYPT-DES-CBC ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843199/3590

      Max received sequence-number: 4

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 4011716027 (0xef1dedbb)

      Connection ID: 64424509441

      Transform set: ESP-ENCRYPT-DES-CBC ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843199/3590

      Max sent sequence-number: 4

      UDP encapsulation used for NAT traversal: N

      Status: Active

IPsec SA成功建立後,在Router A上可以通過display ip routing-table verbose命令查看到IPsec反向路由注入生成的靜態路由,目的地址為分支子網地址5.5.5.0/24,下一跳為IPsec隧道對端地址2.2.2.2,優先級為100,Tag值為1000。Router A和Router C、Router D之間的IPsec隧道建立成功後,Router A上也會產生到達各分支子網的相應靜態路由,此處顯示略。

1.22.6  基於IPsec隧道接口建立保護IPv4報文的IPsec隧道

1. 組網需求

圖1-16所示,某企業分支和總部均使用固定的IP地址接入Internet。現有如下組網要求:

·     企業分支與企業總部之間的所有流量通過IPsec安全隧道進行傳送;

·     當企業分支的私網IP地址段調整時,不需要改變企業總部網關的IPsec配置。

為實現如上組網需求,可采用如下配置思路實現:

·     在Router A和Router B之間使用IPsec隧道接口建立IPsec連接,將發送給對端私網的數據流路由到IPsec虛擬隧道接口上,由IPsec虛擬隧道接口上動態協商建立的IPsec安全隧道對分支子網(10.1.1.0/24)與總部子網(10.1.2.0/24)之間的所有數據流進行安全保護。

2. 組網圖

圖1-16 基於IPsec隧道建立保護IPv4報文的IPsec隧道組網圖

3. 配置Router A

說明

在開始下麵的配置之前,請確保Router A的GE1/0/2接口和Router B的GE1/0/2接口之間IPv4報文路由可達。

 

(1)     請根據組網圖中標識的接口IP地址,配置各接口的IP地址,具體配置步驟略

(2)     配置IPsec安全框架

# 創建IKE keychain abc並進入IKE keychain視圖。

<RouterA> system-view

[RouterA] ike keychain abc

# 配置與地址為2.2.3.1的對端使用的預共享密鑰為明文的123456TESTplat&!。

[RouterA-ike-keychain-abc] pre-shared-key address 2.2.3.1 255.255.255.0 key simple 123456TESTplat&!

[RouterA-ike-keychain-abc] quit

# 創建IKE profile abc,並進入其視圖。

[RouterA] ike profile abc

# 在IKE profile abc中指定名稱為abc的配置的IKE keychain。

[RouterA-ike-profile-abc] keychain abc

# 指定使用IP地址2.2.2.1標識本端身份。

[RouterA-ike-profile-abc] local-identity address 2.2.2.1

# 指定需要匹配對端身份類型為IP地址,取值為2.2.3.1。

[RouterA-ike-profile-abc] match remote identity address 2.2.3.1 24

# 配置IKE第一階段協商使用野蠻模式。

[RouterA-ike-profile-abc] exchange-mode aggressive

[RouterA-ike-profile-abc] quit

# 創建名為abc的IPsec安全提議,並進入IPsec安全提議視圖。

[RouterA] ipsec transform-set abc

# 在IPsec安全提議中配置ESP加密算法為CBC模式的AES算法,密鑰長度為128比特。

[RouterA-ipsec-transform-set-abc] esp encryption-algorithm aes-cbc-128

# 在IPsec安全提議中配置ESP認證算法為HMAC-SHA1算法,密鑰長度為160比特。

[RouterA-ipsec-transform-set-abc] esp authentication-algorithm sha1

[RouterA-ipsec-transform-set-abc] quit

# 配置名稱為abc的IPsec安全框架,通過IKE協商建立安全聯盟。

[RouterA] ipsec profile abc isakmp

# 配置IPsec安全框架引用名稱為abc的IPsec安全提議。

[RouterA-ipsec-profile-isakmp-abc] transform-set abc

# 配置IPsec安全框架引用名稱為abc的IKE profile。

[RouterA-ipsec-profile-isakmp-abc] ike-profile abc

[RouterA-ipsec-profile-isakmp-abc] quit

(3)     配置IPsec隧道接口

# 創建模式為IPsec隧道的接口Tunnel1。

[RouterA] interface tunnel 1 mode ipsec

# 配置Tunnel1接口的IP地址。

[RouterA-Tunnel1] ip address 3.3.3.1 255.255.255.0

# 配置Tunnel1接口的源端地址(GE1/0/2接口的IP地址)。

[RouterA-Tunnel1] source 2.2.2.1

# 配置Tunnel1接口的目的端地址(RouterB的GE1/0/2接口的IP地址)。

[RouterA-Tunnel1] destination 2.2.3.1

# 在IPsec隧道接口上應用IPsec安全框架

[RouterA-Tunnel1] tunnel protection ipsec profile abc

[RouterA-Tunnel1] quit

(4)     配置Router A到Router B的靜態路由。

[RouterA] ip route-static 10.1.2.0 255.255.255.0 tunnel 1

4. 配置Router B

(1)     請根據組網圖中標識的接口IP地址,配置各接口的IP地址,具體配置步驟略

(2)     配置IPsec安全框架

# 創建IKE keychain abc並進入IKE keychain視圖。

<RouterB> system-view

[RouterB] ike keychain abc

# 配置與地址為2.2.2.1的對端使用的預共享密鑰為明文的123456TESTplat&!。

[RouterB-ike-keychain-abc] pre-shared-key address 2.2.2.1 255.255.255.0 key simple 123456TESTplat&!

[RouterB-ike-keychain-abc] quit

# 創建IKE profile abc,並進入其視圖。

[RouterB] ike profile abc

# 在IKE profile abc中指定名稱為abc的配置的IKE keychain。

[RouterB-ike-profile-abc] keychain abc

# 指定使用IP地址2.2.3.1標識本端身份。

[RouterB-ike-profile-abc] local-identity address 2.2.3.1

# 指定需要匹配對端身份類型為IP地址,取值為2.2.2.1。

[RouterB-ike-profile-abc] match remote identity address 2.2.2.1 24

# 配置IKE第一階段協商使用野蠻模式。

[RouterB-ike-profile-abc] exchange-mode aggressive

[RouterB-ike-profile-abc] quit

# 創建名為abc的IPsec安全提議,並進入IPsec安全提議視圖。

[RouterB] ipsec transform-set abc

# 在IPsec安全提議中配置ESP加密算法為CBC模式的AES算法,密鑰長度為128比特。

[RouterB-ipsec-transform-set-abc] esp encryption-algorithm aes-cbc-128

# 在IPsec安全提議中配置ESP認證算法為HMAC-SHA1算法,密鑰長度為160比特。

[RouterB-ipsec-transform-set-abc] esp authentication-algorithm sha1

[RouterB-ipsec-transform-set-abc] quit

# 配置名稱為abc的IPsec安全框架,通過IKE協商建立安全聯盟。

[RouterB] ipsec profile abc isakmp

# 配置IPsec安全框架引用名稱為abc的IPsec安全提議。

[RouterB-ipsec-profile-isakmp-abc] transform-set abc

# 配置IPsec安全框架引用名稱為abc的IKE profile。

[RouterB-ipsec-profile-isakmp-abc] ike-profile abc

[RouterB-ipsec-profile-isakmp-abc] quit

(3)     配置IPsec隧道接口

# 創建模式為IPsec隧道的接口Tunnel1。

[RouterB] interface tunnel 1 mode ipsec

# 配置Tunnel1接口的IP地址。

[RouterB-Tunnel1] ip address 3.3.3.2 255.255.255.0

# 配置Tunnel1接口的源端地址(GE1/0/2接口的IP地址)。

[RouterB-Tunnel1] source 2.2.3.1

# 配置Tunnel1接口的目的端地址(RouterB的GE1/0/2接口的IP地址)。

[RouterB-Tunnel1] destination 2.2.2.1

# 在IPsec隧道接口上應用IPsec安全框架。

[RouterB-Tunnel1] tunnel protection ipsec profile abc

[RouterB-Tunnel1] quit

(4)     配置Router B到Router A的靜態路由

[RouterB] ip route-static 10.1.1.0 255.255.255.0 tunnel 1

5. 驗證配置結果

以上配置完成後,Router A會自動與Router B進行IKE協商。當IKE協商完成後,Router A和Router B上的IPsec 虛擬隧道接口都將up,即可以滿足上述組網需求,對總部和分支的數據流進行安全保護。

# 通過display ip interface brief命令可查看接口狀態如下:

<RouterA> display ip interface brief

*down: administratively down

(s): spoofing  (l): loopback

Interface           Physical Protocol IP address/Mask    VPN instance Description

GE1/0/1             up       up       10.1.1.1/24        --           --

GE1/0/2             up       up       2.2.2.1/24         --           --

Tun1                up       up       3.3.3.1/24         --           --

# 通過display interface tunnel命令可查看隧道狀態如下:

<RouterA> display interface Tunnel 1

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 1444

Internet address: 3.3.3.1/24 (primary)

Tunnel source 2.2.2.1, destination 2.2.3.1

Tunnel TTL 255

Tunnel protocol/transport IPsec/IP

Output queue - Urgent queuing: Size/Length/Discards 0/100/0

Output queue - Protocol queuing: Size/Length/Discards 0/500/0

Output queue - FIFO queuing: Size/Length/Discards 0/75/0

Last clearing of counters: Never

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 通過display ipsec sa命令查看協商生成的IPsec SA:

<RouterA> display ipsec sa

-------------------------------

Interface: Tunnel1

-------------------------------

 

  -----------------------------

  IPsec profile: abc

  Alias: profile-abc

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Transmitting entity: Initiator

    Path MTU: 1388

    Tunnel:

        local  address/port: 2.2.2.1/500

        remote address/port: 2.2.3.1/500

    Flow:

        sour addr: 0.0.0.0/0.0.0.0  port: 0  protocol: ip

        dest addr: 0.0.0.0/0.0.0.0  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 2701952073 (0xa10c8449)

      Connection ID: 4294967296

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3180

      Max received sequence-number: 0

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 3607077598 (0xd6ffa2de)

      Connection ID: 12884901889

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3180

      Max sent sequence-number: 0

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

# 在Router A上用私網地址可以Ping通Router B連接的私網地址:

<RouterA> ping -a 10.1.1.1 10.1.2.1

Ping 10.1.2.1 (10.1.2.1) from 10.1.1.1: 56 data bytes, press CTRL_C to break

56 bytes from 10.1.2.1: icmp_seq=0 ttl=255 time=1.000 ms

56 bytes from 10.1.2.1: icmp_seq=1 ttl=255 time=1.000 ms

56 bytes from 10.1.2.1: icmp_seq=2 ttl=255 time=0.000 ms

56 bytes from 10.1.2.1: icmp_seq=3 ttl=255 time=1.000 ms

56 bytes from 10.1.2.1: icmp_seq=4 ttl=255 time=0.000 ms

 

--- Ping statistics for 10.1.2.1 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 0.000/0.600/1.000/0.490 ms

1.22.7  基於IPsec P2MP隧道接口建立保護IPv4報文的IPsec隧道

1. 組網需求

圖1-17所示,某企業分支和總部均使用固定的IP地址接入Internet。現有如下組網要求:

·     企業分支與企業總部之間的所有流量通過IPsec安全隧道進行傳送;

·     當企業分支的私網IP地址段調整時,不需要改變企業總部網關的IPsec配置;

·     企業分支和其他企業分支無需直接建立IPsec安全隧道。

2. 組網圖

圖1-17 基於IPsec P2MP隧道接口建立保護IPv4報文的IPsec隧道組網圖

 

3. 配置思路

為實現如上組網需求,可采用如下配置思路實現:

(1)     在Router A和Router B、Router A和Router C之間使用IPsec P2MP隧道接口建立IPsec連接,將發送給對端私網的數據流路由到IPsec虛擬隧道接口上,由IPsec虛擬隧道接口上動態協商建立的IPsec安全隧道對分支子網(192.168.12.2/24)與總部子網(192.168.11.2/24)之間的所有數據流進行安全保護。

(2)     Router B發送給Router C私網的數據流路由到IPsec虛擬隧道接口上發送給Router A,Router A經過處理後轉發給Router C,實現分支子網B(192.168.12.2/24)與分支子網(192.168.13.2/24)之間的所有數據流進行安全保護。

4. 配置Router A

說明

在開始下麵的配置之前,請確保Router A的GE1/0/1接口和Router B和Router C的GE1/0/1接口之間IPv4報文路由可達。

若Hub端的物理出接口(GE1/0/1)shutdown則會使Hub端的SA刪除,因為Hub不會發起協商,無法自動恢複協商生成SA,需要產生Spoke到Hub的流量才能恢複協商。若要想得到自動協商,可對Spoke端開啟IKE DPD功能。

 

(1)     請根據組網圖中標識的接口IP地址,配置各接口的IP地址,具體配置步驟略

(2)     配置Router A

# 配置IKE Keychain abc。對應routerb的預共享密鑰為121212,對應routerc的預共享密鑰為131313。

<RouterA> system-view

[RouterA] ike keychain abc

[RouterA-ike-keychain-abc] pre-shared-key hostname routerB.example.com key simple 121212

[RouterA-ike-keychain-abc] pre-shared-key hostname routerC.example.com key simple 131313

[RouterA-ike-keychain-abc] quit

# 配置IKE Profile abc。IKE一階段的協商模式使用野蠻模式,引用default IKE提議,使用IKE Keychain abc定義的預共享密鑰,本端身份FQDN為routerA.example.com,對端身份匹配規則DOMAIN example.com。

[RouterA] ike profile abc

[RouterA-ike-profile-abc] keychain abc

[RouterA-ike-profile-abc] local-identity fqdn routerA.example.com

[RouterA-ike-profile-abc] match remote identity domain example.com

[RouterA-ike-profile-abc] exchange-mode aggressive

[RouterA-ike-profile-abc] quit

# 配置IPSec安全提議abc。安全協議使用ESP,加密算法使用aes-cbc-128,認證算法使用SHA1。

[RouterA] ipsec transform-set abc

[RouterA-ipsec-transform-set-abc] esp encryption-algorithm aes-cbc-128

[RouterA-ipsec-transform-set-abc] esp authentication-algorithm sha1

[RouterA-ipsec-transform-set-abc] quit

# 配置IPSec安全框架abc,引用IPSec安全提議abc和IKE Profile abc。

[RouterA] ipsec profile abc isakmp

[RouterA-ipsec-profile-isakmp-abc] transform-set abc

[RouterA-ipsec-profile-isakmp-abc] ike-profile abc

[RouterA-ipsec-profile-isakmp-abc] quit

# 配置ipsec-p2mp模式的Tunnel口1。Tunnel口本地地址為192.168.10.1/24,源地址為公網物理口地址1.1.1.1。使用IPSec安全框架abc保護Tunnel口上的流量。

[RouterA] interface tunnel 1 mode ipsec-p2mp

[RouterA-Tunnel1] ip address 192.168.10.1 255.255.255.0

[RouterA-Tunnel1] source 1.1.1.1

[RouterA-Tunnel1] tunnel protection ipsec profile abc

[RouterA-Tunnel1] quit

# 配置經過Tunnel口到達分支網絡的靜態路由。

[RouterA] ip route-static 192.168.12.0 255.255.255.0 tunnel 1 192.168.10.2

[RouterA] ip route-static 192.168.13.0 255.255.255.0 tunnel 1 192.168.10.3

5. 配置Router B

(1)     請根據組網圖中標識的接口IP地址,配置各接口的IP地址,具體配置步驟略

(2)     配置Router B

# 配置IKE Keychain abc。對端1.1.1.1對應的預共享密鑰為121212。

<RouterB> system-view

[RouterB] ike keychain abc

[RouterB-ike-keychain-abc] pre-shared-key address 1.1.1.1 255.255.255.255 key simple 121212

[RouterB-ike-keychain-abc] quit

# 配置IKE Profile abc。IKE一階段的協商模式使用野蠻模式,引用default IKE提議,使用IKE Keychain abc定義的預共享密鑰,本端身份FQDN為routerB.example.com。

[RouterB] ike profile abc

[RouterB-ike-profile-abc] keychain abc

[RouterB-ike-profile-abc] local-identity fqdn routerB. example.com

[RouterB-ike-profile-abc] exchange-mode aggressive

[RouterB-ike-profile-abc] quit

# 配置IPSec安全提議abc。安全協議使用ESP,加密算法使用aes-cbc-128,認證算法使用SHA1。

[RouterB] ipsec transform-set abc

[RouterB-ipsec-transform-set-abc] esp encryption-algorithm aes-cbc-128

[RouterB-ipsec-transform-set-abc] esp authentication-algorithm sha1

[RouterB-ipsec-transform-set-abc] quit

# 配置IPSec安全框架abc,引用IPSec安全提議abc和IKE Profile abc。

[RouterB] ipsec profile abc isakmp

[RouterB-ipsec-profile-isakmp-abc] transform-set abc

[RouterB-ipsec-profile-isakmp-abc] ike-profile abc

[RouterB-ipsec-profile-isakmp-abc] quit

# 配置ipsec模式的Tunnel口1。Tunnel口本地地址為192.168.10.2/24,源地址為公網物理口地址2.2.2.2。使用IPSec安全框架abc保護Tunnel口上的流量。

[RouterB] interface tunnel 1 mode ipsec

[RouterB-Tunnel1] ip address 192.168.10.2 255.255.255.0

[RouterB-Tunnel1] source 2.2.2.2

[RouterB-Tunnel1] destination 1.1.1.1

[RouterB-Tunnel1] tunnel protection ipsec profile abc

[RouterB-Tunnel1] quit

# 配置經過Tunnel口到達其它分支或中心網絡的靜態路由。

[RouterB] ip route-static 192.168.11.0 255.255.255.0 tunnel 1

[RouterB] ip route-static 192.168.13.0 255.255.255.0 tunnel 1

6. 配置Router C

(1)     請根據組網圖中標識的接口IP地址,配置各接口的IP地址,具體配置步驟略

(2)     配置Router C

# 配置IKE Keychain abc。對端1.1.1.1對應的預共享密鑰為131313。

<RouterC> system-view

[RouterC] ike keychain abc

[RouterC-ike-keychain-abc] pre-shared-key address 1.1.1.1 255.255.255.255 key simple 131313

[RouterC-ike-keychain-abc] quit

# 配置IKE Profile abc。IKE一階段的協商模式使用野蠻模式,引用default IKE提議,使用IKE Keychain abc定義的預共享密鑰,本端身份FQDN為routerC.example.com。

[RouterC] ike profile abc

[RouterC-ike-profile-abc] keychain abc

[RouterC-ike-profile-abc] local-identity fqdn routerC. example.com

[RouterC-ike-profile-abc] exchange-mode aggressive

[RouterC-ike-profile-abc] quit

# 配置IPSec安全提議abc。安全協議使用ESP,加密算法使用aes-cbc-128,認證算法使用SHA1。

[RouterC] ipsec transform-set abc

[RouterC-ipsec-transform-set-abc] esp encryption-algorithm aes-cbc-128

[RouterC-ipsec-transform-set-abc] esp authentication-algorithm sha1

[RouterC-ipsec-transform-set-abc] quit

# 配置IPSec安全框架abc,引用IPSec安全提議abc和IKE Profile abc。

[RouterC] ipsec profile abc isakmp

[RouterC-ipsec-profile-isakmp-abc] transform-set abc

[RouterC-ipsec-profile-isakmp-abc] ike-profile abc

[RouterC-ipsec-profile-isakmp-abc] quit

# 配置ipsec模式的Tunnel口1。Tunnel口本地地址為192.168.10.3/24,源地址為公網物理口地址3.3.3.3。使用IPSec安全框架abc保護Tunnel口上的流量。

[RouterC] interface tunnel 1 mode ipsec

[RouterC-Tunnel1] ip address 192.168.10.3 255.255.255.0

[RouterC-Tunnel1] source 3.3.3.3

[RouterC-Tunnel1] destination 1.1.1.1

[RouterC-Tunnel1] tunnel protection ipsec profile abc

[RouterC-Tunnel1] quit

# 配置經過Tunnel口到達其它分支或中心網絡的靜態路由。

[RouterC] ip route-static 192.168.11.0 255.255.255.0 tunnel 1

[RouterC] ip route-static 192.168.12.0 255.255.255.0 tunnel 1

7. 驗證配置結果

以上配置完成後,Router B和Router C會自動與Router A進行IKE協商。當IKE協商完成後,Router A和Router B、Router A和Router C上的IPsec P2MP虛擬隧道接口都將up,即可以滿足上述組網需求,對總部和分支的數據流進行安全保護。

# 通過display ip interface brief命令可查看接口狀態如下:

[RouterA] display ip interface brief

Interface                Physical Protocol IP Address      Description

GE1/0/1                  up       up       1.1.1.1        --

GE1/0/2                  down     down     192.168.11.1    --

Tun1                     up       up       192.168.10.1    --

# 通過display interface tunnel命令可查看隧道狀態如下。

[RouterA] display interface Tunnel 1

Tunnel1

Current state: UP

Line protocol state: UP

Description: Tunnel1 Interface

Bandwidth: 64 kbps

Maximum transmission unit: 1428

Internet address: 192.168.10.1/24 (primary)

Tunnel source 1.1.1.1, destination unknown

Tunnel TTL 255

Tunnel protocol/transport IPSEC-P2MP/IP

Output queue - Urgent queuing: Size/Length/Discards 0/100/0

Output queue - Protocol queuing: Size/Length/Discards 0/500/0

Output queue - FIFO queuing: Size/Length/Discards 0/75/0

Last clearing of counters: Never

Last 300 seconds input rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Last 300 seconds output rate: 0 bytes/sec, 0 bits/sec, 0 packets/sec

Input: 0 packets, 0 bytes, 0 drops

Output: 0 packets, 0 bytes, 0 drops

# 通過display ipsec sa命令查看協商生成的IPsec SA。

[RouterA] display ipsec sa

-------------------------------

Interface: Tunnel1

-------------------------------

 

  -----------------------------

  IPsec profile: abc

  Alias: profile-abc

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect forward secrecy:

    Path MTU: 1356

    Transmitting entity: Initiator

    Tunnel:

        local  address/port: 1.1.1.1/500

        remote address/port: 2.2.2.2/500

    Flow:

        sour addr: 0.0.0.0/0.0.0.0  port: 0  protocol: ip

        dest addr: 0.0.0.0/0.0.0.0  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 139862185 (0x085620a9)

      Connection ID: 4294967296

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/2629

      Max received sequence-number: 0

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 948049133 (0x388214ed)

      Connection ID: 4294967297

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/2629

      Max sent sequence-number: 0

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

  -----------------------------

  IPsec profile: abc

  Alias: profile-abc

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 1

    Encapsulation mode: tunnel

    Perfect forward secrecy:

    Path MTU: 1356

    Tunnel:

        local  address: 1.1.1.1

        remote address: 3.3.3.3

    Flow:

        sour addr: 0.0.0.0/0.0.0.0  port: 0  protocol: ip

        dest addr: 0.0.0.0/0.0.0.0  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 3847904492 (0xe55a5cec)

      Connection ID: 4294967298

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/2639

      Max received sequence-number: 0

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 2912706735 (0xad9c60af)

      Connection ID: 4294967299

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/2639

      Max sent sequence-number: 0

      UDP encapsulation used for NAT traversal: N

      Status: Active

# 在Router B和Router C Ping通Router A連接的私網地址後Router A上可以產生表項信息。

[RouterB] ping 192.168.11.1

[RouterC] ping 192.168.11.1

[RouterA] display ipsec p2mp tunnel-table interface Tunnel 1

Total number:2

Dest Addr                   Dest port                   Tunnel Dest Addr            Time

2.2.2.2                     500                         192.168.10.2                24 

3.3.3.3                     500                         192.168.10.3   

# 在Router A上用私網地址可以Ping通Router B和Router C連接的私網地址。

[RouterA] ping -a 192.168.11.1 192.168.12.1

Ping 192.168.12.1 (192.168.12.1) from 192.168.11.1: 56 data bytes, press CTRL_C to break

56 bytes from 192.168.12.1: icmp_seq=0 ttl=255 time=1.000 ms

56 bytes from 192.168.12.1: icmp_seq=1 ttl=255 time=0.000 ms

56 bytes from 192.168.12.1: icmp_seq=2 ttl=255 time=1.000 ms

56 bytes from 192.168.12.1: icmp_seq=3 ttl=255 time=1.000 ms

56 bytes from 192.168.12.1: icmp_seq=4 ttl=255 time=0.000 ms

 

--- Ping statistics for 192.168.12.1 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 0.000/0.600/1.000/0.490 ms

[RouterA] ping -a 192.168.11.1 192.168.13.1

Ping 192.168.13.1 (192.168.13.1) from 192.168.11.1: 56 data bytes, press CTRL_C to break

56 bytes from 192.168.13.1: icmp_seq=0 ttl=255 time=1.000 ms

56 bytes from 192.168.13.1: icmp_seq=1 ttl=255 time=1.000 ms

56 bytes from 192.168.13.1: icmp_seq=2 ttl=255 time=1.000 ms

56 bytes from 192.168.13.1: icmp_seq=3 ttl=255 time=0.000 ms

56 bytes from 192.168.13.1: icmp_seq=4 ttl=255 time=1.000 ms

 

--- Ping statistics for 192.168.13.1 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 0.000/0.800/1.000/0.400 ms

# 在Router B上用私網地址可以Ping通Router C連接的私網地址.

[RouterB] ping -a 192.168.12.1 192.168.13.1

Ping 192.168.13.1 (192.168.13.1) from 192.168.12.1: 56 data bytes, press CTRL_C to break

56 bytes from 192.168.13.1: icmp_seq=0 ttl=254 time=2.000 ms

56 bytes from 192.168.13.1: icmp_seq=1 ttl=254 time=1.000 ms

56 bytes from 192.168.13.1: icmp_seq=2 ttl=254 time=1.000 ms

56 bytes from 192.168.13.1: icmp_seq=3 ttl=254 time=1.000 ms

56 bytes from 192.168.13.1: icmp_seq=4 ttl=254 time=1.000 ms

 

--- Ping statistics for 192.168.13.1 ---

5 packet(s) transmitted, 5 packet(s) rec


2 IKE

說明

若無特殊說明,本文中的IKE均指第1版本的IKE協議。

2.1  IKE簡介

IKE(Internet Key Exchange,互聯網密鑰交換)協議利用ISAKMP(Internet Security Association and Key Management Protocol,互聯網安全聯盟和密鑰管理協議)語言定義密鑰交換的過程,是一種對安全服務進行協商的手段。

2.1.1  IKE的優點

用IPsec保護一個IP數據包之前,必須先建立一個安全聯盟(IPsec SA),IPsec SA可以手工創建或動態建立。IKE為IPsec提供了自動建立IPsec SA的服務,具體有以下優點。

·     IKE首先會在通信雙方之間協商建立一個安全通道(IKE SA),並在此安全通道的保護下協商建立IPsec SA,這降低了手工配置的複雜度,簡化IPsec的配置和維護工作。

·     IKE的精髓在於DH(Diffie-Hellman)交換技術,它通過一係列的交換,使得通信雙方最終計算出共享密鑰。在IKE的DH交換過程中,每次計算和產生的結果都是不相關的。由於每次IKE SA的建立都運行了DH交換過程,因此就保證了每個通過IKE協商建立的IPsec SA所使用的密鑰互不相關。

·     IPsec使用AH或ESP報文頭中的順序號實現防重放。此順序號是一個32比特的值,此數溢出之前,為實現防重放,IPsec SA需要重新建立,IKE可以自動重協商IPsec SA。

2.1.2  IPsec與IKE的關係

圖2-1所示,IKE為IPsec協商建立SA,並把建立的參數交給IPsec,IPsec使用IKE建立的SA對IP報文加密或認證處理。

圖2-1 IPsec與IKE的關係圖

 

2.1.3  IKE的協商過程

IKE使用了兩個階段為IPsec進行密鑰協商以及建立SA:

(1)     第一階段,通信雙方彼此間建立了一個已通過雙方身份認證和對通信數據安全保護的通道,即建立一個IKE SA(本文中提到的IKE SA都是指第一階段SA)。

(2)     第二階段,用在第一階段建立的IKE SA為IPsec協商安全服務,即為IPsec協商IPsec SA,建立用於最終的IP數據安全傳輸的IPsec SA。

(3)     第一階段的IKE協商模式有:主模式(Main Mode)、野蠻模式(Aggressive Mode)和國密主模式。

1. 主模式

圖2-2 主模式協商過程

 

圖2-2所示,第一階段主模式的IKE協商過程中包含三對消息,具體內容如下:

(1)     第一對消息完成了SA交換,它是一個協商確認雙方IKE安全策略的過程;

(2)     第二對消息完成了密鑰交換,通過交換Diffie-Hellman公共值和輔助數據(如:隨機數),最終雙方計算生成一係列共享密鑰(例如,認證密鑰、加密密鑰以及用於生成IPsec密鑰參數的密鑰材料),並使其中的加密密鑰和認證密鑰對後續的IKE消息提供安全保障;

(3)     第三對消息完成了ID信息和驗證數據的交換,並進行雙方身份的認證。

2. 野蠻模式

圖2-3 野蠻模式協商過程

 

圖2-3所示,第一階段野蠻模式的IKE協商過程中包含三條消息,具體內容如下:

(1)     發起方通過第一條消息發送本地IKE信息,包括建立IKE SA所使用的參數、與密鑰生成相關的信息和身份驗證信息。

(2)     接收方通過第二條消息對收到的第一個消息進行確認,查找並返回匹配的參數、密鑰生成信息和身份驗證信息。

(3)     發起方通過第三條消息回應驗證結果,並成功建立IKE SA。

與主模式相比,野蠻模式的優點是建立IKE SA的速度較快。但是由於野蠻模式的密鑰交換與身份認證一起進行,因此無法提供身份保護。在對身份保護要求不高的場合,使用交換報文較少的野蠻模式可以提高協商的速度;在對身份保護要求較高的場合,則應該使用主模式。

3. 國密主模式

本端的協商模式配置為國密主模式,必須使用RSA-DE或者SM2-DE數字信封方式認證。

2.1.4  IKE的安全機製

IKE可以在不安全的網絡上安全地認證通信雙方的身份、分發密鑰以及建立IPsec SA,具有以下幾種安全機製。

1. 身份認證

IKE的身份認證機製用於確認通信雙方的身份。設備支持三種認證方法:預共享密鑰認證、RSA數字簽名認證和DSA數字簽名認證。

·     預共享密鑰認證:通信雙方通過共享的密鑰認證對端身份。

·     數字簽名認證:通信雙方使用由CA頒發的數字證書向對端證明自己的身份。

2. DH算法

DH算法是一種公共密鑰算法,它允許通信雙方在不傳輸密鑰的情況下通過交換一些數據,計算出共享的密鑰。即使第三方(如黑客)截獲了雙方用於計算密鑰的所有交換數據,由於其複雜度很高,也不足以計算出雙方的密鑰。

3. PFS特性

PFS(Perfect Forward Secrecy,完善的前向安全性)是一種安全特性,它解決了密鑰之間相互無關性的需求。由於IKE第二階段協商需要從第一階段協商出的密鑰材料中衍生出用於IPsec SA的密鑰,若攻擊者能夠破解IKE SA的一個密鑰,則會非常容易得掌握其衍生出的任何IPsec SA的密鑰。使用PFS特性後,IKE第二階段協商過程中會增加一次DH交換,使得IKE SA的密鑰和IPsec SA的密鑰之間沒有派生關係,即使IKE SA的其中一個密鑰被破解,也不會影響它協商出的其它密鑰的安全性。

2.1.5  協議規範

與IKE相關的協議規範有:

·     RFC2408:Internet Security Association and Key Management Protocol (ISAKMP)

·     RFC2409:The Internet Key Exchange (IKE)

·     RFC2412:The OAKLEY Key Determination Protocol

·     Internet-Draft:draft-ietf-ipsec-isakmp-xauth-06.txt

·     Internet-Draft:draft-dukes-ike-mode-cfg-02.txt

2.2  FIPS相關說明

設備運行於FIPS模式時,本特性部分配置相對於非FIPS模式有所變化,具體差異請見本文相關描述。有關FIPS模式的詳細介紹請參見“安全配置指導”中的“FIPS”。

2.3  IKE配置任務簡介

IKE配置任務如下:

(1)     (可選)配置IKE profile

a.     創建IKE profile

b.     配置匹配對端身份的規則

c.     配置keychain或者PKI域

d.     配置IKE第一階段的協商模式

e.     配置IKE profile引用的IKE提議

f.     配置本端身份信息

g.     配置內部MPLS L3VPN實例

h.     配置IKE profile的可選功能

(2)     配置IKE提議

(3)     配置IKE keychain

(4)     (可選)配置IKE協商的輔助功能

¡     配置本端身份信息

¡     配置IKE Keepalive功能

¡     配置IKE NAT Keepalive功能

¡     配置全局IKE DPD功能

¡     配置針對無效IPsec SPI的IKE SA恢複功能

¡     配置對IKE SA數目的限製

¡     配置為客戶端分配IP地址的IKE本地地址池

¡     配置HA中主、從管理設備可以使用的IKE地址池範圍

¡     配置IKE協商的兼容性

¡     配置IKE告警和日誌功能

2.4  IKE配置準備

進行IKE配置之前,用戶需要確定以下幾個因素,以便配置過程的順利進行。

·     確定IKE交換過程中安全保護的強度,包括認證方法、加密算法、認證算法、DH group。

¡     認證方法分為預共享密鑰認證和數字簽名認證。預共享密鑰認證機製簡單、不需要證書,常在小型組網環境中使用;數字簽名認證安全性更高,常在“中心—分支”模式的組網環境中使用。例如,在“中心—分支”組網中使用預共享密鑰認證進行IKE協商時,中心側可能需要為每個分支配置一個預共享密鑰,當分支很多時,配置會很複雜,而使用數字簽名認證時隻需配置一個PKI域。

¡     不同認證/加密算法的強度不同,算法強度越高,受保護數據越難被破解,但消耗的計算資源越多。

¡     DH group位數越大安全性越高,但是處理速度會相應減慢。應該根據實際組網環境中對安全性和性能的要求選擇合適的DH group。

·     確定通信雙方預先約定的預共享密鑰或所屬的PKI域。關於PKI的配置,請參見“安全配置指導”中的“PKI”。

·     確定通信雙方都采用IKE協商模式的IPsec安全策略。IPsec安全策略中若不引用IKE profile,則使用係統視圖下配置的IKE profile進行協商,若係統視圖下沒有任何IKE profile,則使用全局的IKE參數進行協商。關於IPsec安全策略的配置,請參見“安全配置指導”中的“IPsec”。

2.5  配置IKE profile

2.5.1  創建IKE profile

1. 功能簡介

創建一個IKE profile,並進入IKE Profile視圖。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建一個IKE profile,並進入IKE Profile視圖。

ike profile profile-name

2.5.2  配置匹配對端身份的規則

1. 功能簡介

響應方首先需要根據發起方的身份信息查找一個本端的IKE profile,然後使用此IKE profile中的信息驗證對端身份,發起方同樣需要根據響應方的身份信息查找到一個IKE profile用於驗證對端身份。對端身份信息若能滿足本地某個IKE profile中指定的匹配規則,則該IKE profile為查找的結果。

2. 配置限製與指導

協商雙方都必須配置至少一個match remote規則,當對端的身份與IKE profile中配置的match remote規則匹配時,則使用此IKE profile中的信息與對端完成認證。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKE Profile視圖。

ike profile profile-name

(3)     配置匹配對端身份的規則。

match remote { certificate policy-name | identity { address { { ipv4-address [ mask | mask-length ] | range low-ipv4-address high-ipv4-address } | ipv6 { ipv6-address [ prefix-length ] | hostname host-name | range low-ipv6-address high-ipv6-address } } [ vpn-instance vpn-instance-name ] | fqdn fqdn-name | user-fqdn user-fqdn-name | domain fqdn-domain-name } }

2.5.3  配置keychain或者PKI域

1. 配置限製與指導

根據IKE提議中配置的認證方法,配置IKE keychain或PKI域。

·     如果認證方法為數字簽名(dsa-signature或者rsa-signature),則需要配置PKI域。

·     如果指定的認證方式為預共享密鑰(pre-share),則需要配置IKE keychain。

·     為了使得每個對端能夠匹配到唯一的IKE profile,不建議在兩個或兩個以上IKE profile中配置相同的IKE keychain,否則能夠匹配到哪個IKE profile是不可預知的。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKE Profile視圖。

ike profile profile-name

(3)     配置keychain或者PKI域。

¡     配置采用預共享密鑰認證時所使用的keychain。

keychain keychain-name

¡     配置采用數字簽名認證時證書所屬的PKI域。

certificate domain domain-name

缺省情況下,未指定keychain和PKI域。

2.5.4  配置IKE第一階段的協商模式

1. 配置限製與指導

配置本端作為發起方時所使用的協商模式(主模式、野蠻模式)。本端作為響應方時,將自動適配發起方的協商模式。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKE Profile視圖。

ike profile profile-name

(3)     配置IKE第一階段的協商模式。

(非FIPS模式)

exchange-mode { aggressive | gm-main | main }

(FIPS模式)

exchange-mode main

缺省情況下,IKE第一階段發起方的協商模式使用主模式。

2.5.5  配置IKE profile引用的IKE提議

1. 配置限製與指導

本端作為發起方時可以使用的IKE提議(可指定多個),先指定的優先級高。響應方會將發起方的IKE提議與本端所有的IKE提議進行匹配,如果找到匹配項則直接使用,否則繼續查找。若未查找到匹配的IKE提議,則協商失敗。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKE Profile視圖。

ike profile profile-name

(3)     配置IKE profile引用的IKE提議。

proposal proposal-number&<1-6>

缺省情況下,IKE profile未引用IKE提議,使用係統視圖下已配置的IKE提議進行IKE協商。

2.5.6  配置本端身份信息

1. 配置限製與指導

·     如果本端的認證方式為數字簽名,則可以配置任何類型的身份信息。若配置的本端身份為IP地址,但這個IP地址與本地證書中的IP地址不同時,設備將使用FQDN(Fully Qualified Domain Name,完全合格域名)類型的本端身份,該身份的內容為設備的名稱(可通過sysname命令配置)。

·     如果本端的認證方式為預共享密鑰,則隻能配置除DN之外的其它類型的身份信息。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKE Profile視圖。

ike profile profile-name

(3)     配置本端身份信息。

local-identity { address { ipv4-address | ipv6 ipv6-address } | dn | fqdn [ fqdn-name ] | user-fqdn [ user-fqdn-name ] }

缺省情況下,未配置本端身份信息。此時使用係統視圖下通過ike identity命令配置的身份信息作為本端身份信息。若兩者都沒有配置,則使用IP地址標識本端的身份,該IP地址為IPsec安全策略或IPsec安全策略模板應用的接口的IP地址。

2.5.7  配置內部MPLS L3VPN實例

1. 功能簡介

當IPsec解封裝後得到的報文需要繼續轉發到不同的VPN中去時,設備需要知道在哪個VPN實例中查找相應的路由。缺省情況下,設備在與外網相同的VPN中查找路由,如果不希望在與外網相同的VPN中查找路由去轉發報文,則可以指定一個內部VPN實例,通過查找該內部VPN實例中的路由來轉發報文。

2. 配置限製和指導

本功能僅對引用了IKE profile的IPsec安全策略生效,對引用了IKE profile 的IPsec安全框架不生效。

同一個ACL下配置的多條規則中綁定的VPN實例必須相同,且本功能配置的VPN實例必須與ACL下綁定的VPN實例相同。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKE Profile視圖。

ike profile profile-name

(3)     配置內部MPLS L3VPN實例。

inside-vpn vpn-instance vpn-instance-name

缺省情況下,IKE profile未指定內部VPN實例,設備在收到IPsec報文的接口所屬的VPN中查找路由。

2.5.8  配置IKE profile的可選功能

(1)     進入係統視圖。

system-view

(2)     進入IKE Profile視圖。

ike profile profile-name

(3)     配置IKE profile的可選功能。

¡     配置IKE DPD功能。

dpd interval interval [ retry seconds ] { on-demand | periodic }

缺省情況下,IKE profile視圖下沒有配置DPD功能,采用係統視圖下的DPD配置。若兩者沒有配置,則不進行DPD探測。

如果IKE profile視圖下和係統視圖下都配置了DPD功能,則IKE profile視圖下的DPD配置生效,如果IKE profile視圖下沒有配置DPD功能,則采用係統視圖下的DPD配置。

¡     配置IKE profile的使用範圍。

match local address { interface-type interface-number | { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] }

缺省情況下,未限製IKE profile的使用範圍。

限製IKE profile隻能在指定的地址或指定接口的地址下使用。配置了match local address的IKE profile的優先級高於所有未配置match local address的IKE profile。

¡     配置IKE profile的優先級。

priority priority

缺省情況下,IKE profile的優先級為100。

IKE profile的匹配優先級首先取決於其中是否配置了match local address,其次決定於配置的優先級值,最後決定於配置IKE profile的先後順序。

¡     配置使用IKE profile的對端地址。

match remote address { ipv4-address | dynamic | ipv6 ipv6-address }

缺省情況下,未配置使用IKE profile的對端地址。

該命令需要和match local address配合使用,單獨配置本命令不生效。當兩個IKE profile的match remote addressmatch local address都能匹配本次協商時,按照IKE profile的優先級匹配,相同優先級的按照配置順序匹配。

¡     開啟對客戶端的認證。

client-authentication xauth

缺省情況下,對客戶端的認證處於關閉狀態。

該命令配置在中心側網關設備上。在IKE一階段協商後IPsec協商前,對遠程客戶端使用AAA機製進行認證。另外,對客戶端的認證還需要在網關設備上配置相應的AAA認證方法。

¡     配置客戶端認證所需的用戶信息。

client-authentication xauth { aaa-auth-server | user username password { cipher | simple } string }

缺省情況下,未配置客戶端認證所需的用戶信息。

該命令配置在分支側客戶端設備上。當遠程客戶端收到中心側認證請求報文後,可以使用本命令配置的用戶信息給中心側用於AAA認證。

¡     配置AAA授權功能。

aaa authorization domain domain-name username user-name

缺省情況下,AAA授權功能處於關閉狀態。

通過本功能可以獲得授權的IKE本地地址池的名稱,地址池中配置了可分配給對端的IP地址。關於AAA授權IKE本地地址池的具體配置請參見“安全配置指導”中的“AAA”。

¡     配置IKE SA軟超時緩衝時間。

sa soft-duration buffer seconds

缺省情況下,未配置IKE SA的軟超時緩衝時間。

通過配置軟超時緩衝時間來控製SA重協商的時機,即軟超時時間。軟超時時間=IKE SA的生存時間-IKE SA軟超時緩衝時間。

¡     配置IKE國密主模式協商時使用的SM4算法版本。

ike gm-main sm4-version { draft | standard }

缺省情況下,IKE國密主模式協商時使用的SM4算法版本為standard

設備作為發起方與其他廠家設備進行IKE協商時,需要通過本命令指定SM4算法版本,保證兩端設備使用相同版本的SM4算法進行協商。

¡     配置發起方IKE協商使用的UDP源端口號為動態設置。

client source-udp-port dynamic

缺省情況下,發起方IKE協商使用的UDP源端口號為500。

在某些組網環境中,網絡中間設備會將UDP源端口號為4500的報文丟棄,從而導致IKE協商失敗。將IKE協商報文的UDP源端口號設置為自動設置,可以避免IKE協商報文被網絡中間設備丟棄。

2.6  配置IKE提議

1. IKE提議及匹配機製簡介

IKE定義了一套屬性數據來描述IKE第一階段使用怎樣的參數來與對端進行協商。用戶可以創建多條不同優先級的IKE提議。協商雙方必須至少有一條匹配的IKE提議才能協商成功。

在進行IKE協商時,協商發起方會將自己的IKE提議發送給對端,由對端進行匹配。

·     若發起方使用的IPsec安全策略中沒有引用IKE profile,則會將當前係統中所有的IKE提議發送給對端,這些IKE提議的優先級順序由IKE提議的序號決定,序號越小優先級越高;

·     若發起方的IPsec策略中引用了IKE profile,則會將該IKE profile中引用的所有IKE提議發送給對端,這些IKE提議的優先級由引用的先後順序決定,先引用的優先級高。

協商響應方則以對端發送的IKE提議優先級從高到低的順序與本端所有的IKE提議進行匹配,直到找到一個匹配的提議來使用。匹配的IKE提議將被用來建立IKE SA。

以上IKE提議的匹配原則是:協商雙方具有相同的加密算法、認證方法、認證算法和DH group標識。匹配的IKE提議的IKE SA存活時間則取兩端的最小值。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建IKE提議,並進入IKE提議視圖。

ike proposal proposal-number

缺省情況下,存在一個缺省的IKE提議。

(3)     配置IKE提議的描述信息。

description

不存在IKE提議的描述信息。

(4)     指定一個供IKE提議使用的加密算法。

(非FIPS模式)

encryption-algorithm { 3des-cbc | aes-cbc-128 | aes-cbc-192 | aes-cbc-256 | des-cbc | sm1-cbc-128 | sm4-cbc }

缺省情況下,IKE提議使用CBC模式的56-bit DES加密算法。

(FIPS模式)

encryption-algorithm { aes-cbc-128 | aes-cbc-192 | aes-cbc-256 }

缺省情況下,IKE提議使用CBC模式的128-bit AES加密算法。

(5)     指定一個供IKE提議使用的認證方法。

authentication-method { dsa-signature | pre-share | rsa-de | rsa-signature | sm2-de }

缺省情況下,IKE提議使用預共享密鑰的認證方法。

(6)     指定一個供IKE提議使用的認證算法。

(非FIPS模式)

authentication-algorithm { md5 | sha | sha256 | sha384 | sha512 | sm3 }

缺省情況下,IKE提議使用HMAC-SHA1認證算法。

(FIPS模式)

authentication-algorithm { sha | sha256 | sha384 | sha512 }

缺省情況下,IKE提議使用HMAC-SHA256認證算法。

(7)     配置IKE第一階段密鑰協商時所使用的DH密鑰交換參數。

(非FIPS模式)

dh { group1 | group14 | group2 | group24 | group5 }

缺省情況下,IKE第一階段密鑰協商時所使用的DH密鑰交換參數為group1,即768-bit的Diffie-Hellman group。

(FIPS模式)

dh { group14 | group24 }

缺省情況下,IKE第一階段密鑰協商時所使用的DH密鑰交換參數為group14,即2048-bit的Diffie-Hellman group。

(8)     (可選)指定一個IKE提議的IKE SA存活時間。

sa duration seconds

缺省情況下,IKE提議的IKE SA存活時間為86400秒。

若配置中同時存在IPsec SA存活時間,則建議IKE SA存活時間大於IPsec SA存活時間。

2.7  配置IKE keychain

1. IKE keychain及參數簡介

在IKE需要通過預共享密鑰方式進行身份認證時,協商雙方需要創建並指定IKE keychain。IKE keychain用於配置協商雙方的密鑰信息,具體包括以下內容:

·     預共享密鑰。IKE協商雙方配置的預共享密鑰必須相同,否則身份認證會失敗。以明文或密文方式設置的預共享密鑰,均以密文的方式保存在配置文件中。

·     IKE keychain的使用範圍。限製keychain的使用範圍,即IKE keychain隻能在指定的地址或指定接口對應的地址下使用(這裏的地址指的是IPsec安全策略/IPsec安全策略模板下配置的本端地址,若本端地址沒有配置,則為引用IPsec安全策略的接口的IP地址)。

·     IKE keychain的優先級。配置了match local address的IKE keychain的優先級高於所有未配置match local address的IKE keychain。即IKE keychain的優先級首先決定於是否配置了match local address,其次取決於配置的優先級,最後決定於配置IKE keychain的先後順序。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建IKE keychain,並進入IKE keychain視圖。

ike keychain keychain-name [ vpn-instance vpn-instance-name ]

(3)     配置預共享密鑰。

(非FIPS模式)

pre-shared-key { address { ipv4-address [ mask | mask-length ] | hostname host-name | ipv6 ipv6-address [ prefix-length ] } | hostname host-name } key { cipher | simple } string

(FIPS模式)

pre-shared-key { address { ipv4-address [ mask | mask-length ] | hostname host-name | ipv6 ipv6-address [ prefix-length ] } | hostname host-name } key [ cipher string ]

缺省情況下,未配置預共享密鑰。

(4)     (可選)配置IKE keychain的使用範圍。

match local address { interface-type interface-number | { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] }

缺省情況下,未限製IKE keychain的使用範圍。

(5)     (可選)配置IKE keychain的優先級。

priority priority

缺省情況下,IKE keychain的優先級為100。

2.8  配置本端身份信息

1. 配置限製與指導

本端身份信息適用於所有IKE SA的協商,而IKE profile下的local-identity僅適用於本IKE profile。如果IKE profile下沒有配置本端身份,則默認使用此處配置的全局本端身份。

·     如果本端采用的認證方式為數字簽名,則本端配置的任何類型的身份信息都有效;

·     如果本端采用認證方式為預共享密鑰,則本端除DN之外的其它類型的身份信息均有效。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置本端身份信息。

ike identity { address { ipv4-address | ipv6 ipv6-address }| dn | fqdn [ fqdn-name ] | user-fqdn [ user-fqdn-name ] }

缺省情況下,使用IP地址標識本端的身份,該IP地址為IPsec安全策略或IPsec安全策略模板應用的接口地址。

(3)     (可選)配置當使用數字簽名認證方式時,本端的身份總從證書的主題字段中獲得。

ike signature-identity from-certificate

缺省情況下,本端身份信息由local-identityike identity命令指定。

在采用IPsec野蠻協商模式且使用數字簽名認證方式的情況下,與僅支持使用DN類型的身份進行數字簽名認證的ComwareV5設備互通時需要配置本命令。

2.9  配置IKE Keepalive功能

1. 功能簡介

IKE Keepalive功能用於檢測對端是否存活。在對端配置了等待IKE Keepalive報文的超時時間後,必須在本端配置發送IKE Keepalive報文的時間間隔。當對端IKE SA在配置的超時時間內未收到IKE Keepalive報文時,則刪除該IKE SA以及由其協商的IPsec SA。

2. 配置限製和指導

·     當有檢測對方是否存活的需求時,通常建議配置IKE DPD,不建議配置IKE Keepalive。僅當對方不支持IKE DPD功能且支持IKE Keepalive功能時,才考慮配置IKE Keepalive功能。配置IKE Keepalive功能後,會定時檢測對方是否存活,因此會額外消耗網絡帶寬和計算資源。

·     本端配置的IKE Keepalive報文的等待超時時間要大於對端發送的時間間隔。由於網絡中一般不會出現超過連續三次的報文丟失,所以,本端的超時時間可以配置為對端配置的發送IKE Keepalive報文的時間間隔的三倍。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置通過IKE SA向對端發送IKE Keepalive報文的時間間隔。

ike keepalive interval interval

缺省情況下,不向對端發送IKE Keepalive報文。

(3)     配置本端等待對端發送IKE Keepalive報文的超時時間。

ike keepalive timeout seconds

缺省情況下,永不超時,一直等待對端發送IKE Keepalive報文。

2.10  配置IKE NAT Keepalive功能

1. 功能簡介

在采用IKE協商建立的IPsec隧道中,可能存在NAT設備,由於在NAT設備上的NAT會話有一定存活時間,一旦IPsec隧道建立後如果長時間沒有流量,對應的NAT會話表項會被刪除,這樣將導致IPsec隧道無法繼續傳輸數據。為防止NAT表項老化,NAT內側的IKE網關設備需要定時向NAT外側的IKE網關設備發送NAT Keepalive報文,以便維持NAT設備上對應的IPsec流量的會話存活,從而讓NAT外側的設備可以訪問NAT內側的設備。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置向對端發送NAT Keepalive報文的時間間隔。

ike nat-keepalive seconds

缺省情況下,向對端發送NAT Keepalive報文的時間間隔為20秒。

2.11  配置全局IKE DPD功能

1. 功能簡介

DPD(Dead Peer Detection,對等體存活檢測)用於檢測對端是否存活。本端主動向對端發送DPD請求報文,對對端是否存活進行檢測。如果本端在DPD報文的重傳時間間隔(retry seconds)內未收到對端發送的DPD回應報文,則重傳DPD請求報文,若重傳四次之後仍然沒有收到對端的DPD回應報文,則刪除該IKE SA和對應的IPsec SA。

2. 配置限製和指導

·     IKE DPD有兩種模式:按需探測模式(on-demand)和定時探測模式(periodic)。一般若無特別要求,建議使用按需探測模式,在此模式下,僅在本端需要發送報文時,才會觸發探測;如果需要盡快地檢測出對端的狀態,則可以使用定時探測模式。在定時探測模式下工作,會消耗更多的帶寬和計算資源,因此當設備與大量的IKE對端通信時,應優先考慮使用按需探測模式。

·     如果IKE profile視圖下和係統視圖下都配置了DPD探測功能,則IKE profile視圖下的DPD配置生效,如果IKE profile視圖下沒有配置DPD探測功能,則采用係統視圖下的DPD配置。

·     建議配置的觸發IKE DPD探測的時間間隔大於DPD報文的重傳時間間隔,使得直到當前DPD探測結束才可以觸發下一次DPD探測,DPD在重傳過程中不觸發新的DPD探測。

·     以定時探測模式為例,若本端的IKE DPD配置如下:ike dpd interval 10 retry 6 periodic,則具體的探測過程為:IKE SA協商成功之後10秒,本端會發送DPD探測報文,並等待接收DPD回應報文。若本端在6秒內沒有收到DPD回應報文,則會第二次發送DPD探測報文。在此過程中總共會發送五次DPD探測報文,若第五次DPD探測報文發出後6秒仍沒收到DPD回應報文,則會刪除發送DPD探測報文的IKE SA及其對應的所有IPsec SA。若在此過程中收到了DPD回應報文,則會等待10秒再次發送DPD探測報文。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置IKE DPD功能。

ike dpd interval interval [ retry seconds ] { on-demand | periodic }

缺省情況下,IKE DPD功能處於關閉狀態。

2.12  配置針對無效IPsec SPI的IKE SA恢複功能

1. 功能簡介

當IPsec隧道一端的安全網關出現問題(例如安全網關重啟)導致其IPsec SA丟失時,會造成IPsec流量黑洞現象:一端(接收端)的IPsec SA已經丟失,而另一端(發送端)還持有對應的IPsec SA且不斷地向對端發送報文,當接收端收到發送端使用此IPsec SA封裝的IPsec報文時,就會因為找不到對應的SA而持續丟棄報文,形成流量黑洞。該現象造成IPsec通信鏈路長時間得不到恢複(隻有等到發送端舊的IPsec SA生存時間超時,並重建IPsec SA後,兩端的IPsec流量才能得以恢複),因此需要采取有效的IPsec SA恢複手段來快速恢複中斷的IPsec通信鏈路。

IPsec SA由SPI唯一標識,接收方根據IPsec報文中的SPI在SA數據庫中查找對應的IPsec SA,若接收方找不到處理該報文的IPsec SA,則認為此報文的SPI無效。如果接收端當前存在IKE SA,則會向對端發送刪除對應IPsec SA的通知消息,發送端IKE接收到此通知消息後,就會立即刪除此無效SPI對應的IPsec SA。之後,當發送端需要繼續向接收端發送報文時,就會觸發兩端重建IPsec SA,使得中斷的IPsec通信鏈路得以恢複;如果接收端當前不存在IKE SA,就不會觸發本端向對端發送刪除IPsec SA的通知消息,接收端將默認丟棄無效SPI的IPsec報文,使得鏈路無法恢複。後一種情況下,如果開啟了IPsec無效SPI恢複IKE SA功能,就會觸發本端與對端協商新的IKE SA並發送刪除消息給對端,從而使鏈路恢複正常。

2. 配置限製和指導

由於開啟此功能後,若攻擊者偽造大量源IP地址不同但目的IP地址相同的無效SPI報文發給設備,會導致設備因忙於與無效對端協商建立IKE SA而麵臨受到DoS(Denial of Sevice)攻擊的風險。因此,建議通常不要打開ike invalid-spi-recovery enable功能。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟針對無效IPsec SPI的IKE SA恢複功能。

ike invalid-spi-recovery enable

缺省情況下,針對無效IPsec SPI的IKE SA恢複功能處於關閉狀態。

2.13  配置對IKE SA數目的限製

1. 功能簡介

由於不同設備的能力不同,為充分利用設備的處理能力,可以配置允許同時處於協商狀態的IKE SA的最大數,也可以配置允許建立的IKE SA的最大數。

若設置允許同時協商更多的IKE SA,則可以充分利用設備處理能力,以便在設備有較強處理能力的情況下得到更高的新建性能;若設置允許同時協商較少的IKE SA,則可以避免產生大量不能完成協商的IKE SA,以便在設備處理能力較弱時保證一定的新建性能。

若設置允許建立更多的IKE SA,則可以使得設備在有充足內存的情況下得到更高的並發性能;若設置允許建立較少的IKE SA,則可以在設備沒有充足內存的情況下,使得IKE不過多占用係統內存。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置對本端IKE SA數目的限製。

ike limit { max-negotiating-sa negotiation-limit | max-sa sa-limit }

缺省情況下,同時處於協商狀態的IKE SA和IPsec SA的最大總和數為200,不限製非協商狀態的IKE SA數目。

2.14  配置為客戶端分配IP地址的IKE本地地址池

1. 功能簡介

IKE本地地址池與AAA授權配合使用,可以向對端客戶端應答地址請求,從而使得企業分支客戶端使用由企業中心網關統一分配的IP地址作為私網地址來進行通信,達到由企業中心統一管理的目的。關於AAA如何授權IKE本地地址池的具體配置請參見“安全配置指導”中的“AAA”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置為對端分配IPv4地址的IKE本地地址池。

ike address-group group-name start-ipv4-address end-ipv4-address [ mask | mask-length ]

(3)     配置為對端分配IPv6地址的IKE本地地址池。

ike ipv6-address-group group-name prefix prefix/prefix-len assign-len assign-len

2.15  配置HA中主、從管理設備可以使用的IKE地址池範圍

1. 功能簡介

在雙主模式的HA組網中,主、備設備同時處理業務,如果使用了相同的IKE本地地址池為對端分配地址,則會出現遠程IPsec客戶端地址衝突問題。

為了避免以上情況的發生,需要在主、從管理設備上分別配置可以使用的IKE地址池範圍。例如,在HA主管理設備上配置ike dual-active address-alloc primary命令,使得HA主管理設備僅可以使用全部IKE地址池中的前半段地址;在HA從管理設備上配置ike dual-active address-alloc secondary命令,使得HA從管理設備僅可以使用全部IKE地址池中的後半段地址。有關HA的詳細介紹,請參見“可靠性配置指導”中的“雙機熱備(RBM)”。

2. 配置限製和指導

在主備模式的HA組網中,僅一台設備處理業務,不會出現IKE地址池中地址分配衝突,因此無需配置本功能,若配置了本功能將會導致部分地址無法使用。

配置本功能時,需要保證IKE地址池中的地址數量不少於兩個,否則可能會導致設備無法為對端分配地址。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     指定HA中主、從管理設備可以使用的IKE地址池範圍。

ike dual-active address-alloc { primary | secondary }

缺省情況下,HA中的主、從管理設備共用IKE地址池資源。

2.16  配置IKE協商的兼容性

2.16.1  配置IKE協商使用sm4-cbc算法的兼容性

1. 功能簡介

由於曆史原因,IKE協商使用sm4-cbc算法和國密主模式存在兼容性問題。通過配置本功能,設備可以兼容老版本設備,保證新老版本設備IKE協商成功。僅當新老版本設備進行IKE協商時,需要在新版本設備上配置本功能。老版本設備是指不支持本功能的設備,新版本設備是指支持本功能的設備。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置IKE協商使用sm4-cbc算法的兼容性。

ike compatible-sm4 enable

缺省情況下,IKE協商過程中使用的sm4-cbc算法的密鑰長度不兼容老版本。

(3)     配置IKE協商國密主模式的兼容性。

ike compatible-gm-main enable

缺省情況下,IKE協商國密主模式與現有版本設備及第三方設備兼容。

2.16.2  配置IKE國密主模式協商時使用的SM4算法版本

1. 功能簡介

由於SM4算法的版本存在差異,設備作為發起方與其他廠家設備進行IKE協商時,需要通過本功能指定SM4算法版本,保證兩端設備使用相同版本的SM4算法進行協商。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建一個IKE profile,並進入IKE Profile視圖。

ike profile profile-name

(3)     配置IKE國密主模式協商時使用的SM4算法版本。

ike gm-main sm4-version { draft | standard }

缺省情況下,IKE國密主模式協商時使用的SM4算法版本為standard

2.16.3  配置IKE國密主模式協商時使用的IKE協議版本號

1. 功能簡介

設備作為發起方與其他廠家設備進行IKE協商時,如果兩端設備支持的國密IKE協議版本存在差異,需要通過本功能指定國密IKE協議版本號,保證兩端設備使用相同版本的國密IKE協議進行協商。

2. 配置限製和指導

當係統視圖和IKE profile視圖下均配置了國密IKE協議版本號,則以IKE profile視圖下的配置為準。

本功能僅在新協商IKE SA時生效,對已協商成功的IKE SA不起作用。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置IKE國密主模式協商時使用的全局國密IKE協議版本號。

ike gm-main global-ike-version { 1.0 | 1.1 }

缺省情況下,IKE國密主模式協商時使用的全局國密IKE協議版本號為1.1。

(3)     創建一個IKE profile,並進入IKE Profile視圖。

ike profile profile-name

(4)     配置IKE國密主模式協商時使用的國密IKE協議版本號。

ike gm-main ike-version { 1.0 | 1.1 }

缺省情況下,國密IKE協議版本號與全局配置的國密IKE協議版本號一致。

2.16.4  配置對端證書序列號

1. 功能簡介

設備作為發起方與其他廠家設備進行IKE協商時,如果其他廠家設備的國密IKE協議版本不支持在線發送證書,為了完成IKE協商,需要在本端設備上手動導入對端證書,並在IKE profile視圖下通過remote-certificate serial命令關聯該證書的序列號。已導入的對端證書的序列號可通過display pki certificate domain命令查看。有關證書導入的詳細介紹請參見“安全配置指導”中的“PKI”。

2. 配置限製和指導

本功能僅在新協商IKE SA時生效,對已協商成功的IKE SA不起作用。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建一個IKE profile,並進入IKE Profile視圖。

ike profile profile-name

(3)     配置對端證書的序列號。

remote-certificate serial serial-number

缺省情況下,未配置對端證書的序列號。

2.17  配置IKE告警和日誌功能

2.17.1  配置IKE告警功能

1. 功能簡介

開啟IKE的告警功能後,IKE會生成告警信息,用於向網管軟件報告該模塊的重要事件。生成的告警信息將被發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。

如果希望生成並輸出某種類型的IKE告警信息,則需要保證IKE的全局告警功能以及相應類型的告警功能均處於開啟狀態。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IKE的全局告警功能。

snmp-agent trap enable ike global

缺省情況下,IKE的告警Trap功能處於關閉狀態。

(3)     開啟IKE的指定告警功能。

snmp-agent trap enable ike [ attr-not-support | auth-failure | cert-type-unsupport | cert-unavailable | decrypt-failure | encrypt-failure | invalid-cert-auth | invalid-cookie | invalid-id | invalid-proposal | invalid-protocol | invalid-sign | no-sa-failure | proposal-add | proposal–delete | tunnel-start | tunnel-stop | unsupport-exch-type ] *

缺省情況下,IKE的所有告警功能均處於關閉狀態。

2.17.2  配置IKE協商事件日誌功能

1. 功能簡介

開啟IKE協商事件日誌記錄功能後,設備會輸出IKE協商過程中的相關日誌。

此功能隻在非FIPS模式下才支持。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IKE協商事件日誌功能。

ike logging negotiation enable

缺省情況下,IKE協商事件日誌功能處於關閉狀態。

2.18  IKE顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IKE的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下執行reset命令可以刪除IKE SA。

表2-1 IKE顯示和維護

操作

命令

顯示所有IKE提議的配置信息

display ike proposal

顯示當前IKE SA的信息

display ike sa [ verbose [ connection-id connection-id | remote-address [ ipv6 ] remote-address [ vpn-instance vpn-instance-name ] ] | count ]

顯示IKE的統計信息

display ike statistics

顯示IKE的全局信息

display ike global-info

清除IKE SA

reset ike sa [ connection-id connection-id ]

清除IKE的MIB統計信息

reset ike statistics

 

2.19  IKE典型配置舉例

2.19.1  IKE主模式及預共享密鑰認證配置舉例

1. 組網需求

在Device A和Device B之間建立一個IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。

·     Device A和Device B之間采用IKE協商方式建立IPsec SA。

·     使用缺省的IKE提議。

·     使用缺省的預共享密鑰認證方法。

2. 組網圖

圖2-4 IKE主模式及預共享密鑰認證典型組網圖

3. 配置步驟

(1)     配置Device A

# 配置各接口的IP地址,具體略。

# 配置IPv4高級ACL 3101,定義要保護由子網10.1.1.0/24去子網10.1.2.0/24的數據流。

<DeviceA> system-view

[DeviceA] acl advanced 3101

[DeviceA-acl-ipv4-adv-3101] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[DeviceA-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceA] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[DeviceA-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[DeviceA-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[DeviceA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceA-ipsec-transform-set-tran1] quit

# 創建IKE keychain,名稱為keychain1。

[DeviceA] ike keychain keychain1

# 配置與IP地址為2.2.2.2的對端使用的預共享密鑰為明文123456TESTplat&!。

[DeviceA-ike-keychain-keychain1] pre-shared-key address 2.2.2.2 255.255.0.0 key simple 123456TESTplat&!

[DeviceA-ike-keychain-keychain1] quit

# 創建IKE profile,名稱為profile1。

[DeviceA] ike profile profile1

# 指定引用的IKE keychain為keychain1。

[DeviceA-ike-profile-profile1] keychain keychain1

# 配置本端的身份信息為IP地址1.1.1.1。

[DeviceA-ike-profile-profile1] local-identity address 1.1.1.1

# 配置匹配對端身份的規則為IP地址2.2.2.2/16。

[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0

[DeviceA-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為map1,順序號為10。

[DeviceA] ipsec policy map1 10 isakmp

# 配置IPsec隧道的對端IP地址為2.2.2.2。

[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.2.2

# 指定引用ACL 3101。

[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101

# 指定引用的安全提議為tran1。

[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1

# 指定引用的IKE profile為profile1。

[DeviceA-ipsec-policy-isakmp-map1-10] ike-profile profile1

[DeviceA-ipsec-policy-isakmp-map1-10] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1

[DeviceA-GigabitEthernet1/0/1] quit

# 配置到Host B所在子網的靜態路由。1.1.1.2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceA] ip route-static 10.1.2.0 255.255.255.0 1.1.1.2

(2)     配置Device B

# 配置各接口的IP地址,具體略。

# 配置IPv4高級ACL 3101,定義要保護由子網10.1.2.0/24去往子網10.1.1.0/24的數據流。

<DeviceB> system-view

[DeviceB] acl advanced 3101

[DeviceB-acl-ipv4-adv-3101] rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

[DeviceB-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceB] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[DeviceB-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[DeviceB-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[DeviceB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceB-ipsec-transform-set-tran1] quit

# 創建IKE keychain,名稱為keychain1。

[DeviceB]ike keychain keychain1

# 配置與IP地址為1.1.1.1的對端使用的預共享密鑰為明文123456TESTplat&!。

[DeviceB-ike-keychain-keychain1] pre-shared-key address 1.1.1.1 255.255.0.0 key simple 123456TESTplat&!

[DeviceB-ike-keychain-keychain1] quit

# 創建IKE profile,名稱為profile1。

[DeviceB] ike profile profile1

# 指定引用的IKE keychain為keychain1。

[DeviceB-ike-profile-profile1] keychain keychain1

# 配置本端的身份信息為IP地址2.2.2.2。

[DeviceB-ike-profile-profile1] local-identity address 2.2.2.2

# 配置匹配對端身份的規則為IP地址1.1.1.1/16。

[DeviceB-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.0.0

[DeviceB-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為use1,順序號為10。

[DeviceB] ipsec policy use1 10 isakmp

# 配置IPsec隧道的對端IP地址為1.1.1.1。

[DeviceB-ipsec-policy-isakmp-use1-10] remote-address 1.1.1.1

# 指定引用ACL 3101。

[DeviceB-ipsec-policy-isakmp-use1-10] security acl 3101

# 指定引用的安全提議為tran1。

[DeviceB-ipsec-policy-isakmp-use1-10] transform-set tran1

# 指定引用的IKE profile為profile1。

[DeviceB-ipsec-policy-isakmp-use1-10] ike-profile profile1

[DeviceB-ipsec-policy-isakmp-use1-10] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略use1。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ipsec apply policy use1

# 配置到Host A所在子網的靜態路由。2.2.2.1為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceB] ip route-static 10.1.1.0 255.255.255.0 2.2.2.1

4. 驗證配置

以上配置完成後,Device A和Device B之間如果有子網10.1.1.0/24與子網10.1.2.0/24之間的報文通過,將觸發IKE協商。

# 可通過如下顯示信息查看到Device A和Device B上的IKE提議。因為沒有配置任何IKE提議,則隻顯示缺省的IKE提議。

[DeviceA] display ike proposal

 Priority Authentication Authentication Encryption  Diffie-Hellman Duration

              method       algorithm    algorithm       group      (seconds)

----------------------------------------------------------------------------

default  PRE-SHARED-KEY     SHA1         DES-CBC        Group 1      86400

 

[DeviceB] display ike proposal

 Priority Authentication Authentication Encryption  Diffie-Hellman Duration

              method       algorithm    algorithm       group      (seconds)

----------------------------------------------------------------------------

default  PRE-SHARED-KEY     SHA1         DES-CBC        Group 1      86400

# 可通過如下顯示信息查看到Device A上IKE第一階段協商成功後生成的IKE SA。

[DeviceA] display ike sa

    Connection-ID   Remote                Flag         DOI

------------------------------------------------------------------

    1               2.2.2.2/500           RD           IPsec

Flags:

RD--READY RL--REPLACED FD-FADING RK-REKEY

# 可通過如下顯示信息查看到IKE第二階段協商生成的IPsec SA。

[DeviceA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

 

  -----------------------------

  IPsec policy: map1

  Sequence number: 10

  Alias: map1-10

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Transmitting entity: Initiator

    Path MTU: 1456

    Tunnel:

        local  address/port: 1.1.1.1/500

        remote address/port: 2.2.2.2/500

    Flow:

        sour addr: 10.1.1.0/255.255.255.0  port: 0  protocol: ip

        dest addr: 10.1.2.0/255.255.255.0  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 3264152513 (0xc28f03c1)

      Connection ID: 90194313219

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3484

      Max received sequence-number:

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 738451674 (0x2c03e0da)

      Connection ID: 64424509441

      Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3484

      Max sent sequence-number:

      UDP encapsulation used for NAT traversal: N

      Status: Active

Device B上也會產生相應的IKE SA和IPsec SA,查看方式與Device A同,此處略。

2.19.2  IKE野蠻模式及RSA數字簽名認證配置舉例

說明

設備運行於FIPS模式時,不支持本例。

1. 組網需求

在Device A和Device B之間建立一個IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。

·     Device A和Device B之間采用IKE協商方式建立IPsec SA。

·     Device A和DeviceB均使用RSA數字簽名的認證方法。

·     IKE第一階段的協商模式為野蠻模式。

·     Device A側子網的IP地址為動態分配,並作為發起方。

2. 組網圖

圖2-5 IKE野蠻模式及RSA數字簽名認證典型組網圖

3. 配置步驟

(1)     配置Device A

# 配置各接口的IP地址,具體略。

# 配置IPv4高級ACL 3101,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。

<DeviceA> system-view

[DeviceA] acl advanced 3101

[DeviceA-acl-ipv4-adv-3101] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[DeviceA-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceA] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[DeviceA-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為DES,認證算法為HMAC-SHA1。

[DeviceA-ipsec-transform-set-tran1] esp encryption-algorithm des-cbc

[DeviceA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceA-ipsec-transform-set-tran1] quit

# 創建PKI實體entity1。

[DeviceA] pki entity entity1

# 配置PKI實體的通用名。

[DeviceA-pki-entity-entity1] common-name devicea

[DeviceA-pki-entity-entity1] quit

# 創建PKI域domain1。

[DeviceA] pki domain domain1

# 配置證書申請模式為自動模式,並設置吊銷證書時使用的口令。

[DeviceA-pki-domain-domain1] certificate request mode auto password simple 123

# 配置驗證CA根證書時所使用的指紋。

[DeviceA-pki-domain-domain1] root-certificate fingerprint md5 50c7a2d282ea710a449eede6c56b102e

# 配置CA服務器名稱。

[DeviceA-pki-domain-domain1] ca identifier 8088

# 配置實體通過SCEP進行證書申請的注冊受理機構服務器的URL(此處的URL僅為示例,請以組網環境中的實際情況為準)。

[DeviceA-pki-domain-domain1] certificate request url http://192.168.222.1:446/eadbf9af4f2c4641e685f7a6021e7b298373feb7

# 配置證書申請的注冊受理機構。

[DeviceA-pki-domain-domain1] certificate request from ca

# 配置指定用於申請證書的PKI實體名稱。

[DeviceA-pki-domain-domain1] certificate request entity entity1

# 配置指定證書申請使用的RSA密鑰對。

[DeviceA-pki-domain-domain1] public-key rsa general name rsa1

[DeviceA-pki-domain-domain1] quit

# 創建IKE profile,名稱為profile1。

[DeviceA] ike profile profile1

# 指定引用的PKI域為domain1。

[DeviceA-ike-profile-profile1] certificate domain domain1

# 配置第一階段的協商模式為野蠻模式。

[DeviceA-ike-profile-profile1] exchange-mode aggressive

# 配置FQDN名www.example.com作為本端的身份標識。

[DeviceA-ike-profile-profile1] local-identity fqdn www.example.com

# 配置匹配對端身份的規則為FQDN名www.example2.com。

[DeviceA-ike-profile-profile1] match remote identity fqdn www.example2.com

[DeviceA-ike-profile-profile1] quit

# 創建IKE提議10。

[DeviceA] ike proposal 10

# 指定IKE提議使用的認證算法為HMAC-MD5。

[DeviceA-ike-proposal-10] authentication-algorithm md5

# 指定使用RSA數字簽名認證方法。

[DeviceA-ike-proposal-10] authentication-method rsa-signature

[DeviceA-ike-proposal-10] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為map1,順序號為10。

[DeviceA] ipsec policy map1 10 isakmp

# 配置IPsec隧道的對端IP地址為2.2.2.2。

[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.2.2

# 指定引用的安全提議為tran1。

[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1

# 指定引用ACL 3101。

[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101

# 指定引用的IKE profile為profile1。

[DeviceA-ipsec-policy-isakmp-map1-10] ike-profile profile1

[DeviceA-ipsec-policy-isakmp-map1-10] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1

[DeviceA-GigabitEthernet1/0/1] quit

# 配置到Host B所在子網的靜態路由。1.1.1.2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceA] ip route-static 10.1.2.0 255.255.255.0 1.1.1.2

(2)     配置Device B

# 配置各接口的IP地址,具體略。

# 配置IPv4高級ACL 3101,定義要保護由子網10.1.2.0/24去往子網10.1.1.0/24的數據流。

<DeviceB> system-view

[DeviceB] acl advanced 3101

[DeviceB-acl-ipv4-adv-3101] rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

[DeviceB-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceB] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[DeviceB-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為DES,認證算法為HMAC-SHA1。

[DeviceB-ipsec-transform-set-tran1] esp encryption-algorithm des-cbc

[DeviceB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceB-ipsec-transform-set-tran1] quit

# 創建PKI實體entity2。

[DeviceB] pki entity entity2

# 配置PKI實體的通用名。

[DeviceB-pki-entity-entity2] common-name deviceb

[DeviceB-pki-entity-entity2] quit

# 創建PKI域domain2。

[DeviceB] pki domain domain2

# 配置證書申請模式為自動模式,並設置吊銷證書時使用的口令。

[DeviceB-pki-domain-domain2] certificate request mode auto password simple 123

# 配置驗證CA根證書時所使用的指紋。

[DeviceB-pki-domain-domain2] root-certificate fingerprint md5 50c7a2d282ea710a449eede6c56b102e

# 配置CA服務器名稱。

[DeviceB-pki-domain-domain2] ca identifier 8088

# 配置實體通過SCEP進行證書申請的注冊受理機構服務器的URL(此處的URL僅為示例,請以組網環境中的實際情況為準)。

[DeviceB-pki-domain-domain2] certificate request url http://192.168.222.1:446/eadbf9af4f2c4641e685f7a6021e7b298373feb7

# 配置證書申請的注冊受理機構。

[DeviceB-pki-domain-domain2] certificate request from ca

# 配置指定用於申請證書的PKI實體名稱。

[DeviceB-pki-domain-domain2] certificate request entity entity2

# 配置指定證書申請使用的RSA密鑰對。

[DeviceB-pki-domain-domain2] public-key rsa general name rsa1

[DeviceB-pki-domain-domain2] quit

# 創建IKE profile,名稱為profile2。

[DeviceB] ike profile profile2

# 指定引用的PKI域為domain2。

[DeviceB-ike-profile-profile2] certificate domain domain2

# 配置第一階段的協商模式為野蠻模式。

[DeviceB-ike-profile-profile2] exchange-mode aggressive

# 配置FQDN名www.example2.com作為本端的身份標識。

[DeviceB-ike-profile-profile2] local-identity fqdn www.example2.com

# 配置匹配對端身份的規則為FQDN名www.example.com。

[DeviceB-ike-profile-profile2] match remote identity fqdn www.example.com

[DeviceB-ike-profile-profile2] quit

# 創建IKE提議10。

[DeviceB] ike proposal 10

# 指定IKE提議使用的認證算法為HMAC-MD5。

[DeviceB-ike-proposal-10] authentication-algorithm md5

# 指定使用RSA數字簽名認證方法。

[DeviceB-ike-proposal-10] authentication-method rsa-signature

[DeviceB-ike-proposal-10] quit

# 創建一條IPsec安全策略模板,名稱為template1,順序號為1。

[DeviceB] ipsec policy-template template1 1

# 指定引用的安全提議為tran1。

[DeviceB-ipsec-policy-template-template1-1] transform-set tran1

# 指定引用的IKE profile為profile2。

[DeviceB-ipsec-policy-template-template1-1] ike-profile profile2

[DeviceB-ipsec-policy-template-template1-1] quit

# 引用IPsec安全策略模板創建一條IPsec安全策略,名稱為use1,順序號為1。

[DeviceB] ipsec policy use1 1 isakmp template template1

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略use1。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ipsec apply policy use1

[DeviceB-GigabitEthernet1/0/1] quit

# 配置到Host A所在子網的靜態路由。2.2.2.1為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceB] ip route-static 10.1.1.0 255.255.255.0 2.2.2.1

4. 驗證配置

以上配置完成後,Device A和Device B之間如果有子網10.1.1.0/24與子網10.1.2.0/24之間的報文通過,將觸發IKE協商。

# 可通過如下顯示信息查看到Device A和Device B上的IKE提議。

[DeviceA] display ike proposal

 Priority Authentication Authentication Encryption  Diffie-Hellman Duration

              method       algorithm    algorithm       group      (seconds)

----------------------------------------------------------------------------

 10       RSA-SIG            MD5        DES-CBC     Group 1        86400

 default  PRE-SHARED-KEY     SHA1       DES-CBC     Group 1        86400

 

[DeviceB] display ike proposal

 Priority Authentication Authentication Encryption  Diffie-Hellman Duration

              method       algorithm    algorithm       group      (seconds)

----------------------------------------------------------------------------

 10       RSA-SIG            MD5        DES-CBC     Group 1        86400

 default  PRE-SHARED-KEY     SHA1       DES-CBC     Group 1        86400

# 可通過如下顯示信息查看到Device A上IKE第一階段協商成功後生成的IKE SA。

[DeviceA] display ike sa

    Connection-ID   Remote                Flag         DOI

------------------------------------------------------------------

    1               2.2.2.2/500           RD           IPsec

Flags:

RD--READY RL--REPLACED FD-FADING RK-REKEY

# 可通過如下顯示信息查看到Device A上自動觸發獲取到的CA證書。

[DeviceA] display pki certificate domain domain1 ca

Certificate:

    Data:

        Version: 1 (0x0)

        Serial Number:

            b9:14:fb:25:c9:08:2c:9d:f6:94:20:30:37:4e:00:00

        Signature Algorithm: sha1WithRSAEncryption

        Issuer: C=cn, O=rnd, OU=sec, CN=8088

        Validity

            Not Before: Sep  6 01:53:58 2012 GMT

            Not After : Sep  8 01:50:58 2015 GMT

        Subject: C=cn, O=rnd, OU=sec, CN=8088

        Subject Public Key Info:

            Public Key Algorithm: rsaEncryption

                Public-Key: (1024 bit)

                Modulus:

                    00:de:81:f4:42:c6:9f:c2:37:7b:21:84:57:d6:42:

                    00:69:1c:4c:34:a4:5e:bb:30:97:45:2b:5e:52:43:

                    c0:49:1f:e1:d8:0f:5c:48:c2:39:69:d1:84:e4:14:

                    70:3d:98:41:28:1c:20:a1:9a:3f:91:67:78:77:27:

                    d9:08:5f:7a:c4:36:45:8b:f9:7b:e7:7d:6a:98:bb:

                    4e:a1:cb:2c:3d:92:66:bd:fb:80:35:16:c6:35:f0:

                    ff:0b:b9:3c:f3:09:94:b7:d3:6f:50:8d:83:f1:66:

                    2f:91:0b:77:a5:98:22:b4:77:ac:84:1d:03:8e:33:

                    1b:31:03:78:4f:77:a0:db:af

                Exponent: 65537 (0x10001)

    Signature Algorithm: sha1WithRSAEncryption

        9a:6d:8c:46:d3:18:8a:00:ce:12:ee:2b:b0:aa:39:5d:3f:90:

        08:49:b9:a9:8f:0d:6e:7b:e1:00:fb:41:f5:d4:0c:e4:56:d8:

        7a:a7:61:1d:2b:b6:72:e3:09:0b:13:9d:fa:c8:fc:c4:65:a7:

        f9:45:21:05:75:2c:bf:36:7b:48:b4:4a:b9:fe:87:b9:d8:cf:

        55:16:87:ec:07:1d:55:5a:89:74:73:68:5e:f9:1d:30:55:d9:

        8a:8f:c5:d4:20:7e:41:a9:37:57:ed:8e:83:a7:80:2f:b8:31:

        57:3a:f2:1a:28:32:ea:ea:c5:9a:55:61:6a:bc:e5:6b:59:0d:

        82:16

# 可通過如下顯示信息查看到Device A上自動觸發申請到的本地證書。

[DeviceA] display pki certificate domain domain1 local

Certificate:

    Data:

        Version: 3 (0x2)

        Serial Number:

            a1:f4:d4:fd:cc:54:c3:07:c4:9e:15:2d:5f:64:57:77

        Signature Algorithm: sha1WithRSAEncryption

        Issuer: C=cn, O=rnd, OU=sec, CN=8088

        Validity

            Not Before: Sep 26 02:06:43 2012 GMT

            Not After : Sep 26 02:06:43 2013 GMT

        Subject: CN=devicea

        Subject Public Key Info:

            Public Key Algorithm: rsaEncryption

                Public-Key: (1024 bit)

                Modulus:

                    00:b0:a1:cd:24:6e:1a:1d:51:79:f0:2a:3e:9f:e9:

                    84:07:16:78:49:1b:7d:0b:22:f0:0a:ed:75:91:a4:

                    17:fd:c7:ef:d0:66:5c:aa:e3:2a:d9:71:12:e4:c6:

                    25:77:f0:1d:97:bb:92:a8:bd:66:f8:f8:e8:d5:0d:

                    d2:c8:01:dd:ea:e6:e0:80:ad:db:9d:c8:d9:5f:03:

                    2d:22:07:e3:ed:cc:88:1e:3f:0c:5e:b3:d8:0e:2d:

                    ea:d6:c6:47:23:6a:11:ef:3c:0f:6b:61:f0:ca:a1:

                    79:a0:b1:02:1a:ae:8c:c9:44:e0:cf:d1:30:de:4c:

                    f0:e5:62:e7:d0:81:5d:de:d3

                Exponent: 65537 (0x10001)

        X509v3 extensions:

            X509v3 CRL Distribution Points:

 

                Full Name:

                  URI:https://xx.rsa.com:447/8088.crl

 

    Signature Algorithm: sha1WithRSAEncryption

        73:ac:66:f9:b8:b5:39:e1:6a:17:e4:d0:72:3e:26:9e:12:61:

        9e:c9:7a:86:6f:27:b0:b9:a3:5d:02:d9:5a:cb:79:0a:12:2e:

        cb:e7:24:57:e6:d9:77:12:6b:7a:cf:ee:d6:17:c5:5f:d2:98:

        30:e0:ef:00:39:4a:da:ff:1c:29:bb:2a:5b:60:e9:33:8f:78:

        f9:15:dc:a5:a3:09:66:32:ce:36:cd:f0:fe:2f:67:e5:72:e5:

        21:62:85:c4:07:92:c8:f1:d3:13:9c:2e:42:c1:5f:0e:8f:ff:

        65:fb:de:7c:ed:53:ab:14:7a:cf:69:f2:42:a4:44:7c:6e:90:

        7e:cd

# 可通過如下顯示信息查看到Device A上IKE第二階段協商生成的IPsec SA。

[DeviceA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

 

  -----------------------------

  IPsec policy: map1

  Sequence number: 10

  Alias: map1-10

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Transmitting entity: Initiator

    Path MTU: 1456

    Tunnel:

        local  address/port: 1.1.1.1/500

        remote address/port: 2.2.2.2/500

    Flow:

        sour addr: 10.1.1.0/255.255.255.0  port: 0  protocol: ip

        dest addr: 10.1.2.0/255.255.255.0  port: 0  protocol: ip

    [Inbound ESP SAs]

      SPI: 3264152513 (0xc28f03c1)

      Connection ID: 90194313219

      Transform set: ESP-ENCRYPT-DES-CBC ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3484

      Max received sequence-number:

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 738451674 (0x2c03e0da)

      Connection ID: 64424509441

      Transform set: ESP-ENCRYPT-DES-CBC ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3484

      Max sent sequence-number:

      UDP encapsulation used for NAT traversal: N

      Status: Active

Device B上也會產生相應的IKE SA和IPsec SA,並自動獲取CA證書,自動申請本地證書,查看方式與Device A同,此處略。

2.19.3  IKE野蠻模式及NAT穿越配置舉例

說明

設備運行於FIPS模式時,不支持本例。

1. 組網需求

Device A在NAT安全網關內網側,所連接的內網側用戶使用NAT地址3.3.3.1訪問外網。要求在Device A和Device B之間建立一個IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。具體需要求如下:

·     協商雙方使用缺省的IKE提議。

·     協商模式為野蠻模式協商。

·     第一階段協商的認證方法為預共享密鑰認證。

2. 組網圖

圖2-6 IKE野蠻模式及NAT穿越典型組網圖

3. 配置步驟

(1)     配置Device A

# 配置各接口的IP地址,具體略。

# 配置IPv4高級ACL 3000,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。

<DeviceA> system-view

[DeviceA] acl advanced 3000

[DeviceA-acl-ipv4-adv-3000] rule 0 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[DeviceA-acl-ipv4-adv-3000] quit

# 創建IPsec安全提議transform1。

[DeviceA] ipsec transform-set transform1

# 配置采用的安全協議為ESP。

[DeviceA-ipsec-transform-set-transform1] protocol esp

# 配置ESP協議采用的加密算法為3DES,認證算法為HMAC-MD5。

[DeviceA-ipsec-transform-set-transform1] esp encryption-algorithm 3des-cbc

[DeviceA-ipsec-transform-set-transform1] esp authentication-algorithm md5

[DeviceA-ipsec-transform-set-transform1] quit

# 創建IKE keychain,名稱為keychain1。

[DeviceA] ike keychain keychain1

# 配置與IP地址為2.2.2.2的對端使用的預共享密鑰為明文12345zxcvb!@#$%ZXCVB。

[DeviceA-ike-keychain-keychain1] pre-shared-key address 2.2.2.2 255.255.0.0 key simple 12345zxcvb!@#$%ZXCVB

[DeviceA-ike-keychain-keychain1] quit

# 創建IKE profile,名稱為profile1。

[DeviceA] ike profile profile1

# 指定引用的IKE keychain為keychain1。

[DeviceA-ike-profile-profile1] keychain keychain1

# 配置協商模式為野蠻模式。

[DeviceA-ike-profile-profile1] exchange-mode aggressive

# 配置本端身份為FQDN名稱www.example.com。

[DeviceA-ike-profile-profile1] local-identity fqdn www.example.com

# 配置匹配對端身份的規則為IP地址2.2.2.2/16。

[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0

[DeviceA-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為policy1,順序號為1。

[DeviceA] ipsec policy policy1 1 isakmp

# 配置IPsec隧道的對端IP地址為2.2.2.2。

[DeviceA-ipsec-policy-isakmp-policy1-1] remote-address 2.2.2.2

# 指定引用的安全提議為transform1。

[DeviceA-ipsec-policy-isakmp-policy1-1] transform-set transform1

# 指定引用ACL 3000。

[DeviceA-ipsec-policy-isakmp-policy1-1] security acl 3000

# 指定引用的IKE profile為profile1。

[DeviceA-ipsec-policy-isakmp-policy1-1] ike-profile profile1

[DeviceA-ipsec-policy-isakmp-policy1-1] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略policy1。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] ipsec apply policy policy1

[DeviceA-GigabitEthernet1/0/1] quit

# 配置到Host B所在子網的靜態路由。

[DeviceA] ip route-static 10.1.2.0 255.255.255.0 1.1.1.2

(2)     配置Device B

# 配置各接口的IP地址,具體略。

# 創建IPsec安全提議transform1。

<DeviceB> system-view

[DeviceB] ipsec transform-set transform1

# 配置采用的安全協議為ESP。

[DeviceB-ipsec-transform-set-transform1] protocol esp

# 配置ESP協議采用的加密算法為3DES,認證算法為HMAC-MD5。

[DeviceB-ipsec-transform-set-transform1] esp encryption-algorithm 3des-cbc

[DeviceB-ipsec-transform-set-transform1] esp authentication-algorithm md5

[DeviceB-ipsec-transform-set-transform1] quit

# 創建IKE keychain,名稱為keychain1。

[DeviceB]ike keychain keychain1

# 配置與IP地址為1.1.1.1的對端使用的預共享密鑰為明文12345zxcvb!@#$%ZXCVB。在本例中,來自1.1.1.1的報文經NAT轉換後,源IP地址被轉換為3.3.3.1,因此指定預共享密鑰時對端IP地址為3.3.3.1。

[DeviceB-ike-keychain-keychain1] pre-shared-key address 3.3.3.1 255.255.0.0 key simple 12345zxcvb!@#$%ZXCVB

[DeviceB-ike-keychain-keychain1] quit

# 創建IKE profile,名稱為profile1。

[DeviceB] ike profile profile1

# 指定引用的IKE keychain為keychain1。

[DeviceB-ike-profile-profile1] keychain keychain1

# 配置協商模式為野蠻模式。

[DeviceB-ike-profile-profile1] exchange-mode aggressive

# 配置匹配對端身份的規則為FQDN名稱www.example.com。

[DeviceB-ike-profile-profile1] match remote identity fqdn www.example.com

[DeviceB-ike-profile-profile1] quit

# 創建一個IKE協商方式的IPsec安全策略模板,名稱為template1,順序號為1。

[DeviceB] ipsec policy-template template1 1

# 指定引用的安全提議為tran1。

[DeviceB-ipsec-policy-template-template1-1] transform-set transform1

# 配置IPsec隧道的本端IP地址為2.2.2.2。

[DeviceB-ipsec-policy-template-template1-1] local-address 2.2.2.2

# 指定引用的IKE profile為profile1。

[DeviceB-ipsec-policy-template-template1-1] ike-profile profile1

[DeviceB-ipsec-policy-template-template1-1] quit

# 引用IPsec安全策略模板創建一條IKE協商方式的IPsec安全策略,名稱為policy1,順序號為1。

[DeviceB] ipsec policy policy1 1 isakmp template template1

# 在接口GigabitEthernet1/0/1上應用安全策略policy1。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ipsec apply policy policy1

[DeviceB-GigabitEthernet1/0/1] quit

# 配置到Host A所在子網的靜態路由。2.2.2.1為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceB] ip route-static 10.1.1.0 255.255.255.0 2.2.2.1

4. 驗證配置

以上配置完成後,子網10.1.1.0/24若向子網10.1.2.0/24發送報文,將觸發IKE協商。

# 可通過如下顯示信息查看到Device A上IKE第一階段協商成功後生成的IKE SA

[DeviceA] display ike sa

    Connection-ID   Remote                Flag         DOI

------------------------------------------------------------------

    13              2.2.2.2/500           RD           IPsec

Flags:

RD--READY RL--REPLACED FD-FADING RK-REKEY

[DeviceA] display ike sa verbose

   -----------------------------------------------

   Connection ID: 13

   Outside VPN:

   Inside VPN:

   Profile: profile1

   Transmitting entity: Initiator

   Initiator cookie: 1bcf453f0a217259

   Responder cookie: 5e32a74dfa66a0a4

   Output interface name: GigabitEthernet1/0/1

   -----------------------------------------------

   Local IP/port: 1.1.1.1/500

   Local ID type: FQDN

   Local ID: www.example.com

 

   Remote IP/port: 2.2.2.2/500

   Remote ID type: IPV4_ADDR

   Remote ID: 2.2.2.2

 

   Authentication-method: PRE-SHARED-KEY

   Authentication-algorithm: SHA1

   Encryption-algorithm: DES-CBC

 

   Life duration(sec): 86400

   Remaining key duration(sec): 84565

   Exchange-mode: Aggressive

   Diffie-Hellman group: Group 1

   NAT traversal: Detected

 

   Extend authentication: Disabled

   Assigned IP address:

   Vendor ID index: 0xa1d

   Vendor ID sequence number: 0x0

# 可通過如下顯示信息查看到IKE第二階段協商生成的IPsec SA。

[DeviceA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

 

  -----------------------------

  IPsec policy: policy1

  Sequence number: 1

  Alias: policy1-1

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Transmitting entity: Initiator

    Path MTU: 1435

    Tunnel:

        local  address/port: 1.1.1.1/500

        remote address/port: 2.2.2.2/500

    Flow:

        sour addr: 10.1.1.0/255.255.255.0  port: 0  protocol: ip

        dest addr: 10.1.2.0/255.255.255.0  port: 0  protocol: ip

    [Inbound ESP SAs]

      SPI: 830667426 (0x3182faa2)

      Connection ID: 90194313219

      Transform set: ESP-ENCRYPT-3DES-CBC ESP-AUTH-MD5

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/2313

      Max received sequence-number:

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: Y

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 3516214669 (0xd1952d8d)

      Connection ID: 64424509441

      Transform set: ESP-ENCRYPT-3DES-CBC ESP-AUTH-MD5

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/2313

      Max sent sequence-number:

      UDP encapsulation used for NAT traversal: Y

      Status: Active

2.19.4  IKE支持遠程擴展認證配置舉例

1. 組網需求

用戶主機Host和Device之間建立一個IPsec隧道,對用戶主機和Device之間的數據流進行安全保護。

·     Host和Device之間采用IKE協商方式建立IPsec SA。

·     IKE第一階段協商的認證方法為預共享密鑰認證。

·     Device對Host進行IKE擴展認證,認證方式采用遠程RADIUS認證。

2. 組網圖

圖2-7 IKE支持遠程擴展認證典型組網圖

3. 配置步驟

說明

·     請保證Host與Device、Host與Server之間路由可達。

·     完成RADIUS服務器上的配置,保證Host使用指定的用戶名和密碼(本例中,用戶名為test,密碼為123456TESTplat&!)可以完成身份認證。

 

(1)     配置Device

# 配置各接口的IP地址,具體略。

# 創建RADIUS方案ike-scheme。

[Device] radius scheme ike-scheme

# 配置主RADIUS認證服務器IP地址為3.3.3.48,端口為1645。

[Device-radius-ike-scheme] primary authentication 3.3.3.48 1645

# 配置與認證服務器交互報文時的共享密鑰為明文abc。

[Device-radius-ike-scheme] key authentication simple abc

# 配置向RADIUS服務器發送的用戶名不攜帶域名。(此配置可根據服務器對用戶名的要求調整)

[Device-radius-ike-scheme] user-name-format without-domain

[Device-radius-ike-scheme] quit

# 配置ISP域ike,指定IKE用戶的認證方法。

[Device] domain ike

[Device-isp-ike] authentication ike radius-scheme ike-scheme

[Device-isp-ike] quit

# 配置IPv4高級ACL 3101,定義要保護由2.2.2.2到1.1.1.1的數據流。

[Device] acl advanced 3101

[Device-acl-ipv4-adv-3101] rule permit ip source 2.2.2.2 0.0.0.0 destination 1.1.1.1 0.0.0.0

[Device-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[Device] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為傳輸模式。

[Device-ipsec-transform-set-tran1] encapsulation-mode transport

# 配置采用的安全協議為ESP。

[Device-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[Device-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[Device-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[Device-ipsec-transform-set-tran1] quit

# 創建IKE keychain,名稱為keychain1。

[Device] ike keychain keychain1

# 配置與IP地址為1.1.1.1的對端使用的預共享密鑰為明文123456TESTplat&!。

[Device-ike-keychain-keychain1] pre-shared-key address 1.1.1.1 255.255.255.255 key simple 123456TESTplat&!

[Device-ike-keychain-keychain1] quit

# 創建IKE profile,名稱為profile1。

[Device] ike profile profile1

# 指定引用的IKE keychain為keychain1。

[Device-ike-profile-profile1] keychain keychain1

# 配置本端的身份信息為IP地址2.2.2.2。

[Device-ike-profile-profile1] local-identity address 2.2.2.2

# 配置匹配對端身份的規則為IP地址1.1.1.1。

[Device-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.255.255

# 開啟對客戶端的認證。

[Device-ike-profile-profile1] client-authentication xauth

[Device-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為map1,順序號為10。

[Device] ipsec policy map1 10 isakmp

# 配置IPsec隧道的對端IP地址為1.1.1.1。

[Device-ipsec-policy-isakmp-map1-10] remote-address 1.1.1.1

# 指定引用ACL 3101。

[Device-ipsec-policy-isakmp-map1-10] security acl 3101

# 指定引用的安全提議為tran1。

[Device-ipsec-policy-isakmp-map1-10] transform-set tran1

# 指定引用的IKE profile為profile1。

[Device-ipsec-policy-isakmp-map1-10] ike-profile profile1

[Device-ipsec-policy-isakmp-map1-10] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。

[Device] interface gigabitethernet 1/0/1

[Device-GigabitEthernet1/0/1] ipsec apply policy map1

[Device-GigabitEthernet1/0/1] quit

(2)     配置Host

Host上需要完成IPsec VPN客戶端的如下主要配置,並保證與Device端的相關配置相匹配:

¡     IPsec隧道對端的安全網關IP地址

¡     IKE第一階段認證采用的預共享密鑰

¡     擴展認證采用的用戶名和密碼

¡     IPsec安全協議,以及采用的加密算法、認證算法

¡     IKE協商參數

¡     本地及遠端的ID類型與取值

4. 驗證配置

以上配置完成後,Host和Device之間如果有1.1.1.1與2.2.2.2之間的報文通過,將觸發IKE協商。

# 可通過如下顯示信息查看到Device上IKE第一階段協商成功後生成的IKE SA的詳細信息,並可查看到對客戶端的擴展認證處於開啟狀態。

[Device] display ike sa verbose remote-address 1.1.1.1

   -----------------------------------------------

   Connection ID: 18

   Outside VPN:

   Inside VPN:

   Profile: profile1

   Transmitting entity: Initiator

   Initiator cookie: 1bcf453f0a217259

   Responder cookie: 5e32a74dfa66a0a4

   Output interface name: GigabitEthernet1/0/1

   -----------------------------------------------

   Local IP/port: 2.2.2.2/500

   Local ID type: IPV4_ADDR

   Local ID: 2.2.2.2

 

   Remote IP/port: 1.1.1.1/500

   Remote ID type: IPV4_ADDR

   Remote ID: 1.1.1.1

 

   Authentication-method: PRE-SHARED-KEY

   Authentication-algorithm: SHA1

   Encryption-algorithm: DES-CBC

 

   Life duration(sec): 86400

   Remaining key duration(sec): 84565

   Exchange-mode: Aggressive

   Diffie-Hellman group: Group 1

   NAT traversal: Detected

 

   Extend authentication Enabled

   Assigned IP address:

   Vendor ID index: 0xa1d

   Vendor ID sequence number: 0x0

若Host端提供了正確的用戶名和密碼,將能夠與Device之間成功建立IPsec隧道。在Device上可以通過display ipsec sa命令查看到生成的IPsec SA信息。

2.19.5  IKE支持本地擴展認證及地址授權配置舉例

1. 組網需求

用戶主機Host和Device建立一個IPsec隧道,對用戶主機和Server之間的數據流進行安全保護。

·     Host和Device之間采用IKE協商方式建立IPsec SA。

·     IKE第一階段協商的認證方法為預共享密鑰認證。

·     Device對Host進行IKE本地擴展認證,認證方式采用本地AAA認證,Device為Host分配IPv4地址。

2. 組網圖

圖2-8 IKE支持本地擴展認證及授權典型組網圖

3. 配置步驟

說明

·     請保證Host與Device之間路由可達。

·     完成設備上本地用戶的配置,保證Host使用指定的用戶名和密碼(本例中,用戶名為test,密碼為123456TESTplat&!)可以完成身份認證。

 

(1)     配置Device

# 配置各接口的IP地址,具體略。

# 創建ISP域dm並進入其視圖。

<Device> system-view

[Device] domain dm

# 配置IKE擴展認證的認證方法為本地認證。

[Device-isp-dm] authentication ike local

# 配置IKE擴展認證的授權方法為本地授權。

[Device-isp-dm] authorization ike local

[Device-isp-dm] quit

# 創建IKE本地地址池pool,地址範圍為20.1.1.1~20.1.1.20。

[Device] ike address-group pool 20.1.1.1 20.1.1.20

# 創建本地用戶ike,用戶類型為網絡接入類。

[Device] local-user ike class network

# 配置本地用戶ike的服務類型為ike,授權地址池的名稱為pool。

[Device-luser-network-ike] service-type ike

[Device-luser-network-ike] authorization-attribute ip-pool pool

[Device-luser-network-ike] quit

# 創建本地用戶test,用戶類型為網絡接入類,用於擴展認證Host。

[Device] local-user test class network

# 配置本地用戶test的服務類型為ike,密碼為123456TESTplat&!。

[Device-luser-network-test] service-type ike

[Device-luser-network-test] password simple 123456TESTplat&!

[Device-luser-network-test] quit

# 創建IKE keychain,名稱為keychain1。

[Device] ike keychain keychain1

# 配置與IP地址為1.1.1.1的對端使用的預共享密鑰為明文123456TESTplat&!。

[Device-ike-keychain-keychain1] pre-shared-key address 1.1.1.1 255.255.255.255 key simple 123456TESTplat&!

[Device-ike-keychain-keychain1] quit

# 創建IKE profile,名稱為profile1。

[Device] ike profile profile1

# 指定引用的IKE keychain為keychain1。

[Device-ike-profile-profile1] keychain keychain1

# 配置本端的身份信息為IP地址2.2.2.2。

[Device-ike-profile-profile1] local-identity address 2.2.2.2

# 配置匹配對端身份的規則為IP地址1.1.1.1。

[Device-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.255.255

# 開啟對客戶端的認證。

[Device-ike-profile-profile1] client-authentication xauth

# 配置對客戶端的AAA授權ISP域為dm,用戶名為ike。

[Device-ike-profile-profile1] aaa authorization domain dm username ike

[Device-ike-profile-profile1] quit

# 創建IPsec安全提議tran1。

[Device] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為傳輸模式。

[Device-ipsec-transform-set-tran1] encapsulation-mode transport

# 配置采用的安全協議為ESP。

[Device-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為256比特的AES,認證算法為HMAC-SHA1。

[Device-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-256

[Device-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[Device-ipsec-transform-set-tran1] quit

# 創建一個IPsec安全策略模板pt,並進入IPsec安全策略模板pt的視圖。

[Device] ipsec policy-template pt 1

# 指定引用的安全提議為tran1。

[Device-ipsec-policy-template-pt-1] transform-set tran1

# 指定引用的IKE profile為profile1。

[Device-ipsec-policy-template-pt-1] ike-profile profile1

# 配置反向路由注入功能。

[Device-ipsec-policy-template-pt-1] reverse-route dynamic

[Device-ipsec-policy-template-pt-1] quit

# 引用安全策略模板pt創建一條IKE協商方式的安全策略map1。

[Device] ipsec policy map1 1 isakmp template pt

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。

[Device] interface gigabitethernet 1/0/1

[Device-GigabitEthernet1/0/1] ipsec apply policy map1

[Device-GigabitEthernet1/0/1] quit

(2)     配置Host

Host上需要完成IPsec客戶端的如下主要配置,並保證與Device端的相關配置相匹配:

¡     IPsec隧道對端的安全網關IP地址;

¡     IKE第一階段認證采用的預共享密鑰;

¡     擴展認證采用的用戶名和密碼(本例為用戶test);

¡     IPsec安全協議,以及采用的加密算法、認證算法;

¡     IKE協商參數;

¡     本地及遠端的ID類型與取值。

4. 驗證配置

以上配置完成後,Host如果有報文發送到3.3.3.50,將觸發IKE協商。

# 可通過如下顯示信息查看到Device上IKE第一階段協商成功後生成的IKE SA的詳細信息,並可查看到對客戶端的擴展認證處於開啟狀態。

[Device] display ike sa verbose remote-address 1.1.1.1

   -----------------------------------------------

   Connection ID: 18

   Outside VPN:

   Inside VPN:

   Profile: profile1

   Transmitting entity: Responder

   Initiator cookie: 1bcf453f0a217259

   Responder cookie: 5e32a74dfa66a0a4

   Output interface name: GigabitEthernet1/0/1

   -----------------------------------------------

   Local IP/port: 2.2.2.2/500

   Local ID type: IPV4_ADDR

   Local ID: 2.2.2.2

 

   Remote IP/port: 1.1.1.1/500

   Remote ID type: IPV4_ADDR

   Remote ID: 1.1.1.1

 

   Authentication-method: PRE-SHARED-KEY

   Authentication-algorithm: SHA1

   Encryption-algorithm: 3DES-CBC

 

   Life duration(sec): 86400

   Remaining key duration(sec): 84565

   Exchange-mode: Main

   Diffie-Hellman group: Group 2

   NAT traversal: Detected

 

   Extend authentication Enabled

   Assigned IP address: 20.1.1.2

   Vendor ID index: 0xa1d

   Vendor ID sequence number: 0x0

若Host端提供了正確的用戶名和密碼,將能夠與Device之間成功建立IPsec隧道。在Device上可以通過display ipsec sa命令查看到生成的IPsec SA信息。

<Device> display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

  -----------------------------

  IPsec policy: map1

  Sequence number: 1

  Alias: map1-1

  Mode: Template

  -----------------------------

    Tunnel id: 2

    Encapsulation mode: transport

    Perfect Forward Secrecy:

    Transmitting entity: Initiator

    Path MTU: 1427

    Tunnel:

        local  address/port: 2.2.2.2/500

        remote address/port: 1.1.1.1/500

    Flow:

        sour addr: 0.0.0.0/0.0.0.0  port: 0  protocol: ip

        dest addr: 20.1.1.2/255.255.255.255  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 2374047012 (0x8d811524)

      Transform set: ESP-ENCRYPT-AES-CBC-256 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843198/3259

      Max received sequence-number: 24

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

    [Outbound ESP SAs]

      SPI: 146589619 (0x08bcc7b3)

      Transform set: ESP-ENCRYPT-AES-CBC-256 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3259

      Max sent sequence-number: 0

      UDP encapsulation used for NAT traversal: N

      Status: Active

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1839568/3164

      Max sent sequence-number: 2793

      UDP encapsulation used for NAT traversal: N

      Status: Active

2.19.6  IKE支持發起方擴展認證配置舉例

1. 組網需求

DeviceA和DeviceB建立一個IPsec隧道,對DeviceA和Server之間的數據流進行安全保護。

·     DeviceA和DeviceB之間采用IKE協商方式建立IPsec SA。

·     IKE第一階段協商的認證方法為預共享密鑰認證。

·     DeviceB對DeviceA進行IKE擴展認證,認證方式采用遠程RADIUS認證。

2. 組網圖

圖2-9 IKE支持發起方擴展認證典型組網圖

3. 配置步驟

說明

·     請保證DeviceA與DeviceB、DeviceA與Server之間路由可達。

·     保證DeviceA使用指定的用戶名和密碼(本例中,用戶名為test,密碼為123456TESTplat&!)可以完成身份認證。

 

(1)     配置DeviceA

# 配置IPv4高級ACL 3101,定義要保護由1.1.1.1到2.2.2.2的數據流。

[DeviceA] acl advanced 3101

[DeviceA-acl-ipv4-adv-3101] rule permit ip source 1.1.1.1 0.0.0.0 destination 2.2.2.2 0.0.0.0

[DeviceA-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceA] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為傳輸模式。

[DeviceA-ipsec-transform-set-tran1] encapsulation-mode transport

# 配置采用的安全協議為ESP。

[DeviceA-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[DeviceA-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[DeviceA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceA-ipsec-transform-set-tran1] quit

# 創建IKE keychain,名稱為keychain1。

[DeviceA] ike keychain keychain1

# 配置與IP地址為2.2.2.2的對端使用的預共享密鑰為明文123456TESTplat&!。

[DeviceA-ike-keychain-keychain1] pre-shared-key address 2.2.2.2 255.255.255.255 key simple 123456TESTplat&!

[DeviceA-ike-keychain-keychain1] quit

# 創建IKE profile,名稱為profile1。

[DeviceA] ike profile profile1

# 指定引用的IKE keychain為keychain1。

[DeviceA-ike-profile-profile1] keychain keychain1

# 配置本端的身份信息為IP地址1.1.1.1。

[DeviceA-ike-profile-profile1] local-identity address 1.1.1.1

# 配置匹配對端身份的規則為IP地址2.2.2.2。

[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.255.255

# 配置用戶名和密碼。

[DeviceA-ike-profile-profile1] client-authentication xauth user test password simple 123456TESTplat&!

[DeviceA-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為policy1,順序號為10。

[DeviceA] ipsec policy policy1 10 isakmp

# 配置IPsec隧道的對端IP地址為2.2.2.2。

[DeviceA-ipsec-policy-isakmp-policy1-10] remote-address 2.2.2.2

# 配置IPsec隧道的本端IP地址為1.1.1.1。

[DeviceA-ipsec-policy-isakmp-policy1-10] local-address 1.1.1.1

# 指定引用ACL 3101。

[DeviceA-ipsec-policy-isakmp- policy1-10] security acl 3101

# 指定引用的安全提議為tran1。

[DeviceA-ipsec-policy-isakmp- policy1-10] transform-set tran1

# 指定引用的IKE profile為profile1。

[DeviceA-ipsec-policy-isakmp- policy1-10] ike-profile profile1

[DeviceA-ipsec-policy-isakmp- policy1-10] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略policy1。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] ipsec apply policy policy1

[DeviceA-GigabitEthernet1/0/1] quit

(2)     配置DeviceB

# 配置各接口的IP地址,具體略。

# 創建RADIUS方案ike-scheme。

[DeviceB] radius scheme ike-scheme

# 配置主RADIUS認證服務器IP地址為3.3.3.48,端口為1645。

[DeviceB-radius-ike-scheme] primary authentication 3.3.3.48 1645

# 配置與認證服務器交互報文時的共享密鑰為明文abc。

[DeviceB-radius-ike-scheme] key authentication simple abc

# 配置向RADIUS服務器發送的用戶名不攜帶域名。(此配置可根據服務器對用戶名的要求調整)

[DeviceB-radius-ike-scheme] user-name-format without-domain

[DeviceB-radius-ike-scheme] quit

# 配置ISP域ike,指定IKE用戶的認證方法。

[DeviceB] domain ike

[DeviceB-isp-ike] authentication ike radius-scheme ike-scheme

[DeviceB-isp-ike] quit

# 配置IPv4高級ACL 3101,定義要保護由2.2.2.2到1.1.1.1的數據流。

[DeviceB] acl advanced 3101

[DeviceB-acl-ipv4-adv-3101] rule permit ip source 2.2.2.2 0.0.0.0 destination 1.1.1.1 0.0.0.0

[DeviceB-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceB] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為傳輸模式。

[DeviceB-ipsec-transform-set-tran1] encapsulation-mode transport

# 配置采用的安全協議為ESP。

[DeviceB-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[DeviceB-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128

[DeviceB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceB-ipsec-transform-set-tran1] quit

# 創建IKE keychain,名稱為keychain1。

[DeviceB] ike keychain keychain1

# 配置與IP地址為1.1.1.1的對端使用的預共享密鑰為明文123456TESTplat&!。

[DeviceB-ike-keychain-keychain1] pre-shared-key address 1.1.1.1 255.255.255.255 key simple 123456TESTplat&!

[DeviceB-ike-keychain-keychain1] quit

# 創建IKE profile,名稱為profile1。

[DeviceB] ike profile profile1

# 指定引用的IKE keychain為keychain1。

[DeviceB-ike-profile-profile1] keychain keychain1

# 配置本端的身份信息為IP地址2.2.2.2。

[DeviceB-ike-profile-profile1] local-identity address 2.2.2.2

# 配置匹配對端身份的規則為IP地址1.1.1.1。

[DeviceB-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.255.255

# 開啟對客戶端的認證。

[DeviceB-ike-profile-profile1] client-authentication xauth

[DeviceB-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略模板,名稱為template1,順序號為10。

[DeviceB] ipsec policy-template template1 10

# 配置IPsec隧道的對端IP地址為1.1.1.1。

[DeviceB-ipsec-policy-isakmp-template1-10] remote-address 1.1.1.1

# 指定引用ACL 3101。

[DeviceB-ipsec-policy-isakmp-template1-10] security acl 3101

# 指定引用的安全提議為tran1。

[DeviceB-ipsec-policy-isakmp-template1-10] transform-set tran1

# 指定引用的IKE profile為profile1。

[DeviceB-ipsec-policy-isakmp-template1-10] ike-profile profile1

[DeviceB-ipsec-policy-isakmp-template1-10] quit

# 策略引用模板。

[DeviceB]ipsec policy policy1 10 isakmp template template1

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略policy1。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ipsec apply policy policy1

[DeviceB-GigabitEthernet1/0/1] quit

4. 驗證配置

以上配置完成後,DeviceA如果有報文發送到3.3.3.48,將觸發IKE協商。

# 可通過如下顯示信息查看到DeviceB上IKE第一階段協商成功後生成的IKE SA的詳細信息,並可查看到對客戶端的擴展認證處於開啟狀態。

[DeviceB] display ike sa verbose remote-address 1.1.1.1

   -----------------------------------------------

   Connection ID: 18

   Outside VPN:

   Inside VPN:

   Profile: profile1

   Transmitting entity: Responder

   Output interface name: GigabitEthernet1/0/1

   -----------------------------------------------

   Local IP/port: 2.2.2.2/500

   Local ID type: IPV4_ADDR

   Local ID: 2.2.2.2

 

   Remote IP/port: 1.1.1.1/500

   Remote ID type: IPV4_ADDR

   Remote ID: 1.1.1.1

 

   Authentication-method: PRE-SHARED-KEY

   Authentication-algorithm: SHA1

   Encryption-algorithm: 3DES-CBC

 

   Life duration(sec): 86400

   Remaining key duration(sec): 84565

   Exchange-mode: Main

   Diffie-Hellman group: Group 2

   NAT traversal: Detected

 

   Extend authentication Enabled

   Assigned IP address:

若DeviceA提供了正確的用戶名和密碼,將能夠與DeviceB之間成功建立IPsec隧道。在DeviceB上可以通過display ipsec sa命令查看到生成的IPsec SA信息。

<DeviceB> display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

  -----------------------------

  IPsec policy: map1

  Sequence number: 1

  Alias: map1-1

  Mode: Template

  -----------------------------

    Tunnel id: 2

    Encapsulation mode: transport

    Perfect Forward Secrecy:

    Transmitting entity: Initiator

    Path MTU: 1427

    Tunnel:

        local  address/port: 2.2.2.2/500

        remote address/port: 1.1.1.1/500

    Flow:

        sour addr: 0.0.0.0/0.0.0.0  port: 0  protocol: ip

        dest addr: 20.1.1.2/255.255.255.255  port: 0  protocol: ip

    [Inbound ESP SAs]

      SPI: 2374047012 (0x8d811524)

      Transform set: ESP-ENCRYPT-AES-CBC-256 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843198/3259

      Max received sequence-number: 24

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

    [Outbound ESP SAs]

      SPI: 146589619 (0x08bcc7b3)

      Transform set: ESP-ENCRYPT-AES-CBC-256 ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3259

      Max sent sequence-number: 0

      UDP encapsulation used for NAT traversal: N

      Status: Active

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1839568/3164

      Max sent sequence-number: 2793

      UDP encapsulation used for NAT traversal: N

      Status: Active

2.19.7  IKE國密主模式及SM2-DE數字信封認證配置舉例

1. 組網需求

在Device A和Device B之間建立一個IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。

·     Device A和Device B之間采用IKE協商方式建立IPsec SA。

·     Device A和DeviceB均使用SM2-DE數字信封的認證方法。

·     IKE第一階段的協商模式為國密主模式。

2. 組網圖

圖2-10 IKE國密主模式及SM2-DE數字信封認證配置組網圖

3. 配置步驟

(1)     配置Device A

# 配置各接口的IP地址,具體略。

# 配置IPv4高級ACL 3101,定義要保護由子網10.1.1.0/24去子網10.1.2.0/24的數據流。

<DeviceA> system-view

[DeviceA] acl advanced 3101

[DeviceA-acl-ipv4-adv-3101] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[DeviceA-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceA] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[DeviceA-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[DeviceA-ipsec-transform-set-tran1] esp encryption-algorithm sm1-cbc-128

[DeviceA-ipsec-transform-set-tran1] esp authentication-algorithm sm3

[DeviceA-ipsec-transform-set-tran1] quit

# 創建PKI實體entity1。

[DeviceA] pki entity entity1

# 配置PKI實體的通用名。

[DeviceA-pki-entity-entity1] common-name devicea

[DeviceA-pki-entity-entity1] quit

# 創建PKI域domain1。

[DeviceA] pki domain domain1

# 配置證書申請模式為自動模式,並設置吊銷證書時使用的口令。

[DeviceA-pki-domain-domain1] certificate request mode auto password simple 123

# 配置驗證CA根證書時所使用的指紋。

[DeviceA-pki-domain-domain1] root-certificate fingerprint md5 50c7a2d282ea710a449eede6c56b102e

# 配置CA服務器名稱。

[DeviceA-pki-domain-domain1] ca identifier 8088

# 配置實體通過SCEP進行證書申請的注冊受理機構服務器的URL(此處的URL僅為示例,請以組網環境中的實際情況為準)。

[DeviceA-pki-domain-domain1] certificate request url http://192.168.222.1:446/eadbf9af4f2c4641e685f7a6021e7b298373feb7

# 配置證書申請的注冊受理機構。

[DeviceA-pki-domain-domain1] certificate request from ca

# 配置指定用於申請證書的PKI實體名稱。

[DeviceA-pki-domain-domain1] certificate request entity entity1

# 配置指定證書申請使用的SM2密鑰對。

[DeviceA-pki-domain-domain1] public-key sm2 general name ipsec-sm2

[DeviceA-pki-domain-domain1] quit

# 創建IKE提議10。

[DeviceA] ike proposal 10

# 指定IKE提議使用的認證方法為SM2-DE。

[DeviceA-ike-proposal-10] authentication-method sm2-de

# 指定IKE提議使用的認證算法為SM3

[DeviceA-ike-proposal-10] authentication-algorithm sm3

# 指定IKE提議使用的加密算法為SM1-CBC-128

[DeviceA-ike-proposal-10] encryption-algorithm sm1-cbc-128

[DeviceA-ike-proposal-10] quit

# 創建IKE profile,名稱為profile1。

[DeviceA] ike profile profile1

# 配置第一階段的協商模式為國密主模式。

[DeviceA-ike-profile-profile1] exchange-mode gm-main

# 配置IKE協商采用SM2-DE數字信封認證時使用的PKI域為domain1。

[DeviceA-ike-profile-profile1] certificate domain domain1

# 配置引用序號為10的IKE安全提議。

[DeviceA-ike-profile-profile1] proposal 10

# 配置本端的身份信息為IP地址1.1.1.1。

[DeviceA-ike-profile-profile1] local-identity address 1.1.1.1

# 配置匹配對端身份的規則為IP地址2.2.2.2/16。

[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0

[DeviceA-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為map1,順序號為10。

[DeviceA] ipsec policy map1 10 isakmp

# 配置IPsec隧道的對端IP地址為2.2.2.2。

[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.2.2

# 指定引用ACL 3101。

[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101

# 指定引用的安全提議為tran1。

[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1

# 指定引用的IKE profile為profile1。

[DeviceA-ipsec-policy-isakmp-map1-10] ike-profile profile1

[DeviceA-ipsec-policy-isakmp-map1-10] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1

[DeviceA-GigabitEthernet1/0/1] quit

# 配置到Host B所在子網的靜態路由。1.1.1.2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceA] ip route-static 10.1.2.0 255.255.255.0 1.1.1.2

(2)     配置Device B

# 配置各接口的IP地址,具體略。

# 配置IPv4高級ACL 3101,定義要保護由子網10.1.2.0/24去往子網10.1.1.0/24的數據流。

<DeviceB> system-view

[DeviceB] acl advanced 3101

[DeviceB-acl-ipv4-adv-3101] rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

[DeviceB-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceB] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[DeviceB-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為128比特的AES,認證算法為HMAC-SHA1。

[DeviceB-ipsec-transform-set-tran1] esp encryption-algorithm sm1-cbc-128

[DeviceB-ipsec-transform-set-tran1] esp authentication-algorithm sm3

[DeviceB-ipsec-transform-set-tran1] quit

# 創建PKI實體entity2。

[DeviceB] pki entity entity2

# 配置PKI實體的通用名。

[DeviceB-pki-entity-entity2] common-name deviceb

[DeviceB-pki-entity-entity2] quit

# 創建PKI域domain2。

[DeviceB] pki domain domain2

# 配置證書申請模式為自動模式,並設置吊銷證書時使用的口令。

[DeviceB-pki-domain-domain2] certificate request mode auto password simple 123

# 配置驗證CA根證書時所使用的指紋。

[DeviceB-pki-domain-domain2] root-certificate fingerprint md5 50c7a2d282ea710a449eede6c56b102e

# 配置CA服務器名稱。

[DeviceB-pki-domain-domain2] ca identifier 8088

# 配置實體通過SCEP進行證書申請的注冊受理機構服務器的URL(此處的URL僅為示例,請以組網環境中的實際情況為準)。

[DeviceB-pki-domain-domain2] certificate request url http://192.168.222.1:446/eadbf9af4f2c4641e685f7a6021e7b298373feb7

# 配置證書申請的注冊受理機構。

[DeviceB-pki-domain-domain2] certificate request from ca

# 配置指定用於申請證書的PKI實體名稱。

[DeviceB-pki-domain-domain2] certificate request entity entity2

# 配置指定證書申請使用的SM2密鑰對。

[DeviceB-pki-domain-domain2] public-key sm2 general name ipsec-sm2

[DeviceB-pki-domain-domain2] quit

# 創建IKE提議10。

[DeviceB] ike proposal 10

# 指定IKE提議使用的認證方法為SM2-DE。

[DeviceB-ike-proposal-10] authentication-method sm2-de

# 指定IKE提議使用的認證算法為SM3

[DeviceB-ike-proposal-10] authentication-algorithm sm3

# 指定IKE提議使用的加密算法為SM1-CBC-128

[DeviceB-ike-proposal-10] encryption-algorithm sm1-cbc-128

[DeviceB-ike-proposal-10] quit

# 創建IKE profile,名稱為profile1。

[DeviceB] ike profile profile1

# 配置第一階段的協商模式為國密主模式。

[DeviceB-ike-profile-profile1] exchange-mode gm-main

# 配置IKE協商采用SM2-DE數字信封認證時使用的PKI域為domain2。

[DeviceB-ike-profile-profile1] certificate domain domain2

# 配置引用序號為10的IKE安全提議。

[DeviceB-ike-profile-profile1] proposal 10

# 配置本端的身份信息為IP地址2.2.2.2。

[DeviceB-ike-profile-profile1] local-identity address 2.2.2.2

# 配置匹配對端身份的規則為IP地址1.1.1.1/16。

[DeviceB-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.0.0

[DeviceB-ike-profile-profile1] quit

# 創建一條IKE協商方式的IPsec安全策略,名稱為use1,順序號為10。

[DeviceB] ipsec policy use1 10 isakmp

# 配置IPsec隧道的對端IP地址為1.1.1.1。

[DeviceB-ipsec-policy-isakmp-use1-10] remote-address 1.1.1.1

# 指定引用ACL 3101。

[DeviceB-ipsec-policy-isakmp-use1-10] security acl 3101

# 指定引用的安全提議為tran1。

[DeviceB-ipsec-policy-isakmp-use1-10] transform-set tran1

# 指定引用的IKE profile為profile1。

[DeviceB-ipsec-policy-isakmp-use1-10] ike-profile profile1

[DeviceB-ipsec-policy-isakmp-use1-10] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略use1。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ipsec apply policy use1

# 配置到Host A所在子網的靜態路由。2.2.2.1為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceB] ip route-static 10.1.1.0 255.255.255.0 2.2.2.1

4. 驗證配置

以上配置完成後,Device A和Device B之間如果有子網10.1.1.0/24與子網10.1.2.0/24之間的報文通過,將觸發IKE協商。

# 可通過如下顯示信息查看到Device A和Device B上的IKE提議。

[DeviceA] display ike proposal

 Priority Authentication Authentication Encryption  Diffie-Hellman Duration

              method       algorithm    algorithm       group      (seconds)

----------------------------------------------------------------------------

10       SM2-DE             SM3         SM1-CBC-128     Group 1       86400

default  PRE-SHARED-KEY     SHA1        DES-CBC         Group 1       86400

 

[DeviceB] display ike proposal

 Priority Authentication Authentication Encryption  Diffie-Hellman Duration

              method       algorithm    algorithm       group      (seconds)

----------------------------------------------------------------------------

10       SM2-DE             SHA1        SM1-CBC-128    Group 1       86400

default  PRE-SHARED-KEY     SHA1        DES-CBC        Group 1       86400

# 可通過如下顯示信息查看到Device A上IKE第一階段協商成功後生成的IKE SA。

[DeviceA] display ike sa

    Connection-ID   Remote                Flag         DOI

------------------------------------------------------------------

    1               2.2.2.2/500           RD           IPsec

Flags:

RD--READY RL--REPLACED FD-FADING RK-REKEY

# 可通過如下顯示信息查看到IKE第二階段協商生成的IPsec SA。

[DeviceA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

 

  -----------------------------

  IPsec policy: map1

  Sequence number: 10

  Alias: policy1-1

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Transmitting entity: Initiator

    Path MTU: 1456

    Tunnel:

        local  address/port: 1.1.1.1/500

        remote address/port: 2.2.2.2/500

    Flow:

        sour addr: 10.1.1.0/255.255.255.0  port: 0  protocol: ip

        dest addr: 10.1.2.0/255.255.255.0  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 1451246811 (0x568044db)

      Connection ID: 90194313219

      Transform set: ESP-ENCRYPT-SM1-CBC-128 ESP-AUTH-SM3

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3484

      Max received sequence-number:

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 2692887942 (0xa0823586)

      Connection ID: 64424509441

      Transform set: ESP-ENCRYPT-SM1-CBC-128 ESP-AUTH-SM3

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3484

      Max sent sequence-number:

      UDP encapsulation used for NAT traversal: N

      Status: Active

# Device B上也會產生相應的IKE SA和IPsec SA,查看方式與Device A同,此處略。

2.20  常見錯誤配置舉例

2.20.1  提議不匹配導致IKE SA協商失敗

1. 故障現象

(1)     通過如下命令查看當前的IKE SA信息,發現IKE SA的狀態(Flags字段)為Unknown。

<Sysname> display ike sa

    Connection-ID   Remote                Flag         DOI

------------------------------------------------------------------

    1               192.168.222.5/500     Unknown      IPsec

Flags:

RD--READY RL--REPLACED FD-FADING RK-REKEY

(2)     打開IKE事件和報文調試信息開關後分別可以看到如下調試信息。

IKE事件調試信息:

The attributes are unacceptable.

IKE報文調試信息:

Construct notification packet: NO_PROPOSAL_CHOSEN.

2. 故障分析

IKE提議配置錯誤。

3. 處理過程

(1)     排查IKE提議相關配置。具體包括:檢查兩端的IKE提議是否匹配,即IKE提議中的認證方法、認證算法、加密算法是否匹配。

(2)     修改IKE提議的配置,使本端IKE提議的配置和對端匹配。

2.20.2  未正確引用IKE提議或IKE keychain導致IKE SA協商失敗

1. 故障現象

(1)     通過如下命令查看當前的IKE SA信息,發現IKE SA的狀態(Flags字段)為Unknown。

<Sysname> display ike sa

    Connection-ID   Remote                Flag         DOI

------------------------------------------------------------------

    1               192.168.222.5/500     Unknown      IPsec

Flags:

RD--READY RL--REPLACED FD-FADING RK-REKEY

(2)     打開IKE事件和報文調試信息開關後分別可以看到如下調試信息。

IKE事件調試信息:

Notification PAYLOAD_MALFORMED is received.

IKE報文調試信息:

Construct notification packet: PAYLOAD_MALFORMED.

2. 故障分析

故障原因可能為以下兩點:

(1)     匹配到的IKE profile中沒有引用協商過程中匹配到的IKE提議。

通過調試信息看到:

Failed to find proposal 1 in profile profile1.

(2)     匹配到的IKE profile中沒有引用協商過程中匹配到的IKE keychain。

通過調試信息看到:

Failed to find keychain keychain1 in profile profile1.

3. 處理過程

(1)     檢查匹配到的IKE提議是否在IKE profile下引用。以故障分析中的調試信息為例,IKE profile profile1中需要引用IKE proposal 1。

(2)     檢查匹配到的IKE keychain是否在IKE profile下引用。以故障分析中的調試信息為例,IKE profile profile1中需要引用IKE keychain keychain1。

2.20.3  提議不匹配導致IPsec SA協商失敗

1. 故障現象

(1)     通過display ike sa命令查看當前的IKE SA信息,發現IKE SA協商成功,其狀態(Flags字段)為RD。但通過display ipsec sa命令查看當前的IPsec SA時,發現沒有協商出相應的IPsec SA。

(2)     打開IKE調試信息開關可以看到以下調試信息:

The attributes are unacceptable.

或者:

Construct notification packet: NO_PROPOSAL_CHOSEN.

2. 故障分析

IPsec安全策略參數配置錯誤。

3. 處理過程

(1)     排查IPsec相關配置。具體包括:檢查雙方接口上應用的IPsec安全策略的參數是否匹配,即引用的IPsec安全提議的協議、加密算法和認證算法是否匹配。

(2)     修改IPsec安全策略配置,使本端IPsec安全策略的配置和對端匹配。

2.20.4  身份信息無效導致IPsec SA協商失敗

1. 故障現象

(1)     通過display ike sa命令查看當前的IKE SA信息,發現IKE SA協商成功,其狀態(Flags字段)為RD。但通過display ipsec sa命令查看當前的IPsec SA時,發現沒有協商出相應的IPsec SA。

(2)     打開IKE調試信息開關可以看到以下調試信息:

Notification INVALID_ID_INFORMATION is received.

或者:

Failed to get IPsec policy when renegotiating IPsec SA. Delete IPsec SA.

Construct notification packet: INVALID_ID_INFORMATION.

2. 故障分析

響應方IPsec安全策略配置錯誤,導致在IKE第二階段協商時找不到IPsec安全策略,原因可能為如下幾點:

(1)     通過display ike sa verbose命令查看IKE一階段協商中是否找到匹配的IKE profile。若沒有找到IKE profile,則會查找全局的IKE參數,因此就要求這種情況下IPsec安全策略中不能引用任何IKE profile,否則協商失敗。

通過如下顯示信息可以看到,IKE SA在協商過程中沒有找到匹配的IKE profile:

<Sysname> display ike sa verbose

   -----------------------------------------------

   Connection ID: 3

   Outside VPN:

   Inside VPN:

   Profile:

   Transmitting entity: Responder

   Initiator cookie: 1bcf453f0a217259

   Responder cookie: 5e32a74dfa66a0a4

   Output interface name: GigabitEthernet1/0/1

   -----------------------------------------------

   Local IP/port: 192.168.222.5/500

   Local ID type: IPV4_ADDR

   Local ID: 192.168.222.5

 

   Remote IP/port: 192.168.222.71/500

   Remote ID type: IPV4_ADDR

   Remote ID: 192.168.222.71

 

   Authentication-method: PRE-SHARED-KEY

   Authentication-algorithm: MD5

   Encryption-algorithm: 3DES-CBC

 

   Life duration(sec): 86400

   Remaining key duration(sec): 85847

   Exchange-mode: Main

   Diffie-Hellman group: Group 1

   NAT traversal: Not detected

   Vendor ID index: 0xa1d

   Vendor ID sequence number: 0x0

但在IPsec策略中引用了IKE profile profile1:

[Sysname] display ipsec policy

-------------------------------------------

IPsec Policy: policy1

Interface: GigabitEthernet1/0/1

-------------------------------------------

 

  -----------------------------

  Sequence number: 1

  Mode: ISAKMP

  -----------------------------

  Description:

  Security data flow: 3000

  Selector mode: aggregation

  Local address: 192.168.222.5

  Remote address: 192.168.222.71

  Transform set:  transform1

  IKE profile: profile1

  smart-link policy:

  SA trigger mode: Auto

  SA duration(time based): 3600 seconds

  SA duration(traffic based): 1843200 kilobytes

  SA soft-duration buffer(time based): 1000 seconds

  SA soft-duration buffer(traffic based): 43200 kilobytes

  SA idle time: 100 seconds

  Responder only: Disabled

(2)     查看IPsec安全策略中引用的ACL配置是否正確。

例如,如發起方ACL流範圍為網段到網段:

[Sysname] display acl 3000

Advanced IPv4 ACL 3000, 1 rule,

ACL's step is 5

 rule 0 permit ip source 192.168.222.0 0.0.0.255 destination 192.168.222.0 0.0.0.255

響應方ACL流範圍為主機到主機:

[Sysname] display acl 3000

Advanced IPv4 ACL 3000, 1 rule,

ACL's step is 5

 rule 0 permit ip source 192.168.222.71 0 destination 192.168.222.5 0

以上配置中,響應方ACL規則定義的流範圍小於發起方ACL規則定義的流範圍,這會導致IPsec SA協商失敗。

(3)     IPsec 安全策略配置不完整。具體包括:沒有配置對端地址、沒有配置IPsec提議、IPsec提議配置不完整。

例如,如下IPsec安全策略中沒有配置隧道的對端IP地址,因此IPsec安全策略是不完整的:

[Sysname] display ipsec policy

-------------------------------------------

IPsec Policy: policy1

Interface: GigabitEthernet1/0/1

-------------------------------------------

 

  -----------------------------

  Sequence number: 1

  Mode: ISAKMP

  -----------------------------

  Security data flow: 3000

  Selector mode: aggregation

  Local address: 192.168.222.5

  Remote address:

  Transform set:  transform1

  IKE profile: profile1

  smart-link policy:

  SA trigger mode: Auto

  SA duration(time based): 3600 seconds

  SA duration(traffic based): 1843200 kilobytes

  SA soft-duration buffer(time based): 1000 seconds

  SA soft-duration buffer(traffic based): 43200 kilobytes

  SA idle time: 100 seconds

  Responder only: Disabled

3. 處理過程

(1)     若在IKE第一階段協商過程中沒有找到IKE profile,建議在響應方IPsec安全策略中去掉對IKE profile的引用或者調整IKE profile的配置使之能夠與發起端相匹配。

(2)     若響應方ACL規則定義的流範圍小於發起方ACL規則定義的流範圍,建議修改響應方ACL的流範圍大於或等於發起方ACL的流範圍。以故障分析(2)中的配置為例,可以將響應方ACL流範圍修改為:

[Sysname] display acl 3000

Advanced IPv4 ACL 3000, 2 rules,

ACL's step is 5

 rule 0 permit ip source 192.168.222.0 0.0.0.255 destination 192.168.222.0 0.0.0.255

(3)     將IPsec安全策略配置完整。以故障分析中的(3)中的配置為例,需要在IPsec安全策略中配置隧道的對端IP地址。


3 IKEv2

3.1  IKEv2簡介

IKEv2(Internet Key Exchange Version 2,互聯網密鑰交換協議第2版)是第1版本的IKE協議(本文簡稱IKEv1)的增強版本。IKEv2與IKEv1相同,具有一套自保護機製,可以在不安全的網絡上安全地進行身份認證、密鑰分發、建立IPsec SA。相對於IKEv1,IKEv2具有抗攻擊能力和密鑰交換能力更強以及報文交互數量較少等特點。

3.1.1  IKEv2的協商過程

要建立一對IPsec SA,IKEv1需要經曆兩個階段,至少需要交換6條消息。在正常情況下,IKEv2隻需要進行兩次交互,使用4條消息就可以完成一個IKEv2 SA和一對IPsec SA的協商建立,如果要求建立的IPsec SA的數目大於一對,則每增加一對IPsec SA隻需要額外增加一次交互,也就是兩條消息就可以完成,這相比於IKEv1簡化了設備的處理過程,提高了協商效率。

IKEv2定義了三種交互:初始交換、創建子SA交換以及通知交換。

下麵簡單介紹一下IKEv2協商過程中的初始交換過程。

圖3-1 IKEv2的初始交換過程

 

圖3-1所示,IKEv2的初始交換過程中包含兩個交換:IKE_SA_INIT交換(兩條消息)和IKE_AUTH交換(兩條消息)。

·     IKE_SA_INIT交換:完成IKEv2 SA參數的協商以及密鑰交換;

·     IKE_AUTH交換:完成通信對等體的身份認證以及IPsec SA的創建。

這兩個交換過程順序完成後,可以建立一個IKEv2 SA和一對IPsec SA。

創建子SA交換:當一個IKE SA需要創建多個IPsec SA時,使用創建子SA交換來協商多於一個的SA,另外還可用於進行IKE SA的重協商功能。

通知交換:用於傳遞控製信息,例如錯誤信息或通告信息。

3.1.2  IKEv2引入的新特性

1. IKEv2支持DH猜想

在IKE_SA_INIT交換階段,發起方采用“猜”的辦法,猜一個響應方最可能使用的DH組攜帶在第一條消息中發送。響應方根據發起方“猜”的DH組來響應發起方。如果發起方猜測成功,則這樣通過兩條消息就可以完成IKE_SA_INIT交換。如果發起方猜測錯誤,則響應方會回應一個INVALID_KE_PAYLOAD消息,並在該消息中指明將要使用的DH組。之後,發起方采用響應方指定的DH組重新發起協商。這種DH猜想機製,使得發起方的DH組配置更為靈活,可適應不同的響應方。

2. IKEv2支持cookie-challenge機製

在IKE_SA_INIT交換中消息是明文傳輸的,響應方接收到第一個消息後無法確認該消息是否來自一個仿冒的地址。如果此時一個網絡攻擊者偽造大量地址向響應方發送IKE_SA_INIT請求,根據IKEv1協議,響應方需要維護這些半開的IKE會話信息,從而耗費大量響應方的係統資源,造成對響應方的DoS攻擊。

IKEv2使用cookie-challenge機製來解決這類DoS攻擊問題。當響應方發現存在的半開IKE SA超過指定的數目時,就啟用cookie-challenge機製。響應方收到IKE_SA_INIT請求後,構造一個Cookie通知載荷並響應發起方,若發起方能夠正確攜帶收到的Cookie通知載荷向響應方重新發起IKE_SA_INIT請求,則可以繼續後續的協商過程。

半開狀態的IKEv2 SA是指那些正在協商過程中的IKEv2 SA。若半開狀態的IKEv2 SA數目減少到閾值以下,則cookie-challenge功能將會停止工作

3. IKEv2 SA重協商

為了保證安全,IKE SA和IPsec SA都有一個生存時間,超過生存時間的SA需要重新協商,即SA 的重協商。與IKEv1不同的是,IKEv2 SA的生存時間不需要協商,由各自的配置決定,重協商總是由生存時間較小的一方發起,可盡量避免兩端同時發起重協商造成冗餘SA的生成,導致兩端SA狀態不一致。

4. IKEv2報文確認重傳機製

與IKEv1不同,IKEv2中所有消息都是以“請求–響應”對的形式出現,IKEv2通過消息頭中的一個Message ID字段來標識一個“請求–響應”對。發起方發送的每一條消息都需要響應方給予確認,例如建立一個IKE SA一般需要兩個“請求-響應”對。如果發起方在規定時間內沒有接收到確認報文,則需要對該請求消息進行重傳。IKEv2消息的重傳隻能由發起方發起,且重傳消息的Message ID必須與原始消息的Message ID一致。

3.1.3  協議規範

與IKEv2相關的協議規範有:

·     RFC 2408:Internet Security Association and Key Management Protocol (ISAKMP)

·     RFC 4306:Internet Key Exchange (IKEv2) Protocol

·     RFC 4718:IKEv2 Clarifications and Implementation Guidelines

·     RFC 2412:The OAKLEY Key Determination Protocol

·     RFC 5996:Internet Key Exchange Protocol Version 2 (IKEv2)

3.2  IKEv2配置任務簡介

IKEv2配置任務如下:

(1)     配置IKEv2 profile

a.     創建IKEv2 profile

b.     指定IKEv2協商時本端和對端采用的身份認證方式

c.     配置Keychain或者PKI域

d.     配置本端身份信息

e.     配置匹配對端身份的規則

f.     配置IKEv2 profile所屬的VPN實例

g.     配置內部VPN實例

h.     配置IKEv2 profile可選功能

(2)     配置IKEv2安全策略

(3)     配置IKEv2安全提議

若IKEv2安全策略中指定了IKEv2提議,則必配。

(4)     配置IKEv2 keychain

隻要其中一端配置的認證方式為預共享密鑰方式,則必選。

如果兩端配置的認證方式都是RSA數字簽名方式,則不需要配置。

(5)     (可選)配置IKEv2 cookie-challenge功能

該功能僅對於響應方有意義。

(6)     (可選)配置全局IKEv2 DPD探測功能

(7)     (可選)配置IKEv2 NAT Keepalive功能

(8)     (可選)配置為對端分配IP地址的IKEv2本地地址池

(9)     (可選)配置對IKEv2 SA數目的限製

3.3  IKEv2配置準備

為了配置過程順利進行,在IKEv2配置之前,用戶需要確定以下幾個因素:

·     確定IKEv2初始交換過程中使用的算法的強度,即確定對初始交換進行安全保護的強度(包括加密算法、完整性校驗算法、PRF算法和DH組算法)。不同的算法的強度不同,算法強度越高,受保護數據越難被破解,但消耗的計算資源越多。一般來說,密鑰越長的算法強度越高。

·     確定本地認證方法以及對端的認證方法。若使用預共享密鑰方式,則要確定通信雙方預先約定的預共享密鑰;若使用RSA數字簽名方式,則要確定本端所使用的PKI域。關於PKI的配置,請參見“安全配置指導”中的“PKI”。

3.4  配置IKEv2 profile

3.4.1  創建IKEv2 profile

1. 功能簡介

創建一個IKEv2 profile,並進入IKEv2 Profile視圖。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建一個IKEv2 profile,並進入IKEv2 Profile視圖。

ikev2 profile profile-name

3.4.2  指定IKEv2協商時本端和對端采用的身份認證方式

1. 配置限製與指導

IKEv2協商時本端和對端采用的身份認證方式。隻能指定一個本端身份認證方式,可以指定多個對端身份認證方式。本端和對端可以采用不同的身份認證方式。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKEv2 Profile視圖。

ikev2 profile profile-name

(3)     指定IKEv2本端和對端的身份認證方式。

authentication-method { local | remote } { dsa-signature | ecdsa-signature | pre-share | rsa-signature }

缺省情況下,未配置本端和對端認證方式。

3.4.3  配置Keychain或者PKI域

1. 配置限製與指導

根據IKEv2 profile中配置的認證方法,配置IKEv2 keychain或PKI域。

·     如果任意一方指定的身份認證方式為數字簽名(dsa-signaturersa-signature或者ecdsa-signature),則需要配置PKI域。

·     如果任意一方指定的身份認證方式為預共享密鑰(pre-share),則需要配置IKEv2 keychain。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKEv2 Profile視圖。

ikev2 profile profile-name

(3)     根據IKEv2 profile中配置的認證方法,配置IKEv2 keychain或PKI域

¡     配置采用預共享密鑰認證時使用的Keychain

keychain keychain-name

¡     配置采用數字簽名認證時使用的PKI域。

certificate domain domain-name [ sign | verify ]

根據authentication-method命令使用的認證方法選擇其中一個配置。

3.4.4  配置本端身份信息

1. 配置限製與指導

·     如果本端的認證方式為數字簽名,則可以配置任何類型的身份信息。若配置的本端身份為IP地址,但這個IP地址與本地證書中的IP地址不同,設備將使用FQDN類型的本端身份,該身份的內容為設備的名稱(可通過sysname命令配置)。

·     如果本端的認證方式為預共享密鑰,則隻能配置除DN之外的其它類型的身份信息。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKEv2 Profile視圖。

ikev2 profile profile-name

(3)     配置本端身份信息。

identity local { address { ipv4-address | ipv6 ipv6-address } | dn | email email-string | fqdn fqdn-name | key-id key-id-string }

缺省情況下,未配置本端身份信息。此時使用IP地址標識本端的身份,該IP地址為IPsec安全策略應用的接口的IP地址。

3.4.5  配置匹配對端身份的規則

1. 功能簡介

IKEv2對等體需要根據對端的身份信息查找一個本端的IKEv2 profile,然後使用此IKEv2 profile中的信息驗證對端身份。對端身份信息若能滿足本地某個IKEv2 profile中指定的匹配規則,則該IKEv2 profile為查找的結果。匹配IKEv2 profile的順序取決於IKEv2 profile的優先級,優先級高的先匹配。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKEv2 Profile視圖。

ikev2 profile profile-name

(3)     配置匹配對端身份的規則。

match remote { certificate policy-name | identity { address { { ipv4-address [ mask | mask-length ] | range low-ipv4-address high-ipv4-address } | ipv6 { ipv6-address [ prefix-length ] | range low-ipv6-address high-ipv6-address } } | fqdn fqdn-name | email email-string | key-id key-id-string } }

協商雙方都必須配置至少一個match remote規則,當對端的身份與IKEv2 profile中配置的match remote規則匹配時,則使用此IKEv2 profile中的信息與對端完成認證。

3.4.6  配置IKEv2 profile所屬的VPN實例

1. 功能簡介

本功能限製IKEv2 profile隻能在所屬VPN實例的接口上協商。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKEv2 Profile視圖。

ikev2 profile profile-name

(3)     配置IKEv2 profile所屬的VPN實例。

match vrf { name vrf-name | any }

缺省情況下,IKEv2 profile屬於公網。

3.4.7  配置內部VPN實例

1. 功能簡介

當IPsec解封裝後的報文需要繼續轉發到不同的VPN時,設備需要知道在哪個VPN實例中查找相應的路由。缺省情況下,設備在與外網相同的VPN實例中查找路由,如果不希望在與外網相同的VPN實例中查找路由,則可以指定一個內部VPN實例,通過查找該內部VPN實例的路由來轉發報文。

2. 配置限製和指導

本功能僅對引用了IKEv2 profile的IPsec安全策略生效,對引用了IKEv2 profile 的IPsec安全框架不生效。

同一個ACL下配置的多條規則中綁定的VPN實例必須相同,且本功能配置的VPN實例必須與ACL下綁定的VPN實例相同。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     進入IKEv2 Profile視圖。

ikev2 profile profile-name

(3)     配置內部VPN實例。

inside-vrf vrf-name

缺省情況下,IKEv2 profile未指定內部VPN實例,即內網與外網在同一個VPN中。

3.4.8  配置IKEv2 profile可選功能

(1)     進入係統視圖。

system-view

(2)     進入IKEv2 Profile視圖。

ikev2 profile profile-name

(3)     配置IKEv2 profile的可選功能。

¡     配置IKEv2 DPD探測功能。

dpd interval interval [ retry seconds ] { on-demand | periodic }

缺省情況下,IKEv2 profile視圖下沒有配置DPD探測功能,采用係統視圖下的DPD配置。若兩者沒有配置,則不進行DPD探測。

¡     配置IKEv2 profile的使用範圍。

match local address { interface-type interface-number | ipv4-address | ipv6 ipv6-address }

缺省情況下,未限製IKEv2 profile的使用範圍。

限製IKEv2 profile隻能在指定的地址或指定接口的地址下使用(這裏的地址指的是IPsec策略下配置的本端地址,若本端地址沒有配置,則為引用IPsec策略的接口下地址)。

¡     配置IKEv2 profile的優先級。

priority priority

缺省情況下,IKEv2 profile的優先級為100。

優先級僅用於響應方在查找IKEv2 profile時調整IKEv2 profile的匹配順序。

¡     配置IKEv2 SA生存時間。

sa duration seconds

缺省情況下,IKEv2 SA的生存時間為86400秒。

本端和對端的IKEv2 SA生存時間可以不一致,也不需要進行協商,由生存時間較短的一方在本端IKEv2 SA生存時間到達之後發起重協商。

¡     配置發送NAT keepalive的時間間隔。

nat-keepalive seconds

缺省條件下,使用全局的IKEv2 NAT keepalive配置。

在IKEv2 peer之間存在NAT網關的情況下,設備通過定期向對端發送NAT keepalive 報文,防止已有的NAT會話表項因長時間無流量匹配而被老化。

¡     開啟指定的配置交換功能。

config-exchange { request | set { accept | send } }

缺省條件下,所有的配置交換功能均處於關閉狀態。

該功能用於分支和總部虛擬隧道IP地址的請求和分配。

參數

說明

request

用於分支側向中心側安全網關提交IP地址分配請求

set accept

用於分支側接受中心側主動推送的IP地址

set send

用於中心側主動推送IP地址給分支側

 

¡     開啟AAA授權功能。

aaa authorization domain domain-name username user-name

缺省條件下,IKEv2的AAA授權功能處於關閉狀態。

通過AAA授權獲取一個地址池的名字,地址池中配置了可分配給對端的IP地址。關於AAA授權IKE本地地址池的具體配置請參見“安全配置指導”中的“AAA”。

3.5  配置IKEv2安全策略

1. IKEv2安全策略及匹配機製簡介

在進行IKE_SA_INIT協商時,係統需要查找到一個與本端相匹配的IKEv2安全策略,並使用其中引用的安全提議進行安全參數的協商,匹配的依據為本端安全網關的IP地址。

·     若係統中配置了IKEv2安全策略,則根據本端安全網關的IP地址與所有已配置的IKEv2安全策略進行逐一匹配,如果未找到匹配的IKEv2安全策略或找到的安全策略中引用的安全提議配置不完整,則IKE_SA_INIT協商將會失敗。

·     若係統中未配置任何IKEv2安全策略,則直接采用缺省的IKEv2安全策略default。

·     係統中存在多個IKEv2安全策略的情況下,係統根據安全策略的優先級從高到低的順序依次匹配。如果通過match local address命令指定了匹配IKEv2安全策略的本端地址,則優先匹配指定了本端地址匹配條件的策略,其次匹配未指定本端地址匹配條件的策略。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建IKEv2安全策略,並進入IKEv2安全策略視圖。

ikev2 policy policy-name

缺省情況下,存在一個名稱為default的缺省IKEv2安全策略。

(3)     指定匹配IKEv2安全策略的本端地址。

match local address { interface-type interface-number | ipv4-address | ipv6 ipv6-address }

缺省情況下,未指定用於匹配IKEv2安全策略的本端地址,表示本策略可匹配所有本端地址。

(4)     配置匹配IKEv2安全策略的VPN實例。

match vrf { name vrf-name | any }

缺省情況下,未指定用於匹配IKEv2安全策略的VPN實例,表示本策略可匹配公網內的所有本端地址。

(5)     指定IKEv2安全策略引用的IKEv2安全提議。

proposal proposal-name

缺省情況下,IKEv2安全策略未引用IKEv2安全提議。

(6)     指定IKEv2安全策略的優先級。

priority priority

缺省情況下,IKEv2安全策略的優先級為100。

3.6  配置IKEv2安全提議

1. 功能簡介

IKEv2安全提議用於保存IKE_SA_INIT交換中使用的安全參數,包括加密算法、完整性驗證算法、PRF算法和DH組,其中每類安全參數均可以配置多個,其優先級按照配置順序依次降低。

2. 配置限製和指導

·     一個完整的IKEv2安全提議中至少應該包含一組安全參數,即一個加密算法、一個完整性驗證算法、一個PRF算法和一個DH組。

·     若同時指定了多個IKEv2安全提議,則它們的優先級按照配置順序依次降低。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建IKEv2安全提議,並進入IKEv2提議視圖。

ikev2 proposal proposal-name

缺省條件下,存在一個名稱為default的缺省IKEv2安全提議。

非FIPS模式下,該提議中定義的加密算法為aes-cbc-1283des,完整性校驗算法為sha1md5,PRF算法為sha1md5,DH組為group5group2

FIPS模式下,該提議中定義的加密算法為aes-cbc-128aes-ctr-128,完整性校驗算法為sha1sha256,PRF算法為sha1sha256,DH組為group14group19

(3)     指定IKEv2安全提議使用的加密算法。

(非FIPS模式)

encryption { 3des-cbc | aes-cbc-128 | aes-cbc-192 | aes-cbc-256 | aes-ctr-128 | aes-ctr-192 | aes-ctr-256 | camellia-cbc-128 | camellia-cbc-192 | camellia-cbc-256 | des-cbc } *

(FIPS模式)

encryption { aes-cbc-128 | aes-cbc-192 | aes-cbc-256 | aes-ctr-128 | aes-ctr-192 | aes-ctr-256  } *

缺省情況下,IKEv2安全提議未定義加密算法。

(4)     指定IKEv2安全提議使用的完整性校驗算法。

(非FIPS模式)

integrity { aes-xcbc-mac | md5 | sha1 | sha256 | sha384 | sha512 } *

(FIPS模式)

integrity { sha1 | sha256 | sha384 | sha512 } *

缺省情況下,IKEv2安全提議未定義完整性校驗算法。

(5)     指定IKEv2安全提議使用的DH組。

(非FIPS模式)

dh { group1 | group14 | group2 | group24 | group5 | group19 | group20 } *

(FIPS模式)

dh { group14 | group19 | group20 | group24 } *

缺省情況下,IKEv2安全提議未定義DH組。

(6)     指定IKEv2安全提議使用的PRF算法。

(非FIPS模式)

prf { aes-xcbc-mac | md5 | sha1 | sha256 | sha384 | sha512 } *

(FIPS模式)

prf { sha1 | sha256 | sha384 | sha512 } *

缺省情況下,IKEv2安全提議使用配置的完整性校驗算法作為PRF算法。

3.7  配置IKEv2 keychain

1. 功能簡介

IKEv2 keychain用來指定與對端進行IKEv2協商時使用的共享密鑰信息。一個IKEv2 keychain下可以指定多個IKEv2 peer,每個IKEv2 peer中包含了一個對稱預共享密鑰或一個非對稱預共享密鑰對,以及用於查找該IKEv2 peer的匹配參數(對等體的主機名稱、IP地址或地址範圍、身份信息)。其中,IKEv2協商的發起方使用對端的主機名稱、IP地址或地址範圍查找IKEv2 peer,響應方使用對端的IP地址、地址範圍或身份信息查找IKEv2 peer。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     創建IKEv2 keychain,並進入IKEv2 keychain視圖。

ikev2 keychain keychain-name

(3)     創建IKEv2 peer,並進入IKEv2 peer視圖。

peer name

(4)     指定IKEv2 peer的主機名稱。

hostname name

缺省情況下,未配置IKEv2 peer的主機名稱。

(5)     指定IKEv2 peer的主機地址。

address { ipv4-address [ mask | mask-length ] | ipv6 ipv6-address [ prefix-length ] }

缺省情況下,未指定IKEv2 peer的主機地址。

不同的IKEv2 peer中不能指定相同的主機地址。

(6)     指定IKEv2 peer的身份信息。

identity { address { ipv4-address | ipv6 { ipv6-address } } | fqdn fqdn-name | email email-string | key-id key-id-string }

缺省情況下,未指定IKEv2 peer的身份信息。

(7)     配置IKEv2 peer的預共享密鑰。

pre-shared-key [ local | remote ] { ciphertext | plaintext } string

缺省情況下,未配置IKEv2 peer的預共享密鑰。

3.8  配置IKEv2全局參數

3.8.1  配置IKEv2 cookie-challenge功能

1. 功能簡介

IKEv2 cookie-challenge功能用來防止攻擊者通過源IP仿冒對響應方造成DoS攻擊。

開啟IKEv2 cookie-challenge功能的同時需要指定啟用cookie-challenge功能的閾值,當響應方本地存在的半開狀態的IKEv2 SA數目達到指定的閾值時,則cookie-challenge功能開始生效。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     開啟IKEv2 cookie-challenge功能。

ikev2 cookie-challenge number

缺省情況下,IKEv2 cookie-challenge功能處於關閉狀態。

3.8.2  配置全局IKEv2 DPD探測功能

1. 功能簡介

IKEv2 DPD探測功能用來探測對端是否存活,包括以下兩種模式:

·     按需探測模式(on-demand):根據流量來探測對端是否存活。在本端發送用戶報文時,如果發現自最後一次收到對端報文之後,在指定的觸發IKEv2 DPD的時間間隔內一直未收到對端報文,則發送DPD報文探測對端是否存活。

·     定時探測模式(periodic):按照配置的觸發IKEv2 DPD的時間間隔定時發送DPD報文,探測對端是否存活。

2. 配置限製和指導

當係統視圖下和IKEv2 profile視圖下都配置DPD探測功能時,IKEv2 profile視圖下的DPD配置覆蓋係統視圖下的全局DPD配置。若IKEv2 profile視圖下沒有配置DPD探測功能,則應用全局DPD配置。

3. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置IKEv2 DPD探測功能。

ikev2 dpd interval interval [ retry seconds ] { on-demand | periodic }

缺省情況下,全局IKEv2 DPD探測功能處於關閉狀態。

3.8.3  配置IKEv2 NAT Keepalive功能

1. 功能簡介

IKEv2 NAT Keepalive功能僅對位於NAT之後的設備(即該設備位於NAT設備連接的私網側)有意義。NAT之後的IKEv2網關設備需要定時向NAT之外的IKEv2網關設備發送NAT Keepalive報文,以確保NAT設備上相應於該流量的會話存活,從而讓NAT之外的設備可以訪問NAT之後的設備。因此,配置的發送NAT Keepalive報文的時間間隔需要小於NAT設備上會話表項的存活時間。本功能必須在探測到NAT之後才能生效。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置向對端發送NAT Keepalive報文的時間間隔。

ikev2 nat-keepalive seconds

缺省情況下,探測到NAT後發送NAT Keepalive報文的時間間隔為10秒。

3.8.4  配置為對端分配IP地址的IKEv2本地地址池

1. 功能簡介

IKEv2本地地址池與AAA授權配合使用,可以向對端網關(客戶端)分配地址或應答地址請求,從而使得對端網關(企業分支客戶端)使用由企業中心網關統一分配的IP地址作為私網地址來進行通信,達到由企業中心統一管理的目的。關於AAA授權IKEv2本地地址池的具體配置請參見“安全配置指導”中的“AAA”。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置為對端分配IPv4地址的IKEv2本地地址池。

ikev2 address-group group-name start-ipv4-address end-ipv4-address [ mask | mask-length ]

(3)     配置為對端分配IPv6地址的IKEv2本地地址池。

ikev2 ipv6-address-group group-name prefix prefix/prefix-len assign-len assign-len

3.8.5  配置對IKEv2 SA數目的限製

1. 功能簡介

由於不同設備的能力不同,為充分利用設備的處理能力,可以配置允許同時處於協商狀態的IKE SA的最大數。

如果增加了本端IKEv2 SA的數目,則可以充分利用設備處理能力,以便在設備有較強處理能力的情況下得到更高的新建性能;如果減少了本端IKEv2 SA的數目,則可以避免產生大量不能完成協商的IKEv2 SA,以便在設備處理能力較弱時保證一定的新建性能。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     配置對本端IKEv2 SA數目的限製。

ikev2 limit max-negotiating-sa negotiation-limit

缺省情況下,不對本端IKEv2 SA的數目進行限製。

3.9  IKEv2顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IKEv2的運行情況,通過查看顯示信息驗證配置的效果。

在用戶視圖下執行reset命令可以刪除IKEv2 SA。

表3-1 IKEv2顯示和維護

操作

命令

顯示IKEv2安全策略的配置信息

display ikev2 policy [ policy-name | default ]

顯示IKEv2 profile的配置信息

display ikev2 profile [ profile-name ]

顯示IKEv2安全提議的配置信息

display ikev2 proposal [ name | default ]

顯示當前IKEv2 SA的信息

display ikev2 sa [ count | [ { local | remote } { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] [ verbose [ tunnel tunnel-id ] ] ]

顯示IKEv2統計信息

display ikev2 statistics

清除IKEv2 SA及其協商生成的Child SA

reset ikev2 sa [ [ { local | remote } { ipv4-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] | tunnel tunnel-id ] [ fast ]

清除IKEv2統計信息

reset ikev2 statistics

 

3.10  IKEv2典型配置舉例

3.10.1  IKEv2預共享密鑰認證配置舉例

1. 組網需求

在Device A和Device B之間建立IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。

·     Device A和Device B之間采用IKEv2協商方式建立IPsec SA。

·     使用缺省的IKEv2提議。

·     使用缺省的IKEv2安全策略。

2. 組網圖

圖3-2 IKEv2預共享密鑰認證典型組網圖

3. 配置步驟

(1)     配置Device A

# 配置各接口的IP地址,具體略。

# 配置ACL 3101,定義要保護由子網10.1.1.0/24去子網10.1.2.0/24的數據流。

<DeviceA> system-view

[DeviceA] acl advanced 3101

[DeviceA-acl-ipv4-adv-3101] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[DeviceA-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceA] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[DeviceA-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為DES,認證算法為HMAC-SHA1。

[DeviceA-ipsec-transform-set-tran1] esp encryption-algorithm des-cbc

[DeviceA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceA-ipsec-transform-set-tran1] quit

# 創建IKEv2 keychain,名稱為keychain1。

[DeviceA] ikev2 keychain keychain1

# 創建IKEv2對端,名稱為peer1。

[DeviceA-ikev2-keychain-keychain1] peer peer1

# 指定對端peer1的主機地址為2.2.2.2/16。

[DeviceA-ikev2-keychain-keychain1-peer-peer1] address 2.2.2.2 16

# 指定對端peer1的身份信息。

[DeviceA-ikev2-keychain-keychain1-peer-peer1] identity address 2.2.2.2

# 配置對端peer1使用的預共享密鑰為明文abcde。

[DeviceA-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext abcde

[DeviceA-ikev2-keychain-keychain1-peer-peer1] quit

[DeviceA-ikev2-keychain-keychain1] quit

# 創建IKEv2 profile,名稱為profile1。

[DeviceA] ikev2 profile profile1

# 指定本端的身份認證方式為預共享密鑰。

[DeviceA-ikev2-profile-profile1] authentication-method local pre-share

# 指定對端的身份認證方式為預共享密鑰。

[DeviceA-ikev2-profile-profile1] authentication-method remote pre-share

# 指定引用的IKEv2 keychain為keychain1。

[DeviceA-ikev2-profile-profile1] keychain keychain1

# 配置匹配對端身份的規則為IP地址2.2.2.2/16。

[DeviceA-ikev2-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0

[DeviceA-ikev2-profile-profile1] quit

# 創建一條IKEv2協商方式的IPsec安全策略,名稱為map1,順序號為10。

[DeviceA] ipsec policy map1 10 isakmp

# 配置IPsec隧道的對端IP地址為2.2.2.2。

[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.2.2

# 指定引用ACL 3101。

[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101

# 指定引用的安全提議為tran1。

[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1

# 指定引用的IKEv2 profile為profile1。

[DeviceA-ipsec-policy-isakmp-map1-10] ikev2-profile profile1

[DeviceA-ipsec-policy-isakmp-map1-10] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1

[DeviceA-GigabitEthernet1/0/1] quit

# 配置到Host B所在子網的靜態路由。1.1.1.2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceA] ip route-static 10.1.2.0 255.255.255.0 1.1.1.2

(2)     配置Device B

# 配置各接口的IP地址,具體略。

# 配置ACL 3101,定義要保護由子網10.1.2.0/24去往子網10.1.1.0/24的數據流。

<DeviceB> system-view

[DeviceB] acl advanced 3101

[DeviceB-acl-ipv4-adv-3101] rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

[DeviceB-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceB] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[DeviceB-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為DES,認證算法為HMAC-SHA1。

[DeviceB-ipsec-transform-set-tran1] esp encryption-algorithm des-cbc

[DeviceB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceB-ipsec-transform-set-tran1] quit

# 創建IKEv2 keychain,名稱為keychain1。

[DeviceB] ikev2 keychain keychain1

# 創建IKEV2對端,名稱為peer1。

[DeviceB-ikev2-keychain-keychain1] peer peer1

# 指定peer1的主機地址為1.1.1.1/16。

[DeviceB-ikev2-keychain-keychain1-peer-peer1] address 1.1.1.1 16

# 指定peer1的身份信息。

[DeviceB-ikev2-keychain-keychain1-peer-peer1] identity address 1.1.1.1

# 配置對端peer1使用的預共享密鑰為明文abcde。

[DeviceB-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext abcde

[DeviceB-ikev2-keychain-keychain1-peer-peer1] quit

[DeviceB-ikev2-keychain-keychain1] quit

# 創建IKEv2 profile,名稱為profile1。

[DeviceB] ikev2 profile profile1

# 指定本端的身份認證方式為預共享密鑰。

[DeviceB-ikev2-profile-profile1] authentication-method local pre-share

# 指定對端的身份認證方式為預共享密鑰。

[DeviceB-ikev2-profile-profile1] authentication-method remote pre-share

# 指定引用的IKEv2 keychain為keychain1。

[DeviceB-ikev2-profile-profile1] keychain keychain1

# 配置匹配對端身份的規則為IP地址1.1.1.1/16。

[DeviceA-ikev2-profile-profile1] match remote identity address 1.1.1.1 255.255.0.0

[DeviceA-ikev2-profile-profile1] quit

# 創建一條IKEv2協商方式的IPsec安全策略,名稱為use1,順序號為10。

[DeviceB] ipsec policy use1 10 isakmp

# 配置IPsec隧道的對端IP地址為1.1.1.1。

[DeviceB-ipsec-policy-isakmp-use1-10] remote-address 1.1.1.1

# 指定引用ACL 3101。

[DeviceB-ipsec-policy-isakmp-use1-10] security acl 3101

# 指定引用的安全提議為tran1。

[DeviceB-ipsec-policy-isakmp-use1-10] transform-set tran1

# 指定引用的IKEv2 profile為profile1。

[DeviceB-ipsec-policy-isakmp-use1-10] ikev2-profile profile1

[DeviceB-ipsec-policy-isakmp-use1-10] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略use1。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ipsec apply policy use1

[DeviceB-GigabitEthernet1/0/1] quit

# 配置到Host A所在子網的靜態路由。2.2.2.1為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceB] ip route-static 10.1.1.0 255.255.255.0 2.2.2.1

4. 驗證配置

以上配置完成後,Device A和Device B之間如果有子網10.1.1.0/24與子網10.1.2.0/24之間的報文通過,將觸發IKEv2協商。

# 可通過如下顯示信息查看到Device A上的IKEv2提議和IKEv2安全策略。

[DeviceA] display ikev2 proposal

IKEv2 proposal : default

  Encryption: AES-CBC-128 3DES-CBC

  Integrity: SHA1 MD5

  PRF: SHA1 MD5

  DH Group: MODP1536/Group5 MODP1024/Group2

[DeviceA] display ikev2 policy

IKEv2 policy : default

  Match VRF : any

  Proposal: default

Device B上IKEv2 提議和IKEv2安全策略的查看方式與Device A同,此處略。

# 可通過如下顯示信息查看到Device A上IKEv2協商成功後生成的IKEv2 SA。

[DeviceA] display ikev2 sa

Tunnel ID   Local                       Remote                      Status

---------------------------------------------------------------------------

  1        1.1.1.1/500                  2.2.2.2/500                  EST

Status:

IN-NEGO: Negotiating, EST: Established, DEL:Deleting

# 可通過如下顯示信息查看到IKEv2協商生成的IPsec SA。

[DeviceA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

 

  -----------------------------

  IPsec policy: map1

  Sequence number: 10

  Alias: map1-10

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Transmitting entity: Initiator

    Path MTU: 1456

    Tunnel:

        local  address/port: 1.1.1.1/500

        remote address/port: 2.2.2.2/500

    Flow:

        sour addr: 10.1.1.0/255.255.255.0  port: 0  protocol: ip

        dest addr: 10.1.2.0/255.255.255.0  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 3264152513 (0xc28f03c1)

      Connection ID: 141733920771

      Transform set: ESP-ENCRYPT-DES-CBC ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3484

      Max received sequence-number:

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 738451674 (0x2c03e0da)

      Connection ID: 64424509441

      Transform set: ESP-ENCRYPT-DES-CBC ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3484

      Max sent sequence-number:

      UDP encapsulation used for NAT traversal: N

      Status: Active

Device B上也會產生相應的IKEv2 SA和IPsec SA,查看方式與Device A同,此處略。

3.10.2  IKEv2 RSA數字簽名認證配置舉例

1. 組網需求

在Device A和Device B之間建立IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。

·     Device A和Device B之間采用IKEv2協商方式建立IPsec SA。

·     Device A和DeviceB均使用RSA數字簽名的認證方法。

·     Device A側子網的IP地址為動態分配,並作為發起方。

2. 組網圖

圖3-3 IKEv2 RSA數字簽名認證典型組網圖

3. 配置步驟

(1)     配置Device A

# 配置各接口的IP地址,具體略。

# 配置ACL 3101,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。

<DeviceA> system-view

[DeviceA] acl advanced 3101

[DeviceA-acl-ipv4-adv-3101] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[DeviceA-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceA] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[DeviceA-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為DES,認證算法為HMAC-SHA1。

[DeviceA-ipsec-transform-set-tran1] esp encryption-algorithm des-cbc

[DeviceA-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceA-ipsec-transform-set-tran1] quit

# 創建PKI實體entity1。

[DeviceA] pki entity entity1

# 配置PKI實體的通用名。

[DeviceA-pki-entity-entity1] common-name devicea

[DeviceA-pki-entity-entity1] quit

# 創建PKI域domain1。

[DeviceA]pki domain domain1

# 配置證書申請模式為自動模式,並設置吊銷證書時使用的口令。

[DeviceA-pki-domain-domain1] certificate request mode auto password simple 123

# 配置驗證CA根證書時所使用的指紋。

[DeviceA-pki-domain-domain1] root-certificate fingerprint md5 50c7a2d282ea710a449eede6c56b102e

# 配置CA服務器名稱。

[DeviceA-pki-domain-domain1] ca identifier 8088

# 配置實體通過SCEP進行證書申請的注冊受理機構服務器的URL(此處的URL僅為示例,請以組網環境中的實際情況為準)。

[DeviceA-pki-domain-domain1] certificate request url http://192.168.222.1:446/eadbf9af4f2c4641e685f7a6021e7b298373feb7

# 配置證書申請的注冊受理機構。

[DeviceA-pki-domain-domain1] certificate request from ca

# 配置指定用於申請證書的PKI實體名稱。

[DeviceA-pki-domain-domain1] certificate request entity entity1

# 配置指定證書申請使用的RSA密鑰對。

[DeviceA-pki-domain-domain1] public-key rsa general name rsa1

[DeviceA-pki-domain-domain1] quit

# 創建IKEv2 profile,名稱為profile1。

[DeviceA] ikev2 profile profile1

# 指定本端的身份認證方式為RSA數字簽名。

[DeviceA-ikev2-profile-profile1] authentication-method local rsa-signature

# 指定對端的身份認證方式為RSA數字簽名。

[DeviceA-ikev2-profile-profile1] authentication-method remote rsa-signature

# 指定引用的PKI域為domain1。

[DeviceA-ikev2-profile-profile1] certificate domain domain1

# 配置FQDN名www.example.com作為本端的身份標識。

[DeviceA-ikev2-profile-profile1] identity local fqdn www.example.com

# 配置匹配對端身份的規則為FQDN名www.example2.com。

[DeviceA-ikev2-profile-profile1] match remote identity fqdn www.example2.com

[DeviceA-ikev2-profile-profile1] quit

# 創建IKEv2提議10。

[DeviceA] ikev2 proposal 10

# 指定IKEv2提議使用的完整性校驗算法為HMAC-MD5。

[DeviceA-ikev2-proposal-10] integrity md5

# 指定IKEv2提議使用的加密算法為3DES。

[DeviceA-ikev2-proposal-10] encryption 3des-cbc

# 指定IKEv2提議使用的DH group為group1。

[DeviceA-ikev2-proposal-10] dh group1

# 指定IKEv2提議使用的PRF算法為HMAC-MD5。

[DeviceA-ikev2-proposal-10] prf md5

[DeviceA-ikev2-proposal-10] quit

# 創建IKEv2安全策略1。

[DeviceA] ikev2 policy 1

# 指定引用的IKEv2 proposal 10。

[DeviceA-ikev2-policy-1] proposal 10

[DeviceA-ikev2-policy-1] quit

# 創建一條IKEv2協商方式的IPsec安全策略,名稱為map1,順序號為10。

[DeviceA] ipsec policy map1 10 isakmp

# 配置IPsec隧道的對端IP地址為2.2.2.2。

[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.2.2

# 指定引用的安全提議為tran1。

[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1

# 指定引用ACL 3101。

[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101

# 指定引用的IKEv2 profile為profile1。

[DeviceA-ipsec-policy-isakmp-map1-10] ikev2-profile profile1

[DeviceA-ipsec-policy-isakmp-map1-10] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1

[DeviceA-GigabitEthernet1/0/1] quit

# 配置到Host B所在子網的靜態路由。1.1.1.2為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceA] ip route-static 10.1.2.0 255.255.255.0 1.1.1.2

(2)     配置Device B

# 配置各接口的IP地址,具體略。

# 配置ACL 3101,定義要保護由子網10.1.2.0/24去子網10.1.1.0/24的數據流。

[DeviceB] acl advanced 3101

[DeviceB-acl-ipv4-adv-3101] rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

[DeviceB-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議tran1。

[DeviceB] ipsec transform-set tran1

# 配置安全協議對IP報文的封裝形式為隧道模式。

[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel

# 配置采用的安全協議為ESP。

[DeviceB-ipsec-transform-set-tran1] protocol esp

# 配置ESP協議采用的加密算法為DES,認證算法為HMAC-SHA-1-96。

[DeviceB-ipsec-transform-set-tran1] esp encryption-algorithm des-cbc

[DeviceB-ipsec-transform-set-tran1] esp authentication-algorithm sha1

[DeviceB-ipsec-transform-set-tran1] quit

# 創建PKI實體entity2。

[DeviceB] pki entity entity2

# 配置PKI實體的通用名。

[DeviceB-pki-entity-entity2] common-name deviceb

[DeviceB-pki-entity-entity2] quit

# 創建PKI域domain2。

[DeviceB] pki domain domain2

# 配置證書申請模式為自動模式,並設置吊銷證書時使用的口令。

[DeviceB-pki-domain-domain2] certificate request mode auto password simple 123

# 配置驗證CA根證書時所使用的指紋。

[DeviceB-pki-domain-domain2] root-certificate fingerprint md5 50c7a2d282ea710a449eede6c56b102e

# 配置CA服務器名稱。

[DeviceB-pki-domain-domain2] ca identifier 8088

# 配置實體通過SCEP進行證書申請的注冊受理機構服務器的URL(此處的URL僅為示例,請以組網環境中的實際情況為準)。

[DeviceB-pki-domain-domain2] certificate request url http://192.168.222.1:446/eadbf9af4f2c4641e685f7a6021e7b298373feb7

# 配置證書申請的注冊受理機構。

[DeviceB-pki-domain-domain2] certificate request from ca

# 配置指定用於申請證書的PKI實體名稱。

[DeviceB-pki-domain-domain2] certificate request entity entity2

# 配置指定證書申請使用的RSA密鑰對。

[DeviceB-pki-domain-domain2] public-key rsa general name rsa1

[DeviceB-pki-domain-domain2] quit

# 創建IKEv2 profile,名稱為profile2。

[DeviceB] ikev2 profile profile2

# 指定本端的身份認證方式為RSA數字簽名。

[DeviceB-ikev2-profile-profile2] authentication-method local rsa-signature

# 指定對端的身份認證方式為RSA數字簽名。

[DeviceB-ikev2-profile-profile2] authentication-method remote rsa-signature

# 指定引用的PKI域為domain2。

[DeviceB-ikev2-profile-profile2] certificate domain domain2

# 配置FQDN名www.example2.com作為本端的身份標識。

[DeviceB-ikev2-profile-profile2] identity local fqdn www.example2.com

# 配置匹配對端身份的規則為FQDN名www.example.com。

[DeviceB-ikev2-profile-profile2] match remote identity fqdn www.example.com

[DeviceB-ikev2-profile-profile2] quit

# 創建IKEv2提議10。

[DeviceB] ikev2 proposal 10

# 指定IKEv2提議使用的完整性校驗算法為HMAC-MD5。

[DeviceB-ikev2-proposal-10] integrity md5

# 指定IKEv2提議使用的加密算法為3DES。

[DeviceB-ikev2-proposal-10] encryption 3des-cbc

# 指定IKEv2提議使用的DH group為group1。

[DeviceB-ikev2-proposal-10] dh group1

# 指定IKEv2提議使用的PRF算法為HMAC-MD5。

[DeviceB-ikev2-proposal-10] prf md5

[DeviceB-ikev2-proposal-10] quit

# 創建IKEv2安全策略1。

[DeviceB] ikev2 policy 1

# 指定引用的IKEv2 proposal 10。

[DeviceB-ikev2-policy-1] proposal 10

[DeviceB-ikev2-policy-1] quit

# 創建一條IPsec安全策略模板,名稱為template1,順序號為1。

[DeviceB] ipsec policy-template template1 1

# 配置IPsec隧道的對端IP地址為1.1.1.1。

[DeviceB-ipsec-policy-template-template1-1] remote-address 1.1.1.1

# 指定引用ACL 3101。

[DeviceB-ipsec-policy-template-template1-1] security acl 3101

# 指定引用的安全提議為tran1。

[DeviceB-ipsec-policy-template-template1-1] transform-set tran1

# 指定引用的IKEv2 profile為profile2。

[DeviceB-ipsec-policy-template-template1-1] ikev2-profile profile2

[DeviceB-ipsec-policy-template-template1-1] quit

# 引用IPsec安全策略模板創建一條IPsec安全策略,名稱為use1,順序號為1。

[DeviceB] ipsec policy use1 1 isakmp template template1

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略use1。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ipsec apply policy use1

[DeviceB-GigabitEthernet1/0/1] quit

# 配置到Host A所在子網的靜態路由。2.2.2.1為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceB] ip route-static 10.1.1.0 255.255.255.0 2.2.2.1

4. 驗證配置

以上配置完成後,Device A和Device B之間如果有子網10.1.1.0/24與子網10.1.2.0/24之間的報文通過,將觸發IKEv2協商。

# 可通過如下顯示信息查看到Device A和Device B上的IKEv2提議。

[DeviceA] display ikev2 proposal 10

IKEv2 proposal : 10

  Encryption : 3DES-CBC

  Integrity : MD5

  PRF : MD5

  DH Group : MODP768/Group1

[DeviceB] display ikev2 proposal 10

IKEv2 proposal : 10

  Encryption : 3DES-CBC

  Integrity : MD5

  PRF : MD5

  DH Group : MODP768/Group1

# 可通過如下顯示信息查看到Device A和Device B上的IKEv2安全策略。

[DeviceA] display ikev2 policy 1

IKEv2 policy : 1

  Priority: 100

  Match Local : any

  Match VRF : public

  Proposal : 10

[DeviceB] display ikev2 policy 1

IKEv2 policy : 1

  Priority: 100

  Match Local : any

  Match VRF : public

  Proposal : 10

# 可通過如下顯示信息查看到Device A上IKEv2協商成功後生成的IKEv2 SA。

[DeviceA] display ikev2 sa

Tunnel ID   Local                       Remote                      Status

---------------------------------------------------------------------------

  1        1.1.1.1/500                  2.2.2.2/500                  EST

Status:

IN-NEGO: Negotiating, EST: Established, DEL:Deleting

# 可通過如下顯示信息查看到Device A上自動觸發獲取到的CA證書。

[DeviceA] display pki certificate domain domain1 ca

Certificate:

    Data:

        Version: 1 (0x0)

        Serial Number:

            b9:14:fb:25:c9:08:2c:9d:f6:94:20:30:37:4e:00:00

        Signature Algorithm: sha1WithRSAEncryption

        Issuer: C=cn, O=rnd, OU=sec, CN=8088

        Validity

            Not Before: Sep  6 01:53:58 2012 GMT

            Not After : Sep  8 01:50:58 2015 GMT

        Subject: C=cn, O=rnd, OU=sec, CN=8088

        Subject Public Key Info:

            Public Key Algorithm: rsaEncryption

                Public-Key: (1024 bit)

                Modulus:

                    00:de:81:f4:42:c6:9f:c2:37:7b:21:84:57:d6:42:

                    00:69:1c:4c:34:a4:5e:bb:30:97:45:2b:5e:52:43:

                    c0:49:1f:e1:d8:0f:5c:48:c2:39:69:d1:84:e4:14:

                    70:3d:98:41:28:1c:20:a1:9a:3f:91:67:78:77:27:

                    d9:08:5f:7a:c4:36:45:8b:f9:7b:e7:7d:6a:98:bb:

                    4e:a1:cb:2c:3d:92:66:bd:fb:80:35:16:c6:35:f0:

                    ff:0b:b9:3c:f3:09:94:b7:d3:6f:50:8d:83:f1:66:

                    2f:91:0b:77:a5:98:22:b4:77:ac:84:1d:03:8e:33:

                    1b:31:03:78:4f:77:a0:db:af

                Exponent: 65537 (0x10001)

    Signature Algorithm: sha1WithRSAEncryption

        9a:6d:8c:46:d3:18:8a:00:ce:12:ee:2b:b0:aa:39:5d:3f:90:

        08:49:b9:a9:8f:0d:6e:7b:e1:00:fb:41:f5:d4:0c:e4:56:d8:

        7a:a7:61:1d:2b:b6:72:e3:09:0b:13:9d:fa:c8:fc:c4:65:a7:

        f9:45:21:05:75:2c:bf:36:7b:48:b4:4a:b9:fe:87:b9:d8:cf:

        55:16:87:ec:07:1d:55:5a:89:74:73:68:5e:f9:1d:30:55:d9:

        8a:8f:c5:d4:20:7e:41:a9:37:57:ed:8e:83:a7:80:2f:b8:31:

        57:3a:f2:1a:28:32:ea:ea:c5:9a:55:61:6a:bc:e5:6b:59:0d:

        82:16

# 可通過如下顯示信息查看到Device A上自動觸發申請到的本地證書。

[DeviceA]display pki certificate domain domain1 local

Certificate:

    Data:

        Version: 3 (0x2)

        Serial Number:

            a1:f4:d4:fd:cc:54:c3:07:c4:9e:15:2d:5f:64:57:77

        Signature Algorithm: sha1WithRSAEncryption

        Issuer: C=cn, O=rnd, OU=sec, CN=8088

        Validity

            Not Before: Sep 26 02:06:43 2012 GMT

            Not After : Sep 26 02:06:43 2013 GMT

        Subject: CN=devicea

        Subject Public Key Info:

            Public Key Algorithm: rsaEncryption

                Public-Key: (1024 bit)

                Modulus:

                    00:b0:a1:cd:24:6e:1a:1d:51:79:f0:2a:3e:9f:e9:

                    84:07:16:78:49:1b:7d:0b:22:f0:0a:ed:75:91:a4:

                    17:fd:c7:ef:d0:66:5c:aa:e3:2a:d9:71:12:e4:c6:

                    25:77:f0:1d:97:bb:92:a8:bd:66:f8:f8:e8:d5:0d:

                    d2:c8:01:dd:ea:e6:e0:80:ad:db:9d:c8:d9:5f:03:

                    2d:22:07:e3:ed:cc:88:1e:3f:0c:5e:b3:d8:0e:2d:

                    ea:d6:c6:47:23:6a:11:ef:3c:0f:6b:61:f0:ca:a1:

                    79:a0:b1:02:1a:ae:8c:c9:44:e0:cf:d1:30:de:4c:

                    f0:e5:62:e7:d0:81:5d:de:d3

                Exponent: 65537 (0x10001)

        X509v3 extensions:

            X509v3 CRL Distribution Points:

 

                Full Name:

                  URI:https://xx.rsa.com:447/8088.crl

 

    Signature Algorithm: sha1WithRSAEncryption

        73:ac:66:f9:b8:b5:39:e1:6a:17:e4:d0:72:3e:26:9e:12:61:

        9e:c9:7a:86:6f:27:b0:b9:a3:5d:02:d9:5a:cb:79:0a:12:2e:

        cb:e7:24:57:e6:d9:77:12:6b:7a:cf:ee:d6:17:c5:5f:d2:98:

        30:e0:ef:00:39:4a:da:ff:1c:29:bb:2a:5b:60:e9:33:8f:78:

        f9:15:dc:a5:a3:09:66:32:ce:36:cd:f0:fe:2f:67:e5:72:e5:

        21:62:85:c4:07:92:c8:f1:d3:13:9c:2e:42:c1:5f:0e:8f:ff:

        65:fb:de:7c:ed:53:ab:14:7a:cf:69:f2:42:a4:44:7c:6e:90:

        7e:cd

# 可通過如下顯示信息查看到Device A上IKEv2協商生成的IPsec SA。

[DeviceA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

 

  -----------------------------

  IPsec policy: map1

  Sequence number: 10

  Alias: map1-10

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Transmitting entity: Initiator

    Path MTU: 1456

    Tunnel:

        local  address/port: 1.1.1.1/500

        remote address/port: 2.2.2.2/500

    Flow:

        sour addr: 10.1.1.0/255.255.255.0  port: 0  protocol: ip

        dest addr: 10.1.2.0/255.255.255.0  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 3264152513 (0xc28f03c1)

      Connection ID: 141733920771

      Transform set: ESP-ENCRYPT-DES-CBC ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3484

      Max received sequence-number:

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: N

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 738451674 (0x2c03e0da)

      Connection ID: 141733920770

      Transform set: ESP-ENCRYPT-DES-CBC ESP-AUTH-SHA1

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/3484

      Max sent sequence-number:

      UDP encapsulation used for NAT traversal: N

      Status: Active

Device B上也會產生相應的IKEv2 SA和IPsec SA,並自動獲取CA證書,自動申請本地證書,查看方式與Device A同,此處略。

3.10.3  IKEv2 NAT穿越配置舉例

1. 組網需求

Device A在NAT安全網關內網側。要求在Device A和Device B之間建立一個IPsec隧道,對Host A所在的子網(10.1.1.2/24)與Host B所在的子網(10.1.2.2/24)之間的數據流進行安全保護。具體需要求如下:

·     協商雙方使用缺省的IKEv2安全提議和IKEv2安全策略。

·     第一階段協商的認證方法為預共享密鑰認證。

2. 組網圖

圖3-4 IKEv2 NAT穿越典型組網圖

3. 配置步驟

(1)     配置Device A

# 配置各接口的IP地址,具體略。

# 配置ACL 3101,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。

<DeviceA> system-view

[DeviceA] acl advanced 3101

[DeviceA-acl-ipv4-adv-3101] rule 0 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[DeviceA-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議transform1。

[DeviceA] ipsec transform-set transform1

# 配置采用的安全協議為ESP。

[DeviceA-ipsec-transform-set-transform1] protocol esp

# 配置ESP協議采用的加密算法為3DES,認證算法為HMAC-MD5。

[DeviceA-ipsec-transform-set-transform1] esp encryption-algorithm 3des-cbc

[DeviceA-ipsec-transform-set-transform1] esp authentication-algorithm md5

[DeviceA-ipsec-transform-set-transform1] quit

# 創建IKEv2 keychain,名稱為keychain1。

[DeviceA] ikev2 keychain keychain1

# 創建IKEV2對端,名稱為peer1。

[DeviceA-ikev2-keychain-keychain1] peer peer1

# 指定對端peer1的主機地址為2.2.2.2/16。

[DeviceA-ikev2-keychain-keychain1-peer-peer1] address 2.2.2.2 16

# 指定對端 peer1 的身份信息。

[DeviceA-ikev2-keychain-keychain1-peer-peer1] identity address 2.2.2.2

# 配置對端peer1使用的預共享密鑰為明文123。

[DeviceA-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext 123

[DeviceA-ikev2-keychain-keychain1-peer-peer1] quit

[DeviceA-ikev2-keychain-keychain1] quit

# 創建IKEv2 profile,名稱為profile1。

[DeviceA] ikev2 profile profile1

# 指定引用的IKEv2 keychain為keychain1。

[DeviceA-ikev2-profile-profile1] keychain keychain1

# 配置本端身份為FQDN名稱www.example.com。

[DeviceA-ikev2-profile-profile1] identity local fqdn www.example.com

# 配置匹配對端身份的規則為IP地址2.2.2.2/16。

[DeviceA-ikev2-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0

# 指定本端的身份認證方式為預共享密鑰。

[DeviceA-ikev2-profile-profile1] authentication-method local pre-share

# 指定對端的身份認證方式為預共享密鑰。

[DeviceA-ikev2-profile-profile1] authentication-method remote pre-share

[DeviceA-ikev2-profile-profile1] quit

# 創建一條IKEv2協商方式的IPsec安全策略,名稱為policy1,順序號為1。

[DeviceA] ipsec policy policy1 1 isakmp

# 配置IPsec隧道的對端IP地址為2.2.2.2。

[DeviceA-ipsec-policy-isakmp-policy1-1] remote-address 2.2.2.2

# 指定引用的安全提議為transform1。

[DeviceA-ipsec-policy-isakmp-policy1-1] transform-set transform1

# 指定引用ACL 3101。

[DeviceA-ipsec-policy-isakmp-policy1-1] security acl 3101

# 指定引用的IKEv2 profile為profile1。

[DeviceA-ipsec-policy-isakmp-policy1-1] ikev2-profile profile1

[DeviceA-ipsec-policy-isakmp-policy1-1] quit

# 在接口GigabitEthernet1/0/1上應用IPsec安全策略policy1。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] ipsec apply policy policy1

[DeviceA-GigabitEthernet1/0/1] quit

# 配置到Host B所在子網的靜態路由。

[DeviceA] ip route-static 10.1.2.0 255.255.255.0 1.1.1.2

(2)     配置Device B

# 配置各接口的IP地址,具體略。

# 配置ACL 3101,定義要保護由子網10.1.2.0/24去往子網10.1.1.0/24的數據流。

<DeviceB> system-view

[DeviceB] acl advanced 3101

[DeviceB-acl-ipv4-adv-3101] rule 0 permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

[DeviceB-acl-ipv4-adv-3101] quit

# 創建IPsec安全提議transform1。

[DeviceB] ipsec transform-set transform1

# 配置采用的安全協議為ESP。

[DeviceB-ipsec-transform-set-transform1] protocol esp

# 配置ESP協議采用的加密算法為3DES,認證算法為HMAC-MD5。

[DeviceB-ipsec-transform-set-transform1] esp encryption-algorithm 3des-cbc

[DeviceB-ipsec-transform-set-transform1] esp authentication-algorithm md5

[DeviceB-ipsec-transform-set-transform1] quit

# 創建IKEv2 keychain,名稱為keychain1。

[DeviceB]ikev2 keychain keychain1

# 創建IKEV2對端,名稱為peer1。

[DeviceB-ikev2-keychain-keychain1] peer peer1

# 指定對端 peer1 的主機地址為3.3.3.1/16。

[DeviceB-ikev2-keychain-keychain1-peer-peer1] address 3.3.3.1 16

# 指定對端 peer1的身份信息。

[DeviceB-ikev2-keychain-keychain1-peer-peer1] identity address 3.3.3.1

# 配置對端peer1使用的預共享密鑰為明文123。

[DeviceB-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext 123

[DeviceB-ikev2-keychain-keychain1-peer-peer1] quit

[DeviceB-ikev2-keychain-keychain1] quit

# 創建IKEv2 profile,名稱為profile1。

[DeviceB] ikev2 profile profile1

# 指定引用的IKEv2 keychain為keychain1。

[DeviceB-ikev2-profile-profile1] keychain keychain1

# 配置匹配對端身份的規則為FQDN名稱www.example.com。

[DeviceB-ikev2-profile-profile1] match remote identity fqdn www.example.com

# 指定本端的身份認證方式為預共享密鑰。

[DeviceB-ikev2-profile-profile1] authentication-method local pre-share

# 指定對端的身份認證方式為預共享密鑰。

[DeviceB-ikev2-profile-profile1] authentication-method remote pre-share

[DeviceB-ikev2-profile-profile1] quit

# 創建一個IKEv2協商方式的IPsec安全策略模板,名稱為template1,順序號為1。

[DeviceB] ipsec policy-template template1 1

# 配置IPsec隧道的對端IP地址為3.3.3.1。

[DeviceB-ipsec-policy-template-template1-1] remote-address 3.3.3.1

# 指定引用ACL 3101。

[DeviceB-ipsec-policy-template-template1-1] security acl 3101

# 指定引用的安全提議為transform1。

[DeviceB-ipsec-policy-template-template1-1] transform-set transform1

# 指定引用的IKEv2 profile為profile1。

[DeviceB-ipsec-policy-template-template1-1] ikev2-profile profile1

[DeviceB-ipsec-policy-template-template1-1] quit

# 引用IPsec安全策略模板創建一條IKEv2協商方式的IPsec安全策略,名稱為policy1,順序號1。

[DeviceB] ipsec policy policy1 1 isakmp template template1

# 在接口GigabitEthernet1/0/1上應用安全策略policy1。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] ipsec apply policy policy1

[DeviceB-GigabitEthernet1/0/1] quit

# 配置到Host A所在子網的靜態路由。2.2.2.1為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。

[DeviceB] ip route-static 10.1.1.0 255.255.255.0 2.2.2.1

4. 驗證配置

以上配置完成後,子網10.1.1.0/24若向子網10.1.2.0/24發送報文,將觸發IKEv2協商。

# 可通過如下顯示信息查看到Device A上IKEv2協商成功後生成的IKEv2 SA。

[DeviceA] display ikev2 sa

Tunnel ID   Local                       Remote                      Status

---------------------------------------------------------------------------

  1        1.1.1.1/4500                  2.2.2.2/4500                  EST

Status:

IN-NEGO: Negotiating, EST: Established, DEL:Deleting

 [DeviceA] display ikev2 sa verbose

  Tunnel ID: 45

  Local IP/Port: 1.1.1.1/4500

  Remote IP/Port: 2.2.2.2/4500

  Outside VRF: -

  Inside VRF: -

  Local SPI: 372228d699a33c63

  Remote SPI: 75c537621b4a7190

 

  Local ID type: ID_FQDN

  Local ID: www.example.com

  Remote ID type: ID_IPV4_ADDR

  Remote ID: 2.2.2.2

 

  Auth sign method: Pre-shared key

  Auth verify method: Pre-shared key

  Integrity algorithm: SHA1

  PRF algorithm: SHA1

  Encryption algorithm: AES-CBC-128

 

  Life duration: 86400 secs

  Remaining key duration: 86177 secs

  Diffie-Hellman group: MODP1536/Group5

  NAT traversal: Detected

  DPD: Interval 0 secs, retry interval 0 secs

  Transmitting entity: Initiator

 

  Local window: 1

  Remote window: 1

  Local request message ID: 2

  Remote request message ID: 0

  Local next message ID: 2

  Remote next message ID: 0

# 可通過如下顯示信息查看到IKEv2協商生成的IPsec SA。

[DeviceA] display ipsec sa

-------------------------------

Interface: GigabitEthernet1/0/1

-------------------------------

 

  -----------------------------

  IPsec policy: policy1

  Sequence number: 1

  Alias: policy1-1

  Mode: ISAKMP

  -----------------------------

    Tunnel id: 0

    Encapsulation mode: tunnel

    Perfect Forward Secrecy:

    Inside VPN:

    Extended Sequence Numbers enable: N

    Traffic Flow Confidentiality enable: N

    Path MTU: 1435

    Tunnel:

        local  address/port: 1.1.1.1/500

        remote address/port: 2.2.2.2/500

    Flow:

        sour addr: 10.1.1.0/255.255.255.0  port: 0  protocol: ip

        dest addr: 10.1.2.0/255.255.255.0  port: 0  protocol: ip

 

    [Inbound ESP SAs]

      SPI: 830667426 (0x3182faa2)

      Connection ID: 605590388736

      Transform set: ESP-ENCRYPT-3DES-CBC ESP-AUTH-MD5

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/2313

      Max received sequence-number:

      Anti-replay check enable: Y

      Anti-replay window size: 64

      UDP encapsulation used for NAT traversal: Y

      Status: Active

 

    [Outbound ESP SAs]

      SPI: 3516214669 (0xd1952d8d)

      Connection ID: 227633266689

      Transform set: ESP-ENCRYPT-3DES-CBC ESP-AUTH-MD5

      SA duration (kilobytes/sec): 1843200/3600

      SA remaining duration (kilobytes/sec): 1843200/2313

      Max sent sequence-number:

      UDP encapsulation used for NAT traversal: Y

      Status: Active

3.11  常見錯誤配置舉例

3.11.1  IKEv2提議不匹配導致IKEv2 SA協商失敗

1. 故障現象

通過如下命令查看當前的IKEv2 SA信息,發現IKEv2 SA的狀態(Status字段)為IN-NEGO。

<Sysname> display ikev2 sa

Tunnel ID   Local                       Remote                      Status

  ---------------------------------------------------------------------------

  5           123.234.234.124/500         123.234.234.123/500         IN-NEGO

Status:

IN-NEGO: Negotiating, EST: Established, DEL:Deleting

2. 故障分析

IKEv2提議配置錯誤。

3. 處理過程

(1)     排查IKEv2相關配置。具體包括:檢查兩端的IKEv2提議是否匹配,即IKEv2提議中的認證方法、認證算法、加密算法、PRF算法是否匹配。

(2)     修改IKEv2提議的配置,使本端IKEv2提議的配置和對端匹配。

3.11.2  IPsec提議不匹配導致IPsec SA協商失敗

1. 故障現象

通過display ikev2 sa命令查看當前的IKEv2 SA信息,發現IKEv2 SA協商成功,其狀態(Status字段)為EST。但通過display ipsec sa命令查看當前的IPsec SA時,發現沒有協商出相應的IPsec SA。

2. 故障分析

IPsec安全策略參數配置錯誤。

3. 處理過程

(1)     排查IPsec相關配置。具體包括:檢查雙方接口上應用的IPsec安全策略的參數是否匹配,即引用的IPsec安全提議的協議、加密算法和認證算法是否匹配。

(2)     修改IPsec策略配置,使本端IPsec安全策略的配置和對端匹配。

3.11.3  無法建立安全隧道

1. 故障現象

雙方的ACL配置正確,也有相匹配的IKEv2安全提議,但安全隧道無法建立或者存在安全隧道卻無法通信。

2. 故障分析

這種情況一般是由於網絡狀態不穩定,安全隧道建立好以後,有一方的設備重啟造成了兩端的IKEv2 SA或者IPsec SA不對稱。

3. 處理過程

使用display ikev2 sa命令檢查雙方是否都已建立IKEv2 SA。如果有一端存在的IKEv2 SA在另一端上不存在,請先使用reset ikev2 sa命令清除雙方不對稱存在的IKEv2 SA,並重新發起協商;如果兩端存在對稱的IKEv2 SA,則使用display ipsec sa命令查看接口上的安全策略是否已建立了對稱的IPsec SA。如果一端存在的IPsec SA在另一端上不存在,請使用reset ipsec sa命令清除雙方不對稱存在的IPsec SA,並重新發起協商。

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們