實例一 Cisco路由器實現L2L IPSec×××(——自明教教主)算法
拓撲圖:安全
描述:session
通信點:PC1的1.1.1.1和Site2的2.2.2.2dom
加密點:Site1的202.100.1.1和Site2的61.128.1.1ide
要求:通訊點間經過IPSEC ×××實現安全通訊加密
PC1:spa
基礎配置:3d
enorm
config txml
no ip domain-lookup
line vty 0 15
logging synchronous
exec-timeout 0 0
password cisco
exit
接口配置:
int f0/0
ip add 10.1.1.10 255.255.255.0
no shut
int lo 0
ip add 1.1.1.1 255.255.255.0
end
路由配置:
config t
ip route 2.2.2.0 255.255.255.0 10.1.1.1 //只需配置去往Site2通信點的路由。將去往遠端通信點的路由送往本地加密設備的內部端口。
Site1:
基礎配置:
en
config t
no ip domain-lookup
line vty 0 15
logging synchronous
exec-timeout 0 0
password cisco
exit
接口配置:
int f0/0
ip add 10.1.1.1 255.255.255.0
no shut
int f1/0
ip add 202.100.1.1 255.255.255.0
no shut
end
ping 10.1.1.10
路由配置:
conf t
ip route 1.1.1.0 255.255.255.0 10.1.1.10 //解決去往本地通信點的路由
ip route 61.128.1.1 255.255.255.255 202.100.1.10 //解決遠端加密點路由
ip route 2.2.2.0 255.255.255.0 202.100.1.10 //遠端通信點路由。若不加此路由條目,路由器會直接丟棄去往遠端通信點的數據包。(1)當來自PC1的報文到達Site1的內部端口時首先會根據IP包頭的源目地址查路由表(也就是該條路由)。(2)路由查到會企圖經過外部端口送出。(3)由於該外部端口上配置有MAP,根據IP頭信息匹配MAP的感興趣流。(4)匹配上感興趣流後會出發加密。(5)通過ESP封裝,再次送往路由器查詢路由表。(6)匹配上去往遠端加密點的路由後再從外部接口送出,此時通過ESP封裝的報文不匹配MAP的ACL,放行從外部端口送出。以下圖:
配置L2L IPSec×××:
第一階段,IKE(ISAKMP) SA:
激活ISAKMP:
Site1(config)#crypto isakmp enable //路由器可選,默認已經激活
配置ISAKMP SA:
Site1(config)#crypto isakmp policy 10 //此處若是直接exit則會集成默認配置
Site1(config-isakmp)#encryption 3des //指定加密算法
Site1(config-isakmp)#hash md5 //指定hash算法
Site1(config-isakmp)#authentication pre-share //指定認證方式
Site1(config-isakmp)#group 2 //指定DH算法爲group2
Site1(config-isakmp)#exit
指定遠端加密點和認證時用的預共享口令:
Site1(config)#crypto isakmp key 0 L2Lkey address 61.128.1.1
第二階段,IPSEC SA:
配置感興趣流:
Site1(config)#ip access-list extended ***
Site1(config-ext-nacl)#permit ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255
Site1(config-ext-nacl)#exit
配置IPSec策略:
Site1(config)#crypto ipsec transform-set Trans esp-des esp-md5-hmac //此處肯定了感興趣流實際的加密和認證算法
Site1(cfg-crypto-trans)#exit
配置Crypto map:
Site1(config)#crypto map cry-map 10 ipsec-isakmp //一個接口只能調用一個MAP,一個MAP能夠有多個ID,一個ID表示一個×××
Site1(config-crypto-map)#set peer 61.128.1.1 //和誰建×××
Site1(config-crypto-map)#match address *** //匹配什麼流量
Site1(config-crypto-map)#set transform-set Trans //使用哪一個轉換集來處理
Site1(config-crypto-map)#exit
應用Crypto map至端口:
Site1(config)#int f1/0
Site1(config-if)#crypto map cry-map
Site1(config-if)#end
Internet:
基礎配置:
en
config t
no ip domain-lookup
line vty 0 15
logging synchronous
exec-timeout 0 0
password cisco
exit
接口配置:
int f1/0
ip add 202.100.1.10 255.255.255.0
no shut
int f0/0
ip add 61.128.1.10 255.255.255.0
no shut
end
ping 202.100.1.1
Site2:
基礎配置:
en
config t
no ip domain-lookup
line vty 0 15
logging synchronous
exec-timeout 0 0
password cisco
exit
接口配置:
int f0/0
ip add 61.128.1.1 255.255.255.0
no shut
int lo 0
ip add 2.2.2.2 255.255.255.0
no shut
exit
do ping 61.128.1.10
路由配置:
ip route 202.100.1.1 255.255.255.255 61.128.1.10 //遠端加密點;
ip route 1.1.1.0 255.255.255.0 61.128.1.10 //遠端通信點;
do ping 202.100.1.1
配置L2L IPSec×××:
第一階段,IKE(ISAKMP) SA:
Site2(config)#crypto isakmp enable
Site2(config)#crypto isakmp policy 10
Site2(config-isakmp)#encryption 3des
Site2(config-isakmp)#hash md5
Site2(config-isakmp)#authentication pre-share
Site2(config-isakmp)#group 2
Site2(config-isakmp)#exit
Site2(config)#crypto isakmp key 0 L2Lkey address 202.100.1.1
第二階段,IPSEC SA:
配置感興趣流:
Site2(config)#ip access-list extended ***
Site2(config-ext-nacl)#permit ip 2.2.2.0 0.0.0.255 1.1.1.0 0.0.0.255
Site2(config-ext-nacl)#exit
配置IPSec策略:
Site2(config)#crypto ipsec transform-set cisco esp-des esp-md5-hmac
Site2(cfg-crypto-trans)#exit
配置Crypto map:
Site2(config)#crypto map cry-map 10 ipsec-isakmp
Site2(config-crypto-map)#set peer 202.100.1.1
Site2(config-crypto-map)#match address ***
Site2(config-crypto-map)#set transform-set cisco
Site2(config-crypto-map)#exit
應用Crypto map至端口:
Site2(config)#int f0/0
Site2(config-if)#crypto map cry-map
Site2(config-if)#exit
驗證:
PC1#ping 2.2.2.2 source 1.1.1.1 repeat 100
抓包截圖:
查看ISAKMP SA:
Site1#show crypto isakmp sa
查看IPSec SA:
Site1#show crypto ipsec sa
檢查活動的SA:
Site1#show crypto engine connections active
可見,一個正常的IPSEC SA包含一個雙向的IKE SA(ISAKMP SA)和兩個單向的IPSEC SA,其中一個用於加密一個用於解密。
檢查一個IPSEC ×××是否正常,通常狀況下使用show crypto engine connections active命令,能看到三個SA,而且加解密的數據包和PING通的數據包數量一致,基本上就無需再進一步驗證了。
查看crypto會話:
Site1#show crypto session
可見:加密端口爲f1/0,狀態爲ACTIVE;一個IKE SA,本地和對端的IP地址和端口(500/UDP);兩個IPSEC SA的狀態爲ACTIVE,匹配的感興流。
清除SAs:
清除IKE/ISAKMP SA:
Site1#clear crypto isakmp
清除IPSec SA:
Site1#clear crypto sa
再次查看: