1. 程式人生 > >cisco路由器上做IPSec-VPN

cisco路由器上做IPSec-VPN

session 1 ipsec知識點

IPsec(IP Security)ip安全的簡稱

    在實施VPN時,除了實現隧道功能以外,還要實現資料安全,兩者缺一不可;在隧道方面,之前所講到的GRE就是最常用的隧道技術,而在資料安全方面,其實就是要讓資料加密傳輸,至於如何對資料進行加密傳輸,有一個使用最廣泛,且最經典的技術方案,這就是IPsec(IP Security),IPsec最突出,也是最主要的功能就是保證VPN資料的安全傳輸。

    IPsec定義了使用什麼樣的方法來管理相互之間的認證,以及使用什麼樣的方法來保護資料,IPsec只是定義了一些方法,而IPsec本身並不是一個協議,就像OSI(Open System Interconnect)參考模型一樣,OSI並不是一個協議,OSI只是一個框架,一個模型,OSI裡面包含著多個協議,如TCP,UDP,IP,ICMP等等;IPsec中同樣也包含著為之服務的各種協議去實現IPsec要完成的各個功能,只有這樣,IPsec才能起到作用。

IPsec能夠起到的功能有:

資料來源認證(Data origin authentication),確保傳送源真實可靠。

保護資料完整性(Data integrity),確保資料不被中截獲篡改。
保證資料私密性(Data confidentiality),確保資料加密不被明文形式讀取。

防止中間人攻擊(Man-in-the-Middle),防止中間人截獲資料。

防止資料被重放(Anti-Replay),防止資料被黑客讀取篡改後再傳輸給接收方。

為IPsec服務的總共有三個協議:

IKE(Internet Key Exchange)

ESP(Encapsulating Security Protocol)

AH(Authentication Header)

雖然總共是三個協議,但分為兩類:

IKE(Internet Key Exchange)

    IKE是個混合協議,其中包含部分Oakley協議以及內建在ISAKMP(Internet Security Association and Key Management Protocol協議中的部分SKEME協議,所以IKE也可寫為ISAKMP/Oakley,它是針對金鑰安全的,是用來保證金鑰的安全傳輸、交換以及儲存,主要是對金鑰進行操作,並不對使用者的實際資料進行操作。

    IKE(Internet key Exchange)

網金鑰交換,基於Internet安全聯盟(sa)和金鑰管理協議(ISAKAMP)義的框架.它為2個對等體提供了相互驗證、交換金鑰管理資訊以及協商安全服務的手段,但是沒有規定如何讓進行驗證,和採取什麼樣的演算法的金鑰。通俗的說,它為加密傳輸提供了交通工具,但是傳送什麼東西卻留給了其他的規定(如ipsec

    ESP(Encapsulating Security Protocol)和AH(Authentication Header)主要工作是如何保護資料安全,也就是如何加密資料,是直接對使用者資料進行操作的。因為在實施VPN時,除了實現隧道功能以外,還要實現資料安全,兩者缺一不可;在之前我的提到的GRE隧道技術中,只能實現隧道而不能實現安全,而IPSec則可以為隧道提供資料保護功能,從而構建一個完整的VPN體系。IPsec除了能夠為隧道提供資料保護來實現VPN之外,IPsec還可以自己單獨作為隧道協議來提供隧道的建立,如果IPsec自己單獨作為隧道協議來使用,那麼IPsec就不需要藉助任何其它隧道協議就能獨立實現VPN功能;IPsec到底是隻使用資料保護功能再配合其它隧道協議,還是自己獨立實現隧道來完成VPN功能,可以由配置者自己決定。

注:AH和ESP都有防止資料被篡改的認證機制,而ESP還有加密資料的機制,AH沒有加密資料的機制,只有通過封裝來實現對資料的保護機制,不像ESP可以對資料直接加密。

重點:這裡的ESP和AH的認證和下面的認證(Authentication)不是一個概念,下面的是指兩個對等體之間的認證,就是保證雙方vpn通道的對接點(如兩臺route或防火牆)是合法的不是黑客冒充的,而AH和ESP中的認證時指對於ipsec中交換的祕鑰的合法可靠性和對於資料的合法可靠性的認證,防止被中間篡改不過一般只用ESP協議,因為ESP既有認證機制也有加密機制。

認證(Authentication)

    IKE會在VPN對等體之間採用認證機制(Authentication),認證可以有效確保會話是來自於真正的對等體而不是攻擊者,因為如果最開始本身就是在和一個攻擊者或黑客進行會話和協商,那麼後面的所有工作都是白廢,所以保證只和合法的對等體會話是非常重要的;IKE的認證方式有三種:

一、Pre-Shared Keys (PSK)

二、Public Key Infrastructure (PKI) using X.509 Digital Certificates

三、RSA encrypted nonce

其中Pre-Shared Keys (PSK)是最簡單的,使用由管理員事先在雙方定義好的密碼,認證時,只有雙方密碼匹配之後,後續的工作才能繼續;配置時通常可以包含IP地址,子網以及掩碼,也可以指定為任意地址來代替固定地址,適用於IP地址不固定的環境。 PKI是使用第三方證書做認證,叫做Certificate Authority (CA),,裡面包含名字、序列號,有效期以及其它可以用來確認身份的引數;證書也可以被取消。(本文只涉及Pre-Shared Keys與共享祕鑰PSK)

金鑰演算法(Diffie-Hellman)

    雖然IKE使用了認證來保證會話一定是來自合法的對等體,但是單靠認證也無法保證金鑰的安全,因為資料還是有可能被第三者截獲,所以IKE還必須有一套機制來保證金鑰的安全,因為只要金鑰洩露,就全玩完了。在金鑰方面,IKE使用了稱為Diffie-Hellman的演算法在VPN對等體之間建立安全的金鑰用來加密資料, Diffie-Hellman使用了極為複雜的數學演算法,最後將在VPN對等體之間計算出只有它們自己才知道的金鑰,即使他們的會話被第三者監控,也無法推算出金鑰,本文不對Diffie-Hellman的詳細計算過程做介紹,因為這也不是本文的最終目的。 Diffie-Hellman演算法目前有3種金鑰長度可選,所以在配置時,需要定義Diffie-Hellman的金鑰長度,分別有如下選擇:

Group 1 金鑰長度為768 bit,也是預設的金鑰長度;

Group 2 金鑰長度為1024 bit;

Group 5 金鑰長度為1536 bit。 

    用於資料加密的金鑰的值是靠演算法計算出來的,是不能由管理員定義和修改的,只能在配置IKE的時候選擇其中一組祕鑰演算法,預設不配置是group1祕鑰演算法。

 也就是說,esp只是個協議。是用於定義使用哪種方法來加密,而DES、3DES等是esp中定義的加密方法對應的具體演算法。(esp與3eds的關係相當於,替換法與用第N個數字替換第N+2個數字,這樣的關係。用簡單的話說就是:我們使用替換法(esp)為祕鑰/資料來加密,具體是用資料中的字串的第N個數字來替換第N+2個數字(3des),來形成一個新的加密後的祕鑰/資料,然後在隧道中傳輸)金鑰演算法(Diffie-Hellman)的選擇就是讓配置者定義金鑰將使用多少個bit的長度來進行的加密,如果選擇group的1024bit長度,就是要將金鑰設定成1024bit長,然後在使用esp對著1024bit的祕鑰進行3des或者des演算法加密處理,最終形成一個加密後的祕鑰,傳遞給隧道的對端

注:IPSec目前只支援IPv4 Unicast(IPv4 單播),不支援其它任何協議(如視訊的組播流量,IGP路由協議用組播來建立鄰居,所以iPv4不支援IGP協議,除非使用GRE over IPSEC)。

SASecurity Associations安全聯盟

    定義了各種型別的安全措施,包括ip包加密和認證的相關資訊相當於ipces中的規則、契約規定如何加密,如何認證)。但是sa是單向傳遞的就是說,2個對等體上必須要有相同的sa規則認證、加密等每一個對應一個套sa規則

    IPsec的所有會話都是在通道中傳輸的包括協商金鑰,傳遞使用者資料這樣的通道稱為SA(Security Association)SA並不是隧道,而是一組規則,就好比是需要會話的對等體之間必須遵守的一份合同。SA中的規則能夠保證所有資料的安全傳遞,因此SA中包含了之前提到的保證資料和金鑰安全時必不可少的認證、加密等安全策略,這些需要用到的技術,都要在SA中定義。
    因為VPN之間傳輸的資料需要加密才能保證安全,並且加密時所用到的金鑰要
更加安全,所以對待金鑰,我們也需要付出巨大的努力。在金鑰的安全上,由IKE負責,而資料的安全,則由IPsec負責,雖然是這麼說,但需要注意,IKE也是IPsec不可分割的一部分,IKE不是獨立存在的。 SA並不是只有一個,由於金鑰安全和資料安全我們是分開對待的,所以SA有兩個,分別是定義瞭如何保護金鑰和如何保護資料,這兩個SA就是: ISAKMP Security Association(IKE SA) IPsec Security Association(IPsec SA) 每個SA都有lifetime,過期後SA便無效,lifetime使用time (second) 和volume limit (byte count)來衡量,在建立SA時就會協商出來,雙方會比對,最終取值小的一方;通常是時間先過期,在要過期最後120秒之前,會自動重建另一條SA,避免活動的SA到期後無法傳輸資料,這樣就能實現平滑過渡,以丟最少的包。注:IKE SA等同於ISAKMP SA。(本段內容特別重要,可明確理解ipsec配置過程)

    IKE SA IKE SA要保護的物件是與金鑰有關的,IKE並不直接關心使用者資料並且IKE SA是為安全協商IPsec SA服務的(IKE第一階段的協商為IPSEC第二階段服務鋪路)IKE SA的lifetime預設為86,400 seconds即一天,預設沒有volume limit。

IPsec SA

    使用者的資料流量真正是在IPsec SA上傳遞的,而不是在IKE SA;IPsec SA直接為使用者資料流服務,IPsec SA中的所有安全策略都是為了使用者資料流的安全。 每個IPsec對等體都有一對IPsec SA,一個是去往遠端目的地的,而另一個是從遠端回來的,也就是一進一出,都存放在本地SA Database中。

    IPsec SA的lifetime預設為3600 seconds,即1小時;預設volume limit為4,608,000 Kbytes,即4.608 Gbyte。 因為SA有兩個,分為IKE SA和IPsec SA,兩個SA分別定義瞭如何保護金鑰以及如何保護資料,其實這兩個SA都是由IKE建立起來的,所以將IKE的整個執行過程分成了兩個Phase(階段),即:第一階段和第二階段

IKE Phase One 和 IKE Phase Two

IKE Phase One
   
 IKE Phase One的主要工作就是建立IKE SA(ISAKMP SA),IKE SA的服務物件並不是使用者資料,而是金鑰流量以及為IPsec SA階段服務的IKE SA的協商階段被稱為main mode(主模式),但是IKE也是需要保護自己的流量安全的(這些流量並非使用者流量),所以IKE SA之間也需要協商出一整套安全策略,否則後續的金鑰和IPsec SA的建立就不能得到安全保證;
IKE SA之間需要協商的套安全策略包括:

1、認證方式(Authentication,用於對合法對端的認證

共總有Pre-Shared Keys (PSK),Public Key Infrastructure (PKI),RSA encrypted nonce三種,預設為PKI。

2、加密演算法(Encryption)

總共有DES,3DES,AES 128,AES 192,AES 256,預設為DES。

3、Hash演算法(HMAC,用於對祕鑰和資料的認證

總共有SHA-1,MD5,預設為SHA-1。

4、金鑰演算法

(Diffie-Hellman) Groups 1 (768 bit),Group 2(1024 bit),Group 5(1536 bit),預設為Groups 1 (768 bit)。

5、Lifetime 隨使用者定義,預設為86,400 seconds,但沒有volume limit。 NAT穿越(NAT Traversal)預設為開啟狀態,無須手工配置。

IKE Phase Two
   
 IKE Phase Two的目的是要建立IPsec SA,由於IKE SA的服務物件並不是使用者資料,而是金鑰流量,以及為IPsec SA服務的,IKE SA是為IPsec SA做準備的,所以如果沒有IKE SA,就不會有IPsec SA;IPsec SA是基於IKE SA來建立的,建立IPsec SA的過程稱為 快速模式(quick mode)。IPsec SA才是真正為使用者資料服務的,使用者的所有流量都是在IPsec SA中傳輸的,使用者流量靠IPsec SA來保護,IPsec SA同樣也需要協商出一整套安全策略,其中包括:

1、加密演算法(Encryption)

總共有DES,3DES,AES 128,AES 192,AES 256,預設為DES。

2、Hash演算法(HMAC用於對資料的認證

總共有SHA-1,MD5,預設為SHA-1。

3、Lifetime

隨使用者定義,預設為3600 seconds,即1小時;預設volume limit為4,608,000 Kbytes,即4.608 Gbyte。

session 2 ipsec的兩種模式

IPsec Mode

共有Tunnel mode和Transport mode,預設為Tunnel mode。

    從上可以看出,IPsec SA中沒有協商認證方式(Authentication)和金鑰演算法(Diffie-Hellman),因為IKE SA時已經認證過了,所以後面已經不需要再認證;並且金鑰是在IKE SA完成的,所以在IPsec SA中也就談不了金鑰演算法了,但也可以強制再算。
    因為在實施VPN時,除了實現隧道功能以外,還要實現資料安全,兩者缺一不
可;在之前我的提到的隧道技術中,只能實現隧道而不能實現安全,而IPSec則可以為隧道提供資料保護功能,從而構建一個完整的VPN體系。IPsec除了能夠為隧道提供資料保護來實現VPN之外,IPsec還可以自己單獨作為隧道協議來提供隧道的建立,如果IPsec自己單獨作為隧道協議來使用,那麼IPsec就不需要藉助任何其它隧道協議就能獨立實現VPN功能;IPsec到底是隻使用資料保護功能再配合其它隧道協議,還是自己獨立實現隧道來完成VPN功能,完全由IPsec Mode來控制。

IPsec Mode分兩種: Tunnel mode隧道模式和Transport mode傳輸模式

    Tunnel mode(預設模式)通過Internet連線的遠端網路之間,當雙方需要直接使用對方私有IP地址來互訪時,因為私有IP網段是不能傳遞到Internet上進行路由的,所以目標地址是私有IP的資料包到達Internet後是會被丟棄的,要使地址是私有IP的資料包在Internet上傳遞,資料包的包頭就必須帶有公網IP;在之前,我們詳細介紹過最常用的隧道協議GRE的工作原理,其根本功能就是要實現隧道功能,通過隧道連線的兩個遠端網路就如同直連,因為隧道將資料包原來的私有IP地址先隱藏起來,在外部封裝上公網IP,等資料包通過公網IP被路由到該IP的路由器後,再由該路由器剝除資料包外層的公網IP,從而發現數據包的私有IP後,再通過私有IP將資料包發到真正的目的地,為此,GRE需要完成多次封裝,總共有3次,換句話說,就是在GRE隧道中傳輸的資料包都有3個包頭,GRE中的IP資料包是一層套一層,總共有3個IP地址。
    IPsec中的Tunnel mode就擁有著與GRE相同的隧道功能,那就是將資料包原來的私有IP地址先隱藏起來,在外部封裝上公網IP,等資料包通過公網IP被路由到該IP的路由器後,再由該路由器剝除資料包外層的公網IP,從而發現數據包的私有
IP後,再通過私有IP將資料包發到真正的目的地,所以,IPsec的Tunnel mode也會對原始資料包封裝多個IP包頭,當IPsec工作在Tunnel mode時,資料包的封裝過程如下:


    從圖中可以看出,當IPsec工作在Tunnel mode時,整個原始資料包都會被加密,包括資料部分和包頭部分,正因為該封裝形式隱藏了原始的IP 包頭,導致了原始IP包頭不可見,那麼路由器就無法對該資料包進行路由,所以需要新增一個新的IP包頭來正常路由,通常是加密裝置自己的IP地址被加到新IP包頭中,這個地址也可在IOS中定義;並且我們可以確定這個IP地址一定是在傳輸網(通常指公網Internet)中可以被路由的。至少為什麼同時出現3個包頭,理論同GRE隧道的原理,因為要實現隧道功能,此部分的理論可以參見之前GRE隧道部分。 IPsec包頭的大小共32位元組,而普通IP包頭大小為20位元組,所以可以看出,原始IP資料包經過Tunnel模式的IPsec封裝之後,會多出大約52位元組大小的包頭。當原始資料包被Tunnel模式的IPsec封裝時,這種封裝方式被認為更安全,因為原始資料包的所有內容,包括資料部分,以及真正的源IP和目的IP都被加密了,所以更安全。

    Transport mode IPsec除了作為安全協議來為隧道提供資料保護之外,也可以自己單獨作為隧道協議來提供隧道的建立,如果IPsec自己單獨作為隧道協議來使用,那麼IPsec就不需要藉助任何其它隧道協議就能獨立實現VPN功能;這些都是由IPsec Mode來控制的,如果IPsec要自己獨立實現隧道來完成VPN功能,就需要工作在Tunnel mode,Tunnel模式的IPsec不僅實現了隧道功能,也保留了資料安全,實現了完整的VPN功能。如果IPsec不需要實現隧道功能,而只需要實現保護資料的安全功能,就只要工作在Transport mode即可,因為Transport模式的IPsec只有安全功能而沒有隧道功能,所以還要再配合其它隧道協議,最終實現完整的VPN功能。當IPsec工作在Transport mode時,資料包的封裝過程如下:


    從圖中可以看出,當IPsec工作在Transport mode時,IPsec包頭是新增在原始IP包頭與上層協議(如傳輸層)之間的,所以原始IP包頭在傳輸過程中還是可見的,同樣也容易被分析。因為沒有新IP包頭被加入,所以沒有多少增加的位元組。由於資料包被Transport模式的IPsec封裝時,原始IP包頭在最外面,路由過程中是根據原始IP包頭來路由的,所以當通過Internet連線的遠端網路之間需要直接使用對方私有IP地址來互訪時,此封裝不可行,因為Transport mode沒有實現隧道功能,所以如果要實現VPN功能,Transport模式的IPsec就應該配合p2p GRE over IPsec來使用。

ESP(Encapsulating Security Protocol)
    為IPsec服務的協議總共有三個:IKE(Internet Key Exchange),ESP(Encapsulating Security Protocol)以及AH(Authentication Header),其中IKE是針對金鑰安全的,是用來保證金鑰的安全傳輸、交換以及儲存,主要是對金鑰進行操作,並不對使用者的實際資料進行操作,如果要保護使用者資料,需要靠ESP(Encapsulating Security Protocol)和(Authentication Header),ESP和AH主要工作是如何保護資料安全,也就是如何加密資料,是直接對使用者資料進行操作的,IPsec對使用者資料的保護,靠ESP和AH的封裝。


    ESP包頭中使用IP協議號50來標識,意為IP協議號為50的資料包都被當作ESP資料包來處理;從上圖中也可以看出,即使是封裝ESP,也分為兩種情況,因為IPsec本身分為兩種模式,所以在進行安全封裝資料包時,不同的模式,也會有不同的封裝格式。從圖中還可以看出,原始資料包經過ESP封裝之後,只是資料被加密了,而原始的IP包頭是沒有改變的,雖然是這樣,但也會使用其它方式,如HMAC來保證資料的安全性,其中包括:

1、保護資料完整性(Data integrity)

2、防止中間人攻擊(Man-in-the-Middle)

3、防止資料被重放(Anti-Replay)

4、同樣也提供資料認證(Data authentication)

AH(Authentication Header)

AH對使用者資料包的封裝過程如下:


AH包頭中使用IP協議號51來標識,從圖中可以發現,原始資料包經過AH封裝之後,並沒有被加密,這是因為AH封裝並不使用常規的方法去加密資料部分,而是採用隱藏資料的方法,也就是相當於加一個防改寫的封條給資料,很顯然,這簡直就是掩耳盜鈴,如果資料機密要求高,千萬不要單獨使用AH封裝。

ESP和AH結合

    在一個IPsec Security Association (SA)中可以同時使用ESP和AH,而ESP擁有和AH相同的認證功能,以及資料保護方法,所以只使用ESP就是最理想的。

Transform Set
    Transform set 是一組演算法集合,通過它來定義使用怎樣的演算法來封裝資料包,比如之前所說的ESP封裝,AH封裝都需要通過Transform set來定義,還可以定義其它一些加密演算法以及HMAC演算法;通過定義transform set,就可以讓使用者來選擇保護資料的強度,因此transform set就是定義了資料包是受到怎樣的保護。

Crypto Map
    Crypto map是思科的IOS中配置IPsec的元件,執行兩個主要功能:選擇需要加密處理的資料;定義資料加密的策略以及資料發往的對端。選擇需要加密處理的資料就是定義什麼樣的流量需要被保護,因為也許使用者並不是需要所有的資料都被保護,所以需要先匹配指定的流量才行;

    定義資料加密的策略以及資料發往的對端,也就相當於定義資料的目的地,有時,這也表示隧道的終點。其實Crypto map除了以上兩個功能以外,還包含其它一些功能,如定義IPsec的Mode;Crypto map中的策略是分組存放的,以序號區分,如果一個Crypto map有多個策略組,則最低號碼的組優先;當配置完Crypto map後,需要應用到介面上才能生效,並且一個介面只能應用一個Crypto map。 Crypto map還分為靜態map(static map)和動態map(dynamic map),如果需要簡單的區分它們,就是資料發往的對端是否固定,如果是動態map,那麼對端是不固定的,在存在隧道的時候,也就表示隧道的終點是不固定的,但源始終是自己。

隧道分離(Split Tunneling)
    Split Tunneling只在遠端VPN(remote VPN)時才有,因為當遠端VPN使用者的VPN隧道建立之後,該使用者的所有流量都將被髮送到隧道之上,這樣一來,原本使用者正常的使用者,比如發往Internet的流量也被髮到隧道上,結果就會造成遠端VPN使用者與Internet失去連線;為了讓使用者需要走VPN隧道的流量才被髮送到隧道上,而其它流量,還是從原來的介面傳送而不被IPsec封裝,所以需要將使用者的流量分為兩類,從而區分對待,這就是隧道分離(Split Tunneling);其實Split Tunneling和非遠端VPN有某些相同之處,非遠端VPN也有定義感興趣流量的功能,這個功能就是指定什麼樣的流量通過VPN傳輸,什麼樣的流量正常傳輸;在最終的結果是,這兩個功能在配置上是一樣的。

IPsec LAN-to-LAN VPN(LAN-to-LAN VPN)
概述
    在IPsec VPN範疇的VPN中,有多種形式的VPN,各形式的VPN因為架構和使用環境的不同而不同,但在IPsec VPN範疇內的各VPN中,都是以IPsec為基礎的,在本小節中要講到的是IPsec VPN之LAN-to-LAN VPN,有時也被稱為Site-to-Site VPN,該形式的VPN是IPsec VPN中最簡單的VPN,但並不代表該形式的VPN是最常用的。 在配置IPsec VPN範疇的VPN時,無論配置哪種形式,基本上需要如下幾個重要步驟:

1、配置IKE(ISAKMP)策略 定義認證標識

2、配置IPsec transform

3、定義感興趣流量

4、建立crypto map

5、將crypto map應用於介面

其中每步的具體內容為:

1、配置IKE(ISAKMP)策略

2、定義IKE Phase One中的一些策略,包括加密演算法(Encryption),Hash演算法(HMAC),金鑰演算法(Diffie-Hellman),認證方式(Authentication)等等,每項的具體資訊請參考前文內容。

3、定義認證標識(Pre-Sahred)

無論前面定義了何種認證方式,都需要新增認證資訊,如密碼、數字證書等等。

4、配置IPsec transform

也就是定義Phase Two中一些加密演算法以及HMAC演算法,此transform set就是定義了VPN流量中的資料包是受到怎樣的保護。

5、定義感興趣流量

定義哪些流量需要通過VPN來傳輸,通過IPsec來保護;匹配流量的方法為定義ACL,建議使用Extended ACL來匹配指定的流量,ACL中被permit匹配的的流量表示加密,而被deny匹配的流量則表示不加密。

注:在配置ACL定義感興趣流量時需要格外注意的是ACL中不要使用any來表示源或者目標,否則會出問題。

6、建立crypto map

用於將之前定義的ACL,加密資料發往的對端,以及IPsec transform結合在crypto map中。

7、將crypto map應用於介面

crypto map配置後,是不會生效的,必須將crypto map應用到介面上,目前還沒有聽說crypto map對介面型別有任何要求,也就是正常介面都可以應用,當然必須是三層可路由介面。

session 3 例項配置Router-to-Router LAN-to-LAN VPN

配置site to site VPN拓撲如下要實現2個網路之間的ip流量ipsec


網路基礎配置:

Router1(config)#interface s0/0

Router1(config-interface)#ip address 210.1.61.1 255.255.255.252

Router1(config-interface)#no shutdown

Router1(config-interface)#exit

Router2(config)#interface f1/0

Router2(config-interface)#ip address 172.16.1.1 255.255.255.0

Router2(config-interface)#no shutdown

Router2(config-interface)#exit

Router2(config)#ip route 0.0.0.0 0.0.0.0 s0/0

第一步.配置第一階段配置IEK引數,協商祕鑰的安全引數。

RA的配置
Router1(config)#crypto isakmp enable               啟用iek協商

Router1(config-isakmp)#authentication per-share    規定使用預共享祕鑰PSK來認證對等體是否合法
Router1(config)#crypto isakmp policy 1-10000       建立iek協商策略(數字小則優)           
Router1(config-isakmp)#hash {md5\sha1}           配置在建立連線時協商IKE使用的雜湊演算法
Router1(config-isakmp)#encryption {DES\3DES}     配置在建立連線時協商IEK使用的加密演算法

Router1(config-isakmp)#lifetime 60               配置SA的生存時間,超過將重新協商

第二部,配置對等體認證PSK

Router(config)#crypto isakmp key 0 123 address 211.195.161.55   

配置預共享祕鑰引數和對端地址,key 0表示在running-config中以明文儲存PSK密碼

第三步.配置第二階段配置ipsec引數,協商通過ipsec隧道的資料的安全引數。

R1中配置
Router1(config)crypto ipsec transform-set {transformName}{AH-md5-hmac\AH-sha-hmac}{ESP-des\ESP-3des\ESP-null}  

配置ipsec傳輸集名稱和引數(AH和ESP的)可單獨用AH或ESP,也可以兩者都用。AH只有認證機制,ESP有認