亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

CIsco路由器實現IPSec 虛擬專用網原理及配置詳解

發布時間:2020-08-05 09:52:22 來源:網絡 閱讀:1169 作者:筱振 欄目:安全技術

博文大綱:
一、虛擬專用網概述;
1.虛擬專用網的定義;
2.虛擬專用網的模型與類型;
(1)虛擬專用網的連接模式;
(2)虛擬專用網的類型;
二、虛擬專用網技術;
1.加密技術;
(1)對稱加密算法;
(2)非對稱加密算法;
(3)密鑰交換;
2.數據報文驗證;
(1)HMAC功能實現驗證功能;
(2)MD5和SHA;
三、IPSec 虛擬專用網;
1.IPsec連接;
2.ISAKMP/IKE階段1;
3.ISAKMP/IKE階段2;
四、配置實現IPSec 虛擬專用網;
五、常用排錯的命令;

關于虛擬專用網理論知識較多,看一次、兩次的,可能不能完全掌握,建議沒事多看看!

一、虛擬專用網概述

虛擬專用網技術期初是為了解決明文數據在網絡上傳輸所帶來的安全隱患而產生的。TCP/IP協議族中的很多協議都是采用明文方式傳輸的。比如:Telnet、FTP、TFTP等。一些非法用戶可能為了獲取利益,通過一系列非法手段可以截獲明文數據,使企業和個人蒙受損失。

虛擬專用網技術可以從某種程度上解決這種問題。它可以對公網上傳輸的數據進行加密,及時非法用戶通過某種手段獲取到數據,也無法了解數據信息的真正含義;也可以實現數據傳輸雙方的身份驗證,避免非法用戶偽裝成網絡中的合法用戶***網絡資源。

1.虛擬專用網的定義

虛擬專用網就是在兩個網絡實體之間建立的一種受保護的連接,這兩個實體可以通過點到點的鏈路直接相連,通常情況下,他們會相隔較遠的距離。

對于“受保護”一詞,可以從以下方面理解:

  • 通過使用加密技術防止數據被竊聽;
  • 通過數據完整性驗證數據被破壞、篡改;
  • 通過認證機制實現通信方身份確認,來防止通信數據被截獲和回放;

此外,虛擬專用網還定義了一下功能:

  • 何種流量需要被保護;
  • 數據被保護的機制;
  • 數據的封裝過程;

實際工作環境中的虛擬專用網不一定包含上述的所有功能,這要結合實際情況,而且很多企業可能采用不止一種的虛擬專用網解決方案。

2.虛擬專用網的模型與類型

(1)虛擬專用網的連接模式

虛擬專用網有兩種基本的連接模式:傳輸模式和隧道模式;

1)傳輸模式

如圖:
CIsco路由器實現IPSec 虛擬專用網原理及配置詳解
傳輸模式一個最顯著的特點就是,在整個虛擬專用網的傳輸過程中,IP包頭并沒有被封裝進去,這就意味著從源端到目的端數據始終使用原有的IP地址進行通信。而傳輸的實際數據載荷被封裝在虛擬專用網報文中,對于大多數虛擬專用網傳輸來說,虛擬專網網的報文封裝過程就是數據的加密過程,因此,非法用戶即時截獲數據后也無法破解數據內容,卻可清晰的知道通信雙反的地址信息。

由于傳輸模式封裝結構相對簡單(每個數據報文比隧道模式結構節省20字節),因此傳輸效率較高,多用于通信雙方在用一個局域網內的情況。

2)隧道模式

如圖:
CIsco路由器實現IPSec 虛擬專用網原理及配置詳解
隧道模式與傳輸模式的區別顯而易見,虛擬專用網設備將整個三層數據報文封裝在虛擬專用網數據內,再為封裝后的數據報文添加新的IP包頭。由于在新IP包頭中封裝的是虛擬專用網設備的IP地址信息,所以當非法用戶截獲數據后,不但無法了解實際載荷數據的內容,同時也無法知道實際通信雙方的地址信息。

由于隧道模式的虛擬專用網在安全性和靈活性方面有很大地優勢,在企業環境中應用十分廣泛,總公司與分公司跨廣域網的通信,移動用戶在公網訪問公司內部資源等很多情況,都會應用隧道模式的虛擬專用網對數據傳輸進行加密。

(2)虛擬專用網的類型

通信情況下,虛擬專用網的類型分為站點到站點虛擬專用網和遠程訪問虛擬專用網。

1)站點到站點虛擬專用網

站點到站點虛擬專用網就是通過隧道模式在虛擬專用網網關之間保護兩個或更多的站點之間的流量,站點間的流量通常是指局域網之間(L2L)的通信流量。L2L虛擬專用網多用于總公司域分公司、分公司之間在公網上傳輸重要業務數據。

如圖:
CIsco路由器實現IPSec 虛擬專用網原理及配置詳解
對于兩個局域網的終端用戶來說,在虛擬專用網網關中間的網絡是同名的,就好像通過一臺路由器連接兩個局域網。總公司的終端設備通過虛擬專用網訪問分公司的網絡資源,數據包封裝的IP地址都是公司內網地址(一般是私有地址),而虛擬專用網網關對數據包進行的再次封裝過程,客戶端是全然不知的。

2)遠程訪問虛擬專用網

遠程訪問虛擬專用網通常用于單用戶設備與虛擬專用網網關之間的通信連接,單用戶設備一般為一臺PC或小型辦公網絡等。虛擬專用網連接的一端為PC,可能會讓很多人誤解遠程訪問虛擬專用網使用傳輸模式,但因為該種虛擬專用網往往也是從公網傳輸關鍵數據,而且單一用戶更容易成為非法用戶的目標,所以遠程訪問虛擬專用網對于安全性的要求較高,更適用于隧道模式。

要想實現隧道模式的通信,就需要給遠程客戶端分配兩個IP地址,一個是它自己的NIC地址,另一個是內網地址,也就是說遠程客戶端在虛擬專用網建立過程中同時充當虛擬專用網網關(使用NIC地址)和終端用戶(使用內網地址)。

如圖:
CIsco路由器實現IPSec 虛擬專用網原理及配置詳解
當遠端的移動用戶與總公司的網絡實現遠程訪問***連接后,就好像稱為總公司局域網中一個普通用戶,不僅使用總公司網段內的地址訪問公司資源,而且因為其使用隧道模式,真是的IP地址將被隱藏起來,實際公司通信的一段鏈路對于遠端移動用戶而言就像是透明的。

二、虛擬專用網技術

1.加密技術

加密就是一種將數據轉換成另一種形式的過程,如果不了解用于加密的算法,解密幾乎是可能的。

實際虛擬專用網設備所使用的算法是相當復雜的,一般會涉及一些較為復雜的數學算法,利用這些短發可以實現數據加密、數據完整性驗證、身份驗證等虛擬專用網的基本功能。一般來說,可以將這些加密算法分為兩大類:對稱加密和非對稱加密。

(1)對稱加密算法

對稱加密算法使用統一密鑰對信息提供安全的保護,對稱加密算法數據加密、解密過程如圖:
CIsco路由器實現IPSec 虛擬專用網原理及配置詳解

目前最常用的加密算法有DES、3DES、AES等。

1)DES算法

DES算法曾經在虛擬專用網領域應用很廣,屬于IBM公司的研發產品,其密鑰長度為64位,其中8位用于奇偶校驗,所以實際有效長度為56位。雖然該算法目前沒有找到更好的方法破解,但是通過一些技術手段已經可以在較短的時間內破解DES算法,所以在實際工程實施過程中已經不建議使用該種算法。

2)3DES算法

理論上將3DES算法就是DES算法的增強版本,因為3DES使用了三個階段的DES,即同時使用三個不同的56位密鑰,所以相當于產生了一個168位的有效密鑰長度,這種級別的密鑰目前還沒有計算機有能力在較短時間內破解,而且其執行效率雖然在軟件環境中比較慢,但是在硬件環境中并不明顯。

3)AES算法

3DES算法雖然目前為止是安全的,但隨著計算機硬件的更新,總有一天也會變的不安全。AES算法比3DES算法更安全,它支持128、192和256為密鑰程度,有效的密鑰長度可達千位。更重要的是,AES算法那采用更為高效的編寫方法,對CPU的占有lv較少,所以諸如IPSec 虛擬專用網等實際工程的實施過程中趨向于使用AES來提供更好的加密功能。

(2)非對稱加密算法

1)算法原理

非對稱算法使用公鑰和私鑰兩個不同的密鑰進行加密和解密。用一個密鑰加密的數據僅能被另一個密鑰解密,且不能從一個密鑰推算出另一個密鑰。非對稱加密算法數據加密、解密過程如圖:
CIsco路由器實現IPSec 虛擬專用網原理及配置詳解

2)算法的優、缺點

非對稱加密算法最大的優勢就在于其安全性。目前為止,還沒有任何一種方式可以在合理的時間范圍內破解該算法。

非對稱加密的算法也不是完美的,由于其計算過程復雜,它的計算效率要比對稱加密算法低很多。

3)DH算法

常用的非對稱算法有RSA、DSA、DH。前兩種算法常用于驗證功能,而DH算法一般被用來實現IPSec中的internet密鑰交換(IKE)協議。

DH算法的原理與傳統意義上的非對稱加密算法有一點區別:通信雙方交換公鑰后,會用自己的密鑰和對方的密鑰通過DH算法計算出一個共享密鑰,然后雙方會使用這個共享密鑰加密傳輸數據。從算法原理上看,可以說DH算法已經將對稱加密算法與非對稱加密算法結合到了一起。

