cisco 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 ***的配置或者路由问题了。