02-IPsec配置
本章節下載: 02-IPsec配置 (2.66 MB)
目 錄
1.16.1 網關與網關之間采用手工方式建立保護IPv4報文的IPsec隧道配置舉例
1.16.2 網關與網關之間采用IKE方式建立保護IPv4報文的IPsec隧道配置舉例(預共享密鑰認證方式)
1.16.3 網關與網關之間采用IKE方式建立保護IPv4報文的IPsec隧道配置舉例(RSA數字簽名認證方式)
1.16.4 網關與網關之間采用IKE方式建立保護IPv4報文的IPsec隧道配置舉例(SM2-DE數字信封認證方式)
1.16.5 網關與網關之間采用IKEv2方式建立保護IPv4報文的IPsec隧道配置舉例(預共享密鑰認證方式)
1.16.6 網關與網關之間采用IKEv2方式建立保護IPv4報文的IPsec隧道配置舉例(RSA數字簽名認證方式)
1.16.7 網關與網關之間存在NAT設備時采用IKE方式建立保護IPv4報文的IPsec隧道配置舉例
1.16.8 網關與網關之間存在NAT設備時采用IKEv2方式建立保護IPv4報文的IPsec隧道配置舉例
1.16.9 主機與網關之間采用IKE方式建立保護IPv4報文的IPsec隧道配置舉例(遠程擴展認證方式)
1.16.10 主機與網關之間采用IKE方式建立保護IPv4報文的IPsec隧道配置舉例(本地擴展認證及地址授權方式)
1.16.11 網關與網關之間采用IKE方式建立保護IPv6報文的IPsec隧道配置舉例
1.16.12 總部采用IPsec安全策略模板方式與分支建立保護IPv4報文的IPsec隧道配置舉例
1.16.16 基於路由建立保護IPv4報文的IPsec隧道配置舉例(預共享密鑰認證方式)
1.16.17 基於路由建立保護IPv4報文的IPsec隧道配置舉例(RSA數字簽名認證方式)
1.16.18 基於路由建立保護IPv4報文的IPsec隧道配置舉例(SM2-DE數字信封認證方式)
1.16.19 基於路由建立保護IPv4報文的IPsec隧道配置舉例(IKEv2預共享密鑰認證方式)
1.16.20 基於路由建立保護IPv4報文的IPsec隧道配置舉例(IKEv2 RSA數字簽名認證方式)
1.16.21 基於路由建立IKE方式的IPsec隧道配置舉例(網關之間存在NAT設備)
1.16.22 基於路由模式的總部采用雙鏈路與分支建立IPsec隧道配置舉例(基於NQA探測結果切換鏈路)
1.16.24 基於路由建立IKEv2方式的IPsec隧道配置舉例(網關之間存在NAT設備)
2.11 配置針對無效IPsec SPI的IKE SA恢複功能
2.18.2 未正確引用IKE提議或IKE keychain導致IKE SA協商失敗
3.4.2 指定IKEv2協商時本端和對端采用的身份認證方式
3.8.1 配置IKEv2 cookie-challenge功能
3.10.1 IKEv2提議不匹配導致IKEv2 SA協商失敗
3.10.2 IPsec提議不匹配導致IPsec SA協商失敗
IPsec(IP Security,IP安全)是IETF製定的三層隧道加密協議,它為互聯網上傳輸的數據提供了高質量的、基於密碼學的安全保證,是一種傳統的實現三層VPN(Virtual Private Network,虛擬專用網絡)的安全技術。IPsec通過在特定通信方之間(例如兩個安全網關之間)建立“通道”,來保護通信方之間傳輸的用戶數據,該通道通常稱為IPsec隧道。
IPsec協議不是一個單獨的協議,它為IP層上的網絡數據安全提供了一整套安全體係結構,包括安全協議AH(Authentication Header,認證頭)和ESP(Encapsulating Security Payload,封裝安全載荷)、IKE(Internet Key Exchange,互聯網密鑰交換)以及用於網絡認證及加密的一些算法等。其中,AH協議和ESP協議用於提供安全服務,IKE協議用於密鑰交換。關於IKE的詳細介紹請參見“VPN配置指導”中的“IKE”,本節不做介紹。
IPsec提供了兩大安全機製:認證和加密。認證機製使IP通信的數據接收方能夠確認數據發送方的真實身份以及數據在傳輸過程中是否遭篡改。加密機製通過對數據進行加密運算來保證數據的機密性,以防數據在傳輸過程中被竊聽。
IPsec為IP層的數據報文提供的安全服務具體包括以下幾種:
· 數據機密性(Confidentiality):發送方通過網絡傳輸用戶報文前,IPsec對報文進行加密。
· 數據完整性(Data Integrity):接收方對發送方發送來的IPsec報文進行認證,以確保數據在傳輸過程中沒有被篡改。
· 數據來源認證(Data Origin Authentication):接收方認證發送IPsec報文的發送端是否合法。
· 抗重放(Anti-Replay):接收方可檢測並拒絕接收過時或重複的IPsec報文。
IPsec可為IP層上的數據提供安全保護,其優點包括如下幾個方麵:
· 支持IKE(Internet Key Exchange,互聯網密鑰交換),可實現密鑰的自動協商功能,減少了密鑰協商的開銷。可以通過IKE建立和維護SA(Security Association,安全聯盟),簡化了IPsec的使用和管理。
· 所有使用IP協議進行數據傳輸的應用係統和服務都可以使用IPsec,而不必對這些應用係統和服務本身做任何修改。
· 對數據的加密是以數據包為單位的,而不是以整個數據流為單位,這不僅靈活而且有助於進一步提高IP數據包的安全性,可以有效防範網絡攻擊。
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封裝。
IPsec支持兩種封裝模式:傳輸模式和隧道模式。
該模式下的安全協議主要用於保護上層協議報文,僅傳輸層數據被用來計算安全協議頭,生成的安全協議頭以及加密的用戶數據(僅針對ESP封裝)被放置在原IP頭後麵。若要求端到端的安全保障,即數據包進行安全傳輸的起點和終點為數據包的實際起點和終點時,才能使用傳輸模式。如圖1-1所示,通常傳輸模式用於保護兩台主機之間的數據。
該模式下的安全協議用於保護整個IP數據包,用戶的整個IP數據包都被用來計算安全協議頭,生成的安全協議頭以及加密的用戶數據(僅針對ESP封裝)被封裝在一個新的IP數據包中。這種模式下,封裝後的IP數據包有內外兩個IP頭,其中的內部IP頭為原有的IP頭,外部IP頭由提供安全服務的設備添加。在安全保護由設備提供的情況下,數據包進行安全傳輸的起點或終點不為數據包的實際起點和終點時(例如安全網關後的主機),則必須使用隧道模式。如圖1-2所示,通常隧道模式用於保護兩個安全網關之間的數據。
不同的安全協議及組合在隧道和傳輸模式下的數據封裝形式如圖1-3所示。
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頭中傳輸。
SA有手工配置和IKE自動協商兩種生成方式:
· 手工方式:通過命令行配置SA的所有信息。該方式的配置比較複雜,而且不支持一些高級特性(例如定時更新密鑰),優點是可以不依賴IKE而單獨實現IPsec功能。該方式主要用於需要安全通信的對等體數量較少,或小型靜態的組網環境中。
· IKE自動協商方式:對等體之間通過IKE協議自動協商生成SA,並由IKE協議維護該SA。該方式的配置相對比較簡單,擴展能力強。在中、大型的動態網絡環境中,推薦使用IKE自動協商建立SA。
手工方式建立的SA永不老化。通過IKE協商建立的SA具有生存時間,當生存時間到達時,舊的SA會被刪除。
IKE協商建立的SA在生存時間到達前會提前協商一個新的SA來替換舊的SA。從SA建立到啟動新SA協商的這段時間是軟超時時間。缺省情況下,係統會基於SA的生存時間使用默認算法計算一個軟超時時間。係統允許配置一個軟超時緩衝來控製軟超時時間,計算公式為:軟超時時間=生存時間-軟超時緩衝。
IKE協商建立的SA有兩種形式的生存時間:
· 基於時間的生存時間,定義了一個SA從建立到刪除的時間;
· 基於流量的生存時間,定義了一個SA允許處理的最大流量。
可同時存在基於時間和基於流量兩種方式的SA生存時間,隻要其中一種到達,就會刪除舊的SA。
IPsec使用的認證算法主要是通過雜湊函數實現的。雜湊函數是一種能夠接受任意長度的消息輸入,並產生固定長度輸出的算法,該算法的輸出稱為消息摘要。IPsec對等體雙方都會計算一個摘要,接收方將發送方的摘要與本地的摘要進行比較,如果二者相同,則表示收到的IPsec報文是完整未經篡改的,以及發送方身份合法。目前,IPsec使用基於HMAC(Hash-based Message Authentication Code,基於散列的消息鑒別碼)的認證算法和SM3認證算法。HMAC認證算法包括HMAC-MD5和HMAC-SHA。其中,HMAC-MD5算法的計算速度快,而HMAC-SHA算法的安全強度高。
IPsec使用的加密算法屬於對稱密鑰係統,這類算法使用相同的密鑰對數據進行加密和解密。目前設備的IPsec使用的加密算法包括:
· DES:使用56比特的密鑰對一個64比特的明文塊進行加密。
· 3DES:使用三個56比特(共168比特)的密鑰對明文塊進行加密。
· AES:使用128比特、192比特或256比特的密鑰對明文塊進行加密。
· SM:使用128比特的密鑰對明文塊進行加密。
這些加密算法的安全性由高到低依次是:AES/SM、3DES、DES,安全性高的加密算法實現機製複雜,運算速度慢。
IPsec的認證和加/解密處理在設備上既可以通過軟件實現,也可以通過硬件加密引擎實現。通過軟件實現的IPsec,由於複雜的加密/解密、認證算法會占用大量的CPU資源,將會影響設備整體處理效率;通過硬件加密引擎實現的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來保護。對端接收到報文後,首先對報文進行分析、識別,然後根據預先設定的安全策略對報文進行不同的處理(丟棄,解封裝,或直接轉發)。
將引用了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隧道來保護。這種方式下,受保護的網段之間存在多條數據流的情況下,將會消耗更多的係統資源。
在隧道接口上應用IPsec安全框架後,路由到該隧道接口的報文都會受到IPsec的保護,除非用戶指定該報文不需要被IPsec保護。此方式建立的IPsec的封裝模式必須為隧道模式。該類應用通常也被稱為在VTI(Virtual Tunnel Interface)上應用IPsec。
相比於保護匹配ACL的報文,保護隧道接口上報文的IPsec有以下優勢:
· 支持保護組播報文。
· 支持動態路由協議在IPsec隧道兩端的傳播。
· 簡化配置。不需要通過ACL規則對流量進行篩選,路由表會將流量引導到隧道口上。
隧道接口對報文的封裝/解封裝發生在隧道接口上。進入設備的報文被路由到應用了IPsec安全框架的隧道接口後,此隧道接口會對這些報文進行封裝/解封裝處理。如圖1-4所示,隧道接口對報文進行封裝的過程如下:
(1) Device將從入接口接收到的IP明文送到轉發模塊進行路由處理;
(2) 轉發模塊依據路由查詢結果,將IP明文發送到隧道接口進行封裝:原始IP報文加密後被封裝在一個新的IP報文中,新IP頭中的源地址和目的地址分別為隧道接口的源端地址和目的端地址。
(3) 隧道接口完成對IP明文的封裝處理後,將IP密文再次送到轉發模塊進行路由處理;
(4) 轉發模塊根據新IP頭中的目的IP地址進行第二次路由查詢後,將IP密文通過隧道接口的實際物理出接口轉發出去。
如圖1-5所示,隧道接口對報文進行解封裝的過程如下:
(1) Device將從入接口接收到的IP密文送到轉發模塊進行路由處理;
(2) 轉發模塊識別到此IP密文的目的IP地址為本設備隧道接口源端地址且IP協議號為AH或ESP時,會將IP密文送到相應的隧道接口進行解封裝:將IP密文的外層IP頭去掉,對內層IP報文進行解密處理。
(3) 隧道接口完成對IP密文的解封裝處理之後,將IP明文重新送回轉發模塊進行路由處理;
(4) 轉發模塊根據IP明文的目的IP地址進行第二次路由查詢後,將IP明文從隧道的實際物理出接口轉發出去。
將IPsec安全框架應用到某一IPv6路由協議(目前支持保護OSPFv3、IPv6 BGP、RIPng路由協議)後,設備產生的需要IPsec保護的某一IPv6路由協議的所有報文都要進行封裝處理,而設備接收到的不受IPsec保護的以及解封裝失敗的業務協議報文都要被丟棄。
由於IPsec的密鑰交換機製僅適用於兩點之間的通信保護,在廣播網絡一對多的情形下,IPsec無法實現自動交換密鑰,同樣,由於廣播網絡一對多的特性,要求各設備對於接收、發送的報文均使用相同的SA參數(相同的SPI及密鑰),因此該方式下必須手工配置用來保護IPv6路由協議報文的IPsec SA。
IPsec安全策略和IPsec安全框架用於在兩個對等體之間建立IPsec隧道,保護兩個對等體之間需要被安全防護的報文。
一個IPsec安全策略是若幹具有相同名字、不同順序號的IPsec安全策略表項的集合,IPsec安全策略被應用在接口上,用於控製對等體之間建立IPsec隧道,由ACL定義要保護的數據範圍。IPsec安全策略主要定義了以下內容:
· 要保護的數據流的範圍:由ACL定義。
· 對數據流實施何種保護:由IPsec安全提議定義。
· IPsec SA的生成方式:手工方式、IKE協商方式。
· 保護路徑的起點或終點:即對等體的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等流量進行保護。
IPsec安全框架(IPsec Profile)與IPsec安全策略類似,但不需要使用ACL指定要保護的數據流的範圍。一個IPsec安全框架由名字唯一確定。IPsec安全框架包括如下兩種:
· 手工方式的IPsec安全框架:定義了對數據流進行IPsec保護所使用的安全提議,以及SA參數,應用於IPv6路由協議中。
· IKE協商方式的IPsec安全框架:定義了對數據流進行IPsec保護所使用的安全提議,IKE profile和SA參數,應用於隧道接口上。
RRI(Reverse Route Injection,反向路由注入)功能是一種自動添加到達IPsec VPN私網靜態路由的機製,可以實現為受IPsec保護的流量自動添加靜態路由的功能。在大規模組網中,這種自動添加靜態路由的機製可以簡化用戶配置,減少在企業總部網關設備上配置靜態路由的工作量,並且可以根據IPsec SA的創建和刪除進行靜態路由的動態增加和刪除,增強了IPsec VPN的可擴展性。
如圖1-6所示,某企業在企業分支與企業總部之間的所有流量通過IPsec進行保護,企業總部網關上需要配置靜態路由,將總部發往分支的數據引到應用IPsec安全策略的接口上來。如果未配置RRI,當企業分支眾多或者內部網絡規劃發生變化時,就需要同時增加或調整總部網關上的靜態路由配置,該項工作量大且容易出現配置錯誤。
企業總部側網關設備GW上配置RRI功能後,每一個IPsec隧道建立之後,GW都會自動為其添加一條相應的靜態路由。通過RRI創建的路由表項可以在路由表中查詢到,其目的地址為受保護的對端網絡,下一跳地址為IPsec隧道的對端地址或指定的地址,它使得發往對端的流量被強製通過IPsec保護並轉發。
RRI創建的靜態路由和手工配置的靜態路由一樣,可以向內網設備進行廣播,允許內網設備選擇合適的路由對IPsec VPN流量進行轉發。也可以為RRI創建的靜態路由配置優先級,從而更靈活地應用路由管理策略。例如:當設備上還有其他方式配置到達相同目的地的路由時,如果為它們指定相同的優先級,則可實現負載分擔,如果指定不同的優先級,則可實現路由備份。同時,還可以通過修改靜態路由的Tag值,使得設備能夠在路由策略中根據Tag值對這些RRI生成的靜態路由進行靈活的控製。
圖1-6 IPsec VPN總部-分支組網圖
為了提高網絡的穩定性和可靠性,企業通常會在網絡出口配置多條鏈路。不同鏈路之間存在通信質量差異,實時狀態也不盡相同,選擇一條高質量的鏈路對於企業通信來說尤為重要。IPsec智能選路功能(IPsec Smart Link)在有多條可使用的鏈路能夠到達目的網絡的情況下,實時地自動探測鏈路的時延、丟包率,動態切換到滿足通信質量要求的鏈路上建立IPsec隧道。用戶也可以根據自己的實際需求手工指定使用的鏈路。
IPsec智能選路可以很好地解決以下問題:
· 網絡出口多鏈路進行流量負載分擔時,可能會出現一部分鏈路擁塞、另一部分鏈路閑置的情況;
· 用戶無法基於鏈路傳輸質量或者服務費用自己選擇鏈路;
· 當網絡出口設備與目的設備之間的鏈路出現故障時,如果流量被轉發到該故障鏈路上,會造成訪問失敗。
與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
SM1算法僅在安裝了國密加密卡的設備上支持。
通常情況下,由於IKE協議采用UDP的500端口進行通信,IPsec的AH和ESP協議分別使用51或50號協議來工作,因此為保障IKE和IPsec的正常運行,需要確保應用了IKE和IPsec配置的接口上沒有禁止掉屬於以上端口和協議的流量。
在傳輸模式下,設備通過ACL來識別由IPsec隧道保護的流量時,受保護的流量隻能是源地址或目的地址為本機的報文。例如:可配置IPsec隧道對設備發送給日誌服務器的日誌信息進行保護。ACL中定義的匹配轉發流量的規則不生效,IPsec不會對設備轉發的任何數據流和語音流進行保護。
IPsec隧道保護匹配ACL的報文配置任務如下:
(1) 配置ACL
(2) 配置IPsec安全提議
(3) 配置IPsec安全策略
請選擇以下一項任務進行配置:
(4) 在接口上應用IPsec安全策略
(5) (可選)配置IPsec隧道保護匹配ACL的報文的輔助功能
(6) (可選)配置IPsec日誌和告警功能
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規則刪除。
為保證IPsec對等體上能夠成功建立SA,建議兩端設備上用於IPsec的ACL配置為鏡像對稱,即保證兩端定義的要保護的數據流範圍的源和目的盡量對稱。例如,圖1-7中Device A和Device B上的ACL配置都是完全鏡像對稱的,因此用於保護主機Host A與主機Host C之間、子網Network 1與子網Network 2之間流量的SA均可成功建立。
若IPsec對等體上的ACL配置非鏡像,那麼隻有在一端的ACL規則定義的範圍是另外一端的子集時,SA協商可以成功。如圖1-8所示,Device A上的ACL規則允許的範圍(Host A->Host C)是Device B上ACL規則允許的範圍(Network 2->Network 1)的子集。
需要注意的是,在這種ACL配置下,並不是任何一端發起的SA協商都可以成功,僅當保護範圍小(細粒度)的一端向保護範圍大(粗粒度)的一端發起的協商才能成功,反之則SA協商失敗。這是因為,協商響應方要求協商發起方發送過來的數據必須在響應方可以接受的範圍之內。其結果就是,從細粒度一端向粗粒度一端發送報文時,細粒度側設備發起的SA協商可以成功,例如Host A->Host C;從粗粒度一方向細粒度一方發送報文時,粗粒度側設備發起的SA協商不能成功,例如Host C->Host A、Host C->Host B、Host D->Host A等。
為滿足VPN實例中的用戶流量能夠通過IPsec隧道來保護,需要保證連接VPN用戶流量的設備上定義的要保護的數據流範圍中明確指定了數據流所屬的VPN實例。
圖1-9 VPN實例組網
以上組網環境中,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
#
IPsec安全提議是IPsec安全策略的一個組成部分,它用於定義IPsec需要使用的安全協議、加密/認證算法以及封裝模式,為IPsec協商SA提供各種安全參數。
· 可對IPsec安全提議進行修改,但對已協商成功的IPsec SA,新修改的安全提議並不起作用,即仍然使用原來的安全提議,隻有新協商的SA使用新的安全提議。若要使修改對已協商成功的IPsec SA生效,則需要執行reset ipsec sa命令。
· 傳輸模式必須應用於數據流的源地址和目的地址與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 |
(1) 進入係統視圖。
system-view
(2) 創建IPsec安全提議,並進入IPsec安全提議視圖。
ipsec transform-set transform-set-name
(3) 配置IPsec安全提議采用的安全協議。
protocol { ah | ah-esp | esp }
缺省情況下,采用ESP安全協議。
(4) 配置協議(esp或ah-esp)采用的加密算法。
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協議,請忽略本步驟。
(5) 配置協議(esp或ah-esp)采用的認證算法。
esp authentication-algorithm { aes-xcbc-mac | md5 | sha1 | sha256 | sha384 | sha512 | sm3 } *
缺省情況下,ESP協議沒有采用任何認證算法。
非ESP協議,請忽略本步驟。
aes-xcbc-mac認證算法僅適用於IKEv2協商。
(6) 配置協議(ah或ah-esp)采用的認證算法。
ah authentication-algorithm { aes-xcbc-mac | md5 | sha1 | sha256 | sha384 | sha512 | sm3 } *
缺省情況下,AH協議沒有采用任何認證算法。
采用ESP協議時,請忽略本步驟。
aes-xcbc-mac認證算法僅適用於IKEv2協商。
(7) 配置安全協議對IP報文的封裝模式。
encapsulation-mode { transport | tunnel }
缺省情況下,安全協議采用隧道模式對IP報文進行封裝。
(8) (可選)配置使用IPsec安全策略發起協商時使用PFS特性。
pfs { dh-group1 | dh-group2 | dh-group5 | dh-group14 | dh-group24 | dh-group19 | dh-group20 }
缺省情況下,使用IPsec安全策略發起協商時不使用PFS特性。
有關PFS(Perfect Forward Secrecy,完善的前向安全性)功能的詳細介紹請參見“VPN配置指導”中的“IKE”。
(9) (可選)開啟ESN功能。
esn enable [ both ]
缺省情況下,ESN功能處於關閉狀態。
本功能僅適用於IKEv2協商的IPsec SA。
為保證SA能夠成功生成,IPsec隧道兩端的配置必須符合以下要求:
· IPsec安全策略引用的IPsec安全提議應采用相同的安全協議、加密/認證算法和報文封裝模式。
· 當前端點的IPv4對端地址應與對端應用IPsec安全策略的接口的主IPv4地址保持一致;當前端點的IPv6對端地址應與對端應用IPsec安全策略的接口的第一個IPv6地址保持一致。
· 應分別設置inbound和outbound兩個方向的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協議,以字符串方式輸入密鑰時,係統會自動地同時生成認證算法的密鑰和加密算法的密鑰。
(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協議的密鑰,或者兩者都配置。
IKE協商方式的IPsec安全策略有以下兩種配置方式:
· 直接配置IPsec安全策略:在安全策略視圖中定義需要協商的各參數;
· 引用IPsec安全策略模板配置IPsec安全策略:首先在IPsec安全策略模板中定義需要協商的各參數,然後通過引用IPsec安全策略模板創建一條IPsec安全策略。應用了該類IPsec安全策略的接口不能發起協商,僅可以響應遠端設備的協商請求。由於IPsec安全策略模板中未定義的可選參數由發起方來決定,而響應方會接受發起方的建議,因此這種方式適用於通信對端(例如對端的IP地址)未知的情況下,允許這些對端設備向本端設備主動發起協商。
IPsec安全策略模板與直接配置的IKE協商方式的IPsec安全策略中可配置的參數類似,但是配置較為簡單,除了IPsec安全提議和IKE profile之外的其它參數均為可選。應用了引用IPsec安全策略模板配置的IPsec安全策略的接口不能發起協商,僅可以響應遠端設備的協商請求。IPsec安全策略模板中未定義的可選參數由發起方來決定,而響應方會接受發起方的建議,例如IPsec安全策略模板下的用於定義保護對象範圍的ACL是可選的,該參數在未配置的情況下,相當於支持最大範圍的保護,即完全接受協商發起端的ACL設置。
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的相關配置請參見“VPN配置指導”中的“IKE”。
IKEv2 profile的相關配置請參見“VPN配置指導”中的“IKEv2”。
(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地址一致。
IPsec隧道的本端IP地址不得為應用IPsec安全策略的接口的從IP地址。
(9) 指定IPsec隧道的對端IP地址。
remote-address { [ ipv6 ] host-name | ipv4-address | ipv6 ipv6-address } [ primary ]
缺省情況下,未指定IPsec隧道的對端IP地址。
(10) (可選)配置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空閑超時時間。
(11) (可選)開啟TFC(Traffic Flow Confidentiality)填充功能。
tfc enable
缺省情況下,TFC填充功能處於關閉狀態。
本功能僅適用於IKEv2協商的IPsec SA。
(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地址一致。
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) 退回係統視圖。
quit
(11) 引用安全策略模板創建一條IKE協商方式的安全策略。
ipsec { ipv6-policy | policy } policy-name seq-number isakmp template template-name
為使定義的IPsec SA生效,應在每個要加密的數據流和要解密的數據流所在接口上應用一個IPsec安全策略,以對數據進行保護。當取消IPsec安全策略在接口上的應用後,此接口便不再具有IPsec的安全保護功能。
在將IKE方式的IPsec安全策略應用到多個接口上時,請使用共享源接口的IPsec安全策略;手工方式的IPsec安全策略隻能應用到一個接口上。
(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安全策略。
在隧道模式下,接口入方向上解封裝的IPsec報文的內部IP頭有可能不在當前IPsec安全策略引用的ACL的保護範圍內,如網絡中一些惡意偽造的攻擊報文就可能有此問題,所以設備需要重新檢查解封裝後的報文的IP頭是否在ACL保護範圍內。開啟該功能後可以保證ACL檢查不通過的報文被丟棄,從而提高網絡安全性。
(1) 進入係統視圖。
system-view
(2) 開啟解封裝後IPsec報文的ACL檢查功能。
ipsec decrypt-check enable
缺省情況下,解封裝後IPsec報文的ACL檢查功能處於開啟狀態。
重放報文,通常是指設備再次接收到的已經被IPsec處理過的報文。IPsec通過滑動窗口(抗重放窗口)機製檢測重放報文。AH和ESP協議報文中帶有序列號,如果收到的報文的序列號與已經解封裝過的報文序列號相同,或收到的報文的序列號出現得較早,即已經超過了抗重放窗口的範圍,則認為該報文為重放報文。
對重放報文的解封裝無意義,並且解封裝過程涉及密碼學運算,會消耗設備大量的資源,導致業務可用性下降,造成了拒絕服務攻擊。通過開啟IPsec抗重放檢測功能,將檢測到的重放報文在解封裝處理之前丟棄,可以降低設備資源的消耗。
在某些特定環境下,業務數據報文的接收順序可能與正常的順序差別較大,雖然並非有意的重放攻擊,但會被抗重放檢測認為是重放報文,導致業務數據報文被丟棄,影響業務的正常運行。因此,這種情況下就可以通過關閉IPsec抗重放檢測功能來避免業務數據報文的錯誤丟棄,也可以通過適當地增大抗重放窗口的寬度,來適應業務正常運行的需要。
· 隻有IKE協商的IPsec SA才能夠支持抗重放檢測,手工方式生成的IPsec SA不支持抗重放檢測。因此該功能開啟與否對手工方式生成的IPsec SA沒有影響。
· 使用較大的抗重放窗口寬度會引起係統開銷增大,導致係統性能下降,與抗重放檢測用於降低係統在接收重放報文時的開銷的初衷不符,因此建議在能夠滿足業務運行需要的情況下,使用較小的抗重放窗口寬度。
· IPsec抗重放檢測功能缺省是開啟的,是否關閉該功能請根據實際需求慎重使用。
(1) 進入係統視圖。
system-view
(2) 開啟IPsec抗重放檢測功能。
ipsec anti-replay check
缺省情況下,IPsec抗重放檢測功能處於開啟狀態。
(3) 配置IPsec抗重放窗口寬度。
ipsec anti-replay window width
缺省情況下,IPsec抗重放窗口寬度為64。
為了提高網絡的可靠性,通常核心設備到ISP(Internet Service Provider,互聯網服務提供商)都會有兩條出口鏈路,它們互為備份或者為負載分擔的關係。由於在不同的接口上應用安全策略時,各個接口將分別協商生成IPsec SA。因此,則在主備鏈路切換時,接口狀態的變化會觸發重新進行IKE協商,從而導致數據流的暫時中斷。這種情況下,兩個接口上的IPsec SA就需要能夠平滑切換。
通過將一個IPsec安全策略與一個源接口綁定,使之成為共享源接口IPsec安全策略,可以實現主備鏈路切換時受IPsec保護的業務流量不中斷。具體機製為:應用相同IPsec安全策略的多個物理接口共同使用一個指定的源接口(稱為共享源接口)協商IPsec SA,當這些物理接口對應的鏈路切換時,如果該源接口的狀態不變化,就不會刪除該接口協商出的IPsec SA,也不需要重新觸發IKE協商,各物理接口繼續使用已有的IPsec SA保護業務流量。
· 隻有IKE協商方式的IPsec安全策略才能配置為IPsec共享源接口安全策略。
· 一個IPsec安全策略隻能與一個源接口綁定。
· 一個源接口可以同時與多個IPsec安全策略綁定。
· 刪除與共享源接口IPsec安全策略綁定的共享源接口時,將使得該共享源接口IPsec安全策略恢複為普通IPsec安全策略。
· 若一個IPsec安全策略為共享源接口IPsec安全策略,但該IPsec安全策略中未指定隧道本端地址,則IKE將使用共享源接口地址作為IPsec隧道的本端地址進行IKE協商;如果共享源接口IPsec安全策略中指定了隧道本端地址,則將使用指定的隧道本端地址進行IKE協商。
(1) 進入係統視圖。
system-view
(2) 配置IPsec安全策略為IPsec共享源接口安全策略。
ipsec { ipv6-policy | policy } policy-name local-address interface-type interface-number
缺省情況下,IPsec安全策略不是共享源接口IPsec安全策略,即未將IPsec安全策略與任何源接口綁定。
當在接口上同時應用了IPsec安全策略與QoS策略時,缺省情況下,QoS使用封裝後報文的外層IP頭信息來對報文進行分類。但如果希望QoS基於被封裝報文的原始IP頭信息對報文進行分類,則需要配置QoS預分類功能來實現。
· 若在接口上同時配置IPsec和QoS,同一個IPsec SA保護的數據流如果被QoS分類進入不同隊列,會導致部分報文發送亂序。由於IPsec具有抗重放功能,IPsec入方向上對於抗重放窗口之外的報文會進行丟棄,從而導致丟包現象。因此當IPsec與QoS配合使用時,必須保證IPsec分類與QoS分類規則配置保持一致。
· IPsec的分類規則完全由引用的ACL規則確定,QoS策略及QoS分類的相關介紹請參見“ACL和QoS配置指導”中的“QoS”。
(1) 進入係統視圖。
system-view
(2) 進入IPsec安全策略視圖或者IPsec安全策略模板視圖。
¡ 進入IPsec安全策略視圖。
ipsec { ipv6-policy | policy } policy-name seq-number [ isakmp | manual ]
¡ 進入IPsec安全策略模板視圖。
ipsec { ipv6-policy-template | policy-template } template-name seq-number
(3) 開啟QoS預分類功能。
qos pre-classify
缺省情況下,QoS預分類功能處於關閉狀態。
開啟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規則,則需要通過手工配置一條到達對端受保護網絡的靜態路由。
(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。
IPsec智能選路功能配置在企業分支網關設備上,實現在不同的鏈路之間選擇一條符合質量要求的鏈路與總部建立IPsec隧道。
要實現IPsec智能選路功能,需要配置IPsec智能選路策略,通過該策略定義添加待選鏈路及選擇鏈路的丟包率和時延閾值,並將IPsec智能選路策略應用在某個IPsec安全策略中。完成IPsec智能選路功能的配置後,設備根據IPsec安全策略識別出需要保護的報文時,會選擇一條符合質量要求的鏈路建立一個相應的IPsec隧道實現總部和分支的通信。設備會將此IPsec安全策略自動應用到此鏈路所指定的本端接口上,無需用戶手動配置。
IPsec智能選路的過程如下:
(1) 設備根據配置的IPsec智能選路策略探測周期定時發送探測報文獲取當前使用鏈路的丟包率和時延。
(2) 當探測結果超過管理員設置的閾值時,設備會根據IPsec智能選路鏈路的優先級順序從高到低循環切換,從中選擇第一條符合質量要求的鏈路進行數據傳輸。如果鏈路都不符合質量要求,且循環次數達到配置的上限值後:
¡ 丟包率和延遲存在差異的情況下選擇相對最優的鏈路。
¡ 如果丟包率和延遲都一樣,則選擇優先級最低的鏈路,等待10分鍾後再重新探測。
· 配置企業分支網關設備時,需要注意的是:
¡ 一個IPsec智能選路策略隻能被一個IPsec安全策略引用,一個IPsec安全策略也隻能引用一個IPsec智能選路策略。
¡ 引用了IPsec智能選路策略的IPsec安全策略不要配置local-address和remote-address。
¡ 使用IPsec智能選路策略時,手動添加的靜態路由不能與智能選路自動生成的靜態路由目的地址相同,如果存在相同的情況,請刪除手動添加的靜態路由。
· 配置總部網關設備時,需要注意的是:
¡ 總部接口引用的安全策略必須是模板方式;
¡ 總部配置IKE時對端地址必須指定為任意地址0.0.0.0 0或者指定為在分支上的所有具體對端地址。
· IPsec智能選路功能僅支持IPv4。
(1) 進入係統視圖。
system-view
(2) 配置IPsec智能選路策略。
¡ 創建一條IPsec智能選路策略,並進入IPsec智能選路策略視圖。
ipsec smart-link policy policy-name
缺省情況下,不存在IPsec智能選路策略。
IPsec智能選路策略隻能被IKE方式的IPsec安全策略引用,不能被模板方式和手工方式的IPsec安全策略引用。
¡ 配置IPsec智能選路的鏈路。
link link-id interface interface-type interface-number [ local local-address nexthop nexthop-address ] remote remote-address
缺省情況下,不存在IPsec智能選路鏈路。
¡ 開啟IPsec智能選路功能。
smart-link enable
缺省情況下,IPsec智能選路功能處於關閉狀態。
隻有在IPsec智能選路功能處於開啟狀態的情況下,鏈路質量探測功能和鏈路切換功能才會生效。
¡ (可選)手動激活指定的IPsec智能選路的鏈路。
activate link link-id
手動激活鏈路後,會直接切換到該鏈路上建立IPsec隧道。
在智能選路功能開啟的情況下,手動激活鏈路後,如果該鏈路的丟包率或時延高於設定的閾值,設備同樣會進行鏈路的循環切換。循環切換的起始鏈路是手動激活的這條鏈路,循環切換的終止鏈路仍然是優先級最低的鏈路。
在智能選路功能關閉的情況下不會進行鏈路自動切換。
¡ (可選)調整IPsec智能選路的鏈路優先級。
move link link-id1 before link-id2
缺省情況下,IPsec按照配置的先後順序選擇鏈路,先配置的鏈路優先級高,後配置的鏈路優先級低。
也可使用move link命令移動鏈路的先後順序來調整鏈路的優先級。當鏈路進行切換時,會按照鏈路的優先級從高到低順序切換。
¡ (可選)配置IPsec智能選路鏈路循環切換的最大次數。
link-switch cycles number
缺省情況下,IPsec智能選路鏈路循環切換的最大次數為3。
循環切換的最大次數取值為0時,表示不限製鏈路循環切換的次數。
¡ 配置IPsec智能選路鏈路探測報文的發送時間間隔和每個探測周期內發送探測報文的總數。
link-probe { interval interval | count number }
缺省情況下,IPsec智能選路鏈路探測報文的發送時間間隔為1秒,每個探測周期內發送探測報文的總數為10個。
¡ 配置IPsec智能選路鏈路探測報文的源IP地址和目的IP地址。
link-probe source source-address destination destination-address
缺省情況下,使用IPsec智能選路鏈路中配置的本端IP地址和對端IP地址作為探測報文的源IP地址和目的IP地址。
¡ 配置IPsec智能選路鏈路切換的閾值。
link-switch threshold { loss loss-ratio | delay delay }
缺省情況下,IPsec智能選路策略下丟包率閾值為30%,時延閾值為500毫秒。
(3) 退回係統視圖。
quit
(4) 進入接口視圖。
interface interface-type { interface-number | interface-number.subnumber }
(5) 配置接口的網關地址。
gateway gateway-address [ no-route ]
缺省情況下,接口上未配置網關地址。
當IPsec智能選路鏈路中沒有指定下一跳且不能自動獲取時,必須在此接口上配置網關地址。
當本端接口通過DHCP或PPPoE方式獲取IP地址時,配置的gateway不生效,獲取的網關地址為Server端下發的下一跳。
(6) 退回係統視圖。
quit
(7) 進入IPsec安全策略視圖。
ipsec policy policy-name seq-number isakmp
(8) 配置IPsec安全策略引用的IPsec智能選路策略。
smart-link policy policy-name
缺省情況下,IPsec安全策略未引用IPsec智能選路策略。
在中心-分支組網環境中,當有新的分支加入組網時,如果新分支側配置的保護數據流範圍過大,可能會導致其他分支的流量被引入到該分支,導致報文轉發錯誤。配置本功能後,當中心側設備與分支側設備進行IPsec SA協商時,如果中心側需要保護數據流的源、目的IP地址的掩碼長度大於或等於本功能配置的值,則允許繼續協商;否則,IPsec SA協商失敗,設備將生成IPsec SA協商失敗的告警信息。當IPsec SA協商失敗時,管理員需要針對當前組網環境,重新規劃分支側的ACL配置。
僅IPv4網絡支持本功能。
本功能僅在設備采用IPsec安全策略模板方式協商IPsec SA時生效。
建議在中心-分支組網環境中的中心側配置本功能。
(1) 進入係統視圖。
system-view
(2) 配置IPsec掩碼過濾功能。
ipsec netmask-filter { destination-mask mask-length | source-mask mask-length } *
缺省情況下,未配置IPsec掩碼過濾功能。
在中心-分支組網環境中,通常中心側采用IPsec安全策略模板方式協商IPsec SA。當分支側分支眾多時,需保護的數據流範圍可能會重疊。此時通過開啟本功能,在協商IPsec SA時,設備會檢測新建隧道與已有隧道的需保護數據流是否存在重疊。若重疊,則IPsec SA協商失敗,設備將生成IPsec SA協商失敗的告警信息。當IPsec SA協商失敗時,管理員需要針對當前組網環境,重新規劃分支側的ACL配置。
中心側設備判斷是否存在IPsec流量重疊的方法為:檢測待協商數據流的目的IP地址範圍是否與已有隧道保護的數據流的目的IP地址範圍重疊。若重疊,則認為待協商的數據流與已有隧道保護的數據流發生了重疊。
本功能具有如下使用限製:
· 僅在設備采用IPsec安全策略模板方式協商IPsec SA時生效。
· 建議在中心-分支組網環境中的中心側配置本功能。
· 僅支持對新建的IPsec SA進行流量重疊檢測,不支持對已有的IPsec SA進行流量重疊檢測。
· 僅支持在同一接口、同一VPN實例下進行流量重疊檢測。
· 不支持對IPsec重協商後生成的IPsec SA進行流量重疊檢測。
· 流量重疊檢測時不會判斷源IP地址範圍是否與已有隧道保護的數據流的源IP地址範圍重疊。
· 流量重疊檢測對設備性能有一定的影響,建議僅在進行網絡升級擴容等操作時開啟,並在操作完成後及時關閉。
(1) 進入係統視圖。
system-view
(2) 開啟IPsec流量重疊檢測功能。
ipsec flow-overlap check enable
缺省情況下,IPsec流量重疊檢測功能處於關閉狀態。
IPsec隧道保護IPv6路由協議配置任務如下:
(1) 配置IPsec安全提議
(2) 配置手工方式的IPsec安全框架
(4) (可選)配置IPsec抗重放窗口和序號的同步功能
(5) (可選)配置IPsec分片功能
(6) (可選)配置本端允許建立IPsec隧道的最大數
(7) (可選)配置IPsec報文日誌信息記錄功能
(8) (可選)配置IPsec協商事件日誌功能
(9) (可選)配置IPsec告警功能
手工方式的IPsec安全框架定義了對數據流進行IPsec保護所使用的安全提議,以及SA的SPI、SA使用的密鑰。
IPsec隧道兩端的配置必須符合以下要求:
· IPsec安全框架引用的IPsec安全提議應采用相同的安全協議、加密/認證算法和報文封裝模式。
· 本端出方向IPsec SA的SPI和密鑰必須和本端入方向IPsec SA的SPI和密鑰保持一致。
· 同一個範圍內的、所有設備上的IPsec SA的SPI和密鑰均要保持一致。該範圍與協議相關:對於OSPFv3,是OSPFv3鄰居之間或鄰居所在的區域;對於RIPng,是RIPng直連鄰居之間或鄰居所在的進程;對於BGP,是BGP鄰居之間或鄰居所在的一個組。
· 兩端IPsec SA使用的密鑰應當以相同的方式輸入,即如果一端以字符串方式輸入密鑰,另一端必須也以字符串方式輸入密鑰。如果先後以不同的方式輸入了密鑰,則最後設定的密鑰有效。
· 對於ESP協議,以字符串方式輸入密鑰時,係統會自動地同時生成認證算法的密鑰和加密算法的密鑰。
(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協議的密鑰,或者兩者都配置。
有關在IPv6路由協議上應用IPsec安全框架的相關配置,請分別參見“三層技術-IP路由配置指導”中的“IPv6 BGP”、“OSPFv3”和“RIPng”。
IPsec隧道保護隧道接口上的報文配置任務如下:
(1) 配置IPsec安全提議
(4) (可選)配置IPsec抗重放窗口和序號的同步功能
(5) (可選)配置全局IPsec SA生存時間和空閑超時功能
(6) (可選)配置IPsec分片功能
(7) (可選)設置IPsec隧道模式下封裝後外層IP頭的DF位
(8) (可選)配置本端允許建立IPsec隧道的最大數
(9) (可選)配置IPsec報文日誌信息記錄功能
(10) (可選)配置IPsec協商事件日誌功能
(11) (可選)配置IPsec告警功能
IKE協商方式的IPsec安全框架定義了對數據流進行IPsec保護所使用的安全提議,以及IKE profile。
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就會老化。
(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的相關配置請參見“VPN配置指導”中的“IKE”。
(6) (可選)指定IPsec安全框架引用的IKEv2 profile。
ikev2-profile profile-name
缺省情況下,IPsec安全框架沒有引用IKEv2 profile。若同時引用IKE profile和IKEv2 profile,優先使用IKEv2 profile進行協商。
隻能引用一個IKEv2 profile,IKE profile的相關配置請參見“VPN配置指導”中的“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空閑超時時間。
在隧道接口上應用IPsec安全框架後,隧道兩端會通過IKE協商建立IPsec隧道對隧道接口上傳輸的數據流進行IPsec保護。隻有兩端IKE協商成功後IPsec隧道接口才會up。
應用IPsec安全框架的時候,還可以通過ACL規則來對路由到隧道接口的報文進行進一步的過濾,隻有匹配ACL permit規則的報文才會受到IPsec的保護。
(1) 進入係統視圖。
system-view
(2) 創建一個Tunnel接口,指定隧道模式,並進入該Tunnel接口視圖。
interface tunnel number mode { advpn { gre | udp } [ ipv6 ] | ipsec [ ipv6 ] }
(3) 在隧道接口上應用IPsec安全框架。
tunnel protection ipsec profile profile-name [ acl [ ipv6 ] { acl-number | name acl-name } ]
缺省情況下,隧道接口下未應用IPsec安全框架。
IPsec抗重放窗口和序號的同步功能是指,以指定的報文間隔將接口上IPsec入方向抗重放窗口的左側值和出方向IPsec報文的抗重放序號進行備份。當配置了防重放窗口和序號的同步間隔的IPsec安全策略/IPsec安全框架被應用到接口/IPv6路由協議上時,若IPsec冗餘備份功能處於開啟狀態,則可以保證主備切換時IPsec流量不間斷和抗重放保護不間斷。
(1) 進入係統視圖。
system-view
(2) 開啟IPsec冗餘備份功能。
ipsec redundancy enable
缺省情況下,IPsec冗餘備份功能處於關閉狀態。
(3) 進入IPsec安全策略視圖/IPsec安全策略模板視圖/IPsec安全框架視圖。
¡ 進入IPsec安全策略視圖。
ipsec { ipv6-policy | policy } policy-name seq-number [ isakmp | manual ]
¡ 進入IPsec安全策略模板視圖。
ipsec { ipv6-policy-template | policy-template } template-name seq-number
¡ 進入IPsec安全框架視圖。
ipsec profile profile-name [ manual | isakmp ]
(4) 配置防重放窗口和序號的同步間隔。
redundancy replay-interval inbound inbound-interval outbound outbound-interval
缺省情況下,同步入方向防重放窗口的報文間隔為1000個報文,同步出方向IPsec SA防重放序號的報文間隔為100000個報文。
此功能用來配置IPsec SA生存時間和空閑超時功能。對於IKE協商建立的IPsec SA,遵循以下原則:
· 采用隧道兩端設置的IPsec SA生存時間中較小者。
· 可同時存在基於時間和基於流量兩種方式的IPsec SA生存時間,隻要到達指定的時間或指定的流量,IPsec SA就會老化。
(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空閑超時功能處於關閉狀態。
通過配置IPsec分片功能,可以選擇在報文進行IPsec封裝之前是否進行分片:
· IPsec封裝前分片功能處於開啟狀態時,設備會先判斷報文在經過IPsec封裝之後大小是否會超過發送接口的MTU值,如果封裝後的大小超過發送接口的MTU值,那麼會先對其分片再封裝。
· IPsec封裝後分片功能處於開啟狀態時,無論報文封裝後大小是否超過發送接口的MTU值,設備會直接對其先進行IPsec封裝處理,再由後續業務對其進行分片。
該功能僅對需要進行IPsec封裝的IPv4報文有效。
(1) 進入係統視圖。
system-view
(2) 配置IPsec分片功能。
ipsec fragmentation { after-encryption | before-encryption }
缺省情況下,IPsec封裝前分片功能處於開啟狀態。
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位。
· 該功能僅在IPsec的封裝模式為隧道模式時有效,僅用於設置IPsec隧道模式封裝後的外層IP頭的DF位,原始報文IP頭的DF位不會被修改。
· 隻有IKE協商方式的IPsec才能夠支持本功能。
· 如果有多個接口應用了共享源接口安全策略,則這些接口上必須使用相同的DF位設置。
· 轉發報文時對報文進行分片、重組,可能會導致報文的轉發延時較大。若設置了封裝後IPsec報文的DF位,則不允許對IPsec報文進行分片,可以避免引入分片延時。這種情況下,要求IPsec報文轉發路徑上各個接口的MTU大於IPsec報文長度,否則,會導致IPsec報文被丟棄。如果無法保證轉發路徑上各個接口的MTU大於IPsec報文長度,則建議清除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位。
(1) 進入係統視圖。
system-view
(2) 進入接口視圖。
interface interface-type interface-number
(3) 為當前接口設置IPsec封裝後外層IP頭的DF位。
ipsec df-bit { clear | copy | set }
缺省情況下,接口下未設置IPsec封裝後外層IP頭的DF位,采用全局設置的DF位。
(1) 進入係統視圖。
system-view
(2) 為全局設置IPsec封裝後外層IP頭的DF位。
ipsec global-df-bit { clear | copy | set }
缺省情況下,IPsec封裝後外層IP頭的DF位從原始報文IP頭中拷貝。
此功能用來配置對本端IPsec隧道數目的限製。本端允許建立IPsec隧道的最大數與內存資源有關。內存充足時可以設置較大的數值,提高IPsec的並發性能;內存不足時可以設置較小的數值,降低IPsec占用內存的資源。
(1) 進入係統視圖。
system-view
(2) 配置本端允許建立IPsec隧道的最大數。
ipsec limit max-tunnel tunnel-limit
缺省情況下,不限製本端允許建立IPsec隧道的最大數。
開啟IPsec報文日誌記錄功能後,設備會在丟棄IPsec報文的情況下,例如入方向找不到對應的IPsec SA、AH/ESP認證失敗、ESP加密失敗等時,輸出相應的日誌信息,該日誌信息內容主要包括報文的源和目的IP地址、報文的SPI值、報文的序列號信息,以及設備丟包的原因。
(1) 進入係統視圖。
system-view
(2) 開啟IPsec報文日誌記錄功能。
ipsec logging packet enable
開啟IPsec協商事件日誌記錄功能後,設備會輸出IPsec協商過程中的相關日誌。
(1) 進入係統視圖。
system-view
(2) 開啟IPsec協商事件日誌功能。
ipsec logging negotiation enable
缺省情況下,IPsec協商事件日誌功能處於開啟狀態。
開啟IPsec的Trap功能後,IPsec會生成告警信息,用於向網管軟件報告該模塊的重要事件。生成的告警信息將被發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。
如果希望生成並輸出某種類型的IPsec告警信息,則需要保證IPsec的全局告警功能以及相應類型的告警功能均處於開啟狀態。
(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的所有告警功能均處於關閉狀態。
在完成上述配置後,在任意視圖下執行display命令可以顯示配置後IPsec的運行情況,通過查看顯示信息認證配置的效果。
在用戶視圖下執行reset命令可以清除IPsec統計信息。
表1-2 IPsec顯示和維護
操作 |
命令 |
顯示IPsec安全策略的信息 |
display ipsec { ipv6-policy | policy } [ policy-name [ seq-number ] ] |
顯示IPsec安全策略模板的信息 |
display ipsec { ipv6-policy-template | policy-template } [ template-name [ seq-number ] ] |
顯示IPsec安全框架的信息 |
display ipsec profile [ profile-name ] |
顯示IPsec SA的相關信息 |
display ipsec sa [ brief | count | interface interface-type interface-number | { ipv6-policy | policy } policy-name [ seq-number ] | profile profile-name | remote [ ipv6 ] ip-address ] |
顯示IPsec智能選路策略的配置信息 |
display ipsec smart-link policy [ brief | name policy-name ] |
顯示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 ] |
清除IPsec的報文統計信息 |
reset ipsec statistics [ tunnel-id tunnel-id ] |
在Device A和Device B之間建立一條IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。具體要求如下:
· 封裝形式為隧道模式。
· 安全協議采用ESP協議。
· 加密算法采用128比特的AES,認證算法采用HMAC-SHA1。
· 手工方式建立IPsec SA。
圖1-10 保護IPv4報文的IPsec配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 10.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 24 2.2.2.2
[DeviceA] ip route-static 2.2.3.1 24 2.2.2.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.3.1
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.3.1
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置一個IPv4高級ACL,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。
[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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條手工方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定對端的IP地址,具體配置步驟如下。
[DeviceA] ipsec policy map1 10 manual
[DeviceA-ipsec-policy-manual-map1-10] security acl 3101
[DeviceA-ipsec-policy-manual-map1-10] transform-set tran1
[DeviceA-ipsec-policy-manual-map1-10] remote-address 2.2.3.1
[DeviceA-ipsec-policy-manual-map1-10] sa spi outbound esp 12345
[DeviceA-ipsec-policy-manual-map1-10] sa spi inbound esp 54321
[DeviceA-ipsec-policy-manual-map1-10] sa string-key outbound esp simple abcdefg
[DeviceA-ipsec-policy-manual-map1-10] sa string-key inbound esp simple gfedcba
[DeviceA-ipsec-policy-manual-map1-10] quit
(8) 在接口上應用IPsec安全策略,對接口上的流量進行保護
# 在接口GigabitEthernet1/0/2上應用IPsec安全策略,具體配置步驟如下。
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] ipsec apply policy map1
[DeviceA-GigabitEthernet1/0/2] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 10.1.2.1 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.3.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 10.1.1.0 24 2.2.3.2
[DeviceB] ip route-static 2.2.2.1 24 2.2.3.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.3.1
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.3.1
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置一個IPv4高級ACL,定義要保護由子網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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條手工方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定對端的IP地址,具體配置步驟如下。
[DeviceB] ipsec policy use1 10 manual
[DeviceB-ipsec-policy-manual-use1-10] security acl 3101
[DeviceB-ipsec-policy-manual-use1-10] transform-set tran1
[DeviceB-ipsec-policy-manual-use1-10] remote-address 2.2.2.1
[DeviceB-ipsec-policy-manual-use1-10] sa spi outbound esp 54321
[DeviceB-ipsec-policy-manual-use1-10] sa spi inbound esp 12345
[DeviceB-ipsec-policy-manual-use1-10] sa string-key outbound esp simple gfedcba
[DeviceB-ipsec-policy-manual-use1-10] sa string-key inbound esp simple abcdefg
[DeviceB-ipsec-policy-manual-use1-10] quit
(8) 在接口上應用IPsec安全策略,對接口上的流量進行保護
# 在接口GigabitEthernet1/0/2上應用IPsec安全策略,具體配置步驟如下。
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] ipsec apply policy use1
[DeviceB-GigabitEthernet1/0/2] quit
# 以上配置完成後,Device A和Device B之間的IPsec隧道就建立好了,子網10.1.1.0/24與子網10.1.2.0/24之間數據流的傳輸將受到生成的IPsec SA的保護。可通過以下顯示查看Device A上手工創建的IPsec SA。
[DeviceA] display ipsec sa
-------------------------------
Interface: GigabitEthernet1/0/2
-------------------------------
-----------------------------
IPsec policy: map1
Sequence number: 10
Mode: Manual
-----------------------------
Tunnel id: 549
Encapsulation mode: tunnel
Path MTU: 1443
Tunnel:
local address: 2.2.2.1
remote address: 2.2.3.1
Flow:
as defined in ACL 3101
[Inbound ESP SA]
SPI: 54321 (0x0000d431)
Connection ID: 1
Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1
No duration limit for this SA
[Outbound ESP SA]
SPI: 12345 (0x00003039)
Connection ID: 2
Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1
No duration limit for this SA
# Device B上也會產生相應的IPsec SA來保護IPv4報文,查看方式與Device A同,此處略。
在Device A和Device B之間建立一條IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。具體要求如下:
· 封裝形式為隧道模式。
· 安全協議采用ESP協議。
· 加密算法采用128比特的AES,認證算法采用HMAC-SHA1。
· IKE協商方式建立IPsec SA。
圖1-11 保護IPv4報文的IPsec配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 10.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 24 2.2.2.2
[DeviceA] ip route-static 2.2.3.1 24 2.2.2.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.3.1
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.3.1
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置一個IPv4高級ACL,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。
[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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置IKE keychain,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[DeviceA] ike keychain keychain1
[DeviceA-ike-keychain-keychain1] pre-shared-key address 2.2.3.1 255.255.255.0 key simple 123456TESTplat&!
[DeviceA-ike-keychain-keychain1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] keychain keychain1
[DeviceA-ike-profile-profile1] match remote identity address 2.2.3.1 255.255.255.0
[DeviceA-ike-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條IKE協商方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定本端和對端的IP地址,引用IKE profile,具體配置步驟如下。
[DeviceA] ipsec policy map1 10 isakmp
[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101
[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1
[DeviceA-ipsec-policy-isakmp-map1-10] local-address 2.2.2.1
[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.3.1
[DeviceA-ipsec-policy-isakmp-map1-10] ike-profile profile1
[DeviceA-ipsec-policy-isakmp-map1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
# 在接口GigabitEthernet1/0/2上應用安全策略,具體配置步驟如下。
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] ipsec apply policy map1
[DeviceA-GigabitEthernet1/0/2] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 10.1.2.1 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.3.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 10.1.1.0 24 2.2.3.2
[DeviceB] ip route-static 2.2.2.1 24 2.2.3.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.3.1
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.3.1
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 定義數據流需要保護的數據流
# 配置一個IPv4高級ACL,定義要保護由子網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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置IKE keychain,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[DeviceB] ike keychain keychain1
[DeviceB-ike-keychain-keychain1] pre-shared-key address 2.2.2.1 255.255.255.0 key simple 123456TESTplat&!
[DeviceB-ike-keychain-keychain1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] keychain keychain1
[DeviceB-ike-profile-profile1] match remote identity address 2.2.2.1 255.255.255.0
[DeviceB-ike-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條IKE協商方式的安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定本端和對端的IP地址,引用IKE profile,具體配置步驟如下。
[DeviceB] ipsec policy use1 10 isakmp
[DeviceB-ipsec-policy-isakmp-use1-10] security acl 3101
[DeviceB-ipsec-policy-isakmp-use1-10] transform-set tran1
[DeviceB-ipsec-policy-isakmp-use1-10] local-address 2.2.3.1
[DeviceB-ipsec-policy-isakmp-use1-10] remote-address 2.2.2.1
[DeviceB-ipsec-policy-isakmp-use1-10] ike-profile profile1
[DeviceB-ipsec-policy-isakmp-use1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
# 在接口GigabitEthernet1/0/2上應用IPsec安全策略,具體配置步驟如下。
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] ipsec apply policy use1
[DeviceB-GigabitEthernet1/0/2] quit
# 以上配置完成後,Device A和Device 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。
[DeviceA] display ipsec sa
-------------------------------
Interface: GigabitEthernet1/0/2
-------------------------------
-----------------------------
IPsec policy: map1
Sequence number: 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: 2.2.3.1
remote address: 2.2.2.1
Flow:
sour addr: 2.2.3.1/0.0.0.0 port: 0 protocol: ip
dest addr: 2.2.2.1/0.0.0.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 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
# Device B上也會產生相應的IPsec SA來保護IPv4報文,查看方式與Device A同,此處略。
在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地址為動態分配,並作為發起方。
圖1-12 IKE野蠻模式及RSA數字簽名認證配置組網圖
在開始下麵的配置之前,假設已完成如下配置:
· DeviceA已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 24 1.1.1.2
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置IPv4高級ACL 3101,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。
[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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置PKI實體,設置PKI實體的身份信息
[DeviceA] pki entity entity1
[DeviceA-pki-entity-entity1] common-name devicea
[DeviceA-pki-entity-entity1] quit
(8) 配置PKI域,約定PKI證書申請的相關信息
[DeviceA] pki domain domain1
[DeviceA-pki-domain-domain1] public-key rsa general name rsa1
[DeviceA-pki-domain-domain1] undo crl check enable
[DeviceA-pki-domain-domain1] quit
[DeviceA] pki import domain domain1 der ca filename ca.cer
[DeviceA] pki import domain domain1 p12 local filename server.pfx
(9) 配置證書訪問策略,對用戶訪問權限進行進一步的控製
[DeviceA] pki certificate access-control-policy policy1
[DeviceA-pki-cert-acp-policy1] rule 1 permit group1
[DeviceA] pki certificate attribute-group group1
[DeviceA-pki-cert-attribute-group-group1] attribute 1 subject-name dn ctn 1
對端證書subject-name DN中需包含(ctn)規則中定義的字符串才被認為是有效的證書。本例使用的證書subject-name DN中包含字符“1”,因此在這裏使用參數ctn 1。
(10) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] certificate domain domain1
[DeviceA-ike-profile-profile1] exchange-mode aggressive
[DeviceA-ike-profile-profile1] local-identity dn
[DeviceA-ike-profile-profile1] match remote certificate policy1
[DeviceA-ike-profile-profile1] quit
(11) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
[DeviceA] ike proposal 10
[DeviceA-ike-proposal-10] authentication-algorithm md5
[DeviceA-ike-proposal-10] authentication-method rsa-signature
[DeviceA-ike-proposal-10] quit
(12) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條手工方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定對端的IP地址,具體配置步驟如下。
[DeviceA] ipsec policy map1 10 isakmp
[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.2.2
[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1
[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101
[DeviceA-ipsec-policy-isakmp-map1-10] ike-profile profile1
[DeviceA-ipsec-policy-isakmp-map1-10] quit
(13) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1
[DeviceA-GigabitEthernet1/0/1] quit
在開始下麵的配置之前,假設已完成如下配置:
· DeviceB已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 10.1.1.0 24 2.2.2.1
[DeviceB] ip route-static 1.1.1.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置IPv4高級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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置PKI實體,設置PKI實體的身份信息
[DeviceB] pki entity entity2
[DeviceB-pki-entity-entity2] common-name deviceb
[DeviceB-pki-entity-entity2] quit
(8) 配置PKI域,約定PKI證書申請的相關信息
[DeviceB] pki domain domain2
[DeviceB-pki-domain-domain2] public-key rsa general name rsa1
[DeviceB-pki-domain-domain2] undo crl check enable
[DeviceB-pki-domain-domain2] quit
[DeviceB] pki import domain domain2 der ca filename ca.cer
[DeviceB] pki import domain domain2 p12 local filename server.pfx
(9) 配置證書訪問策略,對用戶訪問權限進行進一步的控製
# 配置證書訪問策略policy1。
[DeviceB] pki certificate access-control-policy policy1
[DeviceB-pki-cert-acp-policy1] rule 1 permit group1
[DeviceB] pki certificate attribute-group group1
[DeviceB-pki-cert-attribute-group-group1] attribute 1 subject-name dn ctn 1
對端證書subject-name DN中需包含(ctn)規則中定義的字符串才被認為是有效的證書。本例使用的證書subject-name DN中包含字符“1”,因此在這裏使用參數ctn 1。
(10) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile2
[DeviceB-ike-profile-profile2] certificate domain domain2
[DeviceB-ike-profile-profile2] exchange-mode aggressive
[DeviceB-ike-profile-profile2] local-identity dn
[DeviceB-ike-profile-profile2] match remote certificate policy1
[DeviceB-ike-profile-profile2] quit
(11) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
[DeviceB] ike proposal 10
[DeviceB-ike-proposal-10] authentication-algorithm md5
[DeviceB-ike-proposal-10] authentication-method rsa-signature
[DeviceB-ike-proposal-10] quit
(12) 配置IPsec安全策略模板,用於創建IPsec安全策略
# 創建一條IPsec安全策略模板,名稱為template1,順序號為1。
[DeviceB] ipsec policy-template template1 1
[DeviceB-ipsec-policy-template-template1-1] transform-set tran1
[DeviceB-ipsec-policy-template-template1-1] ike-profile profile2
[DeviceB-ipsec-policy-template-template1-1] quit
(13) 創建IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec policy use1 1 isakmp template template1
(14) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipsec apply policy use1
[DeviceB-GigabitEthernet1/0/1] quit
以上配置完成後,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:http://xx.rsa.example.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
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: 1.1.1.1
remote address: 2.2.2.2
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同,此處略。
在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第一階段的協商模式為國密主模式。
圖1-13 IKE國密主模式及SM2-DE數字信封認證配置組網圖
在開始下麵的配置之前,假設已完成如下配置:
· DeviceA已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 24 1.1.1.2
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置IPv4高級ACL 3101,定義要保護由子網10.1.1.0/24去子網10.1.2.0/24的數據流。
[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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置PKI實體,設置PKI實體的身份信息
[DeviceA] pki entity entity1
[DeviceA-pki-entity-entity1] common-name devicea
[DeviceA-pki-entity-entity1] quit
(8) 配置PKI域,約定PKI證書申請的相關信息
[DeviceA] pki domain domain1
[DeviceA-pki-domain-domain1] public-key sm2 general name sm2-1
[DeviceA-pki-domain-domain1] undo crl check enable
[DeviceA-pki-domain-domain1] quit
[DeviceA] pki import domain domain1 der ca filename ca.cer
[DeviceA] pki import domain domain1 p12 local filename server.pfx
(9) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
[DeviceA] ike proposal 10
[DeviceA-ike-proposal-10] authentication-method sm2-de
[DeviceA-ike-proposal-10] authentication-algorithm sm3
[DeviceA-ike-proposal-10] encryption-algorithm sm1-cbc-128
[DeviceA-ike-proposal-10] quit
(10) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] exchange-mode gm-main
[DeviceA-ike-profile-profile1] certificate domain domain1
[DeviceA-ike-profile-profile1] proposal 10
[DeviceA-ike-profile-profile1] local-identity address 1.1.1.1
[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0
[DeviceA-ike-profile-profile1] quit
(11) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條手工方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定對端的IP地址,具體配置步驟如下。
[DeviceA] ipsec policy map1 10 isakmp
[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.2.2
[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101
[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1
[DeviceA-ipsec-policy-isakmp-map1-10] ike-profile profile1
[DeviceA-ipsec-policy-isakmp-map1-10] quit
(12) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1
[DeviceA-GigabitEthernet1/0/1] quit
在開始下麵的配置之前,假設已完成如下配置:
· DeviceB已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 10.1.1.0 24 2.2.2.1
[DeviceB] ip route-static 1.1.1.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置IPv4高級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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置PKI實體,設置PKI實體的身份信息
[DeviceB] pki entity entity2
[DeviceB-pki-entity-entity2] common-name deviceb
[DeviceB-pki-entity-entity2] quit
(8) 配置PKI域,約定PKI證書申請的相關信息
[DeviceB] pki domain domain2
[DeviceB-pki-domain-domain2] public-key sm2 general name sm2-1
[DeviceB-pki-domain-domain2] undo crl check enable
[DeviceB-pki-domain-domain2] quit
[DeviceB] pki import domain domain2 der ca filename ca.cer
[DeviceB] pki import domain domain2 p12 local filename server.pfx
(9) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
[DeviceB] ike proposal 10
[DeviceB-ike-proposal-10] authentication-method sm2-de
[DeviceB-ike-proposal-10] authentication-algorithm sm3
[DeviceB-ike-proposal-10] encryption-algorithm sm1-cbc-128
[DeviceB-ike-proposal-10] quit
(10) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] exchange-mode gm-main
[DeviceB-ike-profile-profile1] certificate domain domain2
[DeviceB-ike-profile-profile1] proposal 10
[DeviceB-ike-profile-profile1] local-identity address 2.2.2.2
[DeviceB-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.0.0
[DeviceB-ike-profile-profile1] quit
(11) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條手工方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定對端的IP地址,具體配置步驟如下。
[DeviceB] ipsec policy use1 10 isakmp
[DeviceB-ipsec-policy-isakmp-use1-10] remote-address 1.1.1.1
[DeviceB-ipsec-policy-isakmp-use1-10] security acl 3101
[DeviceB-ipsec-policy-isakmp-use1-10] transform-set tran1
[DeviceB-ipsec-policy-isakmp-use1-10] ike-profile profile1
[DeviceB-ipsec-policy-isakmp-use1-10] quit
(12) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipsec apply policy use1
以上配置完成後,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 SM3 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 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
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: 1456
Tunnel:
local address: 1.1.1.1
remote address: 2.2.2.2
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同,此處略。
在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安全策略。
圖1-14 IKEv2預共享密鑰認證配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 24 1.1.1.2
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置ACL 3101,定義要保護由子網10.1.1.0/24去子網10.1.2.0/24的數據流。
[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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKEv2 keychain,約定通信雙方使用的密鑰信息
[DeviceA] ikev2 keychain keychain1
[DeviceA-ikev2-keychain-keychain1] peer peer1
[DeviceA-ikev2-keychain-keychain1-peer-peer1] address 2.2.2.2 16
[DeviceA-ikev2-keychain-keychain1-peer-peer1] identity address 2.2.2.2
[DeviceA-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext abcde
[DeviceA-ikev2-keychain-keychain1-peer-peer1] quit
[DeviceA-ikev2-keychain-keychain1] quit
(8) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceA] ikev2 profile profile1
[DeviceA-ikev2-profile-profile1] authentication-method local pre-share
[DeviceA-ikev2-profile-profile1] authentication-method remote pre-share
[DeviceA-ikev2-profile-profile1] keychain keychain1
[DeviceA-ikev2-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0
[DeviceA-ikev2-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條手工方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定對端的IP地址,具體配置步驟如下。
[DeviceA] ipsec policy map1 10 isakmp
[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.2.2
[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101
[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1
[DeviceA-ipsec-policy-isakmp-map1-10] ikev2-profile profile1
[DeviceA-ipsec-policy-isakmp-map1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1
[DeviceA-GigabitEthernet1/0/1] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 10.1.1.0 24 2.2.2.1
[DeviceB] ip route-static 1.1.1.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKEv2 keychain,約定通信雙方使用的密鑰信息
[DeviceB] ikev2 keychain keychain1
[DeviceB-ikev2-keychain-keychain1] peer peer1
[DeviceB-ikev2-keychain-keychain1-peer-peer1] address 1.1.1.1 16
[DeviceB-ikev2-keychain-keychain1-peer-peer1] identity address 1.1.1.1
[DeviceB-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext abcde
[DeviceB-ikev2-keychain-keychain1-peer-peer1] quit
[DeviceB-ikev2-keychain-keychain1] quit
(8) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceB] ikev2 profile profile1
[DeviceB-ikev2-profile-profile1] authentication-method local pre-share
[DeviceB-ikev2-profile-profile1] authentication-method remote pre-share
[DeviceB-ikev2-profile-profile1] keychain keychain1
[DeviceA-ikev2-profile-profile1] match remote identity address 1.1.1.1 255.255.0.0
[DeviceA-ikev2-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條手工方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定對端的IP地址,具體配置步驟如下。
[DeviceB] ipsec policy use1 10 isakmp
[DeviceB-ipsec-policy-isakmp-use1-10] remote-address 1.1.1.1
[DeviceB-ipsec-policy-isakmp-use1-10] security acl 3101
[DeviceB-ipsec-policy-isakmp-use1-10] transform-set tran1
[DeviceB-ipsec-policy-isakmp-use1-10] ikev2-profile profile1
[DeviceB-ipsec-policy-isakmp-use1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipsec apply policy use1
[DeviceB-GigabitEthernet1/0/1] quit
以上配置完成後,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
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: 1.1.1.1
remote address: 2.2.2.2
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同,此處略。
在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地址為動態分配,並作為發起方。
圖1-15 IKEv2 RSA數字簽名認證配置組網圖
在開始下麵的配置之前,假設已完成如下配置:
· DeviceA已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 24 1.1.1.2
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置ACL 3101,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。
[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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置PKI實體,設置PKI實體的身份信息
[DeviceA] pki entity entity1
[DeviceA-pki-entity-entity1] common-name devicea
[DeviceA-pki-entity-entity1] quit
(8) 配置PKI域,約定PKI證書申請的相關信息
[DeviceA] pki domain domain1
[DeviceA-pki-domain-domain1] public-key rsa general name rsa1
[DeviceA-pki-domain-domain1] undo crl check enable
[DeviceA-pki-domain-domain1] quit
[DeviceA] pki import domain domain1 der ca filename ca.cer
[DeviceA] pki import domain domain1 p12 local filename server.pfx
(9) 配置證書訪問策略,對用戶訪問權限進行進一步的控製
[DeviceA] pki certificate access-control-policy policy1
[DeviceA-pki-cert-acp-policy1] rule 1 permit group1
[DeviceA] pki certificate attribute-group group1
[DeviceA-pki-cert-attribute-group-group1] attribute 1 subject-name dn ctn 1
對端證書subject-name DN中需包含(ctn)規則中定義的字符串才被認為是有效的證書。本例使用的證書subject-name DN中包含字符“1”,因此在這裏使用參數ctn 1。
(10) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceA] ikev2 profile profile1
[DeviceA-ikev2-profile-profile1] authentication-method local rsa-signature
[DeviceA-ikev2-profile-profile1] authentication-method remote rsa-signature
[DeviceA-ikev2-profile-profile1] certificate domain domain1
[DeviceA-ikev2-profile-profile1] identity local dn
[DeviceA-ikev2-profile-profile1] match remote certificate policy1
[DeviceA-ikev2-profile-profile1] quit
(11) 配置IKEv2提議,定義雙方進行IKE協商所需的安全參數
[DeviceA] ikev2 proposal 10
[DeviceA-ikev2-proposal-10] integrity md5
[DeviceA-ikev2-proposal-10] encryption 3des-cbc
[DeviceA-ikev2-proposal-10] dh group1
[DeviceA-ikev2-proposal-10] prf md5
[DeviceA-ikev2-proposal-10] quit
(12) 配置IKEv2安全策略,用於協商IKEv2 SA
[DeviceA] ikev2 policy 1
[DeviceA-ikev2-policy-1] proposal 10
[DeviceA-ikev2-policy-1] quit
(13) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條手工方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定對端的IP地址,具體配置步驟如下。
[DeviceA] ipsec policy map1 10 isakmp
[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.2.2
[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1
[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101
[DeviceA-ipsec-policy-isakmp-map1-10] ikev2-profile profile1
[DeviceA-ipsec-policy-isakmp-map1-10] quit
(14) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1
[DeviceA-GigabitEthernet1/0/1] quit
在開始下麵的配置之前,假設已完成如下配置:
· DeviceB已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 10.1.1.0 24 2.2.2.1
[DeviceB] ip route-static 1.1.1.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置PKI實體,設置PKI實體的身份信息
[DeviceB] pki entity entity2
[DeviceB-pki-entity-entity2] common-name deviceb
[DeviceB-pki-entity-entity2] quit
(8) 配置PKI域,約定PKI證書申請的相關信息
[DeviceB] pki domain domain2
[DeviceB-pki-domain-domain2] public-key rsa general name rsa1
[DeviceB-pki-domain-domain2] undo crl check enable
[DeviceB-pki-domain-domain2] quit
[DeviceB] pki import domain domain2 der ca filename ca.cer
[DeviceB] pki import domain domain2 p12 local filename server.pfx
(9) 配置證書訪問策略,對用戶訪問權限進行進一步的控製
[DeviceB] pki certificate access-control-policy policy1
[DeviceB-pki-cert-acp-policy1] rule 1 permit group1
[DeviceB] pki certificate attribute-group group1
[DeviceB-pki-cert-attribute-group-group1] attribute 1 subject-name dn ctn 1
對端證書subject-name DN中需包含(ctn)規則中定義的字符串才被認為是有效的證書。本例使用的證書subject-name DN中包含字符“1”,因此在這裏使用參數ctn 1。
(10) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceB] ikev2 profile profile2
[DeviceB-ikev2-profile-profile2] authentication-method local rsa-signature
[DeviceB-ikev2-profile-profile2] authentication-method remote rsa-signature
[DeviceB-ikev2-profile-profile2] certificate domain domain2
[DeviceB-ikev2-profile-profile2] identity local dn
[DeviceB-ikev2-profile-profile2] match remote certificate policy1
[DeviceB-ikev2-profile-profile2] quit
(11) 配置IKEv2提議,定義雙方進行IKE協商所需的安全參數
[DeviceB] ikev2 proposal 10
[DeviceB-ikev2-proposal-10] integrity md5
[DeviceB-ikev2-proposal-10] encryption 3des-cbc
[DeviceB-ikev2-proposal-10] dh group1
[DeviceB-ikev2-proposal-10] prf md5
[DeviceB-ikev2-proposal-10] quit
(12) 配置IKEv2安全策略,用於協商IKEv2 SA
[DeviceB] ikev2 policy 1
[DeviceB-ikev2-policy-1] proposal 10
[DeviceB-ikev2-policy-1] quit
(13) 配置IPsec安全策略模板,用於創建IPsec安全策略
[DeviceB] ipsec policy-template template1 1
[DeviceB-ipsec-policy-template-template1-1] remote-address 1.1.1.1
[DeviceB-ipsec-policy-template-template1-1] security acl 3101
[DeviceB-ipsec-policy-template-template1-1] transform-set tran1
[DeviceB-ipsec-policy-template-template1-1] ikev2-profile profile2
[DeviceB-ipsec-policy-template-template1-1] quit
(14) 創建IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec policy use1 1 isakmp template template1
(15) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipsec apply policy use1
[DeviceB-GigabitEthernet1/0/1] quit
以上配置完成後,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:http://xx.rsa.example.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
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: 1.1.1.1
remote address: 2.2.2.2
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同,此處略。
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提議。
· 協商模式為野蠻模式協商。
· 第一階段協商的認證方法為預共享密鑰認證。
圖1-16 IKE野蠻模式及NAT穿越配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 24 1.1.1.2
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置IPv4高級ACL 3000,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。
[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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[DeviceA] ipsec transform-set transform1
[DeviceA-ipsec-transform-set-transform1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
[DeviceA] ike keychain keychain1
[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
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] keychain keychain1
[DeviceA-ike-profile-profile1] exchange-mode aggressive
[DeviceA-ike-profile-profile1] local-identity fqdn www.devicea.example.com
[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0
[DeviceA-ike-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條手工方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定對端的IP地址,具體配置步驟如下。
[DeviceA] ipsec policy policy1 1 isakmp
[DeviceA-ipsec-policy-isakmp-policy1-1] remote-address 2.2.2.2
[DeviceA-ipsec-policy-isakmp-policy1-1] transform-set transform1
[DeviceA-ipsec-policy-isakmp-policy1-1] security acl 3000
[DeviceA-ipsec-policy-isakmp-policy1-1] ike-profile profile1
[DeviceA-ipsec-policy-isakmp-policy1-1] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ipsec apply policy policy1
[DeviceA-GigabitEthernet1/0/1] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 10.1.1.0 24 2.2.2.1
[DeviceB] ip route-static 1.1.1.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 3.3.3.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 3.3.3.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[DeviceB] ipsec transform-set transform1
[DeviceB-ipsec-transform-set-transform1] protocol esp
[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
(6) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 配置與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
[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
(7) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] keychain keychain1
[DeviceB-ike-profile-profile1] exchange-mode aggressive
[DeviceB-ike-profile-profile1] match remote identity fqdn www.devicea.example.com
[DeviceB-ike-profile-profile1] quit
(8) 配置IPsec安全策略模板,用於創建IPsec安全策略
[DeviceB] ipsec policy-template template1 1
[DeviceB-ipsec-policy-template-template1-1] transform-set transform1
[DeviceB-ipsec-policy-template-template1-1] local-address 2.2.2.2
[DeviceB-ipsec-policy-template-template1-1] ike-profile profile1
[DeviceB-ipsec-policy-template-template1-1] quit
(9) 創建IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec policy policy1 1 isakmp template template1
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipsec apply policy policy1
[DeviceB-GigabitEthernet1/0/1] quit
以上配置完成後,子網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
-----------------------------------------------
Local IP/port: 1.1.1.1/500
Local ID type: FQDN
Local ID: www.devicea.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:
# 可通過如下顯示信息查看到IKE第二階段協商生成的IPsec SA。
[DeviceA] display ipsec sa
-------------------------------
Interface: GigabitEthernet1/0/1
-------------------------------
-----------------------------
IPsec policy: policy1
Sequence number: 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: 1.1.1.1
remote address: 2.2.2.2
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
Device A在NAT安全網關內網側。要求在Device A和Device B之間建立一個IPsec隧道,對Host A所在的子網(10.1.1.2/24)與Host B所在的子網(10.1.2.2/24)之間的數據流進行安全保護。具體需要求如下:
· 協商雙方使用缺省的IKEv2安全提議和IKEv2安全策略。
· 第一階段協商的認證方法為預共享密鑰認證。
圖1-17 IKEv2 NAT穿越配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 24 1.1.1.2
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置ACL 3101,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。
[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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set transform1
[DeviceA-ipsec-transform-set-transform1] protocol esp
[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
(7) 配置IKEv2 keychain,約定通信雙方使用的密鑰信息
[DeviceA] ikev2 keychain keychain1
[DeviceA-ikev2-keychain-keychain1] peer peer1
[DeviceA-ikev2-keychain-keychain1-peer-peer1] address 2.2.2.2 16
[DeviceA-ikev2-keychain-keychain1-peer-peer1] identity address 2.2.2.2
[DeviceA-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext 123
[DeviceA-ikev2-keychain-keychain1-peer-peer1] quit
[DeviceA-ikev2-keychain-keychain1] quit
(8) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceA] ikev2 profile profile1
[DeviceA-ikev2-profile-profile1] keychain keychain1
[DeviceA-ikev2-profile-profile1] identity local fqdn www.devicea.example.com
[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
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條手工方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定對端的IP地址,具體配置步驟如下。
[DeviceA] ipsec policy policy1 1 isakmp
[DeviceA-ipsec-policy-isakmp-policy1-1] remote-address 2.2.2.2
[DeviceA-ipsec-policy-isakmp-policy1-1] transform-set transform1
[DeviceA-ipsec-policy-isakmp-policy1-1] security acl 3101
[DeviceA-ipsec-policy-isakmp-policy1-1] ikev2-profile profile1
[DeviceA-ipsec-policy-isakmp-policy1-1] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ipsec apply policy policy1
[DeviceA-GigabitEthernet1/0/1] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 10.1.1.0 24 2.2.2.1
[DeviceB] ip route-static 1.1.1.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 3.3.3.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 3.3.3.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置ACL 3101,定義要保護由子網10.1.2.0/24去往子網10.1.1.0/24的數據流。
[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
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set transform1
[DeviceB-ipsec-transform-set-transform1] protocol esp
[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
(7) 配置IKEv2 keychain,約定通信雙方使用的密鑰信息
[DeviceB]ikev2 keychain keychain1
[DeviceB-ikev2-keychain-keychain1] peer peer1
[DeviceB-ikev2-keychain-keychain1-peer-peer1] address 3.3.3.1 16
[DeviceB-ikev2-keychain-keychain1-peer-peer1] identity address 3.3.3.1
[DeviceB-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext 123
[DeviceB-ikev2-keychain-keychain1-peer-peer1] quit
[DeviceB-ikev2-keychain-keychain1] quit
(8) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceB] ikev2 profile profile1
[DeviceB-ikev2-profile-profile1] keychain keychain1
[DeviceB-ikev2-profile-profile1] match remote identity fqdn www.devicea.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
(9) 配置IPsec安全策略模板,用於創建IPsec安全策略
[DeviceB] ipsec policy-template template1 1
[DeviceB-ipsec-policy-template-template1-1] remote-address 3.3.3.1
[DeviceB-ipsec-policy-template-template1-1] security acl 3101
[DeviceB-ipsec-policy-template-template1-1] transform-set transform1
[DeviceB-ipsec-policy-template-template1-1] ikev2-profile profile1
[DeviceB-ipsec-policy-template-template1-1] quit
(10) 創建IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec policy policy1 1 isakmp template template1
(11) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipsec apply policy policy1
[DeviceB-GigabitEthernet1/0/1] quit
以上配置完成後,子網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.devicea.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
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: 1.1.1.1
remote address: 2.2.2.2
Flow:
sour addr: 10.1.1.0/255.255.255.0 port: 0 protocol: ip
dest addr: 10.2.1.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
用戶主機Host和Device之間建立一個IPsec隧道,對用戶主機和Device之間的數據流進行安全保護。
· Host和Device之間采用IKE協商方式建立IPsec SA。
· IKE第一階段協商的認證方法為預共享密鑰認證。
· Device對Host進行IKE擴展認證,認證方式采用遠程RADIUS認證。
圖1-18 IKE支持遠程擴展認證配置組網圖
· 請保證Host與Device之間路由可達。
· 完成RADIUS服務器上的配置,保證Host使用指定的用戶名和密碼(本例中,用戶名為test,密碼為123456TESTplat&!)可以完成身份認證。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
[Device] interface GigabitEthernet1/0/2
[Device-GigabitEthernet1/0/2] ip address 3.3.3.3 255.255.255.0
[Device-GigabitEthernet1/0/2] quit
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達Host所在網絡的下一跳IP地址為2.2.2.3實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 1.1.1.1 24 2.2.2.3
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] quit
(4) 配置安全策略放行Untrust與Local安全域之間的流量,用於Host訪問設備。
# 配置名稱為ipseclocalout1的安全策規則,使Device可以向Host發送報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name ipseclocalout1
[Device-security-policy-ip-1-ipseclocalout1] source-zone local
[Device-security-policy-ip-1-ipseclocalout1] destination-zone untrust
[Device-security-policy-ip-1-ipseclocalout1] source-ip-host 2.2.2.2
[Device-security-policy-ip-1-ipseclocalout1] destination-ip-host 1.1.1.1
[Device-security-policy-ip-1-ipseclocalout1] action pass
[Device-security-policy-ip-1-ipseclocalout1] quit
# 配置名稱為ipseclocalin1的安全策略規則,使Host可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name ipseclocalin1
[Device-security-policy-ip-2-ipseclocalin1] source-zone untrust
[Device-security-policy-ip-2-ipseclocalin1] destination-zone local
[Device-security-policy-ip-2-ipseclocalin1] source-ip-host 1.1.1.1
[Device-security-policy-ip-2-ipseclocalin1] destination-ip-host 2.2.2.2
[Device-security-policy-ip-2-ipseclocalin1] action pass
[Device-security-policy-ip-2-ipseclocalin1] quit
# 配置名稱為ipseclocalout2的安全策規則,使Device可以向RADIUS server發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name ipseclocalout2
[Device-security-policy-ip-3-ipseclocalout2] source-zone local
[Device-security-policy-ip-3-ipseclocalout2] destination-zone trust
[Device-security-policy-ip-3-ipseclocalout2] source-ip-host 3.3.3.3
[Device-security-policy-ip-3-ipseclocalout2] destination-ip-host 3.3.3.48
[Device-security-policy-ip-3-ipseclocalout2] action pass
[Device-security-policy-ip-3-ipseclocalout2] quit
# 配置名稱為ipseclocalin2的安全策略規則,使RADIUS server可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name ipseclocalin2
[Device-security-policy-ip-4-ipseclocalin2] source-zone trust
[Device-security-policy-ip-4-ipseclocalin2] destination-zone local
[Device-security-policy-ip-4-ipseclocalin2] source-ip-host 3.3.3.48
[Device-security-policy-ip-4-ipseclocalin2] destination-ip-host 3.3.3.3
[Device-security-policy-ip-4-ipseclocalin2] action pass
[Device-security-policy-ip-4-ipseclocalin2] quit
[Device-security-policy-ip] quit
(5) 配置RADIUS方案
# 創建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
(6) 配置ISP域
# 配置ISP域ike,指定IKE用戶的認證方法。
[Device] domain ike
[Device-isp-ike] authentication ike radius-scheme ike-scheme
[Device-isp-ike] quit
(7) 定義數據流
# 配置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
(8) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議tran1,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[Device] ipsec transform-set tran1
[Device-ipsec-transform-set-tran1] encapsulation-mode transport
[Device-ipsec-transform-set-tran1] protocol esp
[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
(9) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建IKE keychain,名稱為keychain1,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[Device] ike keychain keychain1
[Device-ike-keychain-keychain1] pre-shared-key address 1.1.1.1 255.255.255.255 key simple 123456TESTplat&!
[Device-ike-keychain-keychain1] quit
(10) 配置IKE profile,約定建立IKE SA所需的安全參數
[Device] ike profile profile1
[Device-ike-profile-profile1] keychain keychain1
[Device-ike-profile-profile1] local-identity address 2.2.2.2
[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
(11) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條IKE協商方式的IPsec安全策略,名稱為map1,順序號為10。
[Device] ipsec policy map1 10 isakmp
[Device-ipsec-policy-isakmp-map1-10] remote-address 1.1.1.1
[Device-ipsec-policy-isakmp-map1-10] security acl 3101
[Device-ipsec-policy-isakmp-map1-10] transform-set tran1
[Device-ipsec-policy-isakmp-map1-10] ike-profile profile1
[Device-ipsec-policy-isakmp-map1-10] quit
(12) 在接口上應用IPsec安全策略
# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ipsec apply policy map1
[Device-GigabitEthernet1/0/1] quit
Host上需要完成IPsec VPN客戶端的如下主要配置,並保證與Device端的相關配置相匹配:
· IPsec隧道對端的安全網關IP地址
· IKE第一階段認證采用的預共享密鑰
· 擴展認證采用的用戶名和密碼
· IPsec安全協議,以及采用的加密算法、認證算法
· IKE協商參數
· 本地及遠端的ID類型與取值
以上配置完成後,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
-----------------------------------------------
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:
若Host端提供了正確的用戶名和密碼,將能夠與Device之間成功建立IPsec隧道。在Device上可以通過display ipsec sa命令查看到生成的IPsec SA信息。
用戶主機Host和Device建立一個IPsec隧道,對用戶主機和Server之間的數據流進行安全保護。
· Host和Device之間采用IKE協商方式建立IPsec SA。
· IKE第一階段協商的認證方法為預共享密鑰認證。
· Device對Host進行IKE本地擴展認證,認證方式采用本地AAA認證,Device為Host分配IPv4地址。
圖1-19 IKE支持本地擴展認證及授權配置組網圖
· 請保證Host與Device、Host與Server之間路由可達。
· 保證Host使用指定的用戶名和密碼(本例中,用戶名為test,密碼為123456TESTplat&!)可以完成身份認證。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<Device> system-view
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.255.0
[Device-GigabitEthernet1/0/1] quit
[Device] interface GigabitEthernet1/0/2
[Device-GigabitEthernet1/0/2] ip address 3.3.3.3 255.255.255.0
[Device-GigabitEthernet1/0/2] quit
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達Host所在網絡的下一跳IP地址為2.2.2.3實際使用中請以具體組網情況為準,具體配置步驟如下。
[Device] ip route-static 1.1.1.1 24 2.2.2.3
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[Device] security-zone name untrust
[Device-security-zone-Untrust] import interface gigabitethernet 1/0/1
[Device-security-zone-Untrust] quit
[Device] security-zone name trust
[Device-security-zone-Trust] import interface gigabitethernet 1/0/2
[Device-security-zone-Trust] quit
(4) 配置安全策略放行Untrust與Local安全域之間的流量,用於Host訪問設備。
# 配置名稱為ipseclocalout1的安全策規則,使Device可以向Host發送報文,具體配置步驟如下。
[Device] security-policy ip
[Device-security-policy-ip] rule name ipseclocalout1
[Device-security-policy-ip-1-ipseclocalout1] source-zone local
[Device-security-policy-ip-1-ipseclocalout1] destination-zone untrust
[Device-security-policy-ip-1-ipseclocalout1] source-ip-host 2.2.2.2
[Device-security-policy-ip-1-ipseclocalout1] destination-ip-host 1.1.1.1
[Device-security-policy-ip-1-ipseclocalout1] action pass
[Device-security-policy-ip-1-ipseclocalout1] quit
# 配置名稱為ipseclocalin1的安全策略規則,使Host可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name ipseclocalin1
[Device-security-policy-ip-2-ipseclocalin1] source-zone untrust
[Device-security-policy-ip-2-ipseclocalin1] destination-zone local
[Device-security-policy-ip-2-ipseclocalin1] source-ip-host 1.1.1.1
[Device-security-policy-ip-2-ipseclocalin1] destination-ip-host 2.2.2.2
[Device-security-policy-ip-2-ipseclocalin1] action pass
[Device-security-policy-ip-2-ipseclocalin1] quit
# 配置名稱為ipseclocalout2的安全策規則,使Device可以向RADIUS server發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name ipseclocalout2
[Device-security-policy-ip-3-ipseclocalout2] source-zone local
[Device-security-policy-ip-3-ipseclocalout2] destination-zone trust
[Device-security-policy-ip-3-ipseclocalout2] source-ip-host 3.3.3.3
[Device-security-policy-ip-3-ipseclocalout2] destination-ip-host 3.3.3.48
[Device-security-policy-ip-3-ipseclocalout2] action pass
[Device-security-policy-ip-3-ipseclocalout2] quit
# 配置名稱為ipseclocalin2的安全策略規則,使RADIUS server可以向Device發送報文,具體配置步驟如下。
[Device-security-policy-ip] rule name ipseclocalin2
[Device-security-policy-ip-4-ipseclocalin2] source-zone trust
[Device-security-policy-ip-4-ipseclocalin2] destination-zone local
[Device-security-policy-ip-4-ipseclocalin2] source-ip-host 3.3.3.48
[Device-security-policy-ip-4-ipseclocalin2] destination-ip-host 3.3.3.3
[Device-security-policy-ip-4-ipseclocalin2] action pass
[Device-security-policy-ip-4-ipseclocalin2] quit
[Device-security-policy-ip] quit
(5) 配置ISP域
# 創建ISP域dm並進入其視圖,指定IKE用戶的認證方法。
[Device] domain dm
[Device-isp-dm] authentication ike local
[Device-isp-dm] authorization ike local
[Device-isp-dm] quit
(6) 創建IKE本地地址池
# 創建IKE本地地址池pool,地址範圍為20.1.1.1~20.1.1.20。
[Device] ike address-group pool 20.1.1.1 20.1.1.20
(7) 配置本地用戶
# 創建本地用戶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,密碼為abc。
[Device-luser-network-test] service-type ike
[Device-luser-network-test] password simple abc
[Device-luser-network-test] quit
(8) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建IKE keychain,名稱為keychain1,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[Device] ike keychain keychain1
[Device-ike-keychain-keychain1] pre-shared-key address 1.1.1.1 255.255.255.255 key simple 123456TESTplat&!
[Device-ike-keychain-keychain1] quit
(9) 配置IKE profile,約定建立IKE SA所需的安全參數
[Device] ike profile profile1
[Device-ike-profile-profile1] keychain keychain1
[Device-ike-profile-profile1] local-identity address 2.2.2.2
[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] aaa authorization domain dm username ike
[Device-ike-profile-profile1] quit
(10) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[Device] ipsec transform-set tran1
[Device-ipsec-transform-set-tran1] encapsulation-mode transport
[Device-ipsec-transform-set-tran1] protocol esp
[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
(11) 配置IPsec安全策略模板,建立IPsec隧道,保護需要防護的數據流
# 創建一個IPsec安全策略模板pt,並進入IPsec安全策略模板pt的視圖。
[Device] ipsec policy-template pt 1
[Device-ipsec-policy-template-pt-1] transform-set tran1
[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
(12) 創建安全策略
# 引用安全策略模板pt創建一條IKE協商方式的安全策略map1。
[Device] ipsec policy map1 1 isakmp template pt
(13) 在接口上應用IPsec安全策略
# 在接口GigabitEthernet1/0/1上應用IPsec安全策略map1。
[Device] interface gigabitethernet 1/0/1
[Device-GigabitEthernet1/0/1] ipsec apply policy map1
[Device-GigabitEthernet1/0/1] quit
Host上需要完成IPsec VPN客戶端的如下主要配置,並保證與Device端的相關配置相匹配:
· IPsec隧道對端的安全網關IP地址;
· IKE第一階段認證采用的預共享密鑰;
· 擴展認證采用的用戶名和密碼(本例為用戶test);
· IPsec安全協議,以及采用的加密算法、認證算法;
· IKE協商參數;
· 本地及遠端的ID類型與取值。
以上配置完成後,Host如果有報文發送到3.3.3.48,將觸發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
-----------------------------------------------
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
若Host端提供了正確的用戶名和密碼,將能夠與Device之間成功建立IPsec隧道。在Device上可以通過display ipsec sa命令查看到生成的IPsec SA信息。
<Device> display ipsec sa
-------------------------------
Interface: GigabitEthernet1/0/1
-------------------------------
-----------------------------
IPsec policy: map1
Sequence number: 1
Mode: Template
-----------------------------
Tunnel id: 2
Encapsulation mode: transport
Perfect Forward Secrecy:
Transmitting entity: Initiator
Path MTU: 1427
Tunnel:
local address: 2.2.2.2
remote address: 1.1.1.1
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
在Device A和Device B之間建立一條IPsec隧道,對Host A所在的子網(333::/64)與Host B所在的子網(555::/64)之間的數據流進行安全保護。具體要求如下:
· 封裝形式為隧道模式。
· 安全協議采用ESP協議。
· 加密算法采用128比特的AES,認證算法采用HMAC-SHA1。
· IKE協商方式建立IPsec SA。
圖1-20 保護IPv6報文的IPsec配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ipv6 address 333::1/64
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為111::2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ipv6 route-static 555::0 64 111::2
[DeviceA] ipv6 route-static 222::0 64 111::2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ipv6
[DeviceA-security-policy-ipv6] rule name ipseclocalout
[DeviceA-security-policy-ipv6-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ipv6-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ipv6-1-ipseclocalout] source-ip-host 111::1
[DeviceA-security-policy-ipv6-1-ipseclocalout] destination-ip-host 222::1
[DeviceA-security-policy-ipv6-1-ipseclocalout] action pass
[DeviceA-security-policy-ipv6-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ipv6] rule name ipseclocalin
[DeviceA-security-policy-ipv6-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ipv6-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ipv6-2-ipseclocalin] source-ip-host 222::1
[DeviceA-security-policy-ipv6-2-ipseclocalin] destination-ip-host 111::1
[DeviceA-security-policy-ipv6-2-ipseclocalin] action pass
[DeviceA-security-policy-ipv6-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ipv6] rule name trust-untrust
[DeviceA-security-policy-ipv6-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ipv6-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ipv6-3-trust-untrust] source-ip-subnet 333::1 64
[DeviceA-security-policy-ipv6-3-trust-untrust] destination-ip-subnet 555::1 64
[DeviceA-security-policy-ipv6-3-trust-untrust] action pass
[DeviceA-security-policy-ipv6-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ipv6] rule name untrust-trust
[DeviceA-security-policy-ipv6-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ipv6-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ipv6-4-untrust-trust] source-ip-subnet 555::1 64
[DeviceA-security-policy-ipv6-4-untrust-trust] destination-ip-subnet 333::1 64
[DeviceA-security-policy-ipv6-4-untrust-trust] action pass
[DeviceA-security-policy-ipv6-4-untrust-trust] quit
[DeviceA-security-policy-ipv6] quit
(5) 定義需要保護的數據流
# 配置一個IPv6高級ACL,定義要保護由子網333::/64去往子網555::/64的數據流。
[DeviceA] acl ipv6 advanced 3101
[DeviceA-acl-ipv6-adv-3101] rule permit ipv6 source 333::0 64 destination 555::0 64
[DeviceA-acl-ipv6-adv-3101] quit
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置IKE keychain,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[DeviceA] ike keychain keychain1
[DeviceA-ike-keychain-keychain1] pre-shared-key address ipv6 222::1 64 key simple 123456TESTplat&!
[DeviceA-ike-keychain-keychain1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] keychain keychain1
[DeviceA-ike-profile-profile1] match remote identity address ipv6 222::1 64
[DeviceA-ike-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條IKE協商方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定本端和對端的IP地址,引用IKE profile,具體配置步驟如下。
[DeviceA] ipsec ipv6-policy map1 10 isakmp
[DeviceA-ipsec-ipv6-policy-isakmp-map1-10] security acl ipv6 3101
[DeviceA-ipsec-ipv6-policy-isakmp-map1-10] transform-set tran1
[DeviceA-ipsec-ipv6-policy-isakmp-map1-10] local-address ipv6 111::1
[DeviceA-ipsec-ipv6-policy-isakmp-map1-10] remote-address ipv6 222::1
[DeviceA-ipsec-ipv6-policy-isakmp-map1-10] ike-profile profile1
[DeviceA-ipsec-ipv6-policy-isakmp-map1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
# 在接口GigabitEthernet1/0/2上應用IPsec安全策略,具體配置步驟如下。
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] ipsec apply ipv6-policy map1
[DeviceA-GigabitEthernet1/0/2] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipv6 address 555::1/64
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為222::2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ipv6 route-static 333::0 64 222::2
[DeviceB] ipv6 route-static 111::0 64 222::2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ipv6
[DeviceB-security-policy-ipv6] rule name ipseclocalout
[DeviceB-security-policy-ipv6-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ipv6-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ipv6-1-ipseclocalout] source-ip-host 222::1
[DeviceB-security-policy-ipv6-1-ipseclocalout] destination-ip-host 111::1
[DeviceB-security-policy-ipv6-1-ipseclocalout] action pass
[DeviceB-security-policy-ipv6-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ipv6] rule name ipseclocalin
[DeviceB-security-policy-ipv6-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ipv6-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ipv6-2-ipseclocalin] source-ip-host 111::1
[DeviceB-security-policy-ipv6-2-ipseclocalin] destination-ip-host 222::1
[DeviceB-security-policy-ipv6-2-ipseclocalin] action pass
[DeviceA-security-policy-ipv6-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ipv6] rule name trust-untrust
[DeviceB-security-policy-ipv6-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ipv6-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ipv6-3-trust-untrust] source-ip-subnet 333::1 64
[DeviceB-security-policy-ipv6-3-trust-untrust] destination-ip-subnet 555::1 64
[DeviceB-security-policy-ipv6-3-trust-untrust] action pass
[DeviceB-security-policy-ipv6-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ipv6] rule name untrust-trust
[DeviceB-security-policy-ipv6-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ipv6-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ipv6-4-untrust-trust] source-ip-subnet 555::1 64
[DeviceB-security-policy-ipv6-4-untrust-trust] destination-ip-subnet 333::1 64
[DeviceB-security-policy-ipv6-4-untrust-trust] action pass
[DeviceB-security-policy-ipv6-4-untrust-trust] quit
[DeviceB-security-policy-ipv6] quit
(5) 定義需要保護的數據流
# 配置一個IPv6高級ACL,定義要保護由子網555::/64去往子網333::/64的數據流。
[DeviceB] acl ipv6 advanced 3101
[DeviceB-acl-ipv6-adv-3101] rule permit ipv6 source 555::/64 destination 333::/64
[DeviceB-acl-ipv6-adv-3101] quit
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置IKE keychain,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[DeviceB] ike keychain keychain1
[DeviceB-ike-keychain-keychain1] pre-shared-key address ipv6 111::1 64 key simple 123456TESTplat&!
[DeviceB-ike-keychain-keychain1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] keychain keychain1
[DeviceB-ike-profile-profile1] match remote identity address ipv6 111::1 64
[DeviceB-ike-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條IKE協商方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定本端和對端的IP地址,引用IKE profile,具體配置步驟如下。
[DeviceB] ipsec ipv6-policy use1 10 isakmp
[DeviceB-ipsec-ipv6-policy-isakmp-use1-10] security acl ipv6 3101
[DeviceB-ipsec-ipv6-policy-isakmp-use1-10] transform-set tran1
[DeviceB-ipsec-ipv6-policy-isakmp-use1-10] local-address ipv6 222::1
[DeviceB-ipsec-ipv6-policy-isakmp-use1-10] remote-address ipv6 111::1
[DeviceB-ipsec-ipv6-policy-isakmp-use1-10] ike-profile profile1
[DeviceB-ipsec-ipv6-policy-isakmp-use1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
# 在接口GigabitEthernet1/0/2上應用IPsec安全策略,具體配置步驟如下。
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] ipsec apply ipv6-policy use1
[DeviceB-GigabitEthernet1/0/2] quit
# 以上配置完成後,當Device A和Device B之間有子網333::/64與子網555::/64之間的報文通過時,將觸發IKE進行IPsec SA的協商。IKE成功協商出IPsec SA後,子網333::/64與子網555::/64之間數據流的傳輸將受到IPsec SA的保護。可通過以下顯示查看到協商生成的IPsec SA。
[DeviceA] display ipsec sa
-------------------------------
Interface: GigabitEthernet1/0/2
-------------------------------
-----------------------------
IPsec policy: map1
Sequence number: 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: 111::1
remote address: 222::1
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
# Device B上也會產生相應的IPsec SA來保護IPv6報文,查看方式與Device A同,此處略。
企業分支通過IPsec VPN接入企業總部,有如下具體需求:
· 總部網關Device A和各分支網關Device B、Device C之間建立IPsec隧道,對總部網絡4.4.4.0/24分別與分支網絡5.5.5.0/24和6.6.6.0/24之間的數據進行安全保護。
· 使用IKE協商方式建立IPsec SA,采用ESP安全協議,DES加密算法,HMAC-SHA-1-96認證算法。
· IKE協商采用預共享密鑰認證方式、3DES加密算法、HMAC-SHA1認證算法。
· 總部網關Device A采用IKE安全策略模板方式,分支網關Device B和DeviceC采用IKE安全策略方式。
圖1-21 IPsec安全策略模板方式配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備和分支網絡的下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 2.2.2.2 24 1.1.1.2
[DeviceA] ip route-static 3.3.3.3 24 1.1.1.2
[DeviceA] ip route-static 5.5.5.0 255.255.255.0 1.1.1.2
[DeviceA] ip route-static 6.6.6.0 255.255.255.0 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout1的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout1
[DeviceA-security-policy-ip-1-ipseclocalout1] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout1] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout1] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout1] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout1] action pass
[DeviceA-security-policy-ip-1-ipseclocalout1] quit
# 配置名稱為ipseclocalin1的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin1
[DeviceA-security-policy-ip-2-ipseclocalin1] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin1] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin1] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin1] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin1] action pass
[DeviceA-security-policy-ip-2-ipseclocalin1] quit
# 配置名稱為ipseclocalout2的安全策規則,使Device A可以向Device C發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalout2
[DeviceA-security-policy-ip-3-ipseclocalout2] source-zone local
[DeviceA-security-policy-ip-3-ipseclocalout2] destination-zone untrust
[DeviceA-security-policy-ip-3-ipseclocalout2] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-3-ipseclocalout2] destination-ip-host 3.3.3.3
[DeviceA-security-policy-ip-3-ipseclocalout2] action pass
[DeviceA-security-policy-ip-3-ipseclocalout2] quit
# 配置名稱為ipseclocalin2的安全策略規則,使Device A可以接收和處理來自Device C的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin2
[DeviceA-security-policy-ip-4-ipseclocalin2] source-zone untrust
[DeviceA-security-policy-ip-4-ipseclocalin2] destination-zone local
[DeviceA-security-policy-ip-4-ipseclocalin2] source-ip-host 3.3.3.3
[DeviceA-security-policy-ip-4-ipseclocalin2] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-4-ipseclocalin2] action pass
[DeviceA-security-policy-ip-4-ipseclocalin2] quit
b. 配置安全策略放行Host A與Host B、Host C之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-5-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-5-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-5-trust-untrust] source-ip-subnet 4.4.4.0 24
[DeviceA-security-policy-ip-5-trust-untrust] destination-ip-subnet 5.5.5.0 24
[DeviceA-security-policy-ip-5-trust-untrust] action pass
[DeviceA-security-policy-ip-5-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-6-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-6-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-6-untrust-trust] source-ip-subnet 5.5.5.0 24
[DeviceA-security-policy-ip-6-untrust-trust] destination-ip-subnet 4.4.4.0 24
[DeviceA-security-policy-ip-6-untrust-trust] action pass
[DeviceA-security-policy-ip-6-untrust-trust] quit
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host C的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-7-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-7-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-7-trust-untrust] source-ip-subnet 4.4.4.0 24
[DeviceA-security-policy-ip-7-trust-untrust] destination-ip-subnet 6.6.6.0 24
[DeviceA-security-policy-ip-7-trust-untrust] action pass
[DeviceA-security-policy-ip-7-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host C訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-8-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-8-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-8-untrust-trust] source-ip-subnet 6.6.6.0 24
[DeviceA-security-policy-ip-8-untrust-trust] destination-ip-subnet 4.4.4.0 24
[DeviceA-security-policy-ip-8-untrust-trust] action pass
[DeviceA-security-policy-ip-8-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(6) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置名為key1的IKE keychain,指定與地址為2.2.2.2的對端使用的預共享密鑰為明文123。
[DeviceA] ike keychain key1
[DeviceA-ike-keychain-key1] pre-shared-key address 2.2.2.2 key simple 123
[DeviceA-ike-keychain-key1] quit
# 創建並配置名為key2的IKE keychain,指定與地址為3.3.3.3的對端使用的預共享密鑰為明文456。
[DeviceA] ike keychain key2
[DeviceA-ike-keychain-key2] pre-shared-key address 3.3.3.3 key simple 456
[DeviceA-ike-keychain-key2] quit
(7) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] keychain key1
[DeviceA-ike-profile-profile1] keychain key2
[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.255.0
[DeviceA-ike-profile-profile1] match remote identity address 3.3.3.3 255.255.255.0
[DeviceA-ike-profile-profile1] quit
(8) 配置IPsec安全策略模板,用於創建IPsec安全策略
# 創建並配置名為temp1的IPsec安全策略模板,引用安全提議tran1
[DeviceA] ipsec policy-template temp1 1
[DeviceA-ipsec-policy-template-temp1-1] transform-set tran1
[DeviceA-ipsec-policy-template-temp1-1] ike-profile profile1
(9) 引用安全策略模板temp1創建一條IKE協商方式的安全策略policy1,建立IPsec隧道,保護需要防護的數據流
[DeviceA] ipsec policy map1 10 isakmp template temp1
(10) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
# 創建並配置IKE提議1,指定使用預共享密鑰認證方式、3DES加密算法、HMAC-SHA1認證算法。
[DeviceA] ike proposal 1
[DeviceA-ike-proposal-1] encryption-algorithm 3des-cbc
[DeviceA-ike-proposal-1] authentication-algorithm sha
[DeviceA-ike-proposal-1] authentication-method pre-share
[DeviceA-ike-proposal-1] quit
(11) 在接口下引用IPsec安全策略,對接口上的流量進行保護
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1
[DeviceA-GigabitEthernet1/0/1] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備和總部網絡的下一跳IP地址為2.2.2.3,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 4.4.4.0 24 2.2.2.3
[DeviceB] ip route-static 1.1.1.1 24 2.2.2.3
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 5.5.5.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 4.4.4.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 4.4.4.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 5.5.5.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 配置ACL,定義需要保護的數據流
# 配置IPv4高級ACL 3000,定義要保護由子網5.5.5.0/24去往子網4.4.4.0/24的數據流。
[DeviceB] acl advanced 3000
[DeviceB-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
[DeviceB-acl-ipv4-adv-3000] quit
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置名為key1的IKE keychain,指定與地址為1.1.1.1的對端使用的預共享密鑰為明文123。
[DeviceB] ike keychain key1
[DeviceB-ike-keychain-key1] pre-shared-key address 1.1.1.1 key simple 123
[DeviceB-ike-keychain-key1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] keychain key1
[DeviceB-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.255.0
[DeviceB-ike-profile-profile1] quit
(9) 配置ISAKMP方式的安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建並配置名為map1的IPsec安全策略,引用安全提議tran1,引用ACL 3000,並指定IPsec隧道的對端地址為1.1.1.1。
[DeviceB] ipsec policy map1 10 isakmp
[DeviceB-ipsec-policy-isakmp-map1-10] transform-set tran1
[DeviceB-ipsec-policy-isakmp-map1-10] security acl 3000
[DeviceB-ipsec-policy-isakmp-map1-10] local-address 2.2.2.2
[DeviceB-ipsec-policy-isakmp-map1-10] remote-address 1.1.1.1
[DeviceB-ipsec-policy-isakmp-map1-10] ike-profile profile1
[DeviceB-ipsec-policy-isakmp-map1-10] quit
(10) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
# 創建並配置IKE提議1,指定預共享密鑰認證方式、3DES加密算法、HMAC-SHA1認證算法。
[DeviceB] ike proposal 1
[DeviceB-ike-proposal-1] encryption-algorithm 3des-cbc
[DeviceB-ike-proposal-1] authentication-algorithm sha
[DeviceB-ike-proposal-1] authentication-method pre-share
[DeviceB-ike-proposal-1] quit
(11) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipsec apply policy map1
[DeviceB-GigabitEthernet1/0/1] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceC> system-view
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] ip address 3.3.3.3 255.255.255.0
[DeviceC-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備和總部網絡的下一跳IP地址為3.3.3.4,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceC] ip route-static 4.4.4.0 24 3.3.3.4
[DeviceC] ip route-static 1.1.1.1 24 3.3.3.4
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceC] security-zone name untrust
[DeviceC-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceC-security-zone-Untrust] quit
[DeviceC] security-zone name trust
[DeviceC-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceC-security-zone-Trust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device C可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceC] security-policy ip
[DeviceC-security-policy-ip] rule name ipseclocalout
[DeviceC-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceC-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceC-security-policy-ip-1-ipseclocalout] source-ip-host 3.3.3.3
[DeviceC-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceC-security-policy-ip-1-ipseclocalout] action pass
[DeviceC-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device C可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceC-security-policy-ip] rule name ipseclocalin
[DeviceC-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceC-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceC-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceC-security-policy-ip-2-ipseclocalin] destination-ip-host 3.3.3.3
[DeviceC-security-policy-ip-2-ipseclocalin] action pass
[DeviceC-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host C與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host C訪問Host A的報文可通,具體配置步驟如下。
[DeviceC-security-policy-ip] rule name trust-untrust
[DeviceC-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceC-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceC-security-policy-ip-3-trust-untrust] source-ip-subnet 6.6.6.0 24
[DeviceC-security-policy-ip-3-trust-untrust] destination-ip-subnet 4.4.4.0 24
[DeviceC-security-policy-ip-3-trust-untrust] action pass
[DeviceC-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host C的報文可通,具體配置步驟如下。
[DeviceC-security-policy-ip] rule name untrust-trust
[DeviceC-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceC-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceC-security-policy-ip-4-untrust-trust] source-ip-subnet 4.4.4.0 24
[DeviceC-security-policy-ip-4-untrust-trust] destination-ip-subnet 6.6.6.0 24
[DeviceC-security-policy-ip-4-untrust-trust] action pass
[DeviceC-security-policy-ip-4-untrust-trust] quit
[DeviceC-security-policy-ip] quit
(5) 配置ACL,定義需要保護的數據流
# 配置IPv4高級ACL 3000,定義要保護由子網6.6.6.0/24去往子網4.4.4.0/24的數據流。
[DeviceC] acl advanced 3000
[DeviceC-acl-ipv4-adv-3000] rule permit ip source 6.6.6.0 0.0.0.255 destination 4.4.4.0 0.0.0.255
[DeviceC-acl-ipv4-adv-3000] quit
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceC] ipsec transform-set tran1
[DeviceC-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceC-ipsec-transform-set-tran1] protocol esp
[DeviceC-ipsec-transform-set-tran1] esp encryption-algorithm des
[DeviceC-ipsec-transform-set-tran1] esp authentication-algorithm sha1
[DeviceC-ipsec-transform-set-tran1] quit
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置名為key1的IKE keychain,指定與地址為1.1.1.1的對端使用的預共享密鑰為明文456。
[DeviceC] ike keychain key1
[DeviceC-ike-keychain-key1] pre-shared-key address 1.1.1.1 key simple 456
[DeviceC-ike-keychain-key1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceC] ike profile profile1
[DeviceC-ike-profile-profile1] keychain key1
[DeviceC-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.255.0
[DeviceC-ike-profile-profile1] quit
(9) 配置ISAKMP方式的安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建並配置名為map1的IPsec安全策略,引用安全提議tran1,引用ACL 3000,並指定IPsec隧道的對端地址為1.1.1.1。
[DeviceC] ipsec policy map1 10 isakmp
[DeviceC-ipsec-policy-isakmp-map1-10] transform-set tran1
[DeviceC-ipsec-policy-isakmp-map1-10] security acl 3000
[DeviceC-ipsec-policy-isakmp-map1-10] local-address 3.3.3.3
[DeviceC-ipsec-policy-isakmp-map1-10] remote-address 1.1.1.1
[DeviceC-ipsec-policy-isakmp-map1-10] ike-profile profile1
[DeviceC-ipsec-policy-isakmp-map1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] ipsec apply policy map1
[DeviceC-GigabitEthernet1/0/1] quit
# 以上配置完成後,當分支子網5.5.5.0/24向總部網絡4.4.4.0/24發起數據連接時,將觸發Device B和Device A之間進行IKE協商。IKE成功協商出IPsec SA後,企業總部與分支子網之間的數據流傳輸將受到IPsec SA的保護。
# 可通過如下顯示信息查看到Device A上IKE第一階段協商成功後生成的IKE SA。
[DeviceA] display ike sa
Connection-ID Remote Flag DOI
------------------------------------------------------------------
1 2.2.2.2 RD IPsec
Flags:
RD--READY RL--REPLACED FD-FADING RK-REKEY
# 可通過如下顯示信息查看到Device A上協商生成的IPsec SA。
[DeviceA] display ipsec sa
-------------------------------
Interface: GigabitEthernet1/0/1
-------------------------------
-----------------------------
IPsec policy: map1
Sequence number: 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: 1.1.1.1
remote address: 2.2.2.2
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: 1
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: 2
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
如圖1-22所示,Device A、Device B和Device C相連,並通過RIPng來學習網絡中的IPv6路由信息。在各設備之間建立IPsec隧道,對它們收發的RIPng報文進行安全保護。具體要求如下:
· 安全協議采用ESP協議;
· 加密算法采用128比特的AES;
· 認證算法采用HMAC-SHA1。
圖1-22 配置IPsec保護RIPng報文配置組網圖
(1) 配置RIPng的基本功能
RIPng配置的詳細介紹請參見“三層技術-IP路由配置指導”中的“RIPng”。
(2) 配置IPsec安全框架
需要注意的是:
· 各設備上本端出方向SA的SPI及密鑰必須和本端入方向SA的SPI及密鑰保持一致。
· Device A、Device B和Device C上的安全策略所引用的安全提議采用的安全協議、認證/加密算法和報文封裝模式要相同,而且所有設備上的SA的SPI及密鑰均要保持一致。
(3) 在RIPng進程下或接口上應用IPsec安全框架
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ipv6 address 1::1/64
[DeviceA-GigabitEthernet1/0/1] quit
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例下一跳IP地址為1::2,具體配置步驟如下。
[DeviceA] ipv6 route-static 3::2 64 1::2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ipv6
[DeviceA-security-policy-ipv6] rule name ipseclocalout
[DeviceA-security-policy-ipv6-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ipv6-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ipv6-1-ipseclocalout] source-ip-host 1::1
[DeviceA-security-policy-ipv6-1-ipseclocalout] destination-ip-host 1::2
[DeviceA-security-policy-ipv6-1-ipseclocalout] action pass
[DeviceA-security-policy-ipv6-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ipv6] rule name ipseclocalin
[DeviceA-security-policy-ipv6-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ipv6-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ipv6-2-ipseclocalin] source-ip-host 1::2
[DeviceA-security-policy-ipv6-2-ipseclocalin] destination-ip-host 1::1
[DeviceA-security-policy-ipv6-2-ipseclocalin] action pass
[DeviceA-security-policy-ipv6-2-ipseclocalin] quit
(5) 配置RIPng的基本功能
[DeviceA] ripng 1
[DeviceA-ripng-1] quit
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ripng 1 enable
[DeviceA-GigabitEthernet1/0/1] quit
(6) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
# 創建並配置名為tran1的IPsec安全提議(報文封裝模式采用傳輸模式,安全協議采用ESP協議,加密算法采用128比特的AES,認證算法采用HMAC-SHA1)。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode transport
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
# 創建並配置名為profile001的IPsec安全框架(協商方式為手工方式,出入方向SA的SPI均為123456,出入方向SA的密鑰均為明文abcdefg)。
[DeviceA] ipsec profile profile001 manual
[DeviceA-ipsec-profile-manual-profile001] transform-set tran1
[DeviceA-ipsec-profile-manual-profile001] sa spi outbound esp 123456
[DeviceA-ipsec-profile-manual-profile001] sa spi inbound esp 123456
[DeviceA-ipsec-profile-manual-profile001] sa string-key outbound esp simple abcdefg
[DeviceA-ipsec-profile-manual-profile001] sa string-key inbound esp simple abcdefg
[DeviceA-ipsec-profile-manual-profile001] quit
(7) 在RIPng進程上應用IPsec安全框架,利用IPsec保護RIPng報文
[DeviceA] ripng 1
[DeviceA-ripng-1] enable ipsec-profile profile001
[DeviceA-ripng-1] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipv6 address 1::2/64
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置RIPng的基本功能
[DeviceB] ripng 1
[DeviceB-ripng-1] quit
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ripng 1 enable
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] ripng 1 enable
[DeviceB-GigabitEthernet1/0/2] quit
(3) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
# 創建並配置名為tran1的IPsec安全提議(報文封裝模式采用傳輸模式,安全協議采用ESP協議,加密算法采用128比特的AES,認證算法采用HMAC-SHA1)。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode transport
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
# 創建並配置名為profile001的IPsec安全框架(協商方式為手工方式,出入方向SA的SPI均為123456,出入方向SA的密鑰均為明文abcdefg)。
[DeviceB] ipsec profile profile001 manual
[DeviceB-ipsec-profile-manual-profile001] transform-set tran1
[DeviceB-ipsec-profile-manual-profile001] sa spi outbound esp 123456
[DeviceB-ipsec-profile-manual-profile001] sa spi inbound esp 123456
[DeviceB-ipsec-profile-manual-profile001] sa string-key outbound esp simple abcdefg
[DeviceB-ipsec-profile-manual-profile001] sa string-key inbound esp simple abcdefg
[DeviceB-ipsec-profile-manual-profile001] quit
(4) 在RIPng進程上應用IPsec安全框架,利用IPsec保護RIPng報文
[DeviceB] ripng 1
[DeviceB-ripng-1] enable ipsec-profile profile001
[DeviceB-ripng-1] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceC> system-view
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] ipv6 address 3::2/64
[DeviceC-GigabitEthernet1/0/1] quit
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例下一跳IP地址為3::1,具體配置步驟如下。
[DeviceC] ipv6 route-static 1::1 64 3::1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceC] security-zone name untrust
[DeviceC-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceC-security-zone-Untrust] quit
(4) 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device C可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceC] security-policy ipv6
[DeviceC-security-policy-ipv6] rule name ipseclocalout
[DeviceC-security-policy-ipv6-1-ipseclocalout] source-zone local
[DeviceC-security-policy-ipv6-1-ipseclocalout] destination-zone untrust
[DeviceC-security-policy-ipv6-1-ipseclocalout] source-ip-host 3::2
[DeviceC-security-policy-ipv6-1-ipseclocalout] destination-ip-host 3::1
[DeviceC-security-policy-ipv6-1-ipseclocalout] action pass
[DeviceC-security-policy-ipv6-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device C可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceC-security-policy-ipv6] rule name ipseclocalin
[DeviceC-security-policy-ipv6-2-ipseclocalin] source-zone untrust
[DeviceC-security-policy-ipv6-2-ipseclocalin] destination-zone local
[DeviceC-security-policy-ipv6-2-ipseclocalin] source-ip-host 3::1
[DeviceC-security-policy-ipv6-2-ipseclocalin] destination-ip-host 3::2
[DeviceC-security-policy-ipv6-2-ipseclocalin] action pass
[DeviceC-security-policy-ipv6-2-ipseclocalin] quit
(5) 配置RIPng的基本功能
[DeviceC] ripng 1
[DeviceC-ripng-1] quit
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] ripng 1 enable
[DeviceC-GigabitEthernet1/0/1] quit
(6) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
# 創建並配置名為tran1的IPsec安全提議(報文封裝模式采用傳輸模式,安全協議采用ESP協議,加密算法采用128比特的AES,認證算法采用HMAC-SHA1)。
[DeviceC] ipsec transform-set tran1
[DeviceC-ipsec-transform-set-tran1] encapsulation-mode transport
[DeviceC-ipsec-transform-set-tran1] protocol esp
[DeviceC-ipsec-transform-set-tran1] esp encryption-algorithm aes-cbc-128
[DeviceC-ipsec-transform-set-tran1] esp authentication-algorithm sha1
[DeviceC-ipsec-transform-set-tran1] quit
# 創建並配置名為profile001的IPsec安全框架(協商方式為手工方式,出入方向SA的SPI均為123456,出入方向SA的密鑰均為明文abcdefg)。
[DeviceC] ipsec profile profile001 manual
[DeviceC-ipsec-profile-manual-profile001] transform-set tran1
[DeviceC-ipsec-profile-manual-profile001] sa spi outbound esp 123456
[DeviceC-ipsec-profile-manual-profile001] sa spi inbound esp 123456
[DeviceC-ipsec-profile-manual-profile001] sa string-key outbound esp simple abcdefg
[DeviceC-ipsec-profile-manual-profile001] sa string-key inbound esp simple abcdefg
[DeviceC-ipsec-profile-manual-profile001] quit
(7) 在RIPng進程上應用IPsec安全框架,利用IPsec保護RIPng報文
[DeviceC] ripng 1
[DeviceC-ripng-1] enable ipsec-profile profile001
[DeviceC-ripng-1] quit
以上配置完成後,Device A、Device B和Device C將通過RIPng協議學習到網絡中的IPv6路由信息,且分別產生用於保護RIPng報文的IPsec SA。
# 可以通過如下display命令查看Device A上RIPng的配置信息。如下顯示信息表示RIPng進程1上已成功應用了IPsec安全框架。
[DeviceA] 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
# 可以通過如下命令查看Device A上生成的IPsec SA。
[DeviceA] display ipsec sa
-------------------------------
Global IPsec SA
-------------------------------
-----------------------------
IPsec profile: profile001
Mode: Manual
-----------------------------
Encapsulation mode: transport
[Inbound ESP SA]
SPI: 123456 (0x3039)
Connection ID: 1
Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1
No duration limit for this SA
[Outbound ESP SA]
SPI: 123456 (0x3039)
Connection ID: 2
Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1
No duration limit for this SA
# Device B和Device C上也會生成相應的IPsec SA來保護RIPng報文,查看方式與Device A同,此處略。
企業分支通過IPsec VPN接入企業總部,有如下具體需求:
· 總部網關Device A和各分支網關Device B、DeviceC、Device 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認證算法。
· 在Device A上開啟IPsec反向路由注入功能,實現總部到分支的靜態路由隨IPsec SA的建立而動態生成。
圖1-23 配置IPsec反向路由注入功能配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 2.2.2.2 24 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 4.4.4.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 5.5.5.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 5.5.5.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 4.4.4.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[DeviceA-ipsec-transform-set-tran1] esp encryption-algorithm des
[DeviceA-ipsec-transform-set-tran1] esp authentication-algorithm sha1
[DeviceA-ipsec-transform-set-tran1] quit
(6) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置名為key1的IKE keychain,指定與地址為2.2.2.2的對端使用的預共享密鑰為明文123。
[DeviceA] ike keychain key1
[DeviceA-ike-keychain-key1] pre-shared-key address 2.2.2.2 key simple 123
[DeviceA-ike-keychain-key1] quit
(7) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] keychain key1
[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.255.0
[DeviceA-ike-profile-profile1] quit
(8) 配置IPsec安全策略模板,用於創建IPsec安全策略
# 創建並配置名為temp1的IPsec安全策略模板,引用安全提議tran1
[DeviceA] ipsec policy-template temp1 1
[DeviceA-ipsec-policy-template-temp1-1] transform-set tran1
[DeviceA-ipsec-policy-template-temp1-1] ike-profile profile1
(9) 配置RRI參數,用於實現反向路由注入功能
# 開啟RRI功能,指定生成的靜態路由的優先級為100、Tag值為1000。
[DeviceA-ipsec-policy-template-temp1-1] reverse-route dynamic
[DeviceA-ipsec-policy-template-temp1-1] reverse-route preference 100
[DeviceA-ipsec-policy-template-temp1-1] reverse-route tag 1000
[DeviceA-ipsec-policy-template-temp1-1] quit
(10) 引用安全策略模板temp1創建一條IKE協商方式的安全策略policy1,建立IPsec隧道,保護需要防護的數據流
[DeviceA] ipsec policy map1 10 isakmp template temp1
(11) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
# 創建並配置IKE提議1,指定使用預共享密鑰認證方式、3DES加密算法、HMAC-SHA1認證算法。
[DeviceA] ike proposal 1
[DeviceA-ike-proposal-1] encryption-algorithm 3des-cbc
[DeviceA-ike-proposal-1] authentication-algorithm sha
[DeviceA-ike-proposal-1] authentication-method pre-share
[DeviceA-ike-proposal-1] quit
(12) 在接口下引用IPsec安全策略,對接口上的流量進行保護
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ipsec apply policy map1
[DeviceA-GigabitEthernet1/0/1] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.3,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 4.4.4.0 24 2.2.2.3
[DeviceB] ip route-static 1.1.1.1 24 2.2.2.3
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 5.5.5.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 4.4.4.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 4.4.4.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 5.5.5.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 配置ACL,定義需要保護的數據流,同時反向路由注入功能會根據此ACL生成路由
# 配置IPv4高級ACL 3000,定義要保護由子網5.5.5.0/24去往子網4.4.4.0/24的數據流。
[DeviceB] acl advanced 3000
[DeviceB-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
[DeviceB-acl-ipv4-adv-3000] quit
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[DeviceB-ipsec-transform-set-tran1] esp encryption-algorithm des
[DeviceB-ipsec-transform-set-tran1] esp authentication-algorithm sha1
[DeviceB-ipsec-transform-set-tran1] quit
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置名為key1的IKE keychain,指定與地址為1.1.1.1的對端使用的預共享密鑰為明文123。
[DeviceB] ike keychain key1
[DeviceB-ike-keychain-key1] pre-shared-key address 1.1.1.1 key simple 123
[DeviceB-ike-keychain-key1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] keychain key1
[DeviceB-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.255.0
[DeviceB-ike-profile-profile1] quit
(9) 配置ISAKMP方式的安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建並配置名為map1的IPsec安全策略,引用安全提議tran1,引用ACL 3000,並指定IPsec隧道的對端地址為1.1.1.1。
[DeviceB] ipsec policy map1 10 isakmp
[DeviceB-ipsec-policy-isakmp-map1-10] transform-set tran1
[DeviceB-ipsec-policy-isakmp-map1-10] security acl 3000
[DeviceB-ipsec-policy-isakmp-map1-10] remote-address 1.1.1.1
[DeviceB-ipsec-policy-isakmp-map1-10] ike-profile profile1
[DeviceB-ipsec-policy-isakmp-map1-10] quit
(10) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
# 創建並配置IKE提議1,指定預共享密鑰認證方式、3DES加密算法、HMAC-SHA1認證算法。
[DeviceB] ike proposal 1
[DeviceB-ike-proposal-1] encryption-algorithm 3des-cbc
[DeviceB-ike-proposal-1] authentication-algorithm sha
[DeviceB-ike-proposal-1] authentication-method pre-share
[DeviceB-ike-proposal-1] quit
(11) 在接口上應用IPsec安全策略,對接口上的流量進行保護
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipsec apply policy map1
[DeviceB-GigabitEthernet1/0/1] quit
保證DeviceB上存在到達對端私網網段的路由,出接口為GigabitEthernet1/0/1。
配置步驟與Device B類似,請參考Device B的配置。
# 以上配置完成後,當分支子網5.5.5.0/24向總部網絡4.4.4.0/24發起數據連接時,將觸發Device B和Device A之間進行IKE協商。IKE成功協商出IPsec SA後,企業總部與分支子網之間的數據流傳輸將受到IPsec SA的保護。在Device A上可通過以下顯示查看到協商生成的IPsec SA。
[DeviceA] display ipsec sa
-------------------------------
Interface: GigabitEthernet1/0/1
-------------------------------
-----------------------------
IPsec policy: map1
Sequence number: 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: 1.1.1.1
remote address: 2.2.2.2
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: 1
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: 2
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成功建立後,在Device A上可以通過display ip routing-table verbose命令查看到IPsec反向路由注入生成的靜態路由,目的地址為分支子網地址5.5.5.0/24,下一跳為IPsec隧道對端地址2.2.2.2,優先級為100,Tag值為1000。Device A和Device C、Device D之間的IPsec隧道建立成功後,Device A上也會產生到達各分支子網的相應靜態路由,此處顯示略。
如圖1-24所示,企業分支使用IPsec VPN接入企業總部,通過在分支Device A上配置IPsec智能選路功能,實現IPsec隧道在Link 1和Link 2兩條鏈路上動態切換,具體需求如下:
· Device A首先使用Link1與總部建立IPSec隧道。
· 當基於Link1建立的IPSec隧道丟包嚴重或時延過高時,能自動切換到Link2建立新的IPSec隧道。
圖1-24 配置IPsec智能選路功能組網圖
(1) 配置接口IP地址和網關地址,1.1.1.3和2.2.2.3為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 24
[DeviceA-GigabitEthernet1/0/1] gateway 1.1.1.3
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] ip address 2.2.2.2 24
[DeviceA-GigabitEthernet1/0/2] gateway 2.2.2.3
[DeviceA-GigabitEthernet1/0/2] quit
(2) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/3
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Untrust] quit
(3) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 3.3.3.3
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 3.3.3.3
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(4) 配置IPsec智能選路策略,實現在不同的鏈路之間選擇一條符合質量要求的鏈路與總部建立IPsec隧道。
[DeviceA] ipsec smart-link policy policy1
[DeviceA-ipsec-smart-link-policy-policy1] link 1 interface gigabitethernet 1/0/1 remote 3.3.3.3
[DeviceA-ipsec-smart-link-policy-policy1] link 2 interface gigabitethernet 1/0/2 remote 3.3.3.3
[DeviceA-ipsec-smart-link-policy-policy1] link-switch cycles 4
[DeviceA-ipsec-smart-link-policy-policy1] smart-link enable
[DeviceA-ipsec-smart-link-policy-policy1] quit
(5) 定義需要保護的數據流
[DeviceA] acl advanced 3000
[DeviceA-acl-ipv4-adv-3000] 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-3000] quit
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置IKE keychain,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[DeviceA] ike keychain keychain1
[DeviceA-ike-keychain-keychain1] pre-shared-key address 3.3.3.3 24 key simple 123456
[DeviceA-ike-keychain-keychain1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] keychain keychain1
[DeviceA-ike-profile-profile1] match remote identity address 3.3.3.3 24
[DeviceA-ike-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
[DeviceA] ipsec policy policy1 10 isakmp
[DeviceA-ipsec-policy-isakmp-policy1-10] security acl 3000
[DeviceA-ipsec-policy-isakmp-policy1-10] transform-set tran1
[DeviceA-ipsec-policy-isakmp-policy1-10] ike-profile profile1
[DeviceA-ipsec-policy-isakmp-policy1-10] smart-link policy policy1
[DeviceA-ipsec-policy-isakmp-policy1-10] quit
(1) 配置接口IP地址和網關地址,3.3.3.4為本例中的直連下一跳地址,實際使用中請以具體組網情況為準。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 3.3.3.3 24
[DeviceB-GigabitEthernet1/0/1] gateway 3.3.3.4
[DeviceB-GigabitEthernet1/0/1] quit
(2) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(3) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 3.3.3.3
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 3.3.3.3
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(4) 定義需要保護的數據流
[DeviceB] acl advanced 3000
[DeviceB-acl-ipv4-adv-3000] 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-3000] rule permit ip source 3.3.3.0 0.0.0.255 destination 1.1.1.0 0.0.0.255
[DeviceB-acl-ipv4-adv-3000] rule permit ip source 3.3.3.0 0.0.0.255 destination 2.2.2.0 0.0.0.255
[DeviceB-acl-ipv4-adv-3000] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(6) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置IKE keychain,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[DeviceB] ike keychain keychain1
[DeviceB-ike-keychain-keychain1] pre-shared-key address 0.0.0.0 0 key simple 123456
[DeviceB-ike-keychain-keychain1] quit
(7) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] keychain keychain1
[DeviceB-ike-profile-profile1] match remote identity address 0.0.0.0 0
[DeviceB-ike-profile-profile1] quit
(8) 配置IPsec安全策略模板,用於創建IPsec安全策略
[DeviceB] ipsec policy-template template1 10
[DeviceB-ipsec-policy-template-template1-10] security acl 3000
[DeviceB-ipsec-policy-template-template1-10] transform-set tran1
[DeviceB-ipsec-policy-template-template1-10] local-address 3.3.3.3
[DeviceB-ipsec-policy-template-template1-10] ike-profile profile1
[DeviceB-ipsec-policy-template-template1-10] quit
(9) 引用安全策略模板template1創建一條IKE協商方式的安全策略policy1,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec policy policy1 10 isakmp template template1
(10) 在接口GigabitEthernet1/0/1上應用安全策略policy1,對接口上的流量進行保護
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ipsec apply policy policy1
[DeviceB-GigabitEthernet1/0/1] quit
以上配置完成後,總部Device A和分支Device B之間的IPsec智能選路功能配置完成。
# 可以通過以下顯示命令查看Device A上創建的IPsec智能選路策略。
[DeviceA] display ipsec smart-link policy
--------------------------------------------------------------------------
Policy name : policy1
State :Enabled
Probe count :10
Probe interval :1 sec
Probe source IP address :1.1.1.1
Probe destination IP address :3.3.3.3
Max link switch cycles :4
IPsec policy name :policy1
Interface :GigabitEthernet1/0/1
IPsec policy sequence number :10
Link ID Local address Remote address Loss(%) Delay(ms) State
1 1.1.1.1 3.3.3.3 0.0 1.0 Active
2 2.2.2.2 3.3.3.3 25.0 1.0 Inactive
--------------------------------------------------------------------------
# 通過以下顯示命令查看IPsec安全策略引用IPsec智能選路策略。
[DeviceA] display ipsec policy
-------------------------------------------
IPsec Policy: policy1
Interface: GigabitEthernet1/0/1
-------------------------------------------
-----------------------------
Sequence number: 10
Mode: ISAKMP
-----------------------------
Traffic Flow Confidentiality: Disabled
Security data flow: 3000
Selector mode: standard
Local address: 1.1.1.1
Remote address: 3.3.3.3
Transform set: tran1
IKE profile: profile1
IKEv2 profile:
smart-link policy: policy1
SA trigger mode: Auto
SA duration(time based): 3600 seconds
SA duration(traffic based): 1843200 kilobytes
SA idle time: 100 seconds
# 通過以下顯示命令查看動態生成的ACL規則。
[DeviceA] display acl 3000
Advanced IPv4 ACL 3000, 3 rules,
ACL's step is 5
rule 0 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
rule 5 permit ip source 1.1.1.0 0.0.0.255 destination 3.3.3.3 0 (Dynamic) (10 times matched)
# 通過以下顯示查看協商生成的IPsec SA。
[DeviceA]display ipsec sa
-------------------------------
Interface: GigabitEthernet1/0/1
-------------------------------
-----------------------------
IPsec policy: policy1
Sequence number: 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: 1428
Tunnel:
local address: 1.1.1.1
remote address: 3.3.3.3
Flow:
sour addr: 1.1.1.0/255.255.255.0 port: 0 protocol: ip
dest addr: 3.3.3.3/255.255.255.255 port: 0 protocol: ip
[Inbound ESP SAs]
SPI: 2443816215 (0x91a9ad17)
Connection ID: 38654705665
Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1
SA duration (kilobytes/sec): 1843200/3600
SA remaining duration (kilobytes/sec): 1843194/3368
Max received sequence-number: 64
Anti-replay check enable: Y
Anti-replay window size: 64
UDP encapsulation used for NAT traversal: N
Status: Active
[Outbound ESP SAs]
SPI: 4220315517 (0xfb8ce77d)
Connection ID: 38654705664
Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1
SA duration (kilobytes/sec): 1843200/3600
SA remaining duration (kilobytes/sec): 1843194/3368
Max sent sequence-number: 64
UDP encapsulation used for NAT traversal: N
Status: Active
如圖1-25所示,某企業分支和總部均使用固定的IP地址接入Internet。現有如下組網要求:
· 企業分支與企業總部之間的所有流量通過IPsec安全隧道進行傳送;
· 當企業分支的私網IP地址段調整時,不需要改變企業總部網關的IPsec配置。
為實現如上組網需求,可采用如下配置思路實現:
· 在Device A和Device B之間使用IPsec隧道接口建立IPsec連接,將發送給對端私網的數據流路由到IPsec虛擬隧道接口上,由IPsec虛擬隧道接口上動態協商建立的IPsec安全隧道對分支子網(10.1.1.0/24)與總部子網(10.1.2.0/24)之間的所有數據流進行安全保護。
圖1-25 基於IPsec隧道建立保護IPv4報文的IPsec隧道配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 10.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 創建IPsec隧道接口
[DeviceA] interface tunnel 1 mode ipsec
[DeviceA-Tunnel1] ip address 3.3.3.1 255.255.255.0
[DeviceA-Tunnel1] source 2.2.2.1
[DeviceA-Tunnel1] destination 2.2.3.1
[DeviceA-Tunnel1] quit
(3) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 24 2.2.2.2
[DeviceA] ip route-static 2.2.3.1 24 2.2.2.2
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 255.255.255.0 tunnel 1
(4) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Untrust] import interface tunnel 1
[DeviceA-security-zone-Untrust] quit
(5) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.3.1
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.3.1
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(6) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceA] ike keychain abc
[DeviceA-ike-keychain-abc] pre-shared-key address 2.2.3.1 255.255.255.0 key simple 123456TESTplat&!
[DeviceA-ike-keychain-abc] quit
[DeviceA] ike profile abc
[DeviceA-ike-profile-abc] keychain abc
[DeviceA-ike-profile-abc] local-identity address 2.2.2.1
[DeviceA-ike-profile-abc] match remote identity address 2.2.3.1 24
[DeviceA-ike-profile-abc] exchange-mode aggressive
[DeviceA-ike-profile-abc] quit
[DeviceA] ipsec transform-set abc
[DeviceA-ipsec-transform-set-abc] esp encryption-algorithm aes-cbc-128
[DeviceA-ipsec-transform-set-abc] esp authentication-algorithm sha1
[DeviceA-ipsec-transform-set-abc] quit
[DeviceA] ipsec profile abc isakmp
[DeviceA-ipsec-profile-isakmp-abc] transform-set abc
[DeviceA-ipsec-profile-isakmp-abc] ike-profile abc
[DeviceA-ipsec-profile-isakmp-abc] quit
(7) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
[DeviceA] interface tunnel 1
[DeviceA-Tunnel1] tunnel protection ipsec profile abc
[DeviceA-Tunnel1] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 10.1.2.1 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 創建IPsec隧道接口
[DeviceB] interface tunnel 1 mode ipsec
[DeviceB-Tunnel1] ip address 3.3.3.2 255.255.255.0
[DeviceB-Tunnel1] source 2.2.3.1
[DeviceB-Tunnel1] destination 2.2.2.1
[DeviceB-Tunnel1] quit
(3) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.3.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 10.1.1.0 24 2.2.3.2
[DeviceB] ip route-static 2.2.2.1 24 2.2.3.2
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1,具體配置步驟如下。
[DeviceA] ip route-static 10.1.1.0 255.255.255.0 tunnel 1
(4) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Untrust] import interface tunnel 1
[DeviceB-security-zone-Untrust] quit
(5) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.3.1
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.3.1
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(6) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ike keychain abc
[DeviceB-ike-keychain-abc] pre-shared-key address 2.2.2.1 255.255.255.0 key simple 123456TESTplat&!
[DeviceB-ike-keychain-abc] quit
[DeviceB] ike profile abc
[DeviceB-ike-profile-abc] keychain abc
[DeviceB-ike-profile-abc] local-identity address 2.2.3.1
[DeviceB-ike-profile-abc] match remote identity address 2.2.2.1 24
[DeviceB-ike-profile-abc] exchange-mode aggressive
[DeviceB-ike-profile-abc] quit
[DeviceB] ipsec transform-set abc
[DeviceB-ipsec-transform-set-abc] esp encryption-algorithm aes-cbc-128
[DeviceB-ipsec-transform-set-abc] esp authentication-algorithm sha1
[DeviceB-ipsec-transform-set-abc] quit
[DeviceB] ipsec profile abc isakmp
[DeviceB-ipsec-profile-isakmp-abc] transform-set abc
[DeviceB-ipsec-profile-isakmp-abc] ike-profile abc
[DeviceB-ipsec-profile-isakmp-abc] quit
(7) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
[DeviceB] interface tunnel 1
[DeviceB-Tunnel1] tunnel protection ipsec profile abc
[DeviceB-Tunnel1] quit
以上配置完成後,Device A會自動與Device B進行IKE協商。當IKE協商完成後,Device A和Device B上的IPsec 虛擬隧道接口都將up,即可以滿足上述組網需求,對總部和分支的數據流進行安全保護。
# 通過display ip interface brief命令可查看接口狀態如下:
<DeviceA> 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命令可查看隧道狀態如下:
<DeviceA> 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:
<DeviceA> display ipsec sa
-------------------------------
Interface: Tunnel1
-------------------------------
-----------------------------
IPsec profile: abc
Mode: ISAKMP
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Transmitting entity: Initiator
Path MTU: 1388
Tunnel:
local address: 2.2.2.1
remote address: 2.2.3.1
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
# 在Device A上用私網地址可以Ping通Device B連接的私網地址:
<DeviceA> 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
在Device A和Device B之間使用IPsec隧道接口建立IPsec連接,將發送給對端私網的數據流路由到IPsec隧道接口上,由IPsec隧道接口上動態協商建立的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地址為動態分配,並作為發起方。
圖1-26 IKE野蠻模式及RSA數字簽名認證配置組網圖
在開始下麵的配置之前,假設Device A已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(6) 配置PKI實體,設置PKI實體的身份信息
[DeviceA] pki entity entity1
[DeviceA-pki-entity-entity1] common-name devicea
[DeviceA-pki-entity-entity1] quit
(7) 配置PKI域,約定PKI證書申請的相關信息
[DeviceA] pki domain domain1
[DeviceA-pki-domain-domain1] public-key rsa general name rsa1
[DeviceA-pki-domain-domain1] undo crl check enable
[DeviceA-pki-domain-domain1] quit
[DeviceA] pki import domain domain1 der ca filename ca.cer
[DeviceA] pki import domain domain1 p12 local filename server.pfx
(8) 配置證書訪問策略,對用戶訪問權限進行進一步的控製
[DeviceA] pki certificate access-control-policy policy1
[DeviceA-pki-cert-acp-policy1] rule 1 permit group1
[DeviceA] pki certificate attribute-group group1
[DeviceA-pki-cert-attribute-group-group1] attribute 1 subject-name dn ctn 1
對端證書subject-name DN中需包含(ctn)規則中定義的字符串才被認為是有效的證書。本例使用的證書subject-name DN中包含字符“1”,因此在這裏使用參數ctn 1。
(9) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] certificate domain domain1
[DeviceA-ike-profile-profile1] exchange-mode aggressive
[DeviceA-ike-profile-profile1] local-identity dn
[DeviceA-ike-profile-profile1] match remote certificate policy1
[DeviceA-ike-profile-profile1] quit
(10) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
[DeviceA] ike proposal 10
[DeviceA-ike-proposal-10] authentication-algorithm md5
[DeviceA-ike-proposal-10] authentication-method rsa-signature
[DeviceA-ike-proposal-10] quit
(11) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceA] ipsec profile abc isakmp
[DeviceA-ipsec-profile-isakmp-abc] transform-set tran1
[DeviceA-ipsec-profile-isakmp-abc] ike-profile profile1
[DeviceA-ipsec-profile-isakmp-abc] quit
(12) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceA] interface tunnel 1 mode ipsec
[DeviceA-Tunnel1] ip address 3.3.3.1 255.255.255.0
[DeviceA-Tunnel1] source 1.1.1.1
[DeviceA-Tunnel1] destination 2.2.2.2
[DeviceA-Tunnel1] tunnel protection ipsec profile abc
[DeviceA-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface tunnel 1
[DeviceA-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceA] ip route-static 10.1.2.0 255.255.255.0 tunnel 1
在開始下麵的配置之前,假設Device B已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 1.1.1.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(6) 配置PKI實體,設置PKI實體的身份信息
[DeviceB] pki entity entity2
[DeviceB-pki-entity-entity2] common-name deviceb
[DeviceB-pki-entity-entity2] quit
(7) 配置PKI域,約定PKI證書申請的相關信息
[DeviceB] pki domain domain2
[DeviceB-pki-domain-domain2] public-key rsa general name rsa1
[DeviceB-pki-domain-domain2] undo crl check enable
[DeviceB-pki-domain-domain2] quit
[DeviceB] pki import domain domain2 der ca filename ca.cer
[DeviceB] pki import domain domain2 p12 local filename server.pfx
(8) 配置證書訪問策略,對用戶訪問權限進行進一步的控製
# 配置證書訪問策略policy1。
[DeviceB] pki certificate access-control-policy policy1
[DeviceB-pki-cert-acp-policy1] rule 1 permit group1
[DeviceB] pki certificate attribute-group group1
[DeviceB-pki-cert-attribute-group-group1] attribute 1 subject-name dn ctn 1
對端證書subject-name DN中需包含(ctn)規則中定義的字符串才被認為是有效的證書。本例使用的證書subject-name DN中包含字符“1”,因此在這裏使用參數ctn 1。
(9) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile2
[DeviceB-ike-profile-profile2] certificate domain domain2
[DeviceB-ike-profile-profile2] exchange-mode aggressive
[DeviceB-ike-profile-profile2] local-identity dn
[DeviceB-ike-profile-profile2] match remote certificate policy1
[DeviceB-ike-profile-profile2] quit
(10) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
[DeviceB] ike proposal 10
[DeviceB-ike-proposal-10] authentication-algorithm md5
[DeviceB-ike-proposal-10] authentication-method rsa-signature
[DeviceB-ike-proposal-10] quit
(11) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec profile abc isakmp
[DeviceB-ipsec-profile-isakmp-abc] transform-set tran1
[DeviceB-ipsec-profile-isakmp-abc] ike-profile profile2
[DeviceB-ipsec-profile-isakmp-abc] quit
(12) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceB] interface tunnel 1 mode ipsec
[DeviceB-Tunnel1] ip address 3.3.3.2 255.255.255.0
[DeviceB-Tunnel1] source 2.2.2.2
[DeviceB-Tunnel1] destination 1.1.1.1
[DeviceB-Tunnel1] tunnel protection ipsec profile abc
[DeviceB-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface tunnel 1
[DeviceB-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceB] ip route-static 10.1.1.0 255.255.255.0 tunnel 1
以上配置完成後,Device A會自動與Device B進行IKE協商。當IKE協商完成後,Device A和Device B上的IPsec 隧道接口都將up,即可以滿足上述組網需求,對兩個子網之間的數據流進行安全保護。
# 通過display ip interface brief命令可查看接口狀態如下:
[DeviceA] 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 1.1.1.1/16 -- --
GE1/0/2 up up 10.1.1.1/24 -- --
Tun1 up up 3.3.3.1/24 -- --
# 通過display interface tunnel命令可查看隧道狀態如下:
[DeviceA] 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 1.1.1.1, destination 2.2.2.2
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:
[DeviceA] display ipsec sa
-------------------------------
Interface: Tunnel1
-------------------------------
-----------------------------
IPsec profile: abc
Mode: ISAKMP
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Transmitting entity: Initiator
Path MTU: 1388
Tunnel:
local address: 1.1.1.1
remote address: 2.2.2.2
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-DES-CBC 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-DES-CBC 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
# 在Device A上用私網地址可以Ping通Device B連接的私網地址:
[DeviceA] ping -a 10.1.1.2 10.1.2.2
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
在Device A和Device B之間使用IPsec隧道接口建立IPsec連接,將發送給對端私網的數據流路由到IPsec隧道接口上,由IPsec隧道接口上動態協商建立的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第一階段的協商模式為國密主模式。
圖1-27 IKE國密主模式及SM2-DE數字信封認證配置組網圖
在開始下麵的配置之前,假設Device A已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(6) 配置PKI實體,設置PKI實體的身份信息
[DeviceA] pki entity entity1
[DeviceA-pki-entity-entity1] common-name devicea
[DeviceA-pki-entity-entity1] quit
(7) 配置PKI域,約定PKI證書申請的相關信息
[DeviceA] pki domain domain1
[DeviceA-pki-domain-domain1] public-key sm2 general name sm2-1
[DeviceA-pki-domain-domain1] undo crl check enable
[DeviceA-pki-domain-domain1] quit
[DeviceA] pki import domain domain1 der ca filename ca.cer
[DeviceA] pki import domain domain1 p12 local filename server.pfx
(8) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
[DeviceA] ike proposal 10
[DeviceA-ike-proposal-10] authentication-method sm2-de
[DeviceA-ike-proposal-10] authentication-algorithm sm3
[DeviceA-ike-proposal-10] encryption-algorithm sm1-cbc-128
[DeviceA-ike-proposal-10] quit
(9) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] exchange-mode gm-main
[DeviceA-ike-profile-profile1] certificate domain domain1
[DeviceA-ike-profile-profile1] proposal 10
[DeviceA-ike-profile-profile1] local-identity address 1.1.1.1
[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0
[DeviceA-ike-profile-profile1] quit
(10) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceA] ipsec profile abc isakmp
[DeviceA-ipsec-profile-isakmp-abc] transform-set tran1
[DeviceA-ipsec-profile-isakmp-abc] ike-profile profile1
[DeviceA-ipsec-profile-isakmp-abc] quit
(11) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceA] interface tunnel 1 mode ipsec
[DeviceA-Tunnel1] ip address 3.3.3.1 255.255.255.0
[DeviceA-Tunnel1] source 1.1.1.1
[DeviceA-Tunnel1] destination 2.2.2.2
[DeviceA-Tunnel1] tunnel protection ipsec profile abc
[DeviceA-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface tunnel 1
[DeviceA-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceA] ip route-static 10.1.2.0 255.255.255.0 tunnel 1
在開始下麵的配置之前,假設Device B已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 1.1.1.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(6) 配置PKI實體,設置PKI實體的身份信息
[DeviceB] pki entity entity2
[DeviceB-pki-entity-entity2] common-name deviceb
[DeviceB-pki-entity-entity2] quit
(7) 配置PKI域,約定PKI證書申請的相關信息
[DeviceB] pki domain domain2
[DeviceB-pki-domain-domain2] public-key sm2 general name sm2-1
[DeviceB-pki-domain-domain2] undo crl check enable
[DeviceB-pki-domain-domain2] quit
[DeviceB] pki import domain domain2 der ca filename ca.cer
[DeviceB] pki import domain domain2 p12 local filename server.pfx
(8) 配置IKE提議,定義雙方進行IKE協商所需的安全參數
[DeviceB] ike proposal 10
[DeviceB-ike-proposal-10] authentication-method sm2-de
[DeviceB-ike-proposal-10] authentication-algorithm sm3
[DeviceB-ike-proposal-10] encryption-algorithm sm1-cbc-128
[DeviceB-ike-proposal-10] quit
(9) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] exchange-mode gm-main
[DeviceB-ike-profile-profile1] certificate domain domain2
[DeviceB-ike-profile-profile1] proposal 10
[DeviceB-ike-profile-profile1] local-identity address 2.2.2.2
[DeviceB-ike-profile-profile1] match remote identity address 1.1.1.1 255.255.0.0
[DeviceB-ike-profile-profile1] quit
(10) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec profile abc isakmp
[DeviceB-ipsec-profile-isakmp-abc] transform-set tran1
[DeviceB-ipsec-profile-isakmp-abc] ike-profile profile1
[DeviceB-ipsec-profile-isakmp-abc] quit
(11) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceB] interface tunnel 1 mode ipsec
[DeviceB-Tunnel1] ip address 3.3.3.2 255.255.255.0
[DeviceB-Tunnel1] source 2.2.2.2
[DeviceB-Tunnel1] destination 1.1.1.1
[DeviceB-Tunnel1] tunnel protection ipsec profile abc
[DeviceB-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface tunnel 1
[DeviceB-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceB] ip route-static 10.1.1.0 255.255.255.0 tunnel 1
以上配置完成後,Device A會自動與Device B進行IKE協商。當IKE協商完成後,Device A和Device B上的IPsec 隧道接口都將up,即可以滿足上述組網需求,對兩個子網之間的數據流進行安全保護。
# 通過display ip interface brief命令可查看接口狀態如下:
[DeviceA] 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 1.1.1.1/16 -- --
GE1/0/2 up up 10.1.1.1/24 -- --
Tun1 up up 3.3.3.1/24 -- --
# 通過display interface tunnel命令可查看隧道狀態如下:
[DeviceA] 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 1.1.1.1, destination 2.2.2.2
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:
[DeviceA] display ipsec sa
-------------------------------
Interface: Tunnel1
-------------------------------
-----------------------------
IPsec profile: abc
Mode: ISAKMP
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Transmitting entity: Initiator
Path MTU: 1388
Tunnel:
local address: 1.1.1.1
remote address: 2.2.2.2
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-SM1-CBC-128 ESP-AUTH-SM3
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-SM1-CBC-128 ESP-AUTH-SM3
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
# 在Device A上用私網地址可以Ping通Device B連接的私網地址:
[DeviceA] ping -a 10.1.1.2 10.1.2.2
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
在Device A和Device B之間使用IPsec隧道接口建立IPsec連接,將發送給對端私網的數據流路由到IPsec隧道接口上,由IPsec隧道接口上動態協商建立的IPsec安全隧道對Host A所在子網(10.1.1.0/24)與Host B所在子網(10.1.2.0/24)之間的所有數據流進行安全保護。具體要求如下:
· Device A和Device B之間采用IKEv2協商方式建立IPsec SA。
· 封裝形式為隧道模式。
· 安全協議采用ESP協議。
· 加密算法采用DES-CBC,認證算法采用HMAC-SHA1。
圖1-28 IKEv2預共享密鑰認證配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(6) 配置IKEv2 keychain,約定通信雙方使用的密鑰信息
[DeviceA] ikev2 keychain keychain1
[DeviceA-ikev2-keychain-keychain1] peer peer1
[DeviceA-ikev2-keychain-keychain1-peer-peer1] address 2.2.2.2 16
[DeviceA-ikev2-keychain-keychain1-peer-peer1] identity address 2.2.2.2
[DeviceA-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext abcde
[DeviceA-ikev2-keychain-keychain1-peer-peer1] quit
[DeviceA-ikev2-keychain-keychain1] quit
(7) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceA] ikev2 profile profile1
[DeviceA-ikev2-profile-profile1] authentication-method local pre-share
[DeviceA-ikev2-profile-profile1] authentication-method remote pre-share
[DeviceA-ikev2-profile-profile1] keychain keychain1
[DeviceA-ikev2-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0
[DeviceA-ikev2-profile-profile1] quit
(8) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceA] ipsec profile abc isakmp
[DeviceA-ipsec-profile-isakmp-abc] transform-set tran1
[DeviceA-ipsec-profile-isakmp-abc] ikev2-profile profile1
[DeviceA-ipsec-profile-isakmp-abc] quit
(9) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceA] interface tunnel 1 mode ipsec
[DeviceA-Tunnel1] ip address 3.3.3.1 255.255.255.0
[DeviceA-Tunnel1] source 1.1.1.1
[DeviceA-Tunnel1] destination 2.2.2.2
[DeviceA-Tunnel1] tunnel protection ipsec profile abc
[DeviceA-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface tunnel 1
[DeviceA-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceA] ip route-static 10.1.2.0 255.255.255.0 tunnel 1
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 1.1.1.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(6) 配置IKEv2 keychain,約定通信雙方使用的密鑰信息
[DeviceB] ikev2 keychain keychain1
[DeviceB-ikev2-keychain-keychain1] peer peer1
[DeviceB-ikev2-keychain-keychain1-peer-peer1] address 1.1.1.1 16
[DeviceB-ikev2-keychain-keychain1-peer-peer1] identity address 1.1.1.1
[DeviceB-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext abcde
[DeviceB-ikev2-keychain-keychain1-peer-peer1] quit
[DeviceB-ikev2-keychain-keychain1] quit
(7) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceB] ikev2 profile profile1
[DeviceB-ikev2-profile-profile1] authentication-method local pre-share
[DeviceB-ikev2-profile-profile1] authentication-method remote pre-share
[DeviceB-ikev2-profile-profile1] keychain keychain1
[DeviceA-ikev2-profile-profile1] match remote identity address 1.1.1.1 255.255.0.0
[DeviceA-ikev2-profile-profile1] quit
(8) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec profile abc isakmp
[DeviceB-ipsec-profile-isakmp-abc] transform-set tran1
[DeviceB-ipsec-profile-isakmp-abc] ikev2-profile profile1
[DeviceB-ipsec-profile-isakmp-abc] quit
(9) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceB] interface tunnel 1 mode ipsec
[DeviceB-Tunnel1] ip address 3.3.3.2 255.255.255.0
[DeviceB-Tunnel1] source 2.2.2.2
[DeviceB-Tunnel1] destination 1.1.1.1
[DeviceB-Tunnel1] tunnel protection ipsec profile abc
[DeviceB-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface tunnel 1
[DeviceB-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceB] ip route-static 10.1.1.0 255.255.255.0 tunnel 1
以上配置完成後,Device A會自動與Device B進行IKEv2協商。當IKEv2協商完成後,Device A和Device B上的IPsec 隧道接口都將up,即可以滿足上述組網需求,對兩個子網之間的數據流進行安全保護。
# 通過display ip interface brief命令可查看接口狀態如下:
[DeviceA] 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 1.1.1.1/16 -- --
GE1/0/2 up up 10.1.1.1/24 -- --
Tun1 up up 3.3.3.1/24 -- --
# 通過display interface tunnel命令可查看隧道狀態如下:
[DeviceA] 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 1.1.1.1, destination 2.2.2.2
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:
[DeviceA] display ipsec sa
-------------------------------
Interface: Tunnel1
-------------------------------
-----------------------------
IPsec profile: abc
Mode: ISAKMP
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Transmitting entity: Initiator
Path MTU: 1388
Tunnel:
local address: 1.1.1.1
remote address: 2.2.2.2
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-DES-CBC 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-DES-CBC 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
# 在Device A上用私網地址可以Ping通Device B連接的私網地址:
[DeviceA] ping -a 10.1.1.2 10.1.2.2
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
在Device A和Device B之間使用IPsec隧道接口建立IPsec連接,將發送給對端私網的數據流路由到IPsec隧道接口上,由IPsec隧道接口上動態協商建立的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地址為動態分配,並作為發起方。
圖1-29 IKEv2 RSA數字簽名認證配置組網圖
在開始下麵的配置之前,假設Device A已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(6) 配置PKI實體,設置PKI實體的身份信息
[DeviceA] pki entity entity1
[DeviceA-pki-entity-entity1] common-name devicea
[DeviceA-pki-entity-entity1] quit
(7) 配置PKI域,約定PKI證書申請的相關信息
[DeviceA] pki domain domain1
[DeviceA-pki-domain-domain1] public-key rsa general name rsa1
[DeviceA-pki-domain-domain1] undo crl check enable
[DeviceA-pki-domain-domain1] quit
[DeviceA] pki import domain domain1 der ca filename ca.cer
[DeviceA] pki import domain domain1 p12 local filename server.pfx
(8) 配置證書訪問策略,對用戶訪問權限進行進一步的控製
[DeviceA] pki certificate access-control-policy policy1
[DeviceA-pki-cert-acp-policy1] rule 1 permit group1
[DeviceA] pki certificate attribute-group group1
[DeviceA-pki-cert-attribute-group-group1] attribute 1 subject-name dn ctn 1
對端證書subject-name DN中需包含(ctn)規則中定義的字符串才被認為是有效的證書。本例使用的證書subject-name DN中包含字符“1”,因此在這裏使用參數ctn 1。
(9) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceA] ikev2 profile profile1
[DeviceA-ikev2-profile-profile1] authentication-method local rsa-signature
[DeviceA-ikev2-profile-profile1] authentication-method remote rsa-signature
[DeviceA-ikev2-profile-profile1] certificate domain domain1
[DeviceA-ikev2-profile-profile1] identity local dn
[DeviceA-ikev2-profile-profile1] match remote certificate policy1
[DeviceA-ikev2-profile-profile1] quit
(10) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceA] ipsec profile abc isakmp
[DeviceA-ipsec-profile-isakmp-abc] transform-set tran1
[DeviceA-ipsec-profile-isakmp-abc] ikev2-profile profile1
[DeviceA-ipsec-profile-isakmp-abc] quit
(11) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceA] interface tunnel 1 mode ipsec
[DeviceA-Tunnel1] ip address 3.3.3.1 255.255.255.0
[DeviceA-Tunnel1] source 1.1.1.1
[DeviceA-Tunnel1] destination 2.2.2.2
[DeviceA-Tunnel1] tunnel protection ipsec profile abc
[DeviceA-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface tunnel 1
[DeviceA-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceA] ip route-static 10.1.2.0 255.255.255.0 tunnel 1
在開始下麵的配置之前,假設Device B已獲取到CA證書ca.cer和服務器證書server.pfx。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設對端網關設備的下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 1.1.1.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(6) 配置PKI實體,設置PKI實體的身份信息
[DeviceB] pki entity entity2
[DeviceB-pki-entity-entity2] common-name deviceb
[DeviceB-pki-entity-entity2] quit
(7) 配置PKI域,約定PKI證書申請的相關信息
[DeviceB] pki domain domain2
[DeviceB-pki-domain-domain2] public-key rsa general name rsa1
[DeviceB-pki-domain-domain2] undo crl check enable
[DeviceB-pki-domain-domain2] quit
[DeviceB] pki import domain domain2 der ca filename ca.cer
[DeviceB] pki import domain domain2 p12 local filename server.pfx
(8) 配置證書訪問策略,對用戶訪問權限進行進一步的控製
[DeviceB] pki certificate access-control-policy policy1
[DeviceB-pki-cert-acp-policy1] rule 1 permit group1
[DeviceB] pki certificate attribute-group group1
[DeviceB-pki-cert-attribute-group-group1] attribute 1 subject-name dn ctn 1
對端證書subject-name DN中需包含(ctn)規則中定義的字符串才被認為是有效的證書。本例使用的證書subject-name DN中包含字符“1”,因此在這裏使用參數ctn 1。
(9) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceB] ikev2 profile profile2
[DeviceB-ikev2-profile-profile2] authentication-method local rsa-signature
[DeviceB-ikev2-profile-profile2] authentication-method remote rsa-signature
[DeviceB-ikev2-profile-profile2] certificate domain domain2
[DeviceB-ikev2-profile-profile2] identity local dn
[DeviceB-ikev2-profile-profile2] match remote certificate policy1
[DeviceB-ikev2-profile-profile2] quit
(10) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec profile abc isakmp
[DeviceB-ipsec-profile-isakmp-abc] transform-set tran1
[DeviceB-ipsec-profile-isakmp-abc] ikev2-profile profile2
[DeviceB-ipsec-profile-isakmp-abc] quit
(11) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceB] interface tunnel 1 mode ipsec
[DeviceB-Tunnel1] ip address 3.3.3.2 255.255.255.0
[DeviceB-Tunnel1] source 2.2.2.2
[DeviceB-Tunnel1] destination 1.1.1.1
[DeviceB-Tunnel1] tunnel protection ipsec profile abc
[DeviceB-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface tunnel 1
[DeviceB-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceB] ip route-static 10.1.1.0 255.255.255.0 tunnel 1
以上配置完成後,Device A會自動與Device B進行IKEv2協商。當IKEv2協商完成後,Device A和Device B上的IPsec 隧道接口都將up,即可以滿足上述組網需求,對兩個子網之間的數據流進行安全保護。
# 通過display ip interface brief命令可查看接口狀態如下:
[DeviceA] 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 1.1.1.1/16 -- --
GE1/0/2 up up 10.1.1.1/24 -- --
Tun1 up up 3.3.3.1/24 -- --
# 通過display interface tunnel命令可查看隧道狀態如下:
[DeviceA] 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 1.1.1.1, destination 2.2.2.2
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:
[DeviceA] display ipsec sa
-------------------------------
Interface: Tunnel1
-------------------------------
-----------------------------
IPsec profile: abc
Mode: ISAKMP
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Transmitting entity: Initiator
Path MTU: 1388
Tunnel:
local address: 1.1.1.1
remote address: 2.2.2.2
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-DES-CBC 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-DES-CBC 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
# 在Device A上用私網地址可以Ping通Device B連接的私網地址:
[DeviceA] ping -a 10.1.1.2 10.1.2.2
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
Device A在NAT安全網關內網側,所連接的內網側用戶使用NAT地址3.3.3.1訪問外網。在Device A和Device B之間使用IPsec隧道接口建立IPsec連接,將發送給對端私網的數據流路由到IPsec隧道接口上,由IPsec隧道接口上動態協商建立的IPsec安全隧道對Host A所在子網(10.1.1.0/24)與Host B所在子網(10.1.2.0/24)之間的所有數據流進行安全保護。具體要求如下:
· 協商雙方使用缺省的IKE提議。
· 協商模式為野蠻模式協商。
· 第一階段協商的認證方法為預共享密鑰認證。
圖1-30 IKE野蠻模式及NAT穿越配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[DeviceA] ipsec transform-set transform1
[DeviceA-ipsec-transform-set-transform1] protocol esp
[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
(6) 配置IKE keychain,約定通信雙方使用的密鑰信息
[DeviceA] ike keychain keychain1
[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
(7) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] keychain keychain1
[DeviceA-ike-profile-profile1] exchange-mode aggressive
[DeviceA-ike-profile-profile1] local-identity fqdn www.devicea.example.com
[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.0.0
[DeviceA-ike-profile-profile1] quit
(8) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceA] ipsec profile abc isakmp
[DeviceA-ipsec-profile-isakmp-abc] transform-set transform1
[DeviceA-ipsec-profile-isakmp-abc] ike-profile profile1
[DeviceA-ipsec-profile-isakmp-abc] quit
(9) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceA] interface tunnel 1 mode ipsec
[DeviceA-Tunnel1] ip address 4.4.4.1 255.255.255.0
[DeviceA-Tunnel1] source 1.1.1.1
[DeviceA-Tunnel1] destination 2.2.2.2
[DeviceA-Tunnel1] tunnel protection ipsec profile abc
[DeviceA-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface tunnel 1
[DeviceA-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceA] ip route-static 10.1.2.0 255.255.255.0 tunnel 1
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 3.3.3.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 3.3.3.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 3.3.3.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
[DeviceB] ipsec transform-set transform1
[DeviceB-ipsec-transform-set-transform1] protocol esp
[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
(6) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 配置與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
[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
(7) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] keychain keychain1
[DeviceB-ike-profile-profile1] exchange-mode aggressive
[DeviceB-ike-profile-profile1] match remote identity fqdn www.devicea.example.com
[DeviceB-ike-profile-profile1] quit
(8) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec profile abc isakmp
[DeviceB-ipsec-profile-isakmp-abc] transform-set transform1
[DeviceB-ipsec-profile-isakmp-abc] ike-profile profile1
[DeviceB-ipsec-profile-isakmp-abc] quit
(9) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceB] interface tunnel 1 mode ipsec
[DeviceB-Tunnel1] ip address 4.4.4.2 255.255.255.0
[DeviceB-Tunnel1] source 2.2.2.2
[DeviceB-Tunnel1] destination 3.3.3.1
[DeviceB-Tunnel1] tunnel protection ipsec profile abc
[DeviceB-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface tunnel 1
[DeviceB-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceB] ip route-static 10.1.1.0 255.255.255.0 tunnel 1
以上配置完成後,Device A會自動與Device B進行IKE協商。當IKE協商完成後,Device A和Device B上的IPsec 隧道接口都將up,即可以滿足上述組網需求,對兩個子網之間的數據流進行安全保護。
# 通過display ip interface brief命令可查看接口狀態如下:
[DeviceA] 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 1.1.1.1/16 -- --
GE1/0/2 up up 10.1.1.1/24 -- --
Tun1 up up 4.4.4.1/24 -- --
# 通過display interface tunnel命令可查看隧道狀態如下:
[DeviceA] display interface Tunnel 1
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1444
Internet address: 4.4.4.1/24 (primary)
Tunnel source 1.1.1.1, destination 2.2.2.2
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:
[DeviceA] display ipsec sa
-------------------------------
Interface: Tunnel1
-------------------------------
-----------------------------
IPsec profile: abc
Mode: ISAKMP
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Transmitting entity: Initiator
Path MTU: 1388
Tunnel:
local address: 1.1.1.1
remote address: 2.2.2.2
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-SM1-CBC-128 ESP-AUTH-SM3
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-SM1-CBC-128 ESP-AUTH-SM3
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
# 在Device A上用私網地址可以Ping通Device B連接的私網地址:
[DeviceA] ping -a 10.1.1.2 10.1.2.2
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
某企業總部Device A有兩條出口鏈路接入Internet,分支Device B和Device C各有一條出口鏈路接入Internet,要求實現如下需求:
· 企業總部與各企業分支之間使用基於路由的IPsec隧道接口方式建立IPsec隧道;
· 企業總部和各分支之間根據NQA探測結果,選擇高質量、低延遲的鏈路動態建立IPsec隧道。
圖1-31 基於路由模式的總部采用雙鏈路與分支建立IPsec隧道配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 創建IPsec隧道接口
# 創建IPsec隧道接口Tunnel0,具體配置步驟如下。
[DeviceA] interface tunnel 0 mode ipsec
[DeviceA-Tunnel0] ip address 10.0.0.1 255.255.255.0
[DeviceA-Tunnel0] source 1.1.1.1
[DeviceA-Tunnel0] destination 3.3.3.3
[DeviceA-Tunnel0] quit
# 創建IPsec隧道接口Tunnel1,具體配置步驟如下。
[DeviceA] interface tunnel 1 mode ipsec
[DeviceA-Tunnel1] ip address 20.0.0.1 255.255.255.0
[DeviceA-Tunnel1] source 2.2.2.2
[DeviceA-Tunnel1] destination 3.3.3.3
[DeviceA-Tunnel1] quit
# 創建IPsec隧道接口Tunnel2,具體配置步驟如下。
[DeviceA] interface tunnel 2 mode ipsec
[DeviceA-Tunnel2] ip address 30.0.0.1 255.255.255.0
[DeviceA-Tunnel2] source 1.1.1.1
[DeviceA-Tunnel2] destination 4.4.4.4
[DeviceA-Tunnel2] quit
# 創建IPsec隧道接口Tunnel3,具體配置步驟如下。
[DeviceA] interface tunnel 3 mode ipsec
[DeviceA-Tunnel3] ip address 40.0.0.1 255.255.255.0
[DeviceA-Tunnel3] source 2.2.2.2
[DeviceA-Tunnel3] destination 4.4.4.4
[DeviceA-Tunnel3] quit
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/3
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Untrust] import interface tunnel 0
[DeviceA-security-zone-Untrust] import interface tunnel 1
[DeviceA-security-zone-Untrust] import interface tunnel 2
[DeviceA-security-zone-Untrust] import interface tunnel 3
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B和Device C發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 3.3.3.3
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 4.4.4.4
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B和Device C的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 3.3.3.3
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 4.4.4.4
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B、Host C之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B、Host C的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 192.168.11.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 192.168.12.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 192.168.13.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B、Host C訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 192.168.12.0 24
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 192.168.13.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 192.168.11.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
# 配置IPsec安全框架t0,建立IPsec隧道,具體配置步驟如下。
[DeviceA] ike keychain t0
[DeviceA-ike-keychain-t0] pre-shared-key address 3.3.3.3 255.255.255.0 key simple 123456TESTplat&!
[DeviceA-ike-keychain-t0] quit
[DeviceA] ike profile t0
[DeviceA-ike-profile-t0] keychain t0
[DeviceA-ike-profile-t0] match local address Tunnel0
[DeviceA-ike-profile-t0] match remote identity address 3.3.3.3 24
[DeviceA-ike-profile-t0] exchange-mode aggressive
[DeviceA-ike-profile-t0] dpd interval 30 periodic
[DeviceA-ike-profile-t0] quit
[DeviceA] ipsec transform-set t0
[DeviceA-ipsec-transform-set-t0] esp encryption-algorithm aes-cbc-128
[DeviceA-ipsec-transform-set-t0] esp authentication-algorithm sha1
[DeviceA-ipsec-transform-set-t0] quit
[DeviceA] ipsec profile t0 isakmp
[DeviceA-ipsec-profile-isakmp-t0] transform-set t0
[DeviceA-ipsec-profile-isakmp-t0] ike-profile t0
[DeviceA-ipsec-profile-isakmp-t0] quit
# 配置IPsec安全框架t1,建立IPsec隧道,具體配置步驟如下。
[DeviceA] ike keychain t1
[DeviceA-ike-keychain-t1] pre-shared-key address 3.3.3.3 255.255.255.0 key simple 123456TESTplat&!
[DeviceA-ike-keychain-t1] quit
[DeviceA] ike profile t1
[DeviceA-ike-profile-t1] keychain t1
[DeviceA-ike-profile-t1] match local address Tunnel1
[DeviceA-ike-profile-t1] match remote identity address 3.3.3.3 24
[DeviceA-ike-profile-t1] exchange-mode aggressive
[DeviceA-ike-profile-t1] dpd interval 30 periodic
[DeviceA-ike-profile-t1] quit
[DeviceA] ipsec transform-set t1
[DeviceA-ipsec-transform-set-t1] esp encryption-algorithm aes-cbc-128
[DeviceA-ipsec-transform-set-t1] esp authentication-algorithm sha1
[DeviceA-ipsec-transform-set-t1] quit
[DeviceA] ipsec profile t1 isakmp
[DeviceA-ipsec-profile-isakmp-t1] transform-set t1
[DeviceA-ipsec-profile-isakmp-t1] ike-profile t1
[DeviceA-ipsec-profile-isakmp-t1] quit
# 配置IPsec安全框架t2,建立IPsec隧道,具體配置步驟如下。
[DeviceA] ike keychain t2
[DeviceA-ike-keychain-t2] pre-shared-key address 4.4.4.4 255.255.255.0 key simple 123456TESTplat&!
[DeviceA-ike-keychain-t2] quit
[DeviceA] ike profile t2
[DeviceA-ike-profile-t2] keychain t2
[DeviceA-ike-profile-t2] match local address Tunnel2
[DeviceA-ike-profile-t2] match remote identity address 4.4.4.4 24
[DeviceA-ike-profile-t2] exchange-mode aggressive
[DeviceA-ike-profile-t2] dpd interval 30 periodic
[DeviceA-ike-profile-t2] quit
[DeviceA] ipsec transform-set t2
[DeviceA-ipsec-transform-set-t2] esp encryption-algorithm aes-cbc-128
[DeviceA-ipsec-transform-set-t2] esp authentication-algorithm sha1
[DeviceA-ipsec-transform-set-t2] quit
[DeviceA] ipsec profile t2 isakmp
[DeviceA-ipsec-profile-isakmp-t2] transform-set t2
[DeviceA-ipsec-profile-isakmp-t2] ike-profile t2
[DeviceA-ipsec-profile-isakmp-t2] quit
# 配置IPsec安全框架t3,建立IPsec隧道,具體配置步驟如下。
[DeviceA] ike keychain t3
[DeviceA-ike-keychain-t3] pre-shared-key address 4.4.4.4 255.255.255.0 key simple 123456TESTplat&!
[DeviceA-ike-keychain-t3] quit
[DeviceA] ike profile t3
[DeviceA-ike-profile-t3] keychain t3
[DeviceA-ike-profile-t3] match local address Tunnel3
[DeviceA-ike-profile-t3] match remote identity address 4.4.4.4 24
[DeviceA-ike-profile-t3] exchange-mode aggressive
[DeviceA-ike-profile-t3] dpd interval 30 periodic
[DeviceA-ike-profile-t3] quit
[DeviceA] ipsec transform-set t3
[DeviceA-ipsec-transform-set-t3] esp encryption-algorithm aes-cbc-128
[DeviceA-ipsec-transform-set-t3] esp authentication-algorithm sha1
[DeviceA-ipsec-transform-set-t3] quit
[DeviceA] ipsec profile t3 isakmp
[DeviceA-ipsec-profile-isakmp-t3] transform-set t3
[DeviceA-ipsec-profile-isakmp-t3] ike-profile t3
[DeviceA-ipsec-profile-isakmp-t3] quit
(6) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝。
# 在IPsec隧道接口Tunnel0中引用IPsec安全框架t0,建立IPsec隧道。
[DeviceA] interface tunnel 0
[DeviceA-Tunnel0] tunnel protection ipsec profile t0
[DeviceA-Tunnel0] quit
# 在IPsec隧道接口Tunnel1中引用IPsec安全框架t1,建立IPsec隧道。
[DeviceA] interface tunnel 1
[DeviceA-Tunnel1] tunnel protection ipsec profile t1
[DeviceA-Tunnel1] quit
# 在IPsec隧道接口Tunnel2中引用IPsec安全框架t2,建立IPsec隧道。
[DeviceA] interface tunnel 2
[DeviceA-Tunnel2] tunnel protection ipsec profile t2
[DeviceA-Tunnel2] quit
# 在IPsec隧道接口Tunnel3中引用IPsec安全框架t3,建立IPsec隧道。
[DeviceA] interface tunnel 3
[DeviceA-Tunnel3] tunnel protection ipsec profile t3
[DeviceA-Tunnel3] quit
(7) 配置NQA測試組與Track項聯動,用於探測鏈路狀態。
# 配置NQA測試組(管理員為test1,操作標簽為1),具體配置步驟如下。
[DeviceA] nqa entry admin test1
[DeviceA-nqa-admin-test1] type icmp-echo
[DeviceA-nqa-admin-test1-icmp-echo] destination ip 3.3.3.3
[DeviceA-nqa-admin-test1-icmp-echo] frequency 3000
[DeviceA-nqa-admin-test1-icmp-echo] history-record enable
[DeviceA-nqa-admin-test1-icmp-echo] next-hop ip 1.1.1.2
[DeviceA-nqa-admin-test1-icmp-echo] probe count 5
[DeviceA-nqa-admin-test1-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[DeviceA-nqa-admin-test1-icmp-echo] quit
[DeviceA] nqa schedule admin test1 start-time now lifetime forever
# 配置Track項110,關聯NQA測試組(管理員為test1,操作標簽為1)的聯動項1,配置步驟如下。
[DeviceA] track 110 nqa entry admin test1 reaction 1
[DeviceA-track-110] quit
# 配置NQA測試組(管理員為test2,操作標簽為1),具體配置步驟如下。
[DeviceA] nqa entry admin test2
[DeviceA-nqa-admin-test2] type icmp-echo
[DeviceA-nqa-admin-test2-icmp-echo] destination ip 3.3.3.3
[DeviceA-nqa-admin-test2-icmp-echo] frequency 3000
[DeviceA-nqa-admin-test2-icmp-echo] history-record enable
[DeviceA-nqa-admin-test2-icmp-echo] probe count 5
[DeviceA-nqa-admin-test2-icmp-echo] next-hop ip 2.2.2.3
[DeviceA-nqa-admin-test2-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[DeviceA-nqa-admin-test2-icmp-echo] quit
[DeviceA] nqa schedule admin test2 start-time now lifetime forever
# 配置Track項120,關聯NQA測試組(管理員為test2,操作標簽為1)的聯動項1,配置步驟如下。
[DeviceA] track 120 nqa entry admin test2 reaction 1
[DeviceA-track-120] quit
# 配置NQA測試組(管理員為test3,操作標簽為1),具體配置步驟如下。
[DeviceA] nqa entry admin test3
[DeviceA-nqa-admin-test3] type icmp-echo
[DeviceA-nqa-admin-test3-icmp-echo] destination ip 4.4.4.4
[DeviceA-nqa-admin-test3-icmp-echo] frequency 3000
[DeviceA-nqa-admin-test3-icmp-echo] history-record enable
[DeviceA-nqa-admin-test3-icmp-echo] probe count 5
[DeviceA-nqa-admin-test3-icmp-echo] next-hop ip 1.1.1.2
[DeviceA-nqa-admin-test3-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[DeviceA-nqa-admin-test3-icmp-echo] quit
[DeviceA] nqa schedule admin test3 start-time now lifetime forever
# 配置Track項130,關聯NQA測試組(管理員為test3,操作標簽為1)的聯動項1,配置步驟如下。
[DeviceA] track 130 nqa entry admin test3 reaction 1
[DeviceA-track-130] quit
# 配置NQA測試組(管理員為test4,操作標簽為1),具體配置步驟如下。
[DeviceA] nqa entry admin test4
[DeviceA-nqa-admin-test4] type icmp-echo
[DeviceA-nqa-admin-test4-icmp-echo] destination ip 4.4.4.4
[DeviceA-nqa-admin-test4-icmp-echo] frequency 3000
[DeviceA-nqa-admin-test4-icmp-echo] history-record enable
[DeviceA-nqa-admin-test4-icmp-echo] probe count 5
[DeviceA-nqa-admin-test4-icmp-echo] next-hop ip 2.2.2.3
[DeviceA-nqa-admin-test4-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[DeviceA-nqa-admin-test4-icmp-echo] quit
[DeviceA] nqa schedule admin test4 start-time now lifetime forever
# 配置Track項140,關聯NQA測試組(管理員為test4,操作標簽為1)的聯動項1,配置步驟如下。
[DeviceA] track 140 nqa entry admin test4 reaction 1
[DeviceA-track-140] quit
(8) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例的下一跳IP地址僅為示例,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 192.168.12.0 24 tunnel 0 track 110 preference 100
[DeviceA] ip route-static 192.168.12.0 24 tunnel 1 track 120 preference 110
[DeviceA] ip route-static 192.168.13.0 24 tunnel 2 track 130 preference 100
[DeviceA] ip route-static 192.168.13.0 24 tunnel 3 track 140 preference 110
[DeviceA] ip route-static 3.3.3.3 24 1.1.1.2 track 110 preference 100
[DeviceA] ip route-static 3.3.3.3 24 2.2.2.3 track 120 preference 110
[DeviceA] ip route-static 4.4.4.4 24 1.1.1.2 track 130 preference 100
[DeviceA] ip route-static 4.4.4.4 24 2.2.2.3 track 140 preference 110
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 3.3.3.3 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 創建IPsec隧道接口
# 創建IPsec隧道接口Tunnel0,具體配置步驟如下。
[DeviceB] interface tunnel 0 mode ipsec
[DeviceB-Tunnel0] ip address 50.0.0.1 255.255.255.0
[DeviceB-Tunnel0] source 3.3.3.3
[DeviceB-Tunnel0] destination 1.1.1.1
[DeviceB-Tunnel0] quit
# 創建IPsec隧道接口Tunnel1,具體配置步驟如下。
[DeviceB] interface tunnel 1 mode ipsec
[DeviceB-Tunnel1] ip address 60.0.0.1 255.255.255.0
[DeviceB-Tunnel1] source 3.3.3.3
[DeviceB-Tunnel1] destination 2.2.2.2
[DeviceB-Tunnel1] quit
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] import interface tunnel 0
[DeviceB-security-zone-Untrust] import interface tunnel 1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 3.3.3.3
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 3.3.3.3
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 192.168.12.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 192.168.11.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 192.168.11.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 192.168.12.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
# 配置IPsec安全框架t0,建立IPsec隧道,具體配置步驟如下。
[DeviceB] ike keychain t0
[DeviceB-ike-keychain-t0] pre-shared-key address 1.1.1.1 255.255.255.0 key simple 123456TESTplat&!
[DeviceB-ike-keychain-t0] quit
[DeviceB] ike profile t0
[DeviceB-ike-profile-t0] keychain t0
[DeviceB-ike-profile-t0] match local address Tunnel0
[DeviceB-ike-profile-t0] match remote identity address 1.1.1.1 24
[DeviceB-ike-profile-t0] exchange-mode aggressive
[DeviceB-ike-profile-t0] dpd interval 30 periodic
[DeviceB-ike-profile-t0] quit
[DeviceB] ipsec transform-set t0
[DeviceB-ipsec-transform-set-t0] esp encryption-algorithm aes-cbc-128
[DeviceB-ipsec-transform-set-t0] esp authentication-algorithm sha1
[DeviceB-ipsec-transform-set-t0] quit
[DeviceB] ipsec profile t0 isakmp
[DeviceB-ipsec-profile-isakmp-t0] transform-set t0
[DeviceB-ipsec-profile-isakmp-t0] ike-profile t0
[DeviceB-ipsec-profile-isakmp-t0] quit
# 配置IPsec安全框架t1,建立IPsec隧道,具體配置步驟如下。
[DeviceB] ike keychain t1
[DeviceB-ike-keychain-t1] pre-shared-key address 2.2.2.2 255.255.255.0 key simple 123456TESTplat&!
[DeviceB-ike-keychain-t1] quit
[DeviceB] ike profile t1
[DeviceB-ike-profile-t1] keychain t1
[DeviceB-ike-profile-t1] match local address Tunnel1
[DeviceB-ike-profile-t1] match remote identity address 2.2.2.2 24
[DeviceB-ike-profile-t1] exchange-mode aggressive
[DeviceB-ike-profile-t1] dpd interval 30 periodic
[DeviceB-ike-profile-t1] quit
[DeviceB] ipsec transform-set t1
[DeviceB-ipsec-transform-set-t1] esp encryption-algorithm aes-cbc-128
[DeviceB-ipsec-transform-set-t1] esp authentication-algorithm sha1
[DeviceB-ipsec-transform-set-t1] quit
[DeviceB] ipsec profile t1 isakmp
[DeviceB-ipsec-profile-isakmp-t1] transform-set t1
[DeviceB-ipsec-profile-isakmp-t1] ike-profile t1
[DeviceB-ipsec-profile-isakmp-t1] quit
(6) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝。
# 在IPsec隧道接口Tunnel0中引用IPsec安全框架t0,建立IPsec隧道。
[DeviceB] interface tunnel 0
[DeviceB-Tunnel0] tunnel protection ipsec profile t0
[DeviceB-Tunnel0] quit
# 在IPsec隧道接口Tunnel1中引用IPsec安全框架t1,建立IPsec隧道。
[DeviceB] interface tunnel 1
[DeviceB-Tunnel1] tunnel protection ipsec profile t1
[DeviceB-Tunnel1] quit
(7) 配置NQA測試組與Track項聯動,用於探測鏈路狀態。
# 配置NQA測試組(管理員為test1,操作標簽為1),具體配置步驟如下。
[DeviceB] nqa entry admin test1
[DeviceB-nqa-admin-test1] type icmp-echo
[DeviceB-nqa-admin-test1-icmp-echo] destination ip 1.1.1.1
[DeviceB-nqa-admin-test1-icmp-echo] frequency 3000
[DeviceB-nqa-admin-test1-icmp-echo] history-record enable
[DeviceB-nqa-admin-test1-icmp-echo] probe count 5
[DeviceB-nqa-admin-test1-icmp-echo] next-hop ip 3.3.3.4
[DeviceB-nqa-admin-test1-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[DeviceB-nqa-admin-test1-icmp-echo] quit
[DeviceB] nqa schedule admin test1 start-time now lifetime forever
# 配置Track項110,關聯NQA測試組(管理員為test1,操作標簽為1)的聯動項1,配置步驟如下。
[DeviceB] track 110 nqa entry admin test1 reaction 1
[DeviceB-track-110] quit
# 配置NQA測試組(管理員為test2,操作標簽為1),具體配置步驟如下。
[DeviceB] nqa entry admin test2
[DeviceB-nqa-admin-test2] type icmp-echo
[DeviceB-nqa-admin-test2-icmp-echo] destination ip 2.2.2.2
[DeviceB-nqa-admin-test2-icmp-echo] frequency 3000
[DeviceB-nqa-admin-test2-icmp-echo] history-record enable
[DeviceB-nqa-admin-test2-icmp-echo] probe count 5
[DeviceB-nqa-admin-test2-icmp-echo] next-hop ip 3.3.3.4
[DeviceB-nqa-admin-test2-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[DeviceB-nqa-admin-test2-icmp-echo] quit
[DeviceB] nqa schedule admin test2 start-time now lifetime forever
# 配置Track項120,關聯NQA測試組(管理員為test2,操作標簽為1)的聯動項1,配置步驟如下。
[DeviceB] track 120 nqa entry admin test2 reaction 1
[DeviceB-track-120] quit
(8) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例的下一跳IP地址僅為示例,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 192.168.11.0 24 tunnel 0 track 110 preference 100
[DeviceB] ip route-static 192.168.11.0 24 tunnel 1 track 120 preference 110
[DeviceB] ip route-static 1.1.1.1 24 3.3.3.4
[DeviceB] ip route-static 2.2.2.2 24 3.3.3.4
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceC> system-view
[DeviceC] interface gigabitethernet 1/0/1
[DeviceC-GigabitEthernet1/0/1] ip address 4.4.4.4 255.255.255.0
[DeviceC-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 創建IPsec隧道接口
# 創建IPsec隧道接口Tunnel0,具體配置步驟如下。
[DeviceC] interface tunnel 0 mode ipsec
[DeviceC-Tunnel0] ip address 70.0.0.1 255.255.255.0
[DeviceC-Tunnel0] source 4.4.4.4
[DeviceC-Tunnel0] destination 1.1.1.1
[DeviceC-Tunnel0] quit
# 創建IPsec隧道接口Tunnel1,具體配置步驟如下。
[DeviceC] interface tunnel 1 mode ipsec
[DeviceC-Tunnel1] ip address 80.0.0.1 255.255.255.0
[DeviceC-Tunnel1] source 4.4.4.4
[DeviceC-Tunnel1] destination 2.2.2.2
[DeviceC-Tunnel1] quit
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceC] security-zone name trust
[DeviceC-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceC-security-zone-Trust] quit
[DeviceC] security-zone name untrust
[DeviceC-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceC-security-zone-Untrust] import interface tunnel 0
[DeviceC-security-zone-Untrust] import interface tunnel 1
[DeviceC-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceC] security-policy ip
[DeviceC-security-policy-ip] rule name ipseclocalout
[DeviceC-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceC-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceC-security-policy-ip-1-ipseclocalout] source-ip-host 4.4.4.4
[DeviceC-security-policy-ip-1-ipseclocalout] destination-ip-host 1.1.1.1
[DeviceC-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceC-security-policy-ip-1-ipseclocalout] action pass
[DeviceC-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceC-security-policy-ip] rule name ipseclocalin
[DeviceC-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceC-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceC-security-policy-ip-2-ipseclocalin] source-ip-host 1.1.1.1
[DeviceC-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceC-security-policy-ip-2-ipseclocalin] destination-ip-host 4.4.4.4
[DeviceC-security-policy-ip-2-ipseclocalin] action pass
[DeviceC-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceC-security-policy-ip] rule name trust-untrust
[DeviceC-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceC-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceC-security-policy-ip-3-trust-untrust] source-ip-subnet 192.168.13.0 24
[DeviceC-security-policy-ip-3-trust-untrust] destination-ip-subnet 192.168.11.0 24
[DeviceC-security-policy-ip-3-trust-untrust] action pass
[DeviceC-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceC-security-policy-ip] rule name untrust-trust
[DeviceC-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceC-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceC-security-policy-ip-4-untrust-trust] source-ip-subnet 192.168.11.0 24
[DeviceC-security-policy-ip-4-untrust-trust] destination-ip-subnet 192.168.13.0 24
[DeviceC-security-policy-ip-4-untrust-trust] action pass
[DeviceC-security-policy-ip-4-untrust-trust] quit
[DeviceC-security-policy-ip] quit
(5) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
# 配置IPsec安全框架t0,建立IPsec隧道,具體配置步驟如下。
[DeviceC] ike keychain t0
[DeviceC-ike-keychain-t0] pre-shared-key address 1.1.1.1 255.255.255.0 key simple 123456TESTplat&!
[DeviceC-ike-keychain-t0] quit
[DeviceC] ike profile t0
[DeviceC-ike-profile-t0] keychain t0
[DeviceC-ike-profile-t0] match local address Tunnel0
[DeviceC-ike-profile-t0] match remote identity address 1.1.1.1 24
[DeviceC-ike-profile-t0] exchange-mode aggressive
[DeviceC-ike-profile-t0] dpd interval 30 periodic
[DeviceC-ike-profile-t0] quit
[DeviceC] ipsec transform-set t0
[DeviceC-ipsec-transform-set-t0] esp encryption-algorithm aes-cbc-128
[DeviceC-ipsec-transform-set-t0] esp authentication-algorithm sha1
[DeviceC-ipsec-transform-set-t0] quit
[DeviceC] ipsec profile t0 isakmp
[DeviceC-ipsec-profile-isakmp-t0] transform-set t0
[DeviceC-ipsec-profile-isakmp-t0] ike-profile t0
[DeviceC-ipsec-profile-isakmp-t0] quit
# 配置IPsec安全框架t1,建立IPsec隧道,具體配置步驟如下。
[DeviceC] ike keychain t1
[DeviceC-ike-keychain-t1] pre-shared-key address 2.2.2.2 255.255.255.0 key simple 123456TESTplat&!
[DeviceC-ike-keychain-t1] quit
[DeviceC] ike profile t1
[DeviceC-ike-profile-t1] keychain t1
[DeviceC-ike-profile-t1] match local address Tunnel1
[DeviceC-ike-profile-t1] match remote identity address 2.2.2.2 24
[DeviceC-ike-profile-t1] exchange-mode aggressive
[DeviceC-ike-profile-t1] dpd interval 30 periodic
[DeviceC-ike-profile-t1] quit
[DeviceC] ipsec transform-set t1
[DeviceC-ipsec-transform-set-t1] esp encryption-algorithm aes-cbc-128
[DeviceC-ipsec-transform-set-t1] esp authentication-algorithm sha1
[DeviceC-ipsec-transform-set-t1] quit
[DeviceC] ipsec profile t1 isakmp
[DeviceC-ipsec-profile-isakmp-t1] transform-set t1
[DeviceC-ipsec-profile-isakmp-t1] ike-profile t1
[DeviceC-ipsec-profile-isakmp-t1] quit
(6) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 在IPsec隧道接口Tunnel0中引用IPsec安全框架t0,建立IPsec隧道。
[DeviceC] interface tunnel 0
[DeviceC-Tunnel0] tunnel protection ipsec profile t0
[DeviceC-Tunnel0] quit
# 在IPsec隧道接口Tunnel1中引用IPsec安全框架t1,建立IPsec隧道。
[DeviceC] interface tunnel 1
[DeviceC-Tunnel1] tunnel protection ipsec profile t1
[DeviceC-Tunnel1] quit
(7) 配置NQA測試組與Track項聯動,用於探測鏈路狀態
# 配置NQA測試組(管理員為test1,操作標簽為1),具體配置步驟如下。
[DeviceC] nqa entry admin test1
[DeviceC-nqa-admin-test1] type icmp-echo
[DeviceC-nqa-admin-test1-icmp-echo] destination ip 1.1.1.1
[DeviceC-nqa-admin-test1-icmp-echo] frequency 3000
[DeviceC-nqa-admin-test1-icmp-echo] history-record enable
[DeviceC-nqa-admin-test1-icmp-echo] probe count 5
[DeviceC-nqa-admin-test1-icmp-echo] next-hop ip 4.4.4.5
[DeviceC-nqa-admin-test1-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[DeviceC-nqa-admin-test1-icmp-echo] quit
[DeviceC] nqa schedule admin test1 start-time now lifetime forever
# 配置Track項110,關聯NQA測試組(管理員為test1,操作標簽為1)的聯動項1,配置步驟如下。
[DeviceC] track 110 nqa entry admin test1 reaction 1
[DeviceC-track-110] quit
# 配置NQA測試組(管理員為test2,操作標簽為1),具體配置步驟如下。
[DeviceC] nqa entry admin test2
[DeviceC-nqa-admin-test2] type icmp-echo
[DeviceC-nqa-admin-test2-icmp-echo] destination ip 2.2.2.2
[DeviceC-nqa-admin-test2-icmp-echo] frequency 3000
[DeviceC-nqa-admin-test2-icmp-echo] history-record enable
[DeviceC-nqa-admin-test2-icmp-echo] probe count 5
[DeviceC-nqa-admin-test2-icmp-echo] next-hop ip 4.4.4.5
[DeviceC-nqa-admin-test2-icmp-echo] reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only
[DeviceC-nqa-admin-test2-icmp-echo] quit
[DeviceC] nqa schedule admin test2 start-time now lifetime forever
# 配置Track項120,關聯NQA測試組(管理員為test2,操作標簽為1)的聯動項1,配置步驟如下。
[DeviceC] track 120 nqa entry admin test2 reaction 1
[DeviceC-track-120] quit
(8) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例的下一跳IP地址僅為示例,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceC] ip route-static 192.168.11.0 24 tunnel 0 track 110 preference 100
[DeviceC] ip route-static 192.168.11.0 24 tunnel 1 track 120 preference 110
[DeviceC] ip route-static 1.1.1.1 24 4.4.4.5
[DeviceC] ip route-static 2.2.2.2 24 4.4.4.5
以上配置完成後,Device A會自動與Device B、Device C進行IKE協商。當IKE協商完成後,Device A、Device B和Device C上的IPsec 虛擬隧道接口都將up,即可對總部和分支的數據流進行安全保護。
# 通過display ip interface brief命令可查看Device A的接口狀態如下。
<DeviceA> 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 1.1.1.1/24 -- --
GE1/0/2 up up 2.2.2.2/24 -- --
GE1/0/3 up up 192.168.11.1/24 -- --
Tun0 up up 10.0.0.1/24 -- --
Tun1 up up 20.0.0.1/24 -- --
Tun2 up up 30.0.0.1/24 -- --
Tun3 up up 40.0.0.1/24 -- --
# 通過display ip routing-table命令可查看Device A的路由狀態如下。
<DeviceA> display ip routing-table
Destinations : 14 Routes : 14
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.0/24 Direct 0 0 1.1.1.1 GE1/0/1
1.1.1.255/32 Direct 0 0 1.1.1.1 GE1/0/1
2.2.2.0/24 Direct 0 0 2.2.2.2 GE1/0/2
2.2.2.255/32 Direct 0 0 2.2.2.2 GE1/0/2
3.3.3.0/24 Static 100 0 1.1.1.2 GE1/0/1
4.4.4.0/24 Static 100 0 1.1.1.2 GE1/0/1
10.0.0.0/24 Direct 0 0 10.0.0.1 Tun0
10.0.0.255/32 Direct 0 0 10.0.0.1 Tun0
20.0.0.0/24 Direct 0 0 20.0.0.1 Tun1
20.0.0.255/32 Direct 0 0 20.0.0.1 Tun1
192.168.11.0/24 Direct 0 0 192.168.11.1 GE1/0/3
192.168.11.255/32 Direct 0 0 192.168.11.1 GE1/0/3
192.168.12.0/24 Static 100 0 0.0.0.0 Tun0
192.168.13.0/24 Static 100 0 0.0.0.0 Tun2
# Host A可以Ping通Host B,此時IPsec流量在Tunnel0所在鏈路傳輸。
C:\Users\hosta> ping 192.168.12.2
正在 Ping 192.168.12.2 具有 32 字節的數據:
來自 192.168.12.2 的回複: 字節=32 時間=1ms TTL=254
來自 192.168.12.2 的回複: 字節=32 時間<1ms TTL=254
來自 192.168.12.2 的回複: 字節=32 時間<1ms TTL=254
來自 192.168.12.2 的回複: 字節=32 時間<1ms TTL=254
192.168.12.2 的 Ping 統計信息:
數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 0ms,最長 = 1ms,平均 = 0ms
# 當Device A的GigabitEthernet1/0/1接口所在鏈路發生故障時,Host A仍然可以Ping通Host B,此時IPsec流量在Tunnel1所在鏈路傳輸。
C:\Users\hosta> ping 192.168.12.2
正在 Ping 192.168.12.2 具有 32 字節的數據:
來自 192.168.12.2 的回複: 字節=32 時間=1ms TTL=254
來自 192.168.12.2 的回複: 字節=32 時間<1ms TTL=254
來自 192.168.12.2 的回複: 字節=32 時間<1ms TTL=254
來自 192.168.12.2 的回複: 字節=32 時間<1ms TTL=254
192.168.12.2 的 Ping 統計信息:
數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
往返行程的估計時間(以毫秒為單位):
最短 = 0ms,最長 = 1ms,平均 = 0ms
# 通過display ip interface brief命令可查看Device A的接口狀態如下。
<DeviceA> display ip interface brief
*down: administratively down
(s): spoofing (l): loopback
Interface Physical Protocol IP address/Mask VPN instance Description
GE1/0/1 down down 1.1.1.1/24 -- --
GE1/0/2 up up 2.2.2.2/24 -- --
GE1/0/3 up up 192.168.11.1/24 -- --
Tun0 down down 10.0.0.1/24 -- --
Tun1 up up 20.0.0.1/24 -- --
Tun2 down down 30.0.0.1/24 -- --
Tun3 up up 40.0.0.1/24 -- --
# 通過display ip routing-table命令可查看Device A的路由狀態如下。
<DeviceA> display ip routing-table
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
2.2.2.0/24 Direct 0 0 2.2.2.2 GE1/0/2
2.2.2.255/32 Direct 0 0 2.2.2.2 GE1/0/2
3.3.3.0/24 Static 110 0 2.2.2.3 GE1/0/2
4.4.4.0/24 Static 110 0 2.2.2.3 GE1/0/2
20.0.0.0/24 Direct 0 0 20.0.0.1 Tun1
20.0.0.255/32 Direct 0 0 20.0.0.1 Tun1
192.168.11.0/24 Direct 0 0 192.168.11.1 GE1/0/3
192.168.11.255/32 Direct 0 0 192.168.11.1 GE1/0/3
192.168.12.0/24 Static 110 0 0.0.0.0 Tun1
192.168.13.0/24 Static 110 0 0.0.0.0 Tun3
# 當Device A的GigabitEthernet1/0/1接口所在鏈路故障恢複時,IPsec流量將切換到Tunnel0所在鏈路傳輸。
在Device A和Device B之間建立一條IPsec隧道,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。具體要求如下:
· 封裝形式為隧道模式。
· 安全協議采用ESP協議。
· 加密算法采用128比特的AES,認證算法采用HMAC-SHA1。
· IKE協商方式建立IPsec SA。
· Device A和Device B的內網口和外網口屬於不同的VPN實例。
圖1-32 保護IPv4報文的IPsec配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] ip vpn-instance vpn1
[DeviceA-vpn-instance-vpn1] route-distinguisher 100:1
[DeviceA-vpn-instance-vpn1] quit
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip binding vpn-instance vpn1
[DeviceA-GigabitEthernet1/0/1] ip address 10.1.1.1 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
[DeviceA] ip vpn-instance vpn2
[DeviceA-vpn-instance-vpn2] route-distinguisher 100:2
[DeviceA-vpn-instance-vpn2] quit
[DeviceA] interface
[DeviceA-] ip binding vpn-instance vpn2
[DeviceA-] ip address 2.2.2.1 255.255.255.0
[DeviceA-] quit
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.2.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static vpn-instance vpn1 10.1.2.0 24 vpn-instance vpn2 2.2.2.2
[DeviceA] ip route-static vpn-instance vpn2 2.2.3.1 24 2.2.2.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.3.1
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] vrf vpn2
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.3.1
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalout] vrf vpn2
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-ipseclocalout] vrf vpn1
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-ipseclocalout] vrf vpn1
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 定義需要保護的數據流
# 配置一個IPv4高級ACL,定義要保護由子網10.1.1.0/24去往子網10.1.2.0/24的數據流。
[DeviceA] acl advanced 3101
[DeviceA-acl-ipv4-adv-3101] rule permit ip vpn-instance vpn1 source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
[DeviceA-acl-ipv4-adv-3101] quit
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置IKE keychain,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[DeviceA] ike keychain keychain1 vpn-instance vpn2
[DeviceA-ike-keychain-keychain1] pre-shared-key address 2.2.3.1 255.255.255.0 key simple 123456TESTplat&!
[DeviceA-ike-keychain-keychain1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] keychain keychain1
[DeviceA-ike-profile-profile1] match remote identity address 2.2.3.1 255.255.255.0 vpn-instance vpn2
[DeviceA-ike-profile-profile1] inside-vpn vpn-instance vpn1
[DeviceA-ike-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條IKE協商方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定本端和對端的IP地址,引用IKE profile,具體配置步驟如下。
[DeviceA] ipsec policy map1 10 isakmp
[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3101
[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1
[DeviceA-ipsec-policy-isakmp-map1-10] local-address 2.2.2.1
[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.3.1
[DeviceA-ipsec-policy-isakmp-map1-10] ike-profile profile1
[DeviceA-ipsec-policy-isakmp-map1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
# 在接口GigabitEthernet1/0/2上應用安全策略,具體配置步驟如下。
[DeviceA] interface gigabitethernet 1/0/2
[DeviceA-GigabitEthernet1/0/2] ipsec apply policy map1
[DeviceA-GigabitEthernet1/0/2] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] ip vpn-instance vpn1
[DeviceB-vpn-instance-vpn1] route-distinguisher 200:1
[DeviceB-vpn-instance-vpn1] quit
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip binding vpn-instance vpn1
[DeviceB-GigabitEthernet1/0/1] ip address 10.1.2.1 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
[DeviceB] ip vpn-instance vpn2
[DeviceB-vpn-instance-vpn2] route-distinguisher 200:2
[DeviceB-vpn-instance-vpn2] quit
[DeviceB] interface
[DeviceB-] ip binding vpn-instance vpn2
[DeviceB-] ip address 2.2.3.1 255.255.255.0
[DeviceB-] quit
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設下一跳IP地址為2.2.3.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static vpn-instance vpn1 10.1.1.0 24 vpn-instance vpn2 2.2.3.2
[DeviceB] ip route-static vpn-instance vpn2 2.2.2.1 24 2.2.3.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.3.1
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] vrf vpn2
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.3.1
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalout] vrf vpn2
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-ipseclocalout] vrf vpn1
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-ipseclocalout] vrf vpn1
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 定義數據流需要保護的數據流
# 配置一個IPv4高級ACL,定義要保護由子網10.1.2.0/24去往子網10.1.1.0/24的數據流。
[DeviceB] acl advanced 3101
[DeviceB-acl-ipv4-adv-3101] rule permit ip vpn-instance vpn1 source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
[DeviceB-acl-ipv4-adv-3101] quit
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置IKE keychain,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[DeviceB] ike keychain keychain1 vpn-instance vpn2
[DeviceB-ike-keychain-keychain1] pre-shared-key address 2.2.2.1 255.255.255.0 key simple 123456TESTplat&!
[DeviceB-ike-keychain-keychain1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] keychain keychain1
[DeviceB-ike-profile-profile1] match remote identity address 2.2.2.1 255.255.255.0 vpn-instance vpn2
[DeviceB-ike-profile-profile1] inside-vpn vpn-instance vpn1
[DeviceB-ike-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條IKE協商方式的安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定本端和對端的IP地址,引用IKE profile,具體配置步驟如下。
[DeviceB] ipsec policy use1 10 isakmp
[DeviceB-ipsec-policy-isakmp-use1-10] security acl 3101
[DeviceB-ipsec-policy-isakmp-use1-10] transform-set tran1
[DeviceB-ipsec-policy-isakmp-use1-10] local-address 2.2.3.1
[DeviceB-ipsec-policy-isakmp-use1-10] remote-address 2.2.2.1
[DeviceB-ipsec-policy-isakmp-use1-10] ike-profile profile1
[DeviceB-ipsec-policy-isakmp-use1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
# 在接口GigabitEthernet1/0/2上應用IPsec安全策略,具體配置步驟如下。
[DeviceB] interface gigabitethernet 1/0/2
[DeviceB-GigabitEthernet1/0/2] ipsec apply policy use1
[DeviceB-GigabitEthernet1/0/2] quit
# 以上配置完成後,Device A和Device 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。
[DeviceA] display ipsec sa
-------------------------------
Interface: GigabitEthernet1/0/2
-------------------------------
-----------------------------
IPsec policy: map1
Sequence number: 10
Alisa: map1-10
Mode: ISAKMP
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Inside VPN: vpn1
Extended Sequence Numbers enable: N
Traffic Flow Confidentiality enable: N
Transmitting entity: Initiator
Path MTU: 1443
Tunnel:
local address: 2.2.3.1
remote address: 2.2.2.1
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): 1843200/3600
SA remaining duration (kilobytes/sec): 2300/797
Max received sequence-number: 1
Anti-replay check enable: Y
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 duration (kilobytes/sec): 1843200/3600
SA remaining duration (kilobytes/sec): 2312/797
Max sent sequence-number: 1
UDP encapsulation used for NAT traversal: N
Status: Active
# Device B上也會產生相應的IPsec SA來保護IPv4報文,查看方式與Device A同,此處略。
Device A在NAT安全網關內網側,所連接的內網側用戶使用NAT地址3.3.3.1訪問外網。在Device A和Device B之間使用IPsec隧道接口建立IPsec連接,將發送給對端私網的數據流路由到IPsec隧道接口上,由IPsec隧道接口上動態協商建立的IPsec安全隧道對Host A所在子網(10.1.1.0/24)與Host B所在子網(10.1.2.0/24)之間的所有數據流進行安全保護。具體要求如下:
· 協商雙方使用缺省的IKEv2安全提議和IKEv2安全策略。
· 第一階段協商的認證方法為預共享密鑰認證。
圖1-33 IKEv2 NAT穿越配置組網圖
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 1.1.1.1 255.255.0.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為1.1.1.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 2.2.2.2 16 1.1.1.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout
[DeviceA-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout] source-ip-host 1.1.1.1
[DeviceA-security-policy-ip-1-ipseclocalout] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout] action pass
[DeviceA-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin
[DeviceA-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin] destination-ip-host 1.1.1.1
[DeviceA-security-policy-ip-2-ipseclocalin] action pass
[DeviceA-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set transform1
[DeviceA-ipsec-transform-set-transform1] protocol esp
[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
(6) 配置IKEv2 keychain,約定通信雙方使用的密鑰信息
[DeviceA] ikev2 keychain keychain1
[DeviceA-ikev2-keychain-keychain1] peer peer1
[DeviceA-ikev2-keychain-keychain1-peer-peer1] address 2.2.2.2 16
[DeviceA-ikev2-keychain-keychain1-peer-peer1] identity address 2.2.2.2
[DeviceA-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext 123
[DeviceA-ikev2-keychain-keychain1-peer-peer1] quit
[DeviceA-ikev2-keychain-keychain1] quit
(7) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceA] ikev2 profile profile1
[DeviceA-ikev2-profile-profile1] keychain keychain1
[DeviceA-ikev2-profile-profile1] identity local fqdn www.devicea.example.com
[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
(8) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceA] ipsec profile abc isakmp
[DeviceA-ipsec-profile-isakmp-abc] transform-set transform1
[DeviceA-ipsec-profile-isakmp-abc] ikev2-profile profile1
[DeviceA-ipsec-profile-isakmp-abc] quit
(9) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceA] interface tunnel 1 mode ipsec
[DeviceA-Tunnel1] ip address 4.4.4.1 255.255.255.0
[DeviceA-Tunnel1] source 1.1.1.1
[DeviceA-Tunnel1] destination 2.2.2.2
[DeviceA-Tunnel1] tunnel protection ipsec profile abc
[DeviceA-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface tunnel 1
[DeviceA-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceA] ip route-static 10.1.2.0 255.255.255.0 tunnel 1
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 2.2.2.2 255.255.0.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例假設到達對端網關設備的下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 3.3.3.1 16 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道。
# 配置名稱為ipseclocalout的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout
[DeviceB-security-policy-ip-1-ipseclocalout] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout] destination-ip-host 3.3.3.1
[DeviceB-security-policy-ip-1-ipseclocalout] action pass
[DeviceB-security-policy-ip-1-ipseclocalout] quit
# 配置名稱為ipseclocalin的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin
[DeviceB-security-policy-ip-2-ipseclocalin] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin] source-ip-host 3.3.3.1
[DeviceB-security-policy-ip-2-ipseclocalin] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin] action pass
[DeviceB-security-policy-ip-2-ipseclocalin] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
(5) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set transform1
[DeviceB-ipsec-transform-set-transform1] protocol esp
[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
(6) 配置IKEv2 keychain,約定通信雙方使用的密鑰信息
[DeviceB]ikev2 keychain keychain1
[DeviceB-ikev2-keychain-keychain1] peer peer1
[DeviceB-ikev2-keychain-keychain1-peer-peer1] address 3.3.3.1 16
[DeviceB-ikev2-keychain-keychain1-peer-peer1] identity address 3.3.3.1
[DeviceB-ikev2-keychain-keychain1-peer-peer1] pre-shared-key plaintext 123
[DeviceB-ikev2-keychain-keychain1-peer-peer1] quit
[DeviceB-ikev2-keychain-keychain1] quit
(7) 配置IKEv2 profile,約定建立IKE SA所需的安全參數
[DeviceB] ikev2 profile profile1
[DeviceB-ikev2-profile-profile1] keychain keychain1
[DeviceB-ikev2-profile-profile1] match remote identity fqdn www.devicea.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
(8) 配置IPsec安全框架,建立IPsec隧道,保護需要防護的數據流
[DeviceB] ipsec profile abc isakmp
[DeviceB-ipsec-profile-isakmp-abc] transform-set transform1
[DeviceB-ipsec-profile-isakmp-abc] ikev2-profile profile1
[DeviceB-ipsec-profile-isakmp-abc] quit
(9) 配置IPsec隧道接口,用於對需要保護的流量進行IPsec封裝
# 創建IPsec隧道接口,並引用IPsec安全框架。
[DeviceB] interface tunnel 1 mode ipsec
[DeviceB-Tunnel1] ip address 4.4.4.2 255.255.255.0
[DeviceB-Tunnel1] source 2.2.2.2
[DeviceB-Tunnel1] destination 3.3.3.1
[DeviceB-Tunnel1] tunnel protection ipsec profile abc
[DeviceB-Tunnel1] quit
# 將IPsec隧道接口加入Untrust安全域。
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface tunnel 1
[DeviceB-security-zone-Untrust] quit
# 請根據組網圖中規劃的信息,配置靜態路由,將需要保護的流量引入IPsec隧道接口,本舉例的IPsec隧道接口為Tunnel1。
[DeviceB] ip route-static 10.1.1.0 255.255.255.0 tunnel 1
以上配置完成後,Device A會自動與Device B進行IKE協商。當IKE協商完成後,Device A和Device B上的IPsec 隧道接口都將up,即可以滿足上述組網需求,對兩個子網之間的數據流進行安全保護。
# 通過display ip interface brief命令可查看接口狀態如下:
[DeviceA] 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 1.1.1.1/16 -- --
GE1/0/2 up up 10.1.1.1/24 -- --
Tun1 up up 4.4.4.1/24 -- --
# 通過display interface tunnel命令可查看隧道狀態如下:
[DeviceA] display interface Tunnel 1
Tunnel1
Current state: UP
Line protocol state: UP
Description: Tunnel1 Interface
Bandwidth: 64 kbps
Maximum transmission unit: 1444
Internet address: 4.4.4.1/24 (primary)
Tunnel source 1.1.1.1, destination 2.2.2.2
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:
[DeviceA] display ipsec sa
-------------------------------
Interface: Tunnel1
-------------------------------
-----------------------------
IPsec profile: abc
Mode: ISAKMP
-----------------------------
Tunnel id: 0
Encapsulation mode: tunnel
Perfect Forward Secrecy:
Transmitting entity: Initiator
Path MTU: 1388
Tunnel:
local address: 1.1.1.1
remote address: 2.2.2.2
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-SM1-CBC-128 ESP-AUTH-SM3
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-SM1-CBC-128 ESP-AUTH-SM3
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
# 在Device A上用私網地址可以Ping通Device B連接的私網地址:
[DeviceA] ping -a 10.1.1.2 10.1.2.2
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
在Device A和Device B之間建立一個IPsec隧道,分別使用國盾量子服務器KM1、KM2提供的國盾量子密鑰,對Host A所在的子網(10.1.1.0/24)與Host B所在的子網(10.1.2.0/24)之間的數據流進行安全保護。
· Device A和Device B之間采用IKE協商方式建立IPsec SA。
· Device A和Device B登錄國盾量子服務器,獲取供IPsec使用的量子密鑰。
· 使用缺省的IKE提議。
圖1-34 國盾量子加密配置組網圖
為實現如上組網需求,可采用如下配置思路實現:
(1) 本文假設國盾量子服務器KM1和KM2已完成部署。
(2) 為了在Device A和Device B之間建立IPsec連接,需要完成IKE和IPsec相關配置。
(3) 在Device A和Device B上開啟國盾量子加密功能,分別連接國盾量子服務器KM1和KM2,使得Device A和Device B獲取供IPsec使用的量子密鑰。
建議獲取國盾量子密鑰的設備與國盾量子服務器均部署在同一個局域網內。
國盾量子加密特性僅支持H3C設備之間的互通,不支持與其他廠商設備對接使用。
國盾量子加密功能隻支持IKEv1主模式。
不支持在非缺省vSystem下啟用國盾量子加密功能。
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceA> system-view
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] ip address 192.168.2.89 255.255.255.0
[DeviceA-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉例下一跳IP地址為2.2.2.2,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceA] ip route-static 10.1.2.0 24 2.2.2.2
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceA] security-zone name trust
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceA-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceA-security-zone-Trust] quit
[DeviceA] security-zone name untrust
[DeviceA-security-zone-Untrust] import interface gigabitethernet 1/0/3
[DeviceA-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道,並傳輸IPsec封裝報文。
# 配置名稱為ipseclocalout1的安全策規則,使Device A可以向Device B發送IPsec隧道協商報文和IPsec封裝報文,具體配置步驟如下。
[DeviceA] security-policy ip
[DeviceA-security-policy-ip] rule name ipseclocalout1
[DeviceA-security-policy-ip-1-ipseclocalout1] source-zone local
[DeviceA-security-policy-ip-1-ipseclocalout1] destination-zone untrust
[DeviceA-security-policy-ip-1-ipseclocalout1] source-ip-host 2.2.2.1
[DeviceA-security-policy-ip-1-ipseclocalout1] destination-ip-host 2.2.2.2
[DeviceA-security-policy-ip-1-ipseclocalout1] action pass
[DeviceA-security-policy-ip-1-ipseclocalout1] quit
# 配置名稱為ipseclocalin1的安全策略規則,使Device A可以接收和處理來自Device B的IPsec隧道協商報文和IPsec封裝報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin1
[DeviceA-security-policy-ip-2-ipseclocalin1] source-zone untrust
[DeviceA-security-policy-ip-2-ipseclocalin1] destination-zone local
[DeviceA-security-policy-ip-2-ipseclocalin1] source-ip-host 2.2.2.2
[DeviceA-security-policy-ip-2-ipseclocalin1] destination-ip-host 2.2.2.1
[DeviceA-security-policy-ip-2-ipseclocalin1] action pass
[DeviceA-security-policy-ip-2-ipseclocalin1] quit
b. 配置安全策略放行Host A與Host B之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name trust-untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceA-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceA-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-3-trust-untrust] action pass
[DeviceA-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name untrust-trust
[DeviceA-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceA-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceA-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.2.0 24
[DeviceA-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.1.0 24
[DeviceA-security-policy-ip-4-untrust-trust] action pass
[DeviceA-security-policy-ip-4-untrust-trust] quit
[DeviceA-security-policy-ip] quit
c. 配置安全策略放行Device A與KM1之間的流量
# 配置名稱為ipseclocalout2的安全策規則,使Device A可以向KM1發送報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalout2
[DeviceA-security-policy-ip-5-ipseclocalout2] source-zone local
[DeviceA-security-policy-ip-5-ipseclocalout2] destination-zone trust
[DeviceA-security-policy-ip-5-ipseclocalout2] source-ip-host 192.168.2.89
[DeviceA-security-policy-ip-5-ipseclocalout2] destination-ip-host 192.168.2.233
[DeviceA-security-policy-ip-5-ipseclocalout2] action pass
[DeviceA-security-policy-ip-5-ipseclocalout2] quit
# 配置名稱為ipseclocalin2的安全策略規則,使KM1可以向Device A發送報文,具體配置步驟如下。
[DeviceA-security-policy-ip] rule name ipseclocalin2
[DeviceA-security-policy-ip-6-ipseclocalin2] source-zone trust
[DeviceA-security-policy-ip-6-ipseclocalin2] destination-zone local
[DeviceA-security-policy-ip-6-ipseclocalin2] source-ip-host 192.168.2.233
[DeviceA-security-policy-ip-6-ipseclocalin2] destination-ip-host 192.168.2.89
[DeviceA-security-policy-ip-6-ipseclocalin2] action pass
[DeviceA-security-policy-ip-6-ipseclocalin2] quit
[DeviceA-security-policy-ip] quit
(5) 配置IPv4高級ACL 3001,定義要保護由子網10.1.1.0/24去子網10.1.2.0/24的數據流。
[DeviceA] acl advanced 3001
[DeviceA-acl-ipv4-adv-3001] 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-3001] quit
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceA] ipsec transform-set tran1
[DeviceA-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceA-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置IKE keychain,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[DeviceA] ike keychain keychain1
[DeviceA-ike-keychain-keychain1] pre-shared-key address 2.2.2.2 255.255.255.0 key simple 123456TESTplat&!
[DeviceA-ike-keychain-keychain1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceA] ike profile profile1
[DeviceA-ike-profile-profile1] keychain keychain1
[DeviceA-ike-profile-profile1] local-identity address 2.2.2.1
[DeviceA-ike-profile-profile1] match remote identity address 2.2.2.2 255.255.255.0
[DeviceA-ike-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條IKE協商方式的IPsec安全策略,引用需要保護數據流的ACL和所需的IPsec安全提議,指定本端和對端的IP地址,引用IKE profile,具體配置步驟如下。
[DeviceA] ipsec policy map1 10 isakmp
[DeviceA-ipsec-policy-isakmp-map1-10] remote-address 2.2.2.2
[DeviceA-ipsec-policy-isakmp-map1-10] security acl 3001
[DeviceA-ipsec-policy-isakmp-map1-10] transform-set tran1
[DeviceA-ipsec-policy-isakmp-map1-10] ike-profile profile1
[DeviceA-ipsec-policy-isakmp-map1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
# 在接口GigabitEthernet1/0/3上應用安全策略,具體配置步驟如下。
[DeviceA] interface gigabitethernet 1/0/3
[DeviceA-GigabitEthernet1/0/3] ipsec apply policy map1
[DeviceA-GigabitEthernet1/0/3] quit
(11) 配置國盾量子加密功能
# 開啟國盾量子加密功能,並配置相關參數。
[DeviceA] ike gd-quantum
[DeviceA-ike-gdquantum] app-dev-info 341300002
[DeviceA-ike-gdquantum] server-address 192.168.2.233 port 8013
[DeviceA-ike-gdquantum] auth-key simple 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0
[DeviceA-ike-gdquantum] decrypt-quantum-key simple 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0
[DeviceA-ike-gdquantum] quit
(1) 配置接口IP地址
# 根據組網圖中規劃的信息,配置各接口的IP地址,具體配置步驟如下。
<DeviceB> system-view
[DeviceB] interface gigabitethernet 1/0/1
[DeviceB-GigabitEthernet1/0/1] ip address 192.168.2.90 255.255.255.0
[DeviceB-GigabitEthernet1/0/1] quit
請參考以上步驟配置其他接口的IP地址,具體配置步驟略。
(2) 配置靜態路由
本舉例僅以靜態路由方式配置路由信息。實際組網中,請根據具體情況選擇相應的路由配置方式。
# 請根據組網圖中規劃的信息,配置靜態路由,本舉設下一跳IP地址為2.2.2.1,實際使用中請以具體組網情況為準,具體配置步驟如下。
[DeviceB] ip route-static 10.1.1.0 24 2.2.2.1
(3) 配置接口加入安全域。
# 請根據組網圖中規劃的信息,將接口加入對應的安全域,具體配置步驟如下。
[DeviceB] security-zone name trust
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/1
[DeviceB-security-zone-Trust] import interface gigabitethernet 1/0/2
[DeviceB-security-zone-Trust] quit
[DeviceB] security-zone name untrust
[DeviceB-security-zone-Untrust] import interface gigabitethernet 1/0/3
[DeviceB-security-zone-Untrust] quit
(4) 配置安全策略
a. 配置安全策略放行Untrust與Local安全域之間的流量,用於設備之間可以建立IPsec隧道,並傳輸IPsec封裝報文。
# 配置名稱為ipseclocalout1的安全策規則,使Device B可以向Device A發送IPsec隧道協商報文和IPsec封裝報文,具體配置步驟如下。
[DeviceB] security-policy ip
[DeviceB-security-policy-ip] rule name ipseclocalout1
[DeviceB-security-policy-ip-1-ipseclocalout1] source-zone local
[DeviceB-security-policy-ip-1-ipseclocalout1] destination-zone untrust
[DeviceB-security-policy-ip-1-ipseclocalout1] source-ip-host 2.2.2.2
[DeviceB-security-policy-ip-1-ipseclocalout1] destination-ip-host 2.2.2.1
[DeviceB-security-policy-ip-1-ipseclocalout1] action pass
[DeviceB-security-policy-ip-1-ipseclocalout1] quit
# 配置名稱為ipseclocalin1的安全策略規則,使Device B可以接收和處理來自Device A的IPsec隧道協商報文和IPsec封裝報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin1
[DeviceB-security-policy-ip-2-ipseclocalin1] source-zone untrust
[DeviceB-security-policy-ip-2-ipseclocalin1] destination-zone local
[DeviceB-security-policy-ip-2-ipseclocalin1] source-ip-host 2.2.2.1
[DeviceB-security-policy-ip-2-ipseclocalin1] destination-ip-host 2.2.2.2
[DeviceB-security-policy-ip-2-ipseclocalin1] action pass
[DeviceB-security-policy-ip-2-ipseclocalin1] quit
b. 配置安全策略放行Host B與Host A之間的流量
# 配置名稱為trust-untrust的安全策略規則,使Host B訪問Host A的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name trust-untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-zone trust
[DeviceB-security-policy-ip-3-trust-untrust] destination-zone untrust
[DeviceB-security-policy-ip-3-trust-untrust] source-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-3-trust-untrust] destination-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-3-trust-untrust] action pass
[DeviceB-security-policy-ip-3-trust-untrust] quit
# 配置名稱為untrust-trust的安全策略規則,使Host A訪問Host B的報文可通,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name untrust-trust
[DeviceB-security-policy-ip-4-untrust-trust] source-zone untrust
[DeviceB-security-policy-ip-4-untrust-trust] destination-zone trust
[DeviceB-security-policy-ip-4-untrust-trust] source-ip-subnet 10.1.1.0 24
[DeviceB-security-policy-ip-4-untrust-trust] destination-ip-subnet 10.1.2.0 24
[DeviceB-security-policy-ip-4-untrust-trust] action pass
[DeviceB-security-policy-ip-4-untrust-trust] quit
[DeviceB-security-policy-ip] quit
c. 配置安全策略放行Device B與KM2之間的流量
# 配置名稱為ipseclocalout2的安全策規則,使Device B可以向KM2發送報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalout2
[DeviceB-security-policy-ip-5-ipseclocalout2] source-zone local
[DeviceB-security-policy-ip-5-ipseclocalout2] destination-zone trust
[DeviceB-security-policy-ip-5-ipseclocalout2] source-ip-host 192.168.2.90
[DeviceB-security-policy-ip-5-ipseclocalout2] destination-ip-host 192.168.2.233
[DeviceB-security-policy-ip-5-ipseclocalout2] action pass
[DeviceB-security-policy-ip-5-ipseclocalout2] quit
# 配置名稱為ipseclocalin2的安全策略規則,使KM2可以向Device B發送報文,具體配置步驟如下。
[DeviceB-security-policy-ip] rule name ipseclocalin2
[DeviceB-security-policy-ip-6-ipseclocalin2] source-zone trust
[DeviceB-security-policy-ip-6-ipseclocalin2] destination-zone local
[DeviceB-security-policy-ip-6-ipseclocalin2] source-ip-host 192.168.2.233
[DeviceB-security-policy-ip-6-ipseclocalin2] destination-ip-host 192.168.2.90
[DeviceB-security-policy-ip-6-ipseclocalin2] action pass
[DeviceB-security-policy-ip-6-ipseclocalin2] quit
[DeviceB-security-policy-ip] quit
(5) 配置IPv4高級ACL 3001,定義要保護由子網10.1.2.0/24去往子網10.1.1.0/24的數據流。
[DeviceB] acl advanced 3001
[DeviceB-acl-ipv4-adv-3001] 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-3001] quit
(6) 配置IPsec安全提議,協商封裝報文使用的各種安全協議
# 創建IPsec安全提議,兩端配置的安全提議參數需要完全相同,具體配置步驟如下。
[DeviceB] ipsec transform-set tran1
[DeviceB-ipsec-transform-set-tran1] encapsulation-mode tunnel
[DeviceB-ipsec-transform-set-tran1] protocol esp
[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
(7) 配置IKE keychain,約定通信雙方使用的密鑰信息
# 創建並配置IKE keychain,協商雙方配置的預共享密鑰必須完全相同,具體配置步驟如下。
[DeviceB]ike keychain keychain1
[DeviceB-ike-keychain-keychain1] pre-shared-key address 2.2.2.1 255.255.255.0 key simple 123456TESTplat&!
[DeviceB-ike-keychain-keychain1] quit
(8) 配置IKE profile,約定建立IKE SA所需的安全參數
[DeviceB] ike profile profile1
[DeviceB-ike-profile-profile1] keychain keychain1
[DeviceB-ike-profile-profile1] local-identity address 2.2.2.2
[DeviceB-ike-profile-profile1] match remote identity address 2.2.2.1 255.255.255.0
[DeviceB-ike-profile-profile1] quit
(9) 配置IPsec安全策略,建立IPsec隧道,保護需要防護的數據流
# 創建一條IKE協商方式的IPsec安全策略,名稱為use1,順序號為10。
[DeviceB] ipsec policy use1 10 isakmp
[DeviceB-ipsec-policy-isakmp-use1-10] remote-address 2.2.2.1
[DeviceB-ipsec-policy-isakmp-use1-10] security acl 3001
[DeviceB-ipsec-policy-isakmp-use1-10] transform-set tran1
[DeviceB-ipsec-policy-isakmp-use1-10] ike-profile profile1
[DeviceB-ipsec-policy-isakmp-use1-10] quit
(10) 在接口上應用IPsec安全策略,對接口上的流量進行保護
# 在接口GigabitEthernet1/0/3上應用IPsec安全策略use1。
[DeviceB] interface gigabitethernet 1/0/3
[DeviceB-GigabitEthernet1/0/3] ipsec apply policy use1
[DeviceB-GigabitEthernet1/0/3] quit
(11) 配置國盾量子加密功能
# 開啟國盾量子加密功能,並配置相關參數。
[DeviceB] ike gd-quantum
[DeviceB-ike-gdquantum] app-dev-info 341300001
[DeviceB-ike-gdquantum] server-address 192.168.2.233 port 8015
[DeviceB-ike-gdquantum] auth-key simple 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0
[DeviceB-ike-gdquantum] decrypt-quantum-key simple 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0
[DeviceB-ike-gdquantum] quit
Device A和Device B之間如果有子網10.1.1.0/24與子網10.1.2.0/24之間的報文通過,將觸發IKE協商。當IKE一階段協商完成後,Device A和Device B會分別向國盾量子服務器KM1和KM2獲取經過加密的量子密鑰,然後再通過配置的解密密鑰進行解密。最終得到供IPsec使用的量子密鑰。
# 在Device A上用私網地址可以ping通Device B連接的私網地址。
<Device A>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
Request time out
56 bytes from 10.1.2.1: icmp_seq=1 ttl=255 time=0.652 ms
56 bytes from 10.1.2.1: icmp_seq=2 ttl=255 time=0.294 ms
56 bytes from 10.1.2.1: icmp_seq=3 ttl=255 time=0.244 ms
56 bytes from 10.1.2.1: icmp_seq=4 ttl=255 time=0.237 ms
--- Ping statistics for 10.1.2.1 ---
5 packet(s) transmitted, 4 packet(s) received, 20.0% packet loss
round-trip min/avg/max/std-dev = 0.237/0.357/0.652/0.172 ms
# 通過display ike proposal命令可查看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
# 通過display ike sa命令可查看Device A上IKE第一階段協商成功後生成的IKE SA。
[DeviceA] display ike sa
Connection-ID Local Remote Flag DOI
---------------------------------------------------------------------------------
1 2.2.2.1 2.2.2.2/500 RD IPsec
Flags:
RD--READY RL--REPLACED FD-FADING RK-REKEY
# 通過display ipsec sa命令可查看IKE第二階段協商生成的IPsec SA。
[DeviceA] display ipsec sa
-------------------------------
Interface: GigabitEthernet1/0/3
-------------------------------
-----------------------------
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: 1428
Tunnel:
local address/port: 2.2.2.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: 117833058 (0x0705fd62)
Connection ID: 150323855360
Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1
SA duration (kilobytes/sec): 1843200/3600
SA remaining duration (kilobytes/sec): 1843199/3247
Max received sequence-number: 10
Anti-replay check enable: Y
Anti-replay window size: 64
UDP encapsulation used for NAT traversal: N
Status: Active
[Outbound ESP SAs]
SPI: 3302519622 (0xc4d87346)
Connection ID: 47244640257
Transform set: ESP-ENCRYPT-AES-CBC-128 ESP-AUTH-SHA1
SA duration (kilobytes/sec): 1843200/3600
SA remaining duration (kilobytes/sec): 1843199/3247
Max sent sequence-number: 10
UDP encapsulation used for NAT traversal: N
Status: Active
Device B上也會產生相應的IKE SA和IPsec SA,查看方式與Device A同,此處略。
若無特殊說明,本文中的IKE均指第1版本的IKE協議。
IKE(Internet Key Exchange,互聯網密鑰交換)協議利用ISAKMP(Internet Security Association and Key Management Protocol,互聯網安全聯盟和密鑰管理協議)語言定義密鑰交換的過程,是一種對安全服務進行協商的手段。
用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所示,IKE為IPsec協商建立SA,並把建立的參數交給IPsec,IPsec使用IKE建立的SA對IP報文加密或認證處理。
圖2-1 IPsec與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)和國密主模式。
如圖2-2所示,第一階段主模式的IKE協商過程中包含三對消息,具體內容如下:
(1) 第一對消息完成了SA交換,它是一個協商確認雙方IKE安全策略的過程;
(2) 第二對消息完成了密鑰交換,通過交換Diffie-Hellman公共值和輔助數據(如:隨機數),最終雙方計算生成一係列共享密鑰(例如,認證密鑰、加密密鑰以及用於生成IPsec密鑰參數的密鑰材料),並使其中的加密密鑰和認證密鑰對後續的IKE消息提供安全保障;
(3) 第三對消息完成了ID信息和驗證數據的交換,並進行雙方身份的認證。
如圖2-3所示,第一階段野蠻模式的IKE協商過程中包含三條消息,具體內容如下:
(1) 發起方通過第一條消息發送本地IKE信息,包括建立IKE SA所使用的參數、與密鑰生成相關的信息和身份驗證信息。
(2) 接收方通過第二條消息對收到的第一個消息進行確認,查找並返回匹配的參數、密鑰生成信息和身份驗證信息。
(3) 發起方通過第三條消息回應驗證結果,並成功建立IKE SA。
與主模式相比,野蠻模式的優點是建立IKE SA的速度較快。但是由於野蠻模式的密鑰交換與身份認證一起進行,因此無法提供身份保護。在對身份保護要求不高的場合,使用交換報文較少的野蠻模式可以提高協商的速度;在對身份保護要求較高的場合,則應該使用主模式。
本端的協商模式配置為國密主模式,必須使用RSA-DE或者SM2-DE數字信封方式認證。
IKE可以在不安全的網絡上安全地認證通信雙方的身份、分發密鑰以及建立IPsec SA,具有以下幾種安全機製。
IKE的身份認證機製用於確認通信雙方的身份。設備支持三種認證方法:預共享密鑰認證、RSA數字簽名認證和DSA數字簽名認證。
· 預共享密鑰認證:通信雙方通過共享的密鑰認證對端身份。
· 數字簽名認證:通信雙方使用由CA頒發的數字證書向對端證明自己的身份。
DH算法是一種公共密鑰算法,它允許通信雙方在不傳輸密鑰的情況下通過交換一些數據,計算出共享的密鑰。即使第三方(如黑客)截獲了雙方用於計算密鑰的所有交換數據,由於其複雜度很高,也不足以計算出雙方的密鑰。
PFS(Perfect Forward Secrecy,完善的前向安全性)是一種安全特性,它解決了密鑰之間相互無關性的需求。由於IKE第二階段協商需要從第一階段協商出的密鑰材料中衍生出用於IPsec SA的密鑰,若攻擊者能夠破解IKE SA的一個密鑰,則會非常容易得掌握其衍生出的任何IPsec SA的密鑰。使用PFS特性後,IKE第二階段協商過程中會增加一次DH交換,使得IKE SA的密鑰和IPsec SA的密鑰之間沒有派生關係,即使IKE SA的其中一個密鑰被破解,也不會影響它協商出的其它密鑰的安全性。
與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
IKE配置任務如下:
(1) (可選)配置IKE profile
b. 配置匹配對端身份的規則
f. 配置本端身份信息
(2) 配置IKE提議
(3) 配置IKE keychain
(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安全策略的配置,請參見“VPN配置指導”中的“IPsec”。
創建一個IKE profile,並進入IKE Profile視圖。
(1) 進入係統視圖。
system-view
(2) 創建一個IKE profile,並進入IKE Profile視圖。
ike profile profile-name
響應方首先需要根據發起方的身份信息查找一個本端的IKE profile,然後使用此IKE profile中的信息驗證對端身份,發起方同樣需要根據響應方的身份信息查找到一個IKE profile用於驗證對端身份。對端身份信息若能滿足本地某個IKE profile中指定的匹配規則,則該IKE profile為查找的結果。
協商雙方都必須配置至少一個match remote規則,當對端的身份與IKE profile中配置的match remote規則匹配時,則使用此IKE profile中的信息與對端完成認證。
(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 ] | range low-ipv6-address high-ipv6-address } } [ vpn-instance vpn-instance-name ] | fqdn fqdn-name | user-fqdn user-fqdn-name } }
根據IKE提議中配置的認證方法,配置IKE keychain或PKI域。
· 如果認證方法為數字簽名(dsa-signature或者rsa-signature),則需要配置PKI域。
· 如果指定的認證方式為預共享密鑰(pre-share),則需要配置IKE keychain。
(1) 進入係統視圖。
system-view
(2) 進入IKE Profile視圖。
ike profile profile-name
(3) 配置keychain或者PKI域。
¡ 配置采用預共享密鑰認證時所使用的keychain。
keychain keychain-name
¡ 配置采用數字簽名認證時證書所屬的PKI域。
certificate domain domain-name
缺省情況下,未指定keychain和PKI域。
配置本端作為發起方時所使用的協商模式(主模式、野蠻模式)。本端作為響應方時,將自動適配發起方的協商模式。
(1) 進入係統視圖。
system-view
(2) 進入IKE Profile視圖。
ike profile profile-name
(3) 配置IKE第一階段的協商模式。
exchange-mode { aggressive | gm-main | main }
缺省情況下,IKE第一階段發起方的協商模式使用主模式。
本端作為發起方時可以使用的IKE提議(可指定多個),先指定的優先級高。響應方會將發起方的IKE提議與本端所有的IKE提議進行匹配,如果找到匹配項則直接使用,否則繼續查找。若未查找到匹配的IKE提議,則協商失敗。
(1) 進入係統視圖。
system-view
(2) 進入IKE Profile視圖。
ike profile profile-name
(3) 配置IKE profile引用的IKE提議。
proposal proposal-number&<1-6>
缺省情況下,IKE profile未引用IKE提議,使用係統視圖下已配置的IKE提議進行IKE協商。
· 如果本端的認證方式為數字簽名,則可以配置任何類型的身份信息。若配置的本端身份為IP地址,但這個IP地址與本地證書中的IP地址不同時,設備將使用FQDN(Fully Qualified Domain Name,完全合格域名)類型的本端身份,該身份的內容為設備的名稱(可通過sysname命令配置)。
· 如果本端的認證方式為預共享密鑰,則隻能配置除DN之外的其它類型的身份信息。
(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地址。
當IPsec解封裝後得到的報文需要繼續轉發到不同的VPN中去時,設備需要知道在哪個VPN實例中查找相應的路由。缺省情況下,設備在與外網相同的VPN中查找路由,如果不希望在與外網相同的VPN中查找路由去轉發報文,則可以指定一個內部VPN實例,通過查找該內部VPN實例中的路由來轉發報文。
本功能僅對引用了IKE profile的IPsec安全策略生效,對引用了IKE profile 的IPsec安全框架不生效。
(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中查找路由。
(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的先後順序。
¡ 開啟對客戶端的認證。
client-authentication xauth
缺省情況下,對客戶端的認證處於關閉狀態。
該命令配置在中心側網關設備上。在IKE一階段協商後IPsec協商前,對遠程客戶端使用AAA機製進行認證。另外,對客戶端的認證還需要在網關設備上配置相應的AAA認證方法。
¡ 配置客戶端認證的用戶名和密碼。
client-authentication xauth user
缺省情況下,未配置客戶端認證的用戶名和密碼。
該命令配置在客戶端設備上。當遠程客戶端收到中心側認證請求報文後,可以使用本命令配置的用戶名和密碼給中心側用於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定義了一套屬性數據來描述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存活時間則取兩端的最小值。
(1) 進入係統視圖。
system-view
(2) 創建IKE提議,並進入IKE提議視圖。
ike proposal proposal-number
缺省情況下,存在一個缺省的IKE提議。
(3) 配置IKE提議的描述信息。
description
不存在IKE提議的描述信息。
(4) 指定一個供IKE提議使用的加密算法。
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加密算法。
(5) 指定一個供IKE提議使用的認證方法。
authentication-method { dsa-signature | pre-share | rsa-de | rsa-signature | sm2-de }
缺省情況下,IKE提議使用預共享密鑰的認證方法。
(6) 指定一個供IKE提議使用的認證算法。
authentication-algorithm { md5 | sha | sha256 | sha384 | sha512 | sm3 }
缺省情況下,IKE提議使用HMAC-SHA1認證算法。
(7) 配置IKE第一階段密鑰協商時所使用的DH密鑰交換參數。
dh { group1 | group14 | group2 | group24 | group5 }
缺省情況下,IKE第一階段密鑰協商時所使用的DH密鑰交換參數為group1,即768-bit的Diffie-Hellman group。
(8) (可選)指定一個IKE提議的IKE SA存活時間。
sa duration seconds
缺省情況下,IKE提議的IKE SA存活時間為86400秒。
若配置中同時存在IPsec SA存活時間,則建議IKE SA存活時間大於IPsec SA存活時間。
在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的先後順序。
(1) 進入係統視圖。
system-view
(2) 創建IKE keychain,並進入IKE keychain視圖。
ike keychain keychain-name [ vpn-instance vpn-instance-name ]
(3) 配置預共享密鑰。
pre-shared-key { address { ipv4-address [ mask | mask-length ] | ipv6 ipv6-address [ prefix-length ] } | hostname host-name } key { cipher | simple } 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。
本端身份信息適用於所有IKE SA的協商,而IKE profile下的local-identity僅適用於本IKE profile。如果IKE profile下沒有配置本端身份,則默認使用此處配置的全局本端身份。
· 如果本端采用的認證方式為數字簽名,則本端配置的任何類型的身份信息都有效;
· 如果本端采用認證方式為預共享密鑰,則本端除DN之外的其它類型的身份信息均有效。
(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-identity或ike identity命令指定。
在采用IPsec野蠻協商模式且使用數字簽名認證方式的情況下,與僅支持使用DN類型的身份進行數字簽名認證的ComwareV5設備互通時需要配置本命令。
IKE Keepalive功能用於檢測對端是否存活。在對端配置了等待IKE Keepalive報文的超時時間後,必須在本端配置發送IKE Keepalive報文的時間間隔。當對端IKE SA在配置的超時時間內未收到IKE Keepalive報文時,則刪除該IKE SA以及由其協商的IPsec SA。
· 當有檢測對方是否存活的需求時,通常建議配置IKE DPD,不建議配置IKE Keepalive。僅當對方不支持IKE DPD功能且支持IKE Keepalive功能時,才考慮配置IKE Keepalive功能。配置IKE Keepalive功能後,會定時檢測對方是否存活,因此會額外消耗網絡帶寬和計算資源。
· 本端配置的IKE Keepalive報文的等待超時時間要大於對端發送的時間間隔。由於網絡中一般不會出現超過連續三次的報文丟失,所以,本端的超時時間可以配置為對端配置的發送IKE Keepalive報文的時間間隔的三倍。
(1) 進入係統視圖。
system-view
(2) 配置通過IKE SA向對端發送IKE Keepalive報文的時間間隔。
ike keepalive interval interval
缺省情況下,不向對端發送IKE Keepalive報文。
(3) 配置本端等待對端發送IKE Keepalive報文的超時時間。
ike keepalive timeout seconds
缺省情況下,永不超時,一直等待對端發送IKE Keepalive報文。
在采用IKE協商建立的IPsec隧道中,可能存在NAT設備,由於在NAT設備上的NAT會話有一定存活時間,一旦IPsec隧道建立後如果長時間沒有流量,對應的NAT會話表項會被刪除,這樣將導致IPsec隧道無法繼續傳輸數據。為防止NAT表項老化,NAT內側的IKE網關設備需要定時向NAT外側的IKE網關設備發送NAT Keepalive報文,以便維持NAT設備上對應的IPsec流量的會話存活,從而讓NAT外側的設備可以訪問NAT內側的設備。
(1) 進入係統視圖。
system-view
(2) 配置向對端發送NAT Keepalive報文的時間間隔。
ike nat-keepalive seconds
缺省情況下,向對端發送NAT Keepalive報文的時間間隔為20秒。
DPD(Dead Peer Detection,對等體存活檢測)用於檢測對端是否存活。本端主動向對端發送DPD請求報文,對對端是否存活進行檢測。如果本端在DPD報文的重傳時間間隔(retry seconds)內未收到對端發送的DPD回應報文,則重傳DPD請求報文,若重傳四次之後仍然沒有收到對端的DPD回應報文,則刪除該IKE SA和對應的IPsec SA。
· 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探測報文。
(1) 進入係統視圖。
system-view
(2) 配置IKE DPD功能。
ike dpd interval interval [ retry seconds ] { on-demand | periodic }
缺省情況下,IKE DPD功能處於關閉狀態。
當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並發送刪除消息給對端,從而使鏈路恢複正常。
由於開啟此功能後,若攻擊者偽造大量源IP地址不同但目的IP地址相同的無效SPI報文發給設備,會導致設備因忙於與無效對端協商建立IKE SA而麵臨受到DoS(Denial of Sevice)攻擊的風險。因此,建議通常不要打開ike invalid-spi-recovery enable功能。
(1) 進入係統視圖。
system-view
(2) 開啟針對無效IPsec SPI的IKE SA恢複功能。
ike invalid-spi-recovery enable
缺省情況下,針對無效IPsec SPI的IKE SA恢複功能處於關閉狀態。
由於不同設備的能力不同,為充分利用設備的處理能力,可以配置允許同時處於協商狀態的IKE SA的最大數,也可以配置允許建立的IKE SA的最大數。
若設置允許同時協商更多的IKE SA,則可以充分利用設備處理能力,以便在設備有較強處理能力的情況下得到更高的新建性能;若設置允許同時協商較少的IKE SA,則可以避免產生大量不能完成協商的IKE SA,以便在設備處理能力較弱時保證一定的新建性能。
若設置允許建立更多的IKE SA,則可以使得設備在有充足內存的情況下得到更高的並發性能;若設置允許建立較少的IKE SA,則可以在設備沒有充足內存的情況下,使得IKE不過多占用係統內存。
(1) 進入係統視圖。
system-view
(2) 配置對本端IKE SA數目的限製。
ike limit { max-negotiating-sa negotiation-limit | max-sa sa-limit }
缺省情況下,同時處於協商狀態的IKE SA和IPsec SA的最大總和數為200,不限製非協商狀態的IKE SA數目。
IKE本地地址池與AAA授權配合使用,可以向對端客戶端應答地址請求,從而使得企業分支客戶端使用由企業中心網關統一分配的IP地址作為私網地址來進行通信,達到由企業中心統一管理的目的。關於AAA如何授權IKE本地地址池的具體配置請參見“安全配置指導”中的“AAA”。
(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
由於曆史原因,IKE協商使用sm4-cbc算法和國密主模式存在兼容性問題。通過配置本功能,設備可以兼容老版本設備,保證新老版本設備IKE協商成功。
(1) 進入係統視圖。
system-view
(2) 配置IKE協商使用sm4-cbc算法的兼容性。
ike compatible-sm4 enable
缺省情況下,IKE協商過程中使用的sm4-cbc算法的密鑰長度不兼容老版本。
(3) 配置IKE協商國密主模式的兼容性。
ike compatible-gm-main enable
缺省情況下,IKE協商國密主模式與現有版本設備及第三方設備兼容。
開啟國盾量子加密功能後,IPsec將使用國盾量子服務器提供的對稱密鑰,對需要IPsec保護的數據進行加密保護,進一步提升IPsec業務的安全性。
設備從國盾量子服務器獲取密鑰的過程如下:
(1) 連接國盾量子服務器:IKE GDQUANTUM視圖下的所有命令配置完成後,設備將與指定的國盾量子服務器建立連接。
(2) 登錄國盾量子服務器:建立連接後,設備將向國盾量子服務器發送登錄請求,並攜帶唯一入網標識和身份認證密鑰,隻有上述參數驗證無誤後,才能成功登錄國盾量子服務器。
(3) 獲取國盾量子密鑰:登錄成功後,設備將在IKE一階段協商完成後,向國盾量子服務器獲取經過加密的量子密鑰,然後再通過設備上配置的解密密鑰進行解密,最終得到供IPsec使用的量子密鑰。
開啟國盾量子加密功能的同時,將進入IKE GDQUANTUM視圖,該視圖用於配置國盾量子服務器的IP地址和端口號、國盾量子服務器為設備分配的唯一入網標識和身份認證密鑰,以及國盾量子密鑰的解密密鑰。
本特性的支持情況與設備型號有關,請以設備的實際情況為準。
F1000係列 |
型號 |
說明 |
F1000-X-G5係列 |
F1000-A-G5、F1000-C-G5、F1000-C-G5-LI、F1000-S-G5 |
不支持 |
F1000-E-G5、F1000-H-G5 |
支持 |
|
F1000-X-G3係列 |
F1000-A-G3、F1000-C-G3、F1000-E-G3、F1000-S-G3 |
支持 |
F1000-X-G2係列 |
F1000-A-G2、F1000-C-G2、F1000-E-G2、F1000-S-G2 |
不支持 |
F1000-9X0-AI係列 |
F1000-9390-AI、F1000-9385-AI |
支持 |
F1000-9380-AI、F1000-9370-AI、F1000-9360-AI、F1000-9350-AI、F1000-9330-AI、F1000-9320-AI、F1000-9310-AI、F1000-9305-AI、F1000-990-AI、F1000-980-AI、F1000-970-AI、F1000-960-AI、F1000-950-AI、F1000-930-AI、F1000-920-AI、F1000-910-AI、F1000-905-AI |
不支持 |
|
F1000-C83X0係列 |
F1000-C8395、F1000-C8390 |
支持 |
F1000-C8385、F1000-C8380、F1000-C8370、F1000-C8360、F1000-C8350、F1000-C8330、F1000-C8320、F1000-C8310、F1000-C8305 |
不支持 |
|
F1000-C81X0係列 |
F1000-C8180、F1000-C8170、F1000-C8160、F1000-C8150、F1000-C8130、F1000-C8120、F1000-C8110 |
不支持 |
F1000-7X0-HI係列 |
F1000-770-HI、F1000-750-HI、F1000-740-HI、F1000-730-HI、F1000-720-HI、F1000-710-HI |
不支持 |
F1000-C-X係列 |
F1000-C-EI、F1000-C-HI、F1000-C-XI、F1000-E-XI |
不支持 |
F1000-V係列 |
F1000-E-VG、F1000-S-VG |
不支持 |
SecBlade IV |
LSPM6FWD8、LSQM2FWDSC8 |
不支持 |
F100係列 |
型號 |
說明 |
F100-X-G5係列 |
F100-A-G5、F100-C-G5、F100-C-G5-EI、F100-C-G5-SI、F100-E-G5、F100-M-G5、F100-M-G5-EI、F100-S-G5 |
不支持 |
F100-X-G3係列 |
F100-A-G3、F100-C-G3、F100-E-G3、F100-M-G3、F100-S-G3 |
不支持 |
F100-X-G2係列 |
F100-A-G2、F100-C-G2、F100-E-G2、F100-M-G2、F100-S-G2 |
不支持 |
F100-WiNet係列 |
F100-A80-WiNet、F100-C80-WiNet、F100-C60-WiNet、F100-C50-WiNet、F100-S80-WiNet、F100-A81-WiNet、F100-A91-WiNet |
不支持 |
F100-C-A係列 |
F100-C-A6、F100-C-A5、F100-C-A3、F100-C-A2、F100-C-A1、F100-C-A6-WL、F100-C-A5-W、F100-C-A3-W |
不支持 |
F100-X-XI係列 |
F100-A-XI、F100-A-EI、F100-A-HI、F100-A-SI、F100-C-EI、F100-C-HI、F100-C-XI、F100-E-EI、F100-S-HI、F100-S-XI |
不支持 |
配置國盾量子加密功能之前,請聯係國盾量子服務器的管理員獲取相關信息。
(1) 進入係統視圖。
system-view
(2) 開啟國盾量子加密功能,並進入IKE GDQUANTUM視圖。
ike gd-quantum
缺省情況下,國盾量子加密功能處於關閉狀態。
(3) 指定國盾量子服務器的IP地址和端口號。
server-address ip-address [ port port-number ]
缺省情況下,未指定國盾量子服務器的IP地址和端口號。
(4) 配置設備唯一入網標識。
app-dev-info app-dev-info
缺省情況下,未配置設備唯一入網標識。
(5) 配置設備登錄國盾量子服務器的身份認證密鑰。
auth-key { cipher | simple } key-value
缺省情況下,未配置設備登錄國盾量子服務器的身份認證密鑰。
(6) 配置國盾量子密鑰的解密密鑰。
decrypt-quantum-key { cipher | simple } key-value
缺省情況下,未配置國盾量子密鑰的解密密鑰。
開啟IKE的告警功能後,IKE會生成告警信息,用於向網管軟件報告該模塊的重要事件。生成的告警信息將被發送到設備的SNMP模塊,通過設置SNMP中告警信息的發送參數,來決定告警信息輸出的相關屬性。有關告警信息的詳細介紹,請參見“網絡管理和監控配置指導”中的“SNMP”。
如果希望生成並輸出某種類型的IKE告警信息,則需要保證IKE的全局告警功能以及相應類型的告警功能均處於開啟狀態。
(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的所有告警功能均處於關閉狀態。
開啟IKE協商事件日誌記錄功能後,設備會輸出IKE協商過程中的相關日誌。
(1) 進入係統視圖。
system-view
(2) 開啟IKE協商事件日誌功能。
ike logging negotiation enable
缺省情況下,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 ] ] ] |
顯示IKE的統計信息 |
display ike statistics |
清除IKE SA |
reset ike sa [ connection-id connection-id ] |
清除IKE的MIB統計信息 |
reset ike statistics |
(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.
IKE提議配置錯誤。
(1) 排查IKE提議相關配置。具體包括:檢查兩端的IKE提議是否匹配,即IKE提議中的認證方法、認證算法、加密算法是否匹配。
(2) 修改IKE提議的配置,使本端IKE提議的配置和對端匹配。
(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.
故障原因可能為以下兩點:
(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.
(1) 檢查匹配到的IKE提議是否在IKE profile下引用。以故障分析中的調試信息為例,IKE profile profile1中需要引用IKE proposal 1。
(2) 檢查匹配到的IKE keychain是否在IKE profile下引用。以故障分析中的調試信息為例,IKE profile profile1中需要引用IKE keychain keychain1。
(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.
IPsec安全策略參數配置錯誤。
(1) 排查IPsec相關配置。具體包括:檢查雙方接口上應用的IPsec安全策略的參數是否匹配,即引用的IPsec安全提議的協議、加密算法和認證算法是否匹配。
(2) 修改IPsec安全策略配置,使本端IPsec安全策略的配置和對端匹配。
(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.
響應方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
-----------------------------------------------
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
(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
(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地址。
IKEv2(Internet Key Exchange Version 2,互聯網密鑰交換協議第2版)是第1版本的IKE協議(本文簡稱IKEv1)的增強版本。IKEv2與IKEv1相同,具有一套自保護機製,可以在不安全的網絡上安全地進行身份認證、密鑰分發、建立IPsec SA。相對於IKEv1,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的重協商功能。
通知交換:用於傳遞控製信息,例如錯誤信息或通告信息。
在IKE_SA_INIT交換階段,發起方采用“猜”的辦法,猜一個響應方最可能使用的DH組攜帶在第一條消息中發送。響應方根據發起方“猜”的DH組來響應發起方。如果發起方猜測成功,則這樣通過兩條消息就可以完成IKE_SA_INIT交換。如果發起方猜測錯誤,則響應方會回應一個INVALID_KE_PAYLOAD消息,並在該消息中指明將要使用的DH組。之後,發起方采用響應方指定的DH組重新發起協商。這種DH猜想機製,使得發起方的DH組配置更為靈活,可適應不同的響應方。
在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功能將會停止工作
為了保證安全,IKE SA和IPsec SA都有一個生存時間,超過生存時間的SA需要重新協商,即SA 的重協商。與IKEv1不同的是,IKEv2 SA的生存時間不需要協商,由各自的配置決定,重協商總是由生存時間較小的一方發起,可盡量避免兩端同時發起重協商造成冗餘SA的生成,導致兩端SA狀態不一致。
與IKEv1不同,IKEv2中所有消息都是以“請求–響應”對的形式出現,IKEv2通過消息頭中的一個Message ID字段來標識一個“請求–響應”對。發起方發送的每一條消息都需要響應方給予確認,例如建立一個IKE SA一般需要兩個“請求-響應”對。如果發起方在規定時間內沒有接收到確認報文,則需要對該請求消息進行重傳。IKEv2消息的重傳隻能由發起方發起,且重傳消息的Message ID必須與原始消息的Message ID一致。
與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)
IKEv2配置任務如下:
(1) 配置IKEv2 profile
d. 配置本端身份信息
e. 配置匹配對端身份的規則
g. 配置內部VPN實例
(2) 配置IKEv2安全策略
(3) 配置IKEv2安全提議
若IKEv2安全策略中指定了IKEv2提議,則必配。
(4) 配置IKEv2 keychain
隻要其中一端配置的認證方式為預共享密鑰方式,則必選。
如果兩端配置的認證方式都是RSA數字簽名方式,則不需要配置。
(5) (可選)配置IKEv2 cookie-challenge功能
該功能僅對於響應方有意義。
(6) (可選)配置全局IKEv2 DPD探測功能
(7) (可選)配置IKEv2 NAT Keepalive功能
(8) (可選)配置為對端分配IP地址的IKEv2本地地址池
為了配置過程順利進行,在IKEv2配置之前,用戶需要確定以下幾個因素:
· 確定IKEv2初始交換過程中使用的算法的強度,即確定對初始交換進行安全保護的強度(包括加密算法、完整性校驗算法、PRF算法和DH組算法)。不同的算法的強度不同,算法強度越高,受保護數據越難被破解,但消耗的計算資源越多。一般來說,密鑰越長的算法強度越高。
· 確定本地認證方法以及對端的認證方法。若使用預共享密鑰方式,則要確定通信雙方預先約定的預共享密鑰;若使用RSA數字簽名方式,則要確定本端所使用的PKI域。關於PKI的配置,請參見“安全配置指導”中的“PKI”。
創建一個IKEv2 profile,並進入IKEv2 Profile視圖。
(1) 進入係統視圖。
system-view
(2) 創建一個IKEv2 profile,並進入IKEv2 Profile視圖。
ikev2 profile profile-name
IKEv2協商時本端和對端采用的身份認證方式。隻能指定一個本端身份認證方式,可以指定多個對端身份認證方式。本端和對端可以采用不同的身份認證方式。
(1) 進入係統視圖。
system-view
(2) 進入IKEv2 Profile視圖。
ikev2 profile profile-name
(3) 指定IKEv2本端和對端的身份認證方式。
authentication-method { local | remote } { dsa-signature | ecdsa-signature | pre-share | rsa-signature }
缺省情況下,未配置本端和對端認證方式。
根據IKEv2 profile中配置的認證方法,配置IKEv2 keychain或PKI域。
· 如果任意一方指定的身份認證方式為數字簽名(dsa-signature、rsa-signature或者ecdsa-signature),則需要配置PKI域。
· 如果任意一方指定的身份認證方式為預共享密鑰(pre-share),則需要配置IKEv2 keychain。
(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命令使用的認證方法選擇其中一個配置。
· 如果本端的認證方式為數字簽名,則可以配置任何類型的身份信息。若配置的本端身份為IP地址,但這個IP地址與本地證書中的IP地址不同,設備將使用FQDN類型的本端身份,該身份的內容為設備的名稱(可通過sysname命令配置)。
· 如果本端的認證方式為預共享密鑰,則隻能配置除DN之外的其它類型的身份信息。
(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地址。
IKEv2對等體需要根據對端的身份信息查找一個本端的IKEv2 profile,然後使用此IKEv2 profile中的信息驗證對端身份。對端身份信息若能滿足本地某個IKEv2 profile中指定的匹配規則,則該IKEv2 profile為查找的結果。匹配IKEv2 profile的順序取決於IKEv2 profile的優先級,優先級高的先匹配。
(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中的信息與對端完成認證。
本功能限製IKEv2 profile隻能在所屬VPN實例的接口上協商。
(1) 進入係統視圖。
system-view
(2) 進入IKEv2 Profile視圖。
ikev2 profile profile-name
(3) 配置IKEv2 profile所屬的VPN實例。
match vrf { name vrf-name | any }
缺省情況下,IKEv2 profile屬於公網。
當IPsec解封裝後的報文需要繼續轉發到不同的VPN時,設備需要知道在哪個VPN實例中查找相應的路由。缺省情況下,設備在與外網相同的VPN實例中查找路由,如果不希望在與外網相同的VPN實例中查找路由,則可以指定一個內部VPN實例,通過查找該內部VPN實例的路由來轉發報文。
本功能僅對引用了IKEv2 profile的IPsec安全策略生效,對引用了IKEv2 profile 的IPsec安全框架不生效。
(1) 進入係統視圖。
system-view
(2) 進入IKEv2 Profile視圖。
ikev2 profile profile-name
(3) 配置內部VPN實例。
inside-vrf vrf-name
缺省情況下,IKEv2 profile未指定內部VPN實例,即內網與外網在同一個VPN中。
(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”。
在進行IKE_SA_INIT協商時,係統需要查找到一個與本端相匹配的IKEv2安全策略,並使用其中引用的安全提議進行安全參數的協商,匹配的依據為本端安全網關的IP地址。
· 若係統中配置了IKEv2安全策略,則根據本端安全網關的IP地址與所有已配置的IKEv2安全策略進行逐一匹配,如果未找到匹配的IKEv2安全策略或找到的安全策略中引用的安全提議配置不完整,則IKE_SA_INIT協商將會失敗。
· 若係統中未配置任何IKEv2安全策略,則直接采用缺省的IKEv2安全策略default。
· 係統中存在多個IKEv2安全策略的情況下,係統根據安全策略的優先級從高到低的順序依次匹配。如果通過match local address命令指定了匹配IKEv2安全策略的本端地址,則優先匹配指定了本端地址匹配條件的策略,其次匹配未指定本端地址匹配條件的策略。
(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。
IKEv2安全提議用於保存IKE_SA_INIT交換中使用的安全參數,包括加密算法、完整性驗證算法、PRF算法和DH組,其中每類安全參數均可以配置多個,其優先級按照配置順序依次降低。
· 一個完整的IKEv2安全提議中至少應該包含一組安全參數,即一個加密算法、一個完整性驗證算法、一個PRF算法和一個DH組。
· 若同時指定了多個IKEv2安全提議,則它們的優先級按照配置順序依次降低。
(1) 進入係統視圖。
system-view
(2) 創建IKEv2安全提議,並進入IKEv2提議視圖。
ikev2 proposal proposal-name
缺省條件下,存在一個名稱為default的缺省IKEv2安全提議。
該提議中定義的加密算法為aes-cbc-128和3des,完整性校驗算法為sha1和md5,PRF算法為sha1和md5,DH組為group5和group2。
(3) 指定IKEv2安全提議使用的加密算法。
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 } *
缺省情況下,IKEv2安全提議未定義加密算法。
(4) 指定IKEv2安全提議使用的完整性校驗算法。
integrity { aes-xcbc-mac | md5 | sha1 | sha256 | sha384 | sha512 } *
缺省情況下,IKEv2安全提議未定義完整性校驗算法。
(5) 指定IKEv2安全提議使用的DH組。
dh { group1 | group14 | group2 | group24 | group5 | group19 | group20 } *
缺省情況下,IKEv2安全提議未定義DH組。
(6) 指定IKEv2安全提議使用的PRF算法。
prf { aes-xcbc-mac | md5 | sha1 | sha256 | sha384 | sha512 } *
缺省情況下,IKEv2安全提議使用配置的完整性校驗算法作為PRF算法。
IKEv2 keychain用來指定與對端進行IKEv2協商時使用的共享密鑰信息。一個IKEv2 keychain下可以指定多個IKEv2 peer,每個IKEv2 peer中包含了一個對稱預共享密鑰或一個非對稱預共享密鑰對,以及用於查找該IKEv2 peer的匹配參數(對等體的主機名稱、IP地址或地址範圍、身份信息)。其中,IKEv2協商的發起方使用對端的主機名稱、IP地址或地址範圍查找IKEv2 peer,響應方使用對端的IP地址、地址範圍或身份信息查找IKEv2 peer。
(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的預共享密鑰。
IKEv2 cookie-challenge功能用來防止攻擊者通過源IP仿冒對響應方造成DoS攻擊。
開啟IKEv2 cookie-challenge功能的同時需要指定啟用cookie-challenge功能的閾值,當響應方本地存在的半開狀態的IKEv2 SA數目達到指定的閾值時,則cookie-challenge功能開始生效。
(1) 進入係統視圖。
system-view
(2) 開啟IKEv2 cookie-challenge功能。
ikev2 cookie-challenge number
缺省情況下,IKEv2 cookie-challenge功能處於關閉狀態。
IKEv2 DPD探測功能用來探測對端是否存活,包括以下兩種模式:
· 按需探測模式(on-demand):根據流量來探測對端是否存活。在本端發送用戶報文時,如果發現自最後一次收到對端報文之後,在指定的觸發IKEv2 DPD的時間間隔內一直未收到對端報文,則發送DPD報文探測對端是否存活。
· 定時探測模式(periodic):按照配置的觸發IKEv2 DPD的時間間隔定時發送DPD報文,探測對端是否存活。
當係統視圖下和IKEv2 profile視圖下都配置DPD探測功能時,IKEv2 profile視圖下的DPD配置覆蓋係統視圖下的全局DPD配置。若IKEv2 profile視圖下沒有配置DPD探測功能,則應用全局DPD配置。
(1) 進入係統視圖。
system-view
(2) 配置IKEv2 DPD探測功能。
ikev2 dpd interval interval [ retry seconds ] { on-demand | periodic }
缺省情況下,全局IKEv2 DPD探測功能處於關閉狀態。
IKEv2 NAT Keepalive功能僅對位於NAT之後的設備(即該設備位於NAT設備連接的私網側)有意義。NAT之後的IKEv2網關設備需要定時向NAT之外的IKEv2網關設備發送NAT Keepalive報文,以確保NAT設備上相應於該流量的會話存活,從而讓NAT之外的設備可以訪問NAT之後的設備。因此,配置的發送NAT Keepalive報文的時間間隔需要小於NAT設備上會話表項的存活時間。本功能必須在探測到NAT之後才能生效。
(1) 進入係統視圖。
system-view
(2) 配置向對端發送NAT Keepalive報文的時間間隔。
ikev2 nat-keepalive seconds
缺省情況下,探測到NAT後發送NAT Keepalive報文的時間間隔為10秒。
IKEv2本地地址池與AAA授權配合使用,可以向對端網關(客戶端)分配地址或應答地址請求,從而使得對端網關(企業分支客戶端)使用由企業中心網關統一分配的IP地址作為私網地址來進行通信,達到由企業中心統一管理的目的。關於AAA授權IKEv2本地地址池的具體配置請參見“安全配置指導”中的“AAA”。
(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
在完成上述配置後,在任意視圖下執行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 |
通過如下命令查看當前的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
IKEv2提議配置錯誤。
(1) 排查IKEv2相關配置。具體包括:檢查兩端的IKEv2提議是否匹配,即IKEv2提議中的認證方法、認證算法、加密算法、PRF算法是否匹配。
(2) 修改IKEv2提議的配置,使本端IKEv2提議的配置和對端匹配。
通過display ikev2 sa命令查看當前的IKEv2 SA信息,發現IKEv2 SA協商成功,其狀態(Status字段)為EST。但通過display ipsec sa命令查看當前的IPsec SA時,發現沒有協商出相應的IPsec SA。
IPsec安全策略參數配置錯誤。
(1) 排查IPsec相關配置。具體包括:檢查雙方接口上應用的IPsec安全策略的參數是否匹配,即引用的IPsec安全提議的協議、加密算法和認證算法是否匹配。
(2) 修改IPsec策略配置,使本端IPsec安全策略的配置和對端匹配。
雙方的ACL配置正確,也有相匹配的IKEv2安全提議,但安全隧道無法建立或者存在安全隧道卻無法通信。
這種情況一般是由於網絡狀態不穩定,安全隧道建立好以後,有一方的設備重啟造成了兩端的IKEv2 SA或者IPsec SA不對稱。
使用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保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!