天天看點

Cisco 路由器實作IPSEC ×××配置

實驗拓撲

Cisco 路由器實作IPSEC ×××配置

目标

分公司172.16.10.0/24,網絡的主機可以通過×××通路總部伺服器10.10.33.0/24,但不能通路Internet

分公司的其它用戶端(172.16.0.0/24)可以通路Internet

實驗裝置

1、Cisco路由器(IOS為12.4)

2、客戶機3台,IP位址,見拓撲圖,F0/0連接配接外網

實驗步驟

R1上的配置

Router(config)#hostname R1

R1(config)#int f0/0

R1(config-if)#ip add 100.0.0.1 255.255.255.0

R1(config-if)#no sh

R1(config-if)#int f0/1

R1(config-if)#ip add 172.16.10.254 255.255.255.0

//配置預設路由

R1(config-if)#ip route 0.0.0.0 0.0.0.0 100.0.0.2

在IPSEC中,IKE被用來自動協商SA和密鑰,如果被關閉用crypto isakmp enable啟用

R1(config)#crypto isakmp policy 1     //建立IKE協商政策,編号為1

R1(config-isakmp)#encryption 3des    //設定加密使用的算法為3DES

R1(config-isakmp)#hash sha    //設定密鑰認證的算法為sha

R1(config-isakmp)#authentication pre-share     //告訴router要先使用預共享密鑰,手工指定

R1(config-isakmp)#group 2  

R1(config-isakmp)#lifetime 10000 //聲明SA的生存時間為10000,超過後SA将重新協商

R1(config-isakmp)#exit

R1(config)#crypto isakmp key 0 test address 100.0.0.2

//設定加密密鑰為test,要求二端的密碼相比對,和對端位址(總部Router位址)

配置通路控制清單

注意:

當一個路由器接收到發往另一個路由器的内部網絡封包時,IPSEC被啟動,通路清單被用于确定哪些業務 将啟動IKE和IPSEC協商

Crypto通路控制清單必須是互為鏡像的,如:R1加密了所有流向R2的TCP流量,則R2必須加密流回R1的所有TCP流量

R1(config)#access-list 100 permit ip 172.16.10.0 0.0.0.255 10.10.33.0 0.0.0.255

//定義從172.16.10.0網絡發往10.10.33.0的封包全部加密

//配置IPSEC傳輸模式,用于定義×××隧道的認證類型,完整性與負載加密

R1(config)#crypto ipsec transform-set vpn-set esp-des ah-sha-hmac

R1(cfg-crypto-trans)#mode tunnel //可選

R1(cfg-crypto-trans)#exit

R1(config)#crypto ipsec security-association lifetime seconds 1800 //定義生存周期1800秒

//配置caypt map(加密映射)

R1(config)#crypto map test-map 1 ipsec-isakmp //建立crypto map

//IPSEC-ISAKMP表示采用自動協調,名為test-map,編号1為優先級,越小優先級越高

R1(config-crypto-map)#set peer 100.0.0.2 //設定crypto map所對應的×××鍊路對端IP

R1(config-crypto-map)#set transform-set vpn-set //指定crypto map所使用傳輸模式名

R1(config-crypto-map)#match address 100 //指定此crypto map使用的通路控制清單

R1(config-crypto-map)#exit

//将映射應用到對應的接口上,×××就可生效了

R1(config-if)#crypto map test-map

//配置PAT

R1(config)#access-list 1 deny 172.16.10.0 0.0.0.255 //研發部不能通路Internet

R1(config)#access-list 1 permit 172.16.0.0 0.0.255.255 //其它部門可以通路Internet

R1(config)#ip nat inside source list 1 interface f0/0 overload //在F0/0上啟用PAT

R1(config-if)#ip nat outside

R1(config)#int f0/1

R1(config-if)#ip nat inside

R2上的配置(總部上路由器設定)

R2(config)#int f0/0

R2(config-if)#ip add 100.0.0.2 255.255.255.0

R2(config-if)#no sh

R2(config)#int f0/1

R2(config-if)#ip add 10.10.33.254 255.255.255.0

R2(config-if)#ip route 0.0.0.0 0.0.0.0 100.0.0.1

//IPSEC ×××的配置,含義與R1基本相同

R2(config)#crypto isakmp policy 1 //建立IKE協商政策,編号為1

R2(config-isakmp)#encryption 3des

R2(config-isakmp)#hash sha //設定密鑰認證的算法為sha

R2(config-isakmp)#authentication pre-share //告訴router要先使用預共享密鑰,手工指定

R2(config-isakmp)#group 2

R2(config-isakmp)#lifetime 10000

R2(config-isakmp)#exit

R2(config)#crypto isakmp key 0 test address 100.0.0.1

//設定共享密鑰為test,要求二端的密碼相比對,和對端位址(總部Router位址)

R2(config)#access-list 100 permit ip 10.10.33.0 0.0.0.255 172.16.10.0 0.0.0.255

//定義從10.10.33.0網絡發往172.16.10.0的封包全部加密

R2(config)#crypto ipsec transform-set vpn-set esp-des ah-sha-hmac //加密算法二邊要比對

R2(cfg-crypto-trans)#mode tunnel

R2(cfg-crypto-trans)#exit

R2(config)#crypto ipsec security-association lifetime seconds 1800

R2(config)#crypto map test-map 1 ipsec-isakmp

R2(config-crypto-map)#set peer 100.0.0.1 //設定crypto map所對應的×××鍊路對端IP

R2(config-crypto-map)#set transform-set vpn-set //指定crypto map所使用傳輸模式名

R2(config-crypto-map)#match address 100 //指定此crypto map使用的通路控制清單

R2(config-crypto-map)#exit

應用到接口,生效

R2(config-crypto-map)#int f0/0

R2(config-if)#crypto map test-map

相關驗證結果的檢視指令

顯示ISAKMP協商政策的結果

R2#sh crypto isakmp policy

檢視管理連接配接SA的狀态

R2#sh crypto isakmp sa

顯示IPSEC變換集

R2#sh crypto ipsec transform-set

顯示資料資料連接配接SA的細節資訊

R2#sh crypto ipsec sa

下一篇: Java方法重寫

繼續閱讀