DH算法支持可變的密鑰長度,由于公鑰和私鑰的長度不同,因此通過DH算法計算出的共享密鑰的有效長度也就不同。這些都是通過DH算法的密鑰組定義的。密鑰的有效長度越長,安全性也就越強,同時CPU的資源占用率也就越高。因此,選擇合適的DH組要從網絡的安全需求和設備本身的性能兩方面考慮。

(3)密鑰交換

解決密鑰交換的方法有:

  • 帶外共享:即通信雙方通過一個磁盤、一張紙或一個電話等方式實現密鑰的共享。這種方案最大的缺陷就是事實過程花費的時間較長,如果管理的虛擬專用網設備數量較多,或者公司對于密鑰的安全要求較高,需要一小時更換一次密鑰,這種方式基本就不會使用了;
  • 帶內管理:即通過Telnet、SSH等連接方式通過網絡傳輸密鑰,這種方法可以提高共享密鑰的效率,但前提是必須要保證傳輸密鑰的通道絕對安全,而傳輸密鑰本身就是為了建立一條安全的通道,這似乎陷入一種死循環中;

其實解決這個問題可以通過非對稱加密算法那加密對稱加密的密鑰,再用對稱加密算法加密實際要傳輸的數據即可!

2.數據報文驗證

數據報文驗證包括兩個方面:數據庫來源驗證(身份驗證)和報文完整性驗證。

(1)HMAC功能實現驗證功能

在虛擬專用網領域,對數據進行來源和完整性驗證通常是借助三列算法實現的,HMAC(散列消息驗證碼)功能專門用來處理數據及數據包相關的驗證問題,它使用一個共享的對稱密鑰來產生固定的輸出結果——數字簽名。HMAC屬于單向散列算法的一個子集,散列算法是不可逆的,即散列后的數據是無法還原的。

傳統意義上的散列函數對于保障數據傳輸的安全性存在缺陷,即網上的竊聽者可以截獲傳輸的數據,然后篡改數據內容,并通過散列算法得到固定的輸出,這樣接收方就不可能知道有人篡改過數據。而HMAC功能讓密鑰稱為散列函數其中的一個變量,通過計算的到固定的輸出——數字簽名,這樣即使竊聽者截獲數據,由于沒有共享密鑰,他無法在篡改數據后得到正確的數字簽名,所以HMAC可以防篡改(完整性驗證)。同樣,由于共享密鑰只有真正的通信雙方具有,所有HMAC功能也可實現身份驗證。

如圖:
CIsco路由器實現IPSec 虛擬專用網原理及配置詳解

HMAC算法的原理如下:
(1)雙方共享執行Hash算法的密鑰key;
(2)路由器A的用戶數據與共享密鑰key通過Hash算法得到數字簽名;
(3)路由器A將數字簽名和用戶數據一同傳送會給路由器B;
(4)路由器B執行相同的算法過程得到數字簽名;
(5)路由B比對數字簽名是否一致;

如果數據在傳輸過程被篡改或損壞,接收方通過Hash算法計算出來的數字簽名就會和發送方的數字簽名不同,于是便可以得知數據的內容在傳輸過程中被篡改。同理,如果竊聽者冒充其中一個通信方,它雖然可以偽造通信方的身份信息,但絕對無法偽造身份信息和共享密鑰計算后的數字簽名。

(2)MD5和SHA

MD5(信息——摘要算法)在REC 1321中有明確規定,它創建了一個128位的數字簽名,是目前HMAC功能中最為廣泛的一種算法。

SHA(安全散列算法)是由NIST開發的,且已稱為美國國家標磚,一般稱為SHA-1,它可以產生160為的簽名(20字節的長度)。

目前,已有人證明不同的輸入數值可以通過MD5計算可以得到相同的數字簽名,說明MD5的簽名可能具有一定程度的虛假性。SHA也出現類似問題,并且有人宣稱數字簽名理論上是可以偽造的。因為存在這種安全隱患,現在已經開發了SHA-256和SHA-512等。它們具有更長的簽名長度。對于目前的計算水平來說,可以消除上述安全隱患。

三、IPSec 虛擬專用網

IPSec技術實現虛擬專用網是目前較為廣泛的一種應用。

1.IPsec連接

對等體之間建立IPSec 虛擬專用網的連接需要三個步驟。

1)流量觸發IPSec

一般來說,IPSec建立過程是由對等體之間發送的流量觸發的,一旦有虛擬專用網流量經過虛擬專用網網關,連接過程便開始建立,當然,手動配置也可以實現這一過程,在配置設備實現此步驟前,網絡工程師需要明確哪些流量需要被“保護”。

2)建立管理連接

IPSec使用ISAKMP/IKE階段1來構建一個安全的管理連接,這里需要注意的是,這個管理連接只是一個準備工作,它不被用來傳輸實際的數據。在配置設備實現此步驟前,網絡工程師需要明確設備如何實現驗證,使用何種加密機認證算法,使用哪種DH組等問題。

3)建立數據連接

IPSec基于安全的管理連接協商建立安全的數據連接,而ISAKMP/IKE階段2就是用來完成這個任務的,數據連接用于傳輸真正的用戶數據。在配置設備實現此步驟前,網絡工程師需要明確使用何種安全協議,針對具體的安全協議應使用加密或驗證算法,以及數據的傳輸模式(隧道模式或傳輸模式)等問題。

經過IPSec建立的三部曲后,虛擬專用網流量便可以按照協商的結果被加密/解密了,但是虛擬專用網連接并不是一次性的,無論是管理連接還是數據庫連接都有一個生存周期與之關聯,一旦到期連接便會被中止。如果需要繼續傳輸虛擬專用網數據,連接還需要重新被構建,這種設計主要是處于安全性的考慮。

2.ISAKMP/IKE階段1

ISAKMP描述了密鑰管理的框架,它定義了消息的格式和密鑰交換協議的機制,以及構建連接的協商過程;而IKE(因特網密鑰交換)是一個混合型協議,它定義了密鑰的產生、共享和管理。IKE使用UDP端口500。一般來說,ISAKMP和IKE關鍵字可互換使用。

ISAKMP/IKE階段1的交換過程有兩個模式:主模式和積極模式。積極模式比主模式快、主模式比積極模式安全。

無論虛擬專用網的類型是站點到站點還是遠程訪問,都需要完成三個任務:

  • 協商采用何種方式建立管理連接;
  • 通過DH算法共享密鑰信息;
  • 對等體彼此進行身份驗證;

在主模式中,這三個任務是通過6個數據報文來完成的:

  • 前兩個數據包用于協商對等體間的管理連接使用何種安全策略(交換ISAKMP/IKE傳輸集);
  • 中間的兩個數據包通過DH算法產生并交換加密算法和HMAC功能所需的密鑰;
  • 最后兩個數據包使用預共享密鑰等方式執行對等體間的身份驗證;

需要注意的是,前四個報文為明文傳輸,從第五個數據報文開始為密文傳輸,而前四個數據包通過各種算法最終產生的密鑰用于第5、第6個數據包及后續數據的加密。

(1)ISAKMP/IKE階段1建立過程

1)交換ISAKMP/IKE傳輸集

ISAKMP/IKE傳輸集就是一組用來保護管理連接的安全措施,主要包括以下幾個方面:

  • 加密算法:DES、3DES和AES;
  • HMAC算法:MD5或SHA-1;
  • 設備驗證的類型:預共享密鑰;
  • DH密鑰組:Cisco支持1、2、5、7(Cisco路由器不支持密鑰組7);
  • 管理連接的生存周期;

設備可能會有不止一個傳輸集,如果設備發起連接,它會將傳輸集列表(包括所有的傳輸集)發送到遠端對等體設備并進行以此對比,直到找到匹配的結果。如果對比所有傳輸集后沒有發現匹配的傳輸集,管理連接將無法建立,IPSec連接失敗。

如果使用Cisco產品實現虛擬專用網連接,在ISAKMP/IKE傳輸集中除了生存周期,其他項必須匹配才能建立連接。乳溝對等體之間的生存周期不同,對等體會使用雙方生存周期數值較小的一個。這同樣是IPSec的規則,但有些廠商沒有遵循這一規則,因此如果遇到Cisco與其他廠商設備構建IPSec連接時,應注意確保ISAKMP/IKE傳輸集中所有參數的匹配。

2)通過DH算法實現密鑰交換

DH算法屬于非對稱加密算法,因此它將產生公鑰/私鑰對的組合,且彼此共享公鑰。虛擬專用網對等體用對方的公鑰和自己的私鑰通過一種功能運算產生一個安全的共享密鑰。及時有人截獲數據,也會因為沒有私鑰而無法推導出共享密鑰。

3)實現設備間的身份驗證

設備身份驗證最常用的方法就是預共享密鑰,即在對等體之間通過帶外的方式共享密鑰,并存儲子啊設備的本地。設備驗證的過程可以通過加密算法或HMAC功能兩種方法實現。而加密算法很少用于身份驗證,多數情況都會通過HMAC功能實現。

(2)ISAKMP/IKE階段1相關配置命令

本篇博文以Cisco的路由器為例!

1)配置安全策略

ISAKMP/IKE策略包含以下參數:策略的序列號、加密算法、散列算法、驗證方法、DH組、生存周期等。命令如下:

R1(config)#crypto isakmp policy 1
//用于建立建立ISAKMP/IKE的管理連接策略;
//每個策略對應一個序列號,范圍從1~10000,數值越低,優先級越高;
R1(config-isakmp)#encryption des
//用于指定管理連接建立的最后兩個報文(身份驗證)采用何種加密算法(des、3des、aes)
R1(config-isakmp)#hash sha
//指定了驗證過程采用的散列算法(sha、md5)
R1(config-isakmp)#authentication pre-share
//指定設備身份驗證的方式{pre-shara(預共享密鑰)| rsa-encr | rsa-sig}
R1(config-isakmp)#group 1
//用于指定DH密鑰組,默認使用DH1;
//組號也大,算法越安全,占用設備的資源也就越多。范圍(1、2、5、14、15、16)
R1(config-isakmp)#lifetime 86400  
//指定管理連接的生存周期,默認值為86400s(24小時)
R1#show crypto isakmp policy
//查看配置安全策略的相關配置
Global IKE policy
Protection suite of priority 1      //這里都是策略1指定的各項參數
        encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
        hash algorithm:         Secure Hash Standard
        authentication method:  Pre-Shared Key
        Diffie-Hellman group:   #1 (768 bit)
        lifetime:               86400 seconds, no volume limit
Default protection suite             //這里則顯示了設備默認的配置參數
        encryption algorithm:   DES - Data Encryption Standard (56 bit keys).
        hash algorithm:         Secure Hash Standard
        authentication method:  Rivest-Shamir-Adleman Signature
        Diffie-Hellman group:   #1 (768 bit)
        lifetime:               86400 seconds, no volume limit
2)配置預共享密鑰
R1(config)#crypto isakmp key 0 123456 address 192.168.1.1
//其中0表示明文,6表示密文
//123456就是密鑰的具體內容
//192.168.1.1就是對端與之共享密鑰的對等體設備地址
//IP地址后面如果不加子網掩碼的話,默認使用32位掩碼
R1#show crypto isakmp key                   //查看預共享密鑰的配置
Keyring               Hostname/Address                   Preshared Key
//明文狀態下,如果是密文狀態下,密鑰內容將不會顯示
default               192.168.1.1                        123456

通過“show run”也只能看到明文的密鑰信息

為了增強安全性,在IOS 12.3(2)T版本中,增加了一個選項來加密密鑰,但是要求設備的IOS鏡像必須支持AES加密,命令如下:

R1(config)#key config-key password-encrypt
New key: 
Confirm key:                    //密碼不得小于8個字符
R1(config)#password encryption aes

R1#show run
!
crypto isakmp policy 1
 authentication pre-share
crypto isakmp key 6 GZF]iBbT^d_eBMHQT^HIhZ`XFJhAAB address 192.168.1.1
!   
//也只能看到密鑰加密后的效果
R1(config)#no key config-key password-encrypt 
//可以導致共享密鑰不可用
WARNING: All type 6 encrypted keys will become unusable
Continue with master key deletion ? [yes/no]: yes

3.ISAKMP/IKE階段2

ISAKMP/IKE階段2主要是在兩個IPSec對等體間建立數據連接,其主要完成以下任務:

  • 定義對等體間需要保護何種流量;
  • 定義用來保護數據的安全協議;
  • 定義傳輸模式;
  • 定義數據連接的生存周期及密鑰刷新的方式;

其中,IPSec對等體一般是通過ACL來匹配那些需要加密傳輸的虛擬專用網流量。

(1)ISAKMP/IKE階段2建立過程

1)安全關聯

IPSec需要在對等體之間建立一條邏輯連接,這就要使用一個被稱為安全關聯(SA)的信令協議,這是因為IPSec需要無連接的IP協議在安全運行之前要成為面向連接的協議。SA的連接是在源點和終點之間的單向連接,如果需要雙向連接,就需要兩個SA連接,每個方向一個。

SA連接由三個要素定義:

  • 安全參數索引(SPI):用于唯一標識每條SA連接;
  • 安全協議的類型:IPSec定義了兩種安全協議,即AH(認證頭協議)和ESP(封裝安全載荷協議);
  • 目的IP地址;

ISAKMP/IKE階段2具有這種特性,即ISAKMP/IKE的數據連接實際時通過兩個單向連接建立的,而兩個連接采用的加密或認證方式都是相同的,這就使ISAKMP/IKE階段2的這個特性不易被觀察到。

2)ISAKMP/IKE階段2的傳輸集

數據連接的傳輸集定義了數據連接時如何被保護的。與管理連接的傳輸集類似,對等體設備可以保存一個或多個傳輸集,但其具體內容不同:

  • 安全協議:AH協議、ESP協議;
  • 連接模式:隧道模式、傳輸模式;
  • 加密方式:對于ESP而言,有DES、3DES、AES-128、AES-192、AES-256或不可使用加密算法;
  • 驗證方式:MD5或SHA-1;
3)ISAKMP/IKE階段2的安全協議

IPSec的數據連接可以通過安全協議實現對數據連接的保護:AH協議和ESP協議,可以通過其中的一個協議來實現數據的加密和驗證,如使用ESP協議;也可以使用兩個協議一起來實現。AH使用IP協議號51,ESP使用IP協議號50。

1.AH協議

AH協議在RFC 2402中有明確的定義,它提供了以下安全功能:

  • 數據完整服務;
  • 數據驗證;
  • 保護數據回放非法行為;

AH協議保護整個數據報文,但易變的字段除外,如IP包頭中的TTL和TOS字段。如圖:
CIsco路由器實現IPSec 虛擬專用網原理及配置詳解

  • 下一個頭:這個八位字段定義了IP數據報文攜帶的有效載荷類型(TCP、UDP、ICMP、OSPF等),它與封裝前IP首部中的協議字段功能一樣;
  • 有效載荷長度:這個八位字段的功能與字面意思不同,它并不定義有效載荷的長度,實際只定義了AH頭部的長度;
  • 安全參數索引(SPI):這個32位字段是由接收端設備分配的一個數字,用來唯一標識一個單向連接,可以提供超過1億中標識號碼;
  • 序列號:這個32位字段對于數據報文提供排序信息,用來防止重放***。即使數據報文重傳。該序列號也不會重復,而且當序號達到2的32次方也不會回繞,而必須重新建立新的連接;
  • 完整性校驗和(ICV):這個字段提供驗證功能,它就是MD5或SHA等HMAC功能產生的數字簽名。AH的ICV值是完整的IP數據報文產生的數字簽名,也就是說,它對整個IP數據報文進行完整性驗證;

從報文結果中可以看出,AH協議只實現驗證功能,而并未提供任何形式的數據加密,而且正因為其對于整個IP數據報文實現驗證功能,所以它與NAT或PAt不能一起使用。

2.ESP協議

ESP在RFC 2406中有明確的定義,它與AH的區別如下:

  • ESP對用戶數據實現加密功能;
  • ESP只對IP數據的有效載荷進行驗證,不包括外部的IP包頭;

因此,如果有非法用戶對IP包頭內容進行篡改的話,ESP是無法檢測到的。而NAT也會修改外部的IP信息,所以ESP可以和NAT共用。所以,AH無論如何也不能和NAT共用,而ESP卻可以,再配合NAT-T技術,ESP甚至可以和PAT共用。

ESP默認情況下不能穿越PAT設備,因為PAT會修改傳輸層頭部的端口信息。而傳輸層的頭部在ESP的封裝中是被加密的,所以PAT無法修改端口信息。而NAT-T技術就是通過額外增加一個傳輸層頭部讓PAT可以工作。

如圖:
CIsco路由器實現IPSec 虛擬專用網原理及配置詳解

  • ESP頭部:SPI字段、序列號與AH報文結構中對應字段的功能類似;
  • ESP尾部:補丁用于減少有效載荷被竊聽并被猜測的可能性;
  • 補丁長度定義了補丁的字節數;
  • 下一個頭與AH報文結構中對應字段的功能類似;
  • ICV依然提供驗證功能,但是ICV只是IP數據報文的有效載荷通過HMAC功能產生的數字簽名;

(2)ISAKMP/IKE階段2相關配置命令

ISAKMP/IKE階段2的配置過程由三部分組成:

1)配置Crypto ACL

定義何種流量需要保護的一中方法就是建立一個Crypto ACL,通過ACL匹配IPSec 虛擬專用網流量。配置命令如下:

access-list 100 permit ip  192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
//定義一個擴展ACL,允許源地址192.168.10.0網段訪問192.168.20.0網段
//通常情況下,兩端對等體設備上的Crypto ACL互為鏡像
2)配置階段2的傳輸集

在IPSec對等體之間可以配置多個數據連接的傳輸集,必須保證兩端至少有一對匹配的傳輸集,這樣ISAKMP/IKE階段2的數據SA連接才能協商成功。設備的傳輸集由設備性能決定,如果所有對等體設備的性能相近,則共同使用一種傳輸集即可;如果設備間性能差異較為明顯,通常就需要多個傳輸集。配置命令如下:

R1(config)#crypto ipsec transform-set accp-set esp-des ah-sha-hmac
//定義傳輸集名稱(名稱必須是唯一的),后面就是一些選項
//使用esp-des加密,使用AH協議中的 ah-sha-hmac
R1(cfg-crypto-trans)#mode tunnel
//采用隧道模式
R1#show crypto ipsec transform-set 
//查看路由器上的傳輸集
Transform set accp-set: { ah-sha-hmac  } 
   will negotiate = { Tunnel,  }, 
   { esp-des  } 
   will negotiate = { Tunnel,  }, 

傳輸集選項,如圖:
CIsco路由器實現IPSec 虛擬專用網原理及配置詳解

如果在數據連接建立之后修改傳輸集的配置,并不會影響現有的SA設置,只有連接的生存周期到期,SA才會重新建立連接或被手動清除(通過“clear crypto sa” 或“clear crypto ipsec sa”命令)。

3)配置Crypto Map

Crypto Map的功能就是將所有信息組織在一起構建IPSec會話。通常路由器的接口上只對應一個Crypto Map,一條路由器可以在多個接口上實現流量保護,這是可能就需要多個Crypto Map了。

Crypto Map 有兩種類型:靜態的Crypto Map和動態的Crypto Map。在構建L2L會話時通常會使用講臺的Crypto Map。配置命令如下:

R1(config)#crypto map benet-map 1 ipsec-isakmp 
//創建一個名稱為benet-map的Map,序列號為1
//序列號范圍1~65535,數值越小,優先級越高
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
                //這是正常提示,就是說這個Map中并沒有包含配置           
R1(config-crypto-map)#match address 100
//調用ACL名稱或編號
R1(config-crypto-map)#set peer 192.168.2.1
//設置對等體設備
R1(config-crypto-map)#set transform-set accp-set
//指定傳輸集的名稱,最多可以指定6個
R1(config-crypto-map)#set pfs group1
//用于啟動這項功能并執行使用哪個DH密鑰組,這是一條可選命令
//剛才定義的DH組是1
R1(config-crypto-map)#set security-association lifetime seconds 1800 
//指定SA的生存周期,默認情況下,Cisco設備已經設定數據連接的生命周期為3600s或4608000KB,相當于一小時內10MB/s速率傳輸的流量。
R1(config-crypto-map)#set security-association idle-time 60
//用于設定空閑超時計時器,范圍是60~86400s
//默認情況下,空閑超時計時器是關閉的

四、配置實現IPSec 虛擬專用網

(1)案例拓補

CIsco路由器實現IPSec 虛擬專用網原理及配置詳解

(2)案例需求

PC1通過虛擬專用網訪問PC3;
PC1訪問PC2;

(3)案例實施

1)配置PC、路由器的IP地址

PC1的配置:

PC1(config)#int f0/0
PC1(config-if)#ip add 192.168.1.100 255.255.255.0
PC1(config-if)#no sh
PC1(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.1.1

PC2的配置:

PC2(config)#int f0/0
PC2(config-if)#ip add 50.0.0.100 255.255.255.0
PC2(config-if)#no sh
PC2(config-if)#ip route 0.0.0.0 0.0.0.0 50.0.0.1

PC3的配置:

PC3(config)#int f0/0
PC3(config-if)#ip add 192.168.2.100 255.255.255.0
PC3(config-if)#no sh
PC3(config-if)#ip route 0.0.0.0 0.0.0.0 192.168.2.1

R1的配置:

R1(config)#int f0/0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#int f1/0
R1(config-if)#ip add 20.0.0.1 255.255.255.0
R1(config-if)#no sh 
R1(config-if)#ip route 0.0.0.0 0.0.0.0 20.0.0.2

R2的配置:

R2(config)#int f1/0
R2(config-if)#ip add 20.0.0.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int f0/0
R2(config-if)#ip add 50.0.0.1 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int f2/0
R2(config-if)#ip add 30.0.0.1 255.255.255.0
R2(config-if)#no sh
//R2只配置IP地址即可

R3的配置:

R3(config)#int f2/0
R3(config-if)#ip add 30.0.0.2 255.255.255.0
R3(config-if)#no sh
R3(config-if)#int f0/0
R3(config-if)#ip add 192.168.2.1 255.255.255.0
R3(config-if)#no sh
R3(config-if)#ip route 0.0.0.0 0.0.0.0 30.0.0.1
2)配置ISAKMP策略

R1的配置:

R1(config)#crypto isakmp policy 1
//配置ISAKMP/IKE策略,序列號為1,數值越小越優先
R1(config-isakmp)#encryption 3des
//指定用于身份驗證采用3des加密算法
R1(config-isakmp)#hash sha
//用于驗證數據完整性(散列算法)使用sha算法
R1(config-isakmp)#authentication pre-share
//設備身份驗證的方式使用pre-sha(預共享密鑰)
R1(config-isakmp)#group 2 
//指定DH密鑰組,組號越大,越安全
R1(config-isakmp)#lifetime 10000
//管理連接的生存周期為10000s
R1(config)#crypto isakmp key 0 123456 address 30.0.0.2
//與30.0.0.2建立對等體關系,使用明文密鑰123456

R3的配置:

R3(config)#crypto isakmp policy 1
R3(config-isakmp)#encryption 3des
R3(config-isakmp)#hash sha
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#group 2
R3(config-isakmp)#lifetime 10000
R3(config)#crypto isakmp key 0 123456 address 20.0.0.1
//對等體之間的配置幾乎是一樣的
3)配置ACL

為什么要配置ACL?注意:當路由器上既存在NAT也存在虛擬專用網流量時,默認先進行NAT!

R1的配置:

R1(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
//配置ACL,允許192.168.1.0網段訪問192.168.2.0網段

R3的配置:

R3(config)#access-list 100 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255  
//配置ACL,允許192.168.2.0網段訪問192.168.1.0網段
4)配置IPSec傳輸集

R1的配置:

R1(config)#crypto ipsec transform-set R1-set esp-des ah-sha-hmac 
//建立傳輸集,名稱為R1-set,加密使用esp-des算法,解密使用ah-sha-hmac 算法
R1(cfg-crypto-trans)#mode tunnel                 //選擇隧道模式,默認就是隧道模式
R1(cfg-crypto-trans)#exit
R1(config)#crypto ipsec security-association lifetime seconds 1800
//全局模式下也可設置生存周期

R3的配置:

R3(config)#crypto ipsec transform-set R3-set esp-des ah-sha-hmac 
R3(cfg-crypto-trans)#mode tunnel
R3(cfg-crypto-trans)#exit
R3(config)##crypto ipsec security-association lifetime seconds 1800
5)配置加密映射

R1的配置:

R1(config)#crypto map R1-map 1 ipsec-isakmp
//創建Crypto-Map,名稱為R1-map,序列號為1,數值越小,越優先
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
R1(config-crypto-map)#set peer 30.0.0.2                 //設置對等體為30.0.0.2
R1(config-crypto-map)#set transform-set R1-set      //指定傳輸集
R1(config-crypto-map)#match address 100                //調用剛才創建的ACL

R3的配置:

R3(config)#crypto map R3-map 1 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
R3(config-crypto-map)#set peer 20.0.0.1
R3(config-crypto-map)#set transform-set R3-set
R3(config-crypto-map)#match address 100 
6)將映射應用到接口上

R1的配置:

R1(config)#int f1/0
R1(config-if)#crypto map R1-map
//在連接公網接口上調用Crypto-Map

R3的配置:

R3(config)#int f2/0
R3(config-if)#crypto map R3-map

現在驗證PC1是否可以訪問PC3:

PC1#ping 192.168.2.100

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.2.100, timeout is 2 seconds:
!!!!!                   //訪問成功(使用虛擬專用網訪問)
Success rate is 100 percent (5/5), round-trip min/avg/max = 124/136/156 ms
7)設置PAT

R1的配置:

R1(config)#access-list 110 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
R1(config)#access-list 110 permit ip any any
//設置ACL,拒絕虛擬專用網的流量
R1(config)#ip nat inside source list 110 int f1/0 overload 
//將ACL 110列表中的流量轉換為外部接口地址
R1(config)#int f0/0
R1(config-if)#ip nat inside
R1(config-if)#int f1/0     
R1(config-if)#ip nat outside
//設置內外接口

PC1測試訪問PC2:

PC1#ping 50.0.0.100

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 50.0.0.100, timeout is 2 seconds:
!!!!!           //訪問成功(使用路由器外部接口地址訪問)
Success rate is 100 percent (5/5), round-trip min/avg/max = 92/105/124 ms

實驗完成!

五、常用排錯的命令

R1#show crypto isakmp policy     //查看ISAKMP協商策略的配置結果
R1#show crypto isakmp sa            //查看管理連接SA的狀態
R1#show crypto ipsec transform-set        //查看IPSec傳輸集
R1#show crypto ipsec security-association lifetime    //查看數據連接建立的生存周期
R1#show crypto ipsec sa    //查看數據連接SA的細節信息
R1#show crypto map    //查看crypto  Map的信息,這個命令可以查看到crypto  map的名稱、
//ACL、對等體的IP地址、應用Crypto  map的接口等。

別忘了,在Cisco設備上“show run”命令幾乎就是萬能的!

———————— 本文至此結束,感謝閱讀 ————————

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通许县| 临高县| 乌鲁木齐市| 武隆县| 大港区| 天镇县| 准格尔旗| 泰和县| 宝丰县| 枣庄市| 民权县| 衡阳市| 桦南县| 鄂伦春自治旗| 沂南县| 永康市| 桃园市| 鄱阳县| 西宁市| 慈溪市| 崇左市| 富阳市| 庆阳市| 横峰县| 新化县| 遂溪县| 志丹县| 北川| 石柱| 肇源县| 吴江市| 临海市| 友谊县| 余姚市| 三河市| 吴桥县| 金塔县| 咸宁市| 二连浩特市| 隆尧县| 贡嘎县|