轉載自這裏
前言:
***作爲一項成熟的技術,廣泛應用於組織總部和分支機構之間的組網互聯,其利用組織已有的互聯網出口,虛擬出一條“專線”,將組織的分支機構和總部連接起來,組成一個大的局域網。IPSEC引進了完整的安全機制,包括加密、認證和數據防篡改功能。
IPsec的協商分爲兩個階段:
第一階段:驗證對方,協商出IKE SA ,保護第二階段IPSEC Sa協商過程
第二階段:保護具體的數據流
拓撲如下
配置IPSec *** 常規的步驟如下(建議複製下來):
啓用IKE
配置第一階段策略 //crypto isakmp policy xx
配置Pre Share Key //crypto isakmp key
配置第二階段策略 //crypto ipsec transfor-set
定義感興趣流(利用擴展的ACL)
定義map
應用map
注意事項:
兩端的加密點必須要有去往對方的路由(可通訊)
配置如下:
ISP的配置
ISP#conf t
ISP(config)#int f0/0
ISP(config-if)#ip add 202.1.1.1 255.255.255.252
ISP(config-if)#no sh
ISP(config-if)#int f0/1
ISP(config-if)#ip add 61.1.1.1 255.255.255.252
ISP(config-if)#no sh
CQ(左邊路由器)的配置:
CQ#conf t
CQ(config)#int f0/0
CQ(config-if)#ip add 202.1.1.2 255.255.255.252
CQ(config-if)#no sh
CQ(config-if)#int lo 0
CQ(config-if)#ip add 1.1.1.1 255.255.255.0
CQ(config-if)#no sh
CQ(config-if)#exit
CQ(config)#ip route 0.0.0.0 0.0.0.0 202.1.1.1 //配置一條去往互聯網的靜態路由。實現與SH(右邊路由器)的加密點通信
第一階段的配置(兩端要一致):
CQ(config)#crypto isakmp policy 10 //配置策略,序號爲10 (本地有效)
CQ(config-isakmp)#authentication pre-share //驗證方式爲預共享密鑰
CQ(config-isakmp)#encryption aes //加密算法爲aes
CQ(config-isakmp)#hash sha //完整性校驗算法爲sha
CQ(config-isakmp)#group 5 //DH組爲5
CQ(config-isakmp)#exit
CQ(config)#crypto isakmp key 0 cisco address 61.1.1.2 //配置Key 0 表示不加密,密碼爲cisco address 爲對端加密點
第二階段
CQ(config)#crypto ipsec transform-set cisco esp-aes esp-sha-hmac //配置第二階段策略,命名爲cisco esp(加密頭部) 加密方式爲aes 完整性校驗爲sha
CQ(cfg-crypto-trans)#exit
CQ(config)#ip access-list extended *** //定義一個擴展的ACL
CQ(config-ext-nacl)#permit ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255
CQ(config)#crypto map cisco 10 ipsec-isakmp //定義一個map(名稱等本地有效)
CQ(config-crypto-map)#set transform-set cisco //關聯第二階段的策略
CQ(config-crypto-map)#set peer 61.1.1.2 //指定對端地址
CQ(config-crypto-map)#match address *** //關聯ACL
CQ(config-crypto-map)#exit
CQ(config)#int f0/0
CQ(config-if)#crypto map cisco //使用map
SH的配置(右邊路由器)
SH#conf t
SH(config)#int f0/0
SH(config-if)#ip add 61.1.1.2 255.255.255.252
SH(config-if)#int lo 0
et0/0, changed state to up
SH(config-if)#ip add 2.2.2.2 255.255.255.0
SH(config-if)#no sh
SH(config-if)#exit
SH(config)#ip route 0.0.0.0 0.0.0.0 61.1.1.1
第一階段(除了策略的序號外可以不同外,其他的驗證要和對端一致)
SH(config)#crypto isakmp policy 20 //使用20,只是爲了驗證序號本地有效。也可以使用10
SH(config-isakmp)#authentication pre-share
SH(config-isakmp)#encryption aes
SH(config-isakmp)#group 5
SH(config-isakmp)#exit
SH(config)#crypto isakmp key 0 cisco address 202.1.1.2
第二階段
SH(config)#crypto ipsec transform-set cisco1 esp-aes esp-sha-hmac //驗證類型要與對端一致
SH(cfg-crypto-trans)#exit
SH(config)#ip access-list extended *** //定義ACL
SH(config-ext-nacl)#permit ip 2.2.2.0 0.0.0.255 1.1.1.0 0.0.0.255
SH(config)#crypto map cisco1 10 ipsec-isakmp //名稱本地有效
SH(config-crypto-map)#set transform-set cisco1 //關聯本地的第二階段策略
SH(config-crypto-map)#set peer 202.1.1.2
SH(config-crypto-map)#match address ***
SH(config-crypto-map)#exit
SH(config)#int f0/0
SH(config-if)#crypto map cisco1 //應用
實驗:
一開始可能不行,等一下就好了
SH#ping 1.1.1.1 so lo 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/22/28 ms
是可以兩邊的私網是可以通的,說明IPSec *** 配置成功了
驗證:
SH#show crypto engine connections active
Crypto Engine Connections
ID Interface Type Algorithm Encrypt Decrypt IP-Address
1 Fa0/0 IPsec AES+SHA 0 10 61.1.1.2
2 Fa0/0 IPsec AES+SHA 10 0 61.1.1.2
1001 Fa0/0 IKE SHA+AES 0 0 61.1.1.2
SH#ping 1.1.1.1 so lo 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 2.2.2.2
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/50/76 ms
SH#show crypto engine connections active
Crypto Engine Connections
ID Interface Type Algorithm Encrypt Decrypt IP-Address
1 Fa0/0 IPsec AES+SHA 0 15 61.1.1.2
2 Fa0/0 IPsec AES+SHA 15 0 61.1.1.2
1001 Fa0/0 IKE SHA+AES 0 0 61.1.1.2
可以看到,加解密的數據包是正常增加的。
在排除一般故障的時候,可以查看這條命令,如果加密成功,那麼可能是對方路由的問題導致回不來
如果加密不成功,那麼應該就是本路由器IPSce ***的配置或者路由問題了。