IP Sec 站點到站點VPN基本實驗:
通過一個實驗認識站點到站點IP Sec VPN的基本配置,需求如下:
兩個站點Site-1和Site-2內網跨越Internet安全實現互通
第一步:確保加密點可逹
R1使用公網接口地址128.73.1.1、R2使用公網接口地址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 互聯網密鑰交互協議 – 控制層(大腦)
isakmp是IKE的組件
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
//轉換級-後面加個名字,為本地有效
用什麼協定封裝esp或AH:
AH不能加密ESP可以加密
ESP後面加一個加密算法,決定以後對加密要用什麼算法,選強一點的算法AES,在選密鑰的長度,選最長的256,在定個hash算法建議選esp-sha256-hmac
進到了轉換級配置模式下
R1(cfg-crypto-trans)#
mode
這個模式下一開始只有一條命令mode,後面有兩種模式transport和tunnel,默認下是trnnel模式
transport能幫你節約24節的頭部,transport為trnnel的優化。
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 100R2(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 //查看加解密數量