2018年2月24日 星期六

IP Sec 站點到站點VPN基本實驗


IP Sec 站點到站點VPN基本實驗:

通過一個實驗認識站點到站點IP Sec VPN的基本配置,需求如下:

兩個站點Site-1Site-2內網跨越Internet安全實現互通





第一步:確保加密點可逹

R1使用公網接口地址128.73.1.1R2使用公網接口地址186.81.1.1

PC1默認路由指向R1出口,PC2默認路由指向R2出口。

R1默認路由指向Internet網關,R2默認路由指向Internet網關。



R1# ping 186.81.1.1



IPSec是由一組協議組成的,包含三個協議

1. AH認證頭部協議數據層(四支)

2. ESP封裝安全載荷協議數據層(四支)

3. IKE 互聯網密鑰交互協議控制層(大腦)

isakmpIKE的組件



IKE的作用

1. 協商算法參數(SA Security Association安全關聯相當於協商的結論)

2. 生成加解密密鑰

3. 更新加解密密鑰

4. 身份認證 (排除非法的對端)



第二步:配置階段1加密算法策略

R1(config)# crypto isakmp policy 10
crypto  //IP Sec第一個指令,加密學的意思
isakmp  //意思為第一階段的配置
policy  //策略
policy後面加個數字、越小越優先

R1(config-isakmp)# encryption 3des    //encryption  //加密算法 還有一個AES最強
R1(config-isakmp)# hash md5    //hash  //哈希算法
R1(config-isakmp)# group 5    //group  //DH
R1(config-isakmp)# authentication pre-share  //先把方式定下來

authentication  //認證方式
pre-share  //域共享密鑰


設定四種方式

R1(config-isakmp)# lifetime
lifetime  //有效期、默認為最大86400、通常不用配置使用默認



R2(config)# crypto isakmp policy 10
R2(config-isakmp)# encryption 3des    
R2(config-isakmp)# hash md5
R2(config-isakmp)# group 5
R2(config-isakmp)# authentication pre-share  
R2(config-isakmp)# exit


兩端配置了一致的階段1認證方式、加密算法、DH組級別、哈希算法、有效期





第三步:配置預共享密鑰用於身份認證

配罝密鑰

R1(config)# crypto isakmp key cisco123 address 186.81.1.1
cisco123兩邊配置要一樣,後面為密鑰給誰用



R2(config)# crypto isakmp key cisco123 address 128.73.1.1
分別設置對端地址對應的預並享密鑰,兩端設置一樣



第一階段配完不須要調用,他自動會調用,算法全用密鑰看地址就找到了



整合:

1. 明確什麼數據需要保護(通過感興趣列表定義)

2. 怎麼保護(通過transform-set定義階段2的算法和封裝協議)

3. 保護後的數據發給誰(指定VPN對端設備IP地址)



第四步:配置轉換集 (轉換集就是一系列參數策略的集合)第二階段配置



R1(config)# crypto ipsec transform-est AES-SHA esp-aes 256 esp-sha256-hmac

crypto ipsec  //第二階段的配置
transform-est  //轉換級-後面加個名字,為本地有效

用什麼協定封裝espAH

AH不能加密ESP可以加密

ESP後面加一個加密算法,決定以後對加密要用什麼算法,選強一點的算法AES,在選密鑰的長度,選最長的256,在定個hash算法建議選esp-sha256-hmac



進到了轉換級配置模式下

R1(cfg-crypto-trans)# mode

這個模式下一開始只有一條命令mode,後面有兩種模式transporttunnel,默認下是trnnel模式

transport能幫你節約24節的頭部,transporttrnnel的優化。



R1(cfg-crypto-trans)# exit

什麼都不配置選擇默認模式




R2(config)# cry ipsec trans AES-SHA esp-aes 256 esp-sha256-hmac

esp做封裝aes 256做加密算法,esp-sha256來做H mac算法





轉換集兩端需要一致





第五步:配置感興趣列表 (匹配需要用VPN保護的流量)



用來描述我這端到你那邊什麼流量要加密,通過訪問控制列表的方法來寫

R1(config)# access-list 100 permit ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255



R2(config)# access-list 100 permit ip 172.16.1.0 0.0.0.255 192.168.1.0 0.0.0.255

感興趣流定義時,始終以本端為源,對端為目的。兩邊一致



第六步:定義crypto map策略,調用到公網接口



R1(config)# crypto map CMAP 10 ipsec-isakmp    //isakmp管理ipsec密鑰,10是行號

指定一個數字,一個接口只能調用一個數字,為第一次創建所以還要在指定類型。

在指定類型:

ipsec-isakmp:用isakmp來幫我管理ipsec的加減密鑰

ipsec-manual:手動配置用什麼密鑰加密,不建議使用

下次在進到crypto map CMAP 10的時候ipsec-isakmp可以不用在配置了



會有個提醒:新的crypto map行,等你配置完一個有效的訪問控制列表和peer對端地址之後才會生效



什麼人要加密

R1(config-crypto-map)# match address 100    //調用感興趣列表,描述什麼流量要加密

訪問控制列表100匹配這些流量是我要保護的



加密包往哪個地方發

R1(config-crypto-map)# set peer 186.81.1.1    //加密流量發給誰,或與誰協商加密



怎麼保護

R1(config-crypto-map)# set transform-set AES-SHA     //使用什麼算法加密封裝

調用第二階段

R2(config)# crypto map CMAP 10 ipsec-isakmp
R2(config-crypto-map)# match address 100
R2(config-crypto-map)# set peer 128.73.1.1    //互指對端地址
R2(config-crypto-map)# set transform-set AES-SHA


調用在流量的出口,出去是我來判斷要不要加密,接收是對端判斷要不要加密

R1(config)# interface fa 0/0
R1(config-if)# crypto map CMAP



R2(config)# interface fa 0/0
R2(config-if)# cry map CMAP



配置到這裡就配好了

但是需要感興趣流觸發VPN協商建立 (按需建立)



第七步:觸發VPN建立,並查驗效果

PC1# ping 172.16.1.1





檢查

R1# show crypto session     //查看VPN會話狀態

status : UP-ACTIVE  //UP為第一階段OK ACTIVE為第二階段OK


R1# show crypto isakmp sa detal     //檢查第一階段SA



R1# show crypto ipsec sa     //檢查第二階段SA



R1# show crypto engine connections active    //查看加解密數量