Cisco IPsec VPN配置
工作原理
IPsec協議不是一個單獨的協議,它給出了應用於IP層上網路資料安全的一整套體系結構,包括網路認證協議AH(Authentication Header,認證頭)、ESP(Encapsulating Security Payload,封裝安全載荷)、IKE(Internet Key Exchange,因特網金鑰交換)和用於網路認證及加密的一些演算法等。其中,AH協議和ESP協議用於提供安全服務,IKE協議用於金鑰交換。
IPsec提供了兩種安全機制:認證和加密。認證機制使IP通訊的資料接收方能夠確認資料傳送方的真實身份以及資料在傳輸過程中是否遭篡改。加密機制通過對資料進行加密運算來保證資料的機密性,以防資料在傳輸過程中被竊聽。IPsec協議中的AH協議定義了認證的應用方法,提供資料來源認證和完整性保證;ESP協議定義了加密和可選認證的應用方法,提供資料可靠性保證。
AH協議(IP協議號為51)提供資料來源認證、資料完整性校驗和防報文重放功能,它能保護通訊免受篡改,但不能防止竊聽,適合用於傳輸非機密資料。AH的工作原理是在每一個數據包上新增一個身份驗證報文頭,此報文頭插在標準IP包頭後面,對資料提供完整性保護。可選擇的認證演算法有MD5(Message Digest)、SHA-1(Secure Hash Algorithm)等。MD5演算法的計算速度比SHA-1演算法快,而SHA-1演算法的安全強度比MD5演算法高。
ESP協議(IP協議號為50)提供加密、資料來源認證、資料完整性校驗和防報文重放功能。ESP的工作原理是在每一個數據包的標準IP包頭後面新增一個ESP報文頭,並在資料包後面追加一個ESP尾。與AH協議不同的是,ESP將需要保護的使用者資料進行加密後再封裝到IP包中,以保證資料的機密性。常見的加密演算法有DES、3DES、AES等。同時,作為可選項,使用者可以選擇MD5、SHA-1演算法保證報文的完整性和真實性。這三個加密演算法的安全性由高到低依次是:AES、3DES、DES,安全性高的加密演算法實現機制複雜,運算速度慢。對於普通的安全要求,DES演算法就可以滿足需要。
在實際進行IP通訊時,可以根據實際安全需求同時使用這兩種協議或選擇使用其中的一種。AH和ESP都可以提供認證服務,不過,AH提供的認證服務要強於ESP。同時使用AH和ESP時,裝置支援的AH和ESP聯合使用的方式為:先對報文進行ESP封裝,再對報文進行AH封裝,封裝之後的報文從內到外依次是原始IP報文、ESP頭、AH頭和外部IP頭。
tunnel和transport模式下的資料封裝形式,data為傳輸層資料
(1)隧道(tunnel)模式:使用者的整個IP資料包被用來計算AH或ESP頭,AH或ESP頭以及ESP加密的使用者資料被封裝在一個新的IP資料包中。通常,隧道模式應用在兩個安全閘道器之間的通訊。
(2)傳輸(transport)模式:只是傳輸層資料被用來計算AH或ESP頭,AH或ESP頭以及ESP加密的使用者資料被放置在原IP包頭後面。通常,傳輸模式應用在兩臺主機之間的通訊,或一臺主機和一個安全閘道器之間的通訊 。
圖解推薦 http://blog.51cto.com/sukhoi/1549430
接下來是在cisco上的實驗步驟,對你做實驗有用記得點個贊啊:
IPsecsite-to-site VPN配置
介面基本配置,並測試連通性
/*黑色字型在R1上配置
藍色字型在R2上配置*/
R1(config)#int fa0/0
R1(config-if)#ip add 10.1.1.1 255.255.255.0
R1(config-if)#no sh
R1(config)#int loop 0
R1(config-if)#ip add 1.1.1.1 255.255.255.0
R2(config)#int fa0/0
R2(config-if)#ip add 10.1.1.2 255.255.255.0
R2(config-if)#no sh
R2(config)#int loop 0
R2(config-if)#ip add 1.1.2.1 255.255.255.0
測試連通性
基於IPSEC的VPN配置步驟
第一步 配置IKE協商
R1(config)#crypto isakmp policy1 建立IKE協商策略
R1(config-isakmap)# hash md5 設定金鑰驗證所用的演算法
R1(config-isakmap)# authenticationpre-share 設定路由要使用的預先共享的金鑰
R1(config)# crypto isakmpkey 123 address 10.1.1.2 設定共享金鑰和對端地址123是金鑰
R2(config)#crypto isakmp policy 1
R2(config-isakmap)# hash md5
R2(config-isakmap)# authentication pre-share
R2(config)# crypto isakmpkey 123 address 10.1.1.1
第二步 配置IPSEC相關引數
R1(config)# crypto ipsec transform-sethuxinyi ah-md5-hmac esp-des
R1(config)# access-list 101 permit ip 1.1.1.0 0.0.0.255 1.1.2.0 0.0.0.255
R2(config)# crypto ipsec transform-set huxinyi ah-md5-hmacesp-des 兩邊的傳輸模式的名字要一樣
R2(config)# access-list 101 permit ip 1.1.2.0 0.0.0.255 1.1.1.0 0.0.0.255
第三步 應用配置到埠
R1(config)# crypto map huxinyimap 1ipsec-isakmp
R1(config-crypto-map)# set peer10.1.1.2 指定VPN鏈路對端的IP地址
R1(config-crypto-map)# settransform-set huxinyi
R1(config-crypto-map)# matchaddress 101
R1(config)# int fa0/0
R1(config-if)# crypto map huxinyimap 應用此表到埠
R1(config)#iproute 1.1.2.0 255.255.255.0 10.1.1.2
à指定隧道感興趣流的路由走向
R2(config)# crypto map huxinyimap 1 ipsec-isakmp
R2(config-crypto-map)# set peer 10.1.1.1
R2(config-crypto-map)# settransform-set huxinyi
R2(config-crypto-map)# match address 101
R2(config)# int fa0/0
R2(config-if)# crypto map huxinyimap 應用此表到埠
R2(config)# ip route 1.1.1.0 255.255.255.0 10.1.1.1
測試:
R1
ping 1.1.2.1
R2
ping 1.1.1.1
截圖:
R1:
R2:
測試連通