CISCO VPN配置詳解

來源:本站原創 VPN 超過25,419 views圍觀 5條評論

Cisco VPN配置

Ip sec參考

基于IPSEC的VPN配置步驟

第一步 配置IKE協商

R1(config)#crypto isakmp policy 1  建立IKE協商策略

R1(config-isakmap)# hash md5      設置密鑰驗證所用的算法

R1(config-isakmap)# authentication pre-share  設置路由要使用的預先共享的密鑰

R1(config)#  crypto isakmp key  123  address 192.168.1.2  設置共享密鑰和對端地址 123是密鑰

R2(config)#crypto isakmp policy 1 

R2(config-isakmap)# hash md5     

R2(config-isakmap)# authentication pre-share 

R2(config)#  crypto isakmp key  123  address 192.168.1.1

第二步 配置IPSEC相關參數

R1(config)# crypto ipsec transform-set cfanhome ah-md5-hmac esp-des  配置傳輸模式以及驗證的算法和加密的的算法  cfanhome這里是給這個傳輸模式取個名字

R1(config)# access-list 101 permit ip  any any 我這里簡單的寫 但是大家做的時候可不能這樣寫

這里是定義訪問控制列表

R2(config)# crypto ipsec transform-set cfanhome ah-md5-hmac esp-des  兩邊的傳輸模式的名字要一樣

R2(config)# access-list 101 permit ip  any any 

第三步 應用配置到端口 假設2個端口都是s0/0

R1(config)# crypto map cfanhomemap 1 ipsec-isakmp 采用IKE協商,優先級為1 這里的cfanhomemap是一個表的名字

R1(config-crypto-map)#  set peer 192.168.1.2 指定VPN鏈路對端的IP地址

R1(config-crypto-map)#  set transform-set  cfanhome  指定先前所定義的傳輸模式

R1(config-crypto-map)#  match address 101 指定使用的反問控制列表 這里的MATCH是匹配的意思

R1(config)# int s0/0

R1(config-if)# crypto map cfanhomemap 應用此表到端口

      R2和R1在最后的配置基本一樣 這里就不一一寫出來了

——————————————————————————————————————–

IPsec配置超級指南(大綱,說明,實例,實驗)

IPsec-VPN–virtual private network

什么是VPN–虛擬專用網

VPN作用–通過公網實現遠程連接,將私有網絡聯系起來

VPN的類型:

1、overlay的VPN,例如IPsec-VPN

2、peer-to-peer的VPN,例如MPLS-VPN

還可以分為二層VPN和三層VPN

IPsec-VPN是三層的VPN

IPsec-VPN的分類:

1、site-to-site VPN 也叫 LAN-to-LAN VPN (要求兩個站點都要有固定的IP)

2、EASY-VPN 也叫 remote VPN (通常用于連接沒有固定IP的站點)

IPsec-VPN提供三個特性:

1、authentication  每一個IP包的認證

2、data integrity  驗證數據完整性,保證在傳輸過程中沒有被人為改動

3、confidentiality (私密性)數據包的加密

《知識準備》

在學習IPsec技術之前,先要學習以下幾點知識

1、加密機制

2、DH密鑰交換算法

3、認證機制

4、散列機制

加密機制–密碼學分為兩類:

對稱加密算法—使用一把密匙來對信息提供安全的保護。只有一個密匙,即用來加密,也用來解密

特點:

1、速度快

2、密文緊湊

3、用于大量數據的傳送

對稱加密代表:DES、3DES、AES

3DES–有三個密匙,用第一個密匙加密,用第二個密匙解密,再用第三個密匙加密

非對稱加密—有一對密匙,一個叫公匙,一個叫私匙,如果用其中一個加密,必須用另一個解密。

特點:

1、速度慢

2、密文不緊湊

3、通常只用于數字簽名,或加密一些小文件。

非對稱加密的代表:RSA、ECC

非對稱加密代表RSA–有一對密匙,一個公匙,一個私匙,私匙加密,公匙解密,或者公匙加密,私匙解密

非對稱加密可以有兩種應用:

1、公鑰加密,私鑰解密,叫加密

2、私鑰加密,公鑰解密,叫數字簽名

理想的應用方法,用非對稱加密法來傳送對稱加密的密匙,或用在數字簽名當中。用對稱加密法來加密實際的數據。

數字簽名不但證明了消息的內容,還證明了發送方的身份。

密鑰化的HASH–使用密鑰對生成的消息摘要進行加密時,被稱為加密的消息摘要。

diffie-hellman key exchange–DH算法

是一種安全的讓通信雙方協商出一個共享密匙的方法。

用對方的公匙和自已的私匙產生一個雙方都能知道的KEY(也叫共享的密秘),作對稱加密用

DH group 1的長度是768位  (產生出的KEY的長度)

DH group 2的長度是1024位

認證機制–(這里所指的是設備的認證,而不是用戶的認證)

現代的基本加密技術要依賴于消息之目標接收者已知的一項秘密,關鍵的問題是如何保障密鑰的安全。

1、用戶名和密碼

2、OTP(one time password)一次性密碼

3、生物認證(指紋、眼膜)

4、預共享密鑰

5、數字證書

6、加密臨時值

散列機制–用來做完整性檢驗

散列函數(就是HASH)–把一大堆數據經過計算得到一個較小的、定長的值,散列是一種不可逆函數。這意味著一旦明文生成散列,就不可能或者說極端困難再將其由散列轉換成明文。

HASH的特點:

1、不管輸入什么數據,輸出是定長的

2、只要輸入有一點微小變化,輸出就會發生很大的變化,也就是雪崩效應

3、不可逆

HASH的算法:

1、md5  提供128位的輸出 md5是驗證,不是加密技術,用來做哈希

2、SHA  提供160位的輸出

HMAC–使用散列的消息認證編碼,或者叫密鑰化的HASH,是一種使用HASH來進行認證的機制。可以用來做預共享密鑰的認證。

—————————————————————————————-

IP sec 的組成–IPsec協議集包括三個協議:

1、internet key exchange(IKE)密匙交換協議

協議雙方使用的算法,密匙,協商在兩個對等體之間建立一條遂道的參數,協商完成再用下面的方法封裝數據。

   IKE動態的,周期性的在兩個PEER之間更新密鑰

2、encapsulating secutity payload(ESP)封裝安全負載

可以對數據包認證,加密,封裝,IP中協議號–50,通常使用3DES來進行加密

3、authentication header (AH)

只提供認證,封裝,不提供加密,明文傳送,IP中協議號–51

IPsecVPN的兩種模式–

一、傳輸模式:

不產生新的IP頭,在原包頭之后插入一個字段,當通信點等于加密點用這種方法

原始IP頭 | (ESP或AH) | Data

二、通道模式:

產生一個新IP包頭,當通信點不等于加密點用這種方法,site-to-site的VPN就是這種模式,因為通信點的IP頭通常不是一個公網上可路由的頭部,而新的IP頭用的是兩個peer之間的IP地址。

新IP頭 | (ESP或AH) | 原始IP頭 | Data

通信點:實際通信的設備

加密點:進行加密的設備

ESP封裝中只對原始IP分組進行完整性檢驗

AH封裝中進行完整性檢驗還包括新的IP頭

——————————————————————————————–

IKE密匙交換協議

IKE的作用:用于在兩個peer之間協商建立IPsec-VPN通道

1、協商參數

2、產生KEY,交換KEY、更新KEY

3、對雙方進行認證

4、對密鑰進行管理

也是由三個不同的協議組成:

1、ISAKMP–定義了信息交換的體系結構,也就是格式

2、SKEME–實現公鑰加密認證的機制

3、Oakley–提供在兩個IPsec對等體間達成相同加密密鑰的基于模式的機制

ISAKMP基于UDP,源目端口都是500

site-to-site ipsec VPN的協商過程,分兩個階段

要想在兩個站點之間安全的傳輸IP數據流,它們之間必須要先進行協商,協商它們之間所采用的加密算法,封裝技術以及密鑰。這個協商過程是通過IKE來完成的,IKE協商分兩個階段運行:

階段一:在兩個對等體設備之間建立一個安全的管理連接。沒有實際的數據通過這個連接。這個管理連接是用來保護第二階段協商過程的。

階段二:當對等體之間有了安全的管理連接之后,它們就可以接著協商用于構建安全數據連接的安全參數,這個協商過程是安全的,加了密的。協商完成后,將在兩個站點間形成安全的數據連接。用戶就可以利用這些安全的數據連接來傳輸自已的數據了。

第一階段:建立ISAKMP SA  協商的是以下信息:

1、對等體之間采用何種方式做認證,是預共享密鑰還是數字證書。

2、雙方使用哪種加密算法

3、雙方使用哪種HMAC方式,是MD5還是SHA

4、雙方使用哪種Diffie-Hellman密鑰組

5、使用哪種協商模式(主模式或主動模式)

6、還要協商SA的生存期

第二階段:建立IPsec SA  協商的是以下信息:

1、雙方使用哪種封裝技術,AH還是ESP

2、雙方使用哪種加密算法

3、雙方使用哪種HMAC方式,是MD5還是SHA

4、使用哪種傳輸模式,是隧道模式還是傳輸模式

5、還要協商SA的生存期

第一階段的協商過程總共有6條消息:

1、消息1和消息2用于peer之間協商加密機制

   ISAKMP包含有ISAKMP頭、SA負載、提議負載、轉換負載等字段

總之是讓雙方協商好我們之間使用啥子協議、加密方法

具體是要協定四個東東:加密機制、散列機制、DH組、認證機制

2、消息3和消息4用于相互之間交換公共密匙

兩端的peer先各自生成自已的私匙和公匙,同時還產生一個臨時值。然后再使用消息3或消息4將各自的公匙和臨時值進行交換。

交換完公匙后,每個peer先根據對方的公匙和自已的私匙生成一個共享秘密(使用DH算法),再根據共享秘密、對方和自已的臨時值、預共享密鑰產生出三個SKEY:

   SKEYID_d–此密匙被用于計算后續IPsec密匙資源

   SKEYID_a–此密匙被用于提供后續IKE消息的數據完整性以及認證

   SKEYID_e–此密匙被用于對后續IKE消息進行加密

消息3和4的ISAKMP包含以下字段:ISAKMP包頭、密匙交換負載(KE)、臨時值負載

3、消息5和消息6用于兩個peer之間進行認證,這兩個消息是用SKEYID_e進行過加密的。

每個peer根據一大堆東東(包括SKEYID-a、預共享密鑰、標識ID)生成一個Hash值,再將這個值和自已的標識ID(通常是IP或主機名)發送給對方。當然,使用的就是消息5或消息6。

每個peer收到對方的ID和Hash值后,先根據對方的ID找到對方的公匙,再計算本地Hash值,如果本地Hash值和對方的Hash值一樣,就表示認證成功。

這一步完成后,IKE SA被建立,主模式認證完成

第二階段的協商過程總共有3條消息:

1、第一、二條信息是兩個peer之間協商形成IPsec SA的封裝協議、模式、加密算法,還要互發用DH重新生成的新的公匙和臨時值,以及其它一些參數,像SPI、ID等等。

2、第三條消息通常由發起者發送給響應者,起一個確認的作用,也用來驗證通信信道的有效性

第三條信息發送前,兩端的peer必須先用和DH相關的信息(新的私鑰和對方公鑰)生成一個新的DH秘密,然后用該值和SKEYID_d以及其他一些參數一起來生成最終加解密的KEY。

——————————————————————————————–

SA–安全關聯

SA是兩個通信實體經協商建立起來的一種協定,它們決定了用來保護數據包安全的IPsec協議、轉碼方式、密鑰、以及密鑰的有效存在時間等等。任何IPsec實施方案始終會構建一個SA數據庫(SA DB),由它來維護IPsec協議用來保障數據包安全的SA記錄。

SA是單向的–如果兩個主機(比如A和B)正在通過ESP進行安全通信,那么主機A就需要 有一個SA,即SA(OUT),用來處理外發的數據包,另外還需要有一個不同的SA,即SA(IN)用來處理進入的數據包。主機A的SA(OUT)和主機 B的SA(IN)將共享相同的加密參數(比如密鑰)。

SA還要根據協議來區分,如果兩個主機間同時使用ESP和AH,對于ESP和AH會生成不同的SA。

SADB–安全關聯數據庫,包含雙方協商的IKE和IPsec安全信息

SPI–安全參數索引,是一個32位的值,用來標識用于處理數據包的特定的那個安全聯盟。或者這樣理解,用于唯一定義一條單向的IPsec通道。這個號碼存在于ESP包頭中,通道兩端必須一致。

SA分為兩種–

1、IKE(ISAKMP)SA    協商對IKE數據流進行加密以及對對等體進行驗證的算法

2、IPsec SA           協商對對等體之間的IP數據流進行加密的算法

對等體之間的IKE SA只能有一個

對等體之間的IPsec SA可以有多個

PFS–完善轉發安全性,是一種IKE協商中發起者可以向響應者提供建議的屬性,是一種強制對等體雙方在快速模式交換中產生新的DH秘密的屬性。這允許使用新的DH秘密生成用于加密數據的加密密鑰。

——————————————————————————————–

配置實例:

步驟:

1、configure crypto ACL               配置感興趣流,需要加密的流量就是感興趣流。

2、establish ISAKMP policy            第一階段的策略

3、configure IPsec transform set      第二階段的策略

4、configure crypto map

5、apply crypto map to the interface  在接口下應用

6、configure interface ACL            確定在外網接口放行哪些流量

一、定義感興趣流:

ip access-list extended VPN

  permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255

二、IKE第一階段

crypto isakmp policy 10

  encryption des

  hash md5

  authentication pre-share

  group 2

crypto isakmp key cisco address 202.100.1.2     pre-share key 的定義

三、IKE第二階段

crypto ipsec transform-set MYSET esp-des esp-md5-hmac

  mode tunnel

四、把感興趣流與轉換集映射一下

crypto map MYMAP 100 ipsec-isakmp

  set peer 202.100.1.2    設置VPN對等體的地址

  set tranform-set MYSET  設置轉換集

  match address VPN     感興趣流和轉換集的綁定

五、MAP與接口綁定

int s0

  crypto map MYMAP

六、設定接口只允許跑VPN流量,在接口入設置

access-list 100 permit udp any eq 500 any eq isakmp

access-list 100 permit esp any any

access-list 100 permit ip 172.16.2.0 0.0.0.255 172.16.1.0 0.0.0.255  由于ACL會二次查找,所以還要放行私網的流量

show crypto isakmp policy

show crypto isakmp sa  第一階段的SA

show crypto ipsec sa   第二階段的SA

show crypto engine connections active

show crypto map

crypto ipsec security-association lifetime [seconds|kilobytes]   第二階段的一個協商時間,也就是說多長時間后重新協商密匙。也可按已發了多少流量來進行協商。哪個數值先到就先起效。

cryto isakmp keepalive 10 3

IPsec通道的終結:

當流量超過上限后或者超時自動終結

clear crypto isakmp   清第一階段

clear crypto sa   清第二階段

clear crypto session  在新版的IOS中,用這條命令全清

debug crypto isakmp

debug crypto ipsec

配置IPsec-VPN的注意點:

1、路由

2、感興趣流量

3、策略

4、調用

接口設定ACL:

設定接口只允許跑VPN流量,在接口入設置

access-list 100 permit udp any eq 500 any eq isakmp

access-list 100 permit esp any any

或access-list 100 permit ahp any any

注意:在老IOS中,對包解密后還會再匹配一次訪問列表,新的IOS中就不會,所以在老的IOS中要加入一條

access-list 100 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255

IPsec中的路由問題:

R1  需要有4.4.4.0的路由

R2  需要有4.4.4.0  1.1.1.0  30.0.0.0的路由

R3  需要有1.1.1.0  4.4.4.0  20.0.0.0的路由

R4  需要有1.1.1.0的路由

——————————————————————————————-

——————————————————————————————-

GRE

GRE通用路由封裝—一個三層協議,能夠將各種不同的數據包封裝成IP包,然后通過IP網絡進行傳輸。也就是說能對其它的IP包或非IP包進行再封裝,在原始包頭的前面增加一個GRE包頭和一個新IP包頭。明文傳送,沒有安全性。在IP中的協議號47。

GRE封裝格式:

20字節  4字節

GRE有很好的隧道特性

1、支持多協議

2、支持組播

缺點是不安全

IPsec的特點:

1、能提供安全的傳輸保證

2、但只能支持IP,不能支持其他協議

小知識:在tunnal中,指定目標地址之后,只要在本地路由表中有這個地址,tunnal就會up

GRE over IPsec(實用性很高的技術,不像IPsecVPN那樣麻煩)

原理:在tunnel中,先用GRE對數據包封裝成IP包,再用IPsec加密,默認是通道模式

紅色部分是加密的部分

IPsec只能對IP包加密,不能對非IP包加密。

注意在GRE over IPsec中感興趣流的定義:(所有的GRE流量都是感興趣流)

access-list 100 permit gre host 202.100.13.3 host 202.100.12.2  必須定義公網地址

因為當感興趣流量過來時:

1、先查路由,進入tunnel口

2、封裝GRE后,進入S口撞擊map

當封裝了GRE后,外部的IP地址用的就是公網地址了,所以感興趣流量必須定義為公網地址。

由于在接口下會兩次檢查ACL,所以如果在物理接口下放ACL,要同時放行ESP和GRE流量,還有isakmp的協商流量。

GRE over IPsec 技術建議使用傳輸模式

因為通信點等于加密點

試驗:

一、配置tunnel

interface tunnel 1

  tunnel source 202.100.1.1

  tunnel destination 202.100.1.2

  tunnel gre ip

  ip address 12.1.1.1

二、運行路由協議

router eigrp 90

  network 172.16.1.0 0.0.0.255

  network 12.1.1.0 0.0.0.255

三、開始配置IPsec,先定義感興趣流:(注意這里的定義)

ip access-list extended VPN

  permit gre any any

四、IKE第一階段

crypto isakmp policy 10

  encryption des

  hash md5

  authentication pre-share

  group 2

crypto isakmp key cisco address 202.100.1.2   pre-share key 的定義

五、IKE第二階段

crypto ipsec transform-set MYSET esp-des esp-md5-hmac

  mode tunnel

六、把感興趣流與轉換集映射一下

crypto map MYMAP 100 ipsec-isakmp

  set peer 202.100.1.2    設置VPN對等體的地址

  set tranform-set MYSET  設置轉換集

  match address VPN     感興趣流和轉換集的綁定

七、MAP與接口綁定

int s0

  crypto map MYMAP

八、設定接口只允許跑VPN流量,在接口入方向設置

用在物理接口下–

access-list 100 permit udp any eq 500 any eq isakmp

access-list 100 permit esp any any

access-list 100 permit gre any any

—————————————————————————————–

—————————————————————————————–

site-to-site VPN的缺點:

1、需要兩端有固定的公網IP

2、兩端的配置太過復雜

RemoteVPN–easyVPN—remote access 使用這種方法

實現兩個主要目的:

1、簡單的client配置,easy VPN remote

2、中心的server,動態的推送配置到client,easy VPN server

所以client很easy,server端的配置一點都不easy

遠程連接有哪些困難需要克服:

1、IPsec的客戶端使用server端未知的IP地址來連接網關,這樣就不可能在兩端定義一個預共享密鑰。

2、IPsec的客戶端通常希望用私網IP進入專用網絡,而不是公網IP

3、IPsec的客戶端必須使用DNS服務器、DHCP服務器和其他一些在專用網絡上作為信息主要來源的服務器,而不是使用ISP的服務器。

4、IPsec客戶端常在PAT設備之后進行連接,但由于ESP要加密TCP或UDP頭中的信息,端口自然也加密了,PAT將不能正常工作。

為解決以上難題,設計了IKE協商的1.5階段。

IKE的1.5階段由兩部分組成–

1、x-auth擴展認證

2、模式配置

在遠程IPsec連接中,通常使用IKE主動模式。只有三條消息交換。

擴展認證–允許認證IPsec客戶端的使用者,被IPsec網關認證。

可以先讓所有的客戶都使用同一個預共享密鑰連接到IPsec網關,然后再使用擴展認證來確定用戶的身份,等于要進行兩次認證。這樣就解決了第一個問題(IPsec兩端無法定義預共享密鑰的難題)。

擴展認證是基于每一個用戶的,一般靠IPsec網關與AAA服務器結合來實現。

擴展認證在IKE第一階段完成后進行,擴展認證總共有四個消息的交換。

消息一:IPsec網關發向客戶端,詢問用戶名和密碼

消息二:客戶端發向IPsec網關,回應用戶名和密碼

消息三:IPsec驗證完畢后,通知客戶端成功或失敗

消息四:如果收到成功的消息,客戶端返回一個確認

模式配置:

允許IPsec網關為客戶端推送一個內部的IP地址和DNS服務器等信息。這樣客戶端就可以用這個內部的IP地址進入專用網絡。

NAT-T也叫NAT透明

用于解決在發生PAT的情況下進行正確的地址轉換

解決方法–將ESP分組再封裝進一個UDP頭中。

VPN 3005以上的設備都可以做server

1700、1800可以做client,實際上不光可以用硬件來做client,軟件也可以做,在移動辦公中就是軟件做

1800以上都可以做server

remote-VPN配置

server端配置

aaa new-model                                                          //啟用AAA

aaa authentication login REMOTE local

aaa authorization network REMOTE local

username wolf password 0 cisco      //建立本地數據庫

crypto isakmp policy 10

hash md5

authentication pre-share

group 2

encryption des

crypto isakmp client configuration group IPSEC-GROUP  組名,設不同組的目地是為內部不同的部門分配不同的IP

key xiangweixing   組密碼 組名和組密碼是一對,需要用戶端也是一樣的配置

pool IP-POOL

crypto ipsec transform-set MYSET esp-des esp-md5-hmac

crypto dynamic-map MYMAP 10

set transform-set MYSET

reverse-route        反向路由注入

crypto map CISCO client authentication list REMOTE       啟用XAUTH

crypto map CISCO isakmp authorization list REMOTE

crypto map CISCO client configuration address respond        地址推送方式(分強制推送和請求推送)

crypto map CISCO 10 ipsec-isakmp dynamic MYMAP

interface s1/0

crypto map CISCO

ip local pool IP-POOL 172.16.1.20 172.16.1.50

—————————————————————-

client端配置

crypto ipsec client ezvpn EZVPN

  group IPSEC-GROUP key xiangweixing

  conn manual

  peer 202.100.1.1   對端地址

  mode client

int s1/0

  crypto ipsec client ezvpn EZVPN outside

int e0/0

  crypto ipsec client ezvpn EZVPN inside

ip route 0.0.0.0 0.0.0.0 s1/0

R2#crypto ipsec client ezvpn connect

R2#crypto ipset client ezvpn xauth

在客戶端查看:

show crypto session

show crypto ipsec client ezvpn

在服務器端查看:

show crypto session group

show crypto session summary

ipsec vpn實例教程

clip_image001[2]

以下為路由器A的配置,路由器B只需對相應配置做更改即可

1:配置IKE

router(config)# crypto isakmp enable #啟用IKE(默認是啟動的)

router(config)# crypto isakmp policy 100 #建立IKE策略,優先級為100

router(config-isakmp)# authentication pre-share #使用預共享的密碼進行身份驗證

router(config-isakmp)# encryption des #使用des加密方式

router(config-isakmp)# group 1 #指定密鑰位數,group 2安全性更高,但更耗cpu

router(config-isakmp)# hash md5 #指定hash算法為MD5(其他方式:sha,rsa)

router(config-isakmp)# lifetime 86400 #指定SA有效期時間。默認86400秒,兩端要一致

以上配置可通過show crypto isakmp policy顯示。VPN兩端路由器的上述配置要完全一樣。

2:配置Keys

router(config)# crypto isakmp key cisco1122 address 10.0.0.2

–(設置要使用的預共享密鑰和指定vpn另一端路由器的IP地址)

3:配置IPSEC

router(config)# crypto ipsec transform-set abc esp-des esp-md5-hmac

配置IPSec交換集

abc這個名字可以隨便取,兩端的名字也可不一樣,但其他參數要一致。

router(config)# crypto ipsec security-association lifetime 86400

ipsec安全關聯存活期,也可不配置,在下面的map里指定即可

router(config)# access-list 110 permit tcp 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255

router(config)# access-list 110 permit tcp 172.16.2.0 0.0.0.255 172.16.1.0 0.0.0.255

4.配置IPSEC加密映射

router(config)# crypto map mymap 100 ipsec-isakmp 創建加密圖

router(config-crypto-map)# match address 110 用ACL來定義加密的通信

router(config-crypto-map)# set peer 10.0.0.2 標識對方路由器IP地址

router(config-crypto-map)# set transform-set abc 指定加密圖使用的IPSEC交換集

router(config-crypto-map)# set security-association lifetime 86400

router(config-crypto-map)# set pfs group 1

5.應用加密圖到接口

router(config)# interface ethernet0/1

router(config-if)# crypto map mamap

相關知識點:

對稱加密或私有密鑰加密:加密解密使用相同的私鑰

DES–數據加密標準 data encryption standard

3DES–3倍數據加密標準 triple data encryption standard

AES–高級加密標準 advanced encryption standard

一些技術提供驗證:

MAC–消息驗證碼 message authentication code

HMAC–散列消息驗證碼 hash-based message authentication code

MD5和SHA是提供驗證的散列函數

對稱加密被用于大容量數據,因為非對稱加密站用大量cpu資源

非對稱或公共密鑰加密:

RSA rivest-shamir-adelman

用公鑰加密,私鑰解密。公鑰是公開的,但只有私鑰的擁有者才能解密

兩個散列常用算法:

HMAC-MD5 使用128位的共享私有密鑰

HMAC-SHA-I 使用160位的私有密鑰

ESP協議:用來提供機密性,數據源驗證,無連接完整性和反重放服務,并且通過防止流量分析來限制流量的機密性,這些服務以來于SA建立和實現時的選擇。

加密是有DES或3DES算法完成。可選的驗證和數據完整性由HMAC,keyed SHA-I或MD5提供

IKE–internet密鑰交換:他提供IPSEC對等體驗證,協商IPSEC密鑰和協商IPSEC安全關聯

實現IKE的組件

1:des,3des 用來加密的方式

2:Diffie-Hellman 基于公共密鑰的加密協議允許對方在不安全的信道上建立公共密鑰,在IKE中被用來建立會話密鑰。group 1表示768位,group 2表示1024位

3:MD5,SHA–驗證數據包的散列算法。RAS簽名–基于公鑰加密系統

clip_image003[1]

r1(config)#int f0/0
r1(config-if)#ip add 50.50.50.50 255.255.255.0
r1(config-if)#no shu
r1(config-if)#int f1/0
r1(config-if)#ip add 20.20.20.20 255.255.255.0
r1(config-if)#no shu
r1(config)#ip route 0.0.0.0 0.0.0.0 20.20.20.21       做一條默認路由使全網互通
r1(config)#crypto isakmp policy 1
r1(config-isakmp)#authentication pre-share             啟用定義共享密鑰
r1(config-isakmp)#encryption 3des                      加密使用3DES算法
r1(config-isakmp)#hash md5                            驗證密鑰使用MD5雜湊算法
r1(config)#crypto isakmp key 0 123 address 20.20.20.21 設置共享密鑰為123和對端地址
r1(config)#crypto isakmp transform-set zhao ah-md5-h esp-3des 傳輸模式名為zhao驗證為md5加密為3des
r1(config)#accress-list 101 permit ip 50.50.50.0 0.0.0.255 60.60.60.0 0.0.0.255 配置ACL
r1(config)#crypto map jin 1 ipsec-isakmp                創建crypto map名字為jin
r1(config-crypto-map)#set peer 20.20.20.21              指定鏈路對端IP地址
r1(config-crypto-map)#set transfrom-set zhao             指定傳輸模式zhao
r1(config-crypto-map)#match address 101                指定應用訪控列表
r1(config)#int f0/0
r1(config)#crypto map jin                               應用到接口
r2(config)#int f0/0r2(config-if)#ip add 60.60.60.60 255.255.255.0
r2(config-if)#no shu
r2(config-if)#int f1/0
r2(config-if)#ip add 20.20.20.21 255.255.255.0
r2(config-if)#no shu
r2(config)#ip route 0.0.0.0 0.0.0.0 20.20.20.20        做一條默認路由使全網互通
r2(config)#crypto isakmp policy 1
r2(config-isakmp)#authentication pre-share             啟用定義共享密鑰
r2(config-isakmp)#encryption 3des                      加密使用3DES算法
r2(config-isakmp)#hash md5                            驗證密鑰使用MD5雜湊算法
r2(config)#crypto isakmp key 0 123 address 20.20.20.20             設置共享密鑰為123和對端地址
r2(config)#crypto isakmp transform-set zhao ah-md5-h esp-3des         傳輸模式名為zhao驗證為md5加密為3des
r2(config)#accress-list 101 permit ip 60.60.60.0 0.0.0.255 50.50.50.0 0.0.0.255          配置ACL
r2(config)#crypto map jin 1 ipsec-isakmp                創建crypto map名字為jin
r2(config-crypto-map)#set peer 20.20.20.21              指定鏈路對端IP地址
r2(config-crypto-map)#set transfrom-set zhao             指定傳輸模式zhao
r2(config-crypto-map)#match address 101                指定應用訪控列表
r2(config)#int f0/0
r2(config)#crypto map jin
vpcs1:ip 50.50.50.48 50.50.50.50 24
vpcs2:ip 50.50.50.49 50.50.50.50 24
vpcs3:ip 60.60.60.48 60.60.60.60 24
vpcs4:ip 60.60.60.49 60.60.60.60 24

cisco IPSec VPN配置

VPN主要分兩種方式:
1、site-to site 站點到站點,多用于總部與分支辦公室連接
2、access-vpn     遠程訪問VPN,多用于移動用戶與總部進行連接。
這次我做的是站點到站點與訪問VPN的結合,稍做改動就可以把服務切換到ACCESS VPN模式,具體步驟如下:
10.1.1.0 —- Main Office   —-202——————99—–Home Office —–192.168.1.0
總部:
crypto isakmp policy 1   //定義isakmp策略
   hash md5              //采用MD5,對數據進行完整性驗證
   authentication pre-share   //采用pre-share認證方式
crypto isakmp key xxxxxx address 0.0.0.0 0.0.0.0 //指定密鑰,同時指定對端可為任意IP
crypto ipsec transform-set xxxset esp-des esp-md5-hmac   //VPN第二步,指定IPSec傳輸集,采用esp-des加密,MD5完整性驗證
crypto dynamic-map xxxmap 10   //定義動態map,分支辦公室IP不做限制
   set transform-set xxxset
   match address 185
crypto map xxxtrans 10 ipsec-isakmp dynamic xxxmap   //正規map
int f0/0 //內網接口
   ip ad 10.1.1.1 255.255.255.0
   ip nat inside
int f0/1   //外網接口
   ip ad 202.202.202.1 255.255.255.240
   ip nat outside
   crypto map xxxtrans    //應用map
ip route 0.0.0.0 0.0.0.0 int f0/1 //默認路由指向外網出口
ip nat pool tele 202.202.202.2 202.202.202.6 netmask 255.255.255.240
ip nat inside source route-map nonat pool tele overload   //路由策略指定進行具體NAT轉換的數據
access-list 185 permit ip 10.1.1.0 0.0.0.255 192.168.1.0 0.0.0.255 //指定與分支辦公室連接的IP數據流,符合條件的進行VPN傳輸
access-list 190 deny ip 10.1.1.0 0.0.0.255 192.168.1.0 0.0.0.255  
access-list 190 permit ip 10.1.1.0 0.0.0.255 any  
//指定與分支辦公室連接的IP數據流,符合條件的進行NAT轉換,第一句將到遠程站點的訪問否定了,不讓其進行地址轉換
route-map nonat permit 10 //定義route-map,為NAT轉換服務
   match ip address 190
分支辦公室:
crypto isakmp policy 1   //定義策略為1
   hash md5   //定義md5算法,完整性驗證方法
   authentication pre-share   //定義為pre-share密鑰認證方式
crypto isakmp key xxxxxx address 202.202.202.1   //定義pre-share密鑰為xxxxxx,總部IP為202.202.202.1
crypto ipsec transform-set xxxset esp-des esp-md5-hmac   //創建變換集esp-des esp-md5-hmac,定義加密方式為des,完整性驗證為md5
crypto map xxxmap 1 ipsec-isakmp   //創建正規map
   set peer 202.202.202.1   //定義總部IP
   set transform-set xxxset   //使用上面定義的變換集xxxset
   match address 185   //援引訪問列表定義的敏感流量,即進行VPN轉換的流量
int f0/0
   ip ad 192.168.1.0 255.255.255.0
   ip nat inside
int f0/1
   ip ad 99.99.99.1 255.255.255.0   //這里很有可能是動態IP
   ip nat outside
   crypto map xxxmap
ip route 0.0.0.0 0.0.0.0 f0/1   //默認路由指向出口
access-list 185 permit ip 192.168.1.0 0.0.0.255 10.1.1.0 0.0.0.255
// 指定需進行VPN轉換的數據流
access-list 190 deny ip 192.168.1.0 0.0.0.255 10.1.1.0 0.0.0.255
access-list 190 permit ip 192.168.1.0 0.0.0.255 any
// 指定需進行正常NAT轉換的數據流,符合條件的直接從出口訪問公網,不符合的不做NAT轉換,直接進行VPN加密并輸送至公司總部端
route-map nonat permit 10
   match ip address 190
vpdn enable   //以下是ADSL撥號配置
int f0/1
   pppoe enable
   pppoe-client dialer-pool-number 1 //定義dialer-pool
int dialer1
   mtu 1492             //VPN連接中許多問題是MTU造成的
   ip address negotiated   //IP地址與對端協商,ISP隨機提供動態IP
   encapsulation ppp
   dialer pool 1 //引用dialer pool
   dialer-group 1 //引用敏感流量,符合條件的觸發ADSL撥號
   ppp authentication pap callin   //定義pap明文密碼傳輸
   ppp pap sent-username xxxx2223030 password 7 ******
dialer-list 1 protocol ip permit //定義敏感流量,這里為所有流量

Ip sec參考

基于IPSEC的VPN配置步驟

第一步 配置IKE協商

R1(config)#crypto isakmp policy 1  建立IKE協商策略

R1(config-isakmap)# hash md5      設置密鑰驗證所用的算法

R1(config-isakmap)# authentication pre-share  設置路由要使用的預先共享的密鑰

R1(config)#  crypto isakmp key  123  address 192.168.1.2  設置共享密鑰和對端地址 123是密鑰

R2(config)#crypto isakmp policy 1 

R2(config-isakmap)# hash md5     

R2(config-isakmap)# authentication pre-share 

R2(config)#  crypto isakmp key  123  address 192.168.1.1

第二步 配置IPSEC相關參數

R1(config)# crypto ipsec transform-set cfanhome ah-md5-hmac esp-des  配置傳輸模式以及驗證的算法和加密的的算法  cfanhome這里是給這個傳輸模式取個名字

R1(config)# access-list 101 permit ip  any any 我這里簡單的寫 但是大家做的時候可不能這樣寫

這里是定義訪問控制列表

R2(config)# crypto ipsec transform-set cfanhome ah-md5-hmac esp-des  兩邊的傳輸模式的名字要一樣

R2(config)# access-list 101 permit ip  any any 

第三步 應用配置到端口 假設2個端口都是s0/0

R1(config)# crypto map cfanhomemap 1 ipsec-isakmp 采用IKE協商,優先級為1 這里的cfanhomemap是一個表的名字

R1(config-crypto-map)#  set peer 192.168.1.2 指定VPN鏈路對端的IP地址

R1(config-crypto-map)#  set transform-set  cfanhome  指定先前所定義的傳輸模式

R1(config-crypto-map)#  match address 101 指定使用的反問控制列表 這里的MATCH是匹配的意思

R1(config)# int s0/0

R1(config-if)# crypto map cfanhomemap 應用此表到端口

      R2和R1在最后的配置基本一樣 這里就不一一寫出來了

——————————————————————————————————————–

IPsec配置超級指南(大綱,說明,實例,實驗)

IPsec-VPN–virtual private network

什么是VPN–虛擬專用網

VPN作用–通過公網實現遠程連接,將私有網絡聯系起來

VPN的類型:

1、overlay的VPN,例如IPsec-VPN

2、peer-to-peer的VPN,例如MPLS-VPN

還可以分為二層VPN和三層VPN

IPsec-VPN是三層的VPN

IPsec-VPN的分類:

1、site-to-site VPN 也叫 LAN-to-LAN VPN (要求兩個站點都要有固定的IP)

2、EASY-VPN 也叫 remote VPN (通常用于連接沒有固定IP的站點)

IPsec-VPN提供三個特性:

1、authentication  每一個IP包的認證

2、data integrity  驗證數據完整性,保證在傳輸過程中沒有被人為改動

3、confidentiality (私密性)數據包的加密

《知識準備》

在學習IPsec技術之前,先要學習以下幾點知識

1、加密機制

2、DH密鑰交換算法

3、認證機制

4、散列機制

加密機制–密碼學分為兩類:

對稱加密算法—使用一把密匙來對信息提供安全的保護。只有一個密匙,即用來加密,也用來解密

特點:

1、速度快

2、密文緊湊

3、用于大量數據的傳送

對稱加密代表:DES、3DES、AES

3DES–有三個密匙,用第一個密匙加密,用第二個密匙解密,再用第三個密匙加密

非對稱加密—有一對密匙,一個叫公匙,一個叫私匙,如果用其中一個加密,必須用另一個解密。

特點:

1、速度慢

2、密文不緊湊

3、通常只用于數字簽名,或加密一些小文件。

非對稱加密的代表:RSA、ECC

非對稱加密代表RSA–有一對密匙,一個公匙,一個私匙,私匙加密,公匙解密,或者公匙加密,私匙解密

非對稱加密可以有兩種應用:

1、公鑰加密,私鑰解密,叫加密

2、私鑰加密,公鑰解密,叫數字簽名

理想的應用方法,用非對稱加密法來傳送對稱加密的密匙,或用在數字簽名當中。用對稱加密法來加密實際的數據。

數字簽名不但證明了消息的內容,還證明了發送方的身份。

密鑰化的HASH–使用密鑰對生成的消息摘要進行加密時,被稱為加密的消息摘要。

diffie-hellman key exchange–DH算法

是一種安全的讓通信雙方協商出一個共享密匙的方法。

用對方的公匙和自已的私匙產生一個雙方都能知道的KEY(也叫共享的密秘),作對稱加密用

DH group 1的長度是768位  (產生出的KEY的長度)

DH group 2的長度是1024位

認證機制–(這里所指的是設備的認證,而不是用戶的認證)

現代的基本加密技術要依賴于消息之目標接收者已知的一項秘密,關鍵的問題是如何保障密鑰的安全。

1、用戶名和密碼

2、OTP(one time password)一次性密碼

3、生物認證(指紋、眼膜)

4、預共享密鑰

5、數字證書

6、加密臨時值

散列機制–用來做完整性檢驗

散列函數(就是HASH)–把一大堆數據經過計算得到一個較小的、定長的值,散列是一種不可逆函數。這意味著一旦明文生成散列,就不可能或者說極端困難再將其由散列轉換成明文。

HASH的特點:

1、不管輸入什么數據,輸出是定長的

2、只要輸入有一點微小變化,輸出就會發生很大的變化,也就是雪崩效應

3、不可逆

HASH的算法:

1、md5  提供128位的輸出 md5是驗證,不是加密技術,用來做哈希

2、SHA  提供160位的輸出

HMAC–使用散列的消息認證編碼,或者叫密鑰化的HASH,是一種使用HASH來進行認證的機制。可以用來做預共享密鑰的認證。

—————————————————————————————-

IP sec 的組成–IPsec協議集包括三個協議:

1、internet key exchange(IKE)密匙交換協議

協議雙方使用的算法,密匙,協商在兩個對等體之間建立一條遂道的參數,協商完成再用下面的方法封裝數據。

   IKE動態的,周期性的在兩個PEER之間更新密鑰

2、encapsulating secutity payload(ESP)封裝安全負載

可以對數據包認證,加密,封裝,IP中協議號–50,通常使用3DES來進行加密

3、authentication header (AH)

只提供認證,封裝,不提供加密,明文傳送,IP中協議號–51

IPsecVPN的兩種模式–

一、傳輸模式:

不產生新的IP頭,在原包頭之后插入一個字段,當通信點等于加密點用這種方法

原始IP頭 | (ESP或AH) | Data

二、通道模式:

產生一個新IP包頭,當通信點不等于加密點用這種方法,site-to-site的VPN就是這種模式,因為通信點的IP頭通常不是一個公網上可路由的頭部,而新的IP頭用的是兩個peer之間的IP地址。

新IP頭 | (ESP或AH) | 原始IP頭 | Data

通信點:實際通信的設備

加密點:進行加密的設備

ESP封裝中只對原始IP分組進行完整性檢驗

AH封裝中進行完整性檢驗還包括新的IP頭

——————————————————————————————–

IKE密匙交換協議

IKE的作用:用于在兩個peer之間協商建立IPsec-VPN通道

1、協商參數

2、產生KEY,交換KEY、更新KEY

3、對雙方進行認證

4、對密鑰進行管理

也是由三個不同的協議組成:

1、ISAKMP–定義了信息交換的體系結構,也就是格式

2、SKEME–實現公鑰加密認證的機制

3、Oakley–提供在兩個IPsec對等體間達成相同加密密鑰的基于模式的機制

ISAKMP基于UDP,源目端口都是500

site-to-site ipsec VPN的協商過程,分兩個階段

要想在兩個站點之間安全的傳輸IP數據流,它們之間必須要先進行協商,協商它們之間所采用的加密算法,封裝技術以及密鑰。這個協商過程是通過IKE來完成的,IKE協商分兩個階段運行:

階段一:在兩個對等體設備之間建立一個安全的管理連接。沒有實際的數據通過這個連接。這個管理連接是用來保護第二階段協商過程的。

階段二:當對等體之間有了安全的管理連接之后,它們就可以接著協商用于構建安全數據連接的安全參數,這個協商過程是安全的,加了密的。協商完成后,將在兩個站點間形成安全的數據連接。用戶就可以利用這些安全的數據連接來傳輸自已的數據了。

第一階段:建立ISAKMP SA  協商的是以下信息:

1、對等體之間采用何種方式做認證,是預共享密鑰還是數字證書。

2、雙方使用哪種加密算法

3、雙方使用哪種HMAC方式,是MD5還是SHA

4、雙方使用哪種Diffie-Hellman密鑰組

5、使用哪種協商模式(主模式或主動模式)

6、還要協商SA的生存期

第二階段:建立IPsec SA  協商的是以下信息:

1、雙方使用哪種封裝技術,AH還是ESP

2、雙方使用哪種加密算法

3、雙方使用哪種HMAC方式,是MD5還是SHA

4、使用哪種傳輸模式,是隧道模式還是傳輸模式

5、還要協商SA的生存期

第一階段的協商過程總共有6條消息:

1、消息1和消息2用于peer之間協商加密機制

   ISAKMP包含有ISAKMP頭、SA負載、提議負載、轉換負載等字段

總之是讓雙方協商好我們之間使用啥子協議、加密方法

具體是要協定四個東東:加密機制、散列機制、DH組、認證機制

2、消息3和消息4用于相互之間交換公共密匙

兩端的peer先各自生成自已的私匙和公匙,同時還產生一個臨時值。然后再使用消息3或消息4將各自的公匙和臨時值進行交換。

交換完公匙后,每個peer先根據對方的公匙和自已的私匙生成一個共享秘密(使用DH算法),再根據共享秘密、對方和自已的臨時值、預共享密鑰產生出三個SKEY:

   SKEYID_d–此密匙被用于計算后續IPsec密匙資源

   SKEYID_a–此密匙被用于提供后續IKE消息的數據完整性以及認證

   SKEYID_e–此密匙被用于對后續IKE消息進行加密

消息3和4的ISAKMP包含以下字段:ISAKMP包頭、密匙交換負載(KE)、臨時值負載

3、消息5和消息6用于兩個peer之間進行認證,這兩個消息是用SKEYID_e進行過加密的。

每個peer根據一大堆東東(包括SKEYID-a、預共享密鑰、標識ID)生成一個Hash值,再將這個值和自已的標識ID(通常是IP或主機名)發送給對方。當然,使用的就是消息5或消息6。

每個peer收到對方的ID和Hash值后,先根據對方的ID找到對方的公匙,再計算本地Hash值,如果本地Hash值和對方的Hash值一樣,就表示認證成功。

這一步完成后,IKE SA被建立,主模式認證完成

第二階段的協商過程總共有3條消息:

1、第一、二條信息是兩個peer之間協商形成IPsec SA的封裝協議、模式、加密算法,還要互發用DH重新生成的新的公匙和臨時值,以及其它一些參數,像SPI、ID等等。

2、第三條消息通常由發起者發送給響應者,起一個確認的作用,也用來驗證通信信道的有效性

第三條信息發送前,兩端的peer必須先用和DH相關的信息(新的私鑰和對方公鑰)生成一個新的DH秘密,然后用該值和SKEYID_d以及其他一些參數一起來生成最終加解密的KEY。

——————————————————————————————–

SA–安全關聯

SA是兩個通信實體經協商建立起來的一種協定,它們決定了用來保護數據包安全的IPsec協議、轉碼方式、密鑰、以及密鑰的有效存在時間等等。任何IPsec實施方案始終會構建一個SA數據庫(SA DB),由它來維護IPsec協議用來保障數據包安全的SA記錄。

SA是單向的–如果兩個主機(比如A和B)正在通過ESP進行安全通信,那么主機A就需要 有一個SA,即SA(OUT),用來處理外發的數據包,另外還需要有一個不同的SA,即SA(IN)用來處理進入的數據包。主機A的SA(OUT)和主機 B的SA(IN)將共享相同的加密參數(比如密鑰)。

SA還要根據協議來區分,如果兩個主機間同時使用ESP和AH,對于ESP和AH會生成不同的SA。

SADB–安全關聯數據庫,包含雙方協商的IKE和IPsec安全信息

SPI–安全參數索引,是一個32位的值,用來標識用于處理數據包的特定的那個安全聯盟。或者這樣理解,用于唯一定義一條單向的IPsec通道。這個號碼存在于ESP包頭中,通道兩端必須一致。

SA分為兩種–

1、IKE(ISAKMP)SA    協商對IKE數據流進行加密以及對對等體進行驗證的算法

2、IPsec SA           協商對對等體之間的IP數據流進行加密的算法

對等體之間的IKE SA只能有一個

對等體之間的IPsec SA可以有多個

PFS–完善轉發安全性,是一種IKE協商中發起者可以向響應者提供建議的屬性,是一種強制對等體雙方在快速模式交換中產生新的DH秘密的屬性。這允許使用新的DH秘密生成用于加密數據的加密密鑰。

——————————————————————————————–

配置實例:

步驟:

1、configure crypto ACL               配置感興趣流,需要加密的流量就是感興趣流。

2、establish ISAKMP policy            第一階段的策略

3、configure IPsec transform set      第二階段的策略

4、configure crypto map

5、apply crypto map to the interface  在接口下應用

6、configure interface ACL            確定在外網接口放行哪些流量

一、定義感興趣流:

ip access-list extended VPN

  permit ip 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255

二、IKE第一階段

crypto isakmp policy 10

  encryption des

  hash md5

  authentication pre-share

  group 2

crypto isakmp key cisco address 202.100.1.2     pre-share key 的定義

三、IKE第二階段

crypto ipsec transform-set MYSET esp-des esp-md5-hmac

  mode tunnel

四、把感興趣流與轉換集映射一下

crypto map MYMAP 100 ipsec-isakmp

  set peer 202.100.1.2    設置VPN對等體的地址

  set tranform-set MYSET  設置轉換集

  match address VPN     感興趣流和轉換集的綁定

五、MAP與接口綁定

int s0

  crypto map MYMAP

六、設定接口只允許跑VPN流量,在接口入設置

access-list 100 permit udp any eq 500 any eq isakmp

access-list 100 permit esp any any

access-list 100 permit ip 172.16.2.0 0.0.0.255 172.16.1.0 0.0.0.255  由于ACL會二次查找,所以還要放行私網的流量

show crypto isakmp policy

show crypto isakmp sa  第一階段的SA

show crypto ipsec sa   第二階段的SA

show crypto engine connections active

show crypto map

crypto ipsec security-association lifetime [seconds|kilobytes]   第二階段的一個協商時間,也就是說多長時間后重新協商密匙。也可按已發了多少流量來進行協商。哪個數值先到就先起效。

cryto isakmp keepalive 10 3

IPsec通道的終結:

當流量超過上限后或者超時自動終結

clear crypto isakmp   清第一階段

clear crypto sa   清第二階段

clear crypto session  在新版的IOS中,用這條命令全清

debug crypto isakmp

debug crypto ipsec

配置IPsec-VPN的注意點:

1、路由

2、感興趣流量

3、策略

4、調用

接口設定ACL:

設定接口只允許跑VPN流量,在接口入設置

access-list 100 permit udp any eq 500 any eq isakmp

access-list 100 permit esp any any

或access-list 100 permit ahp any any

注意:在老IOS中,對包解密后還會再匹配一次訪問列表,新的IOS中就不會,所以在老的IOS中要加入一條

access-list 100 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255

IPsec中的路由問題:

R1  需要有4.4.4.0的路由

R2  需要有4.4.4.0  1.1.1.0  30.0.0.0的路由

R3  需要有1.1.1.0  4.4.4.0  20.0.0.0的路由

R4  需要有1.1.1.0的路由

——————————————————————————————-

——————————————————————————————-

GRE

GRE通用路由封裝—一個三層協議,能夠將各種不同的數據包封裝成IP包,然后通過IP網絡進行傳輸。也就是說能對其它的IP包或非IP包進行再封裝,在原始包頭的前面增加一個GRE包頭和一個新IP包頭。明文傳送,沒有安全性。在IP中的協議號47。

GRE封裝格式:

20字節  4字節

GRE有很好的隧道特性

1、支持多協議

2、支持組播

缺點是不安全

IPsec的特點:

1、能提供安全的傳輸保證

2、但只能支持IP,不能支持其他協議

小知識:在tunnal中,指定目標地址之后,只要在本地路由表中有這個地址,tunnal就會up

GRE over IPsec(實用性很高的技術,不像IPsecVPN那樣麻煩)

原理:在tunnel中,先用GRE對數據包封裝成IP包,再用IPsec加密,默認是通道模式

紅色部分是加密的部分

IPsec只能對IP包加密,不能對非IP包加密。

注意在GRE over IPsec中感興趣流的定義:(所有的GRE流量都是感興趣流)

access-list 100 permit gre host 202.100.13.3 host 202.100.12.2  必須定義公網地址

因為當感興趣流量過來時:

1、先查路由,進入tunnel口

2、封裝GRE后,進入S口撞擊map

當封裝了GRE后,外部的IP地址用的就是公網地址了,所以感興趣流量必須定義為公網地址。

由于在接口下會兩次檢查ACL,所以如果在物理接口下放ACL,要同時放行ESP和GRE流量,還有isakmp的協商流量。

GRE over IPsec 技術建議使用傳輸模式

因為通信點等于加密點

試驗:

一、配置tunnel

interface tunnel 1

  tunnel source 202.100.1.1

  tunnel destination 202.100.1.2

  tunnel gre ip

  ip address 12.1.1.1

二、運行路由協議

router eigrp 90

  network 172.16.1.0 0.0.0.255

  network 12.1.1.0 0.0.0.255

三、開始配置IPsec,先定義感興趣流:(注意這里的定義)

ip access-list extended VPN

  permit gre any any

四、IKE第一階段

crypto isakmp policy 10

  encryption des

  hash md5

  authentication pre-share

  group 2

crypto isakmp key cisco address 202.100.1.2   pre-share key 的定義

五、IKE第二階段

crypto ipsec transform-set MYSET esp-des esp-md5-hmac

  mode tunnel

六、把感興趣流與轉換集映射一下

crypto map MYMAP 100 ipsec-isakmp

  set peer 202.100.1.2    設置VPN對等體的地址

  set tranform-set MYSET  設置轉換集

  match address VPN     感興趣流和轉換集的綁定

七、MAP與接口綁定

int s0

  crypto map MYMAP

八、設定接口只允許跑VPN流量,在接口入方向設置

用在物理接口下–

access-list 100 permit udp any eq 500 any eq isakmp

access-list 100 permit esp any any

access-list 100 permit gre any any

—————————————————————————————–

—————————————————————————————–

site-to-site VPN的缺點:

1、需要兩端有固定的公網IP

2、兩端的配置太過復雜

RemoteVPN–easyVPN—remote access 使用這種方法

實現兩個主要目的:

1、簡單的client配置,easy VPN remote

2、中心的server,動態的推送配置到client,easy VPN server

所以client很easy,server端的配置一點都不easy

遠程連接有哪些困難需要克服:

1、IPsec的客戶端使用server端未知的IP地址來連接網關,這樣就不可能在兩端定義一個預共享密鑰。

2、IPsec的客戶端通常希望用私網IP進入專用網絡,而不是公網IP

3、IPsec的客戶端必須使用DNS服務器、DHCP服務器和其他一些在專用網絡上作為信息主要來源的服務器,而不是使用ISP的服務器。

4、IPsec客戶端常在PAT設備之后進行連接,但由于ESP要加密TCP或UDP頭中的信息,端口自然也加密了,PAT將不能正常工作。

為解決以上難題,設計了IKE協商的1.5階段。

IKE的1.5階段由兩部分組成–

1、x-auth擴展認證

2、模式配置

在遠程IPsec連接中,通常使用IKE主動模式。只有三條消息交換。

擴展認證–允許認證IPsec客戶端的使用者,被IPsec網關認證。

可以先讓所有的客戶都使用同一個預共享密鑰連接到IPsec網關,然后再使用擴展認證來確定用戶的身份,等于要進行兩次認證。這樣就解決了第一個問題(IPsec兩端無法定義預共享密鑰的難題)。

擴展認證是基于每一個用戶的,一般靠IPsec網關與AAA服務器結合來實現。

擴展認證在IKE第一階段完成后進行,擴展認證總共有四個消息的交換。

消息一:IPsec網關發向客戶端,詢問用戶名和密碼

消息二:客戶端發向IPsec網關,回應用戶名和密碼

消息三:IPsec驗證完畢后,通知客戶端成功或失敗

消息四:如果收到成功的消息,客戶端返回一個確認

模式配置:

允許IPsec網關為客戶端推送一個內部的IP地址和DNS服務器等信息。這樣客戶端就可以用這個內部的IP地址進入專用網絡。

NAT-T也叫NAT透明

用于解決在發生PAT的情況下進行正確的地址轉換

解決方法–將ESP分組再封裝進一個UDP頭中。

VPN 3005以上的設備都可以做server

1700、1800可以做client,實際上不光可以用硬件來做client,軟件也可以做,在移動辦公中就是軟件做

1800以上都可以做server

remote-VPN配置

server端配置

aaa new-model                                                          //啟用AAA

aaa authentication login REMOTE local

aaa authorization network REMOTE local

username wolf password 0 cisco      //建立本地數據庫

crypto isakmp policy 10

hash md5

authentication pre-share

group 2

encryption des

crypto isakmp client configuration group IPSEC-GROUP  組名,設不同組的目地是為內部不同的部門分配不同的IP

key xiangweixing   組密碼 組名和組密碼是一對,需要用戶端也是一樣的配置

pool IP-POOL

crypto ipsec transform-set MYSET esp-des esp-md5-hmac

crypto dynamic-map MYMAP 10

set transform-set MYSET

reverse-route        反向路由注入

crypto map CISCO client authentication list REMOTE       啟用XAUTH

crypto map CISCO isakmp authorization list REMOTE

crypto map CISCO client configuration address respond        地址推送方式(分強制推送和請求推送)

crypto map CISCO 10 ipsec-isakmp dynamic MYMAP

interface s1/0

crypto map CISCO

ip local pool IP-POOL 172.16.1.20 172.16.1.50

—————————————————————-

client端配置

crypto ipsec client ezvpn EZVPN

  group IPSEC-GROUP key xiangweixing

  conn manual

  peer 202.100.1.1   對端地址

  mode client

int s1/0

  crypto ipsec client ezvpn EZVPN outside

int e0/0

  crypto ipsec client ezvpn EZVPN inside

ip route 0.0.0.0 0.0.0.0 s1/0

R2#crypto ipsec client ezvpn connect

R2#crypto ipset client ezvpn xauth

在客戶端查看:

show crypto session

show crypto ipsec client ezvpn

在服務器端查看:

show crypto session group

show crypto session summary

ipsec vpn實例教程

clip_image001[3]

以下為路由器A的配置,路由器B只需對相應配置做更改即可

1:配置IKE

router(config)# crypto isakmp enable #啟用IKE(默認是啟動的)

router(config)# crypto isakmp policy 100 #建立IKE策略,優先級為100

router(config-isakmp)# authentication pre-share #使用預共享的密碼進行身份驗證

router(config-isakmp)# encryption des #使用des加密方式

router(config-isakmp)# group 1 #指定密鑰位數,group 2安全性更高,但更耗cpu

router(config-isakmp)# hash md5 #指定hash算法為MD5(其他方式:sha,rsa)

router(config-isakmp)# lifetime 86400 #指定SA有效期時間。默認86400秒,兩端要一致

以上配置可通過show crypto isakmp policy顯示。VPN兩端路由器的上述配置要完全一樣。

2:配置Keys

router(config)# crypto isakmp key cisco1122 address 10.0.0.2

–(設置要使用的預共享密鑰和指定vpn另一端路由器的IP地址)

3:配置IPSEC

router(config)# crypto ipsec transform-set abc esp-des esp-md5-hmac

配置IPSec交換集

abc這個名字可以隨便取,兩端的名字也可不一樣,但其他參數要一致。

router(config)# crypto ipsec security-association lifetime 86400

ipsec安全關聯存活期,也可不配置,在下面的map里指定即可

router(config)# access-list 110 permit tcp 172.16.1.0 0.0.0.255 172.16.2.0 0.0.0.255

router(config)# access-list 110 permit tcp 172.16.2.0 0.0.0.255 172.16.1.0 0.0.0.255

4.配置IPSEC加密映射

router(config)# crypto map mymap 100 ipsec-isakmp 創建加密圖

router(config-crypto-map)# match address 110 用ACL來定義加密的通信

router(config-crypto-map)# set peer 10.0.0.2 標識對方路由器IP地址

router(config-crypto-map)# set transform-set abc 指定加密圖使用的IPSEC交換集

router(config-crypto-map)# set security-association lifetime 86400

router(config-crypto-map)# set pfs group 1

5.應用加密圖到接口

router(config)# interface ethernet0/1

router(config-if)# crypto map mamap

相關知識點:

對稱加密或私有密鑰加密:加密解密使用相同的私鑰

DES–數據加密標準 data encryption standard

3DES–3倍數據加密標準 triple data encryption standard

AES–高級加密標準 advanced encryption standard

一些技術提供驗證:

MAC–消息驗證碼 message authentication code

HMAC–散列消息驗證碼 hash-based message authentication code

MD5和SHA是提供驗證的散列函數

對稱加密被用于大容量數據,因為非對稱加密站用大量cpu資源

非對稱或公共密鑰加密:

RSA rivest-shamir-adelman

用公鑰加密,私鑰解密。公鑰是公開的,但只有私鑰的擁有者才能解密

兩個散列常用算法:

HMAC-MD5 使用128位的共享私有密鑰

HMAC-SHA-I 使用160位的私有密鑰

ESP協議:用來提供機密性,數據源驗證,無連接完整性和反重放服務,并且通過防止流量分析來限制流量的機密性,這些服務以來于SA建立和實現時的選擇。

加密是有DES或3DES算法完成。可選的驗證和數據完整性由HMAC,keyed SHA-I或MD5提供

IKE–internet密鑰交換:他提供IPSEC對等體驗證,協商IPSEC密鑰和協商IPSEC安全關聯

實現IKE的組件

1:des,3des 用來加密的方式

2:Diffie-Hellman 基于公共密鑰的加密協議允許對方在不安全的信道上建立公共密鑰,在IKE中被用來建立會話密鑰。group 1表示768位,group 2表示1024位

3:MD5,SHA–驗證數據包的散列算法。RAS簽名–基于公鑰加密系統

文章出自:CCIE那點事 http://www.qdxgqk.live/ 版權所有。本站文章除注明出處外,皆為作者原創文章,可自由引用,但請注明來源。 禁止全文轉載。
本文標題:CISCO VPN配置詳解
本文鏈接:http://www.qdxgqk.live/?p=1861轉載請注明轉自CCIE那點事
如果喜歡:點此訂閱本站
?
?
萌宠夺宝游戏