因为本篇文章,就是IPsec的实验配置的话,它们两端的IP地址是固定的
那么就用第一阶段的主模式(Main Mode)
和第二阶段的快速模式(Quick Mode)就好啦
后面会有一个地址不固定的情况下,这个就需要用到一个动态安全策略啦
R1为企业总部网关,R3为企业分部网关,分部与总部通过公网建立通信。分部子网为202.101.23.0/24,总部子网为202.101.12.0/24。
企业希望对分部子网与总部子网之间相互访问的流量进行安全保护。分部与总部通过公网建立通信,可以在分部网关与总部网关之间建立一个IPSec隧道来实施安全保护。
基础配置,实现全网互通(命名 + IP地址 + 静态路由)保证两端路由可达
第一阶段 IKE SA
① 设置IKE的策略,里面包含开启预共享密钥的认证、加密算法、DH组等内容
② 配置预共享密钥和对等体地址
第二阶段 IPsec SA
① 转换集
② ACL : 匹配保护的流量,即定义需要IPSec保护的数据流
③ 配置安全策略组map,并引用ACL、IPSec转换集和对等体IP地址,确定对何种数据流采取何种保护方法
在接口上应用安全策略组map,使接口具有IPSec的保护功能
IPsec VPN 本质:阶段一保护阶段二 阶段二保护数据
配置R1的基础配置,再用默认路由实现公网可达
R1(config)#int e0/0
R1(config-if)#no shutdown
R1(config-if)#ip address 202.101.12.1 255.255.255.0
R1(config-if)#ex
R1(config)#int e0/1
R1(config-if)#no shutdown
R1(config-if)#ip address 192.168.10.254 255.255.255.0
R1(config-if)#ex
R1(config)#ip route 0.0.0.0 0.0.0.0 202.101.12.2 ##配置默认路由指向ISP运营商,实现公网可达
协商出IKE SA ,对第二阶段IPsecSA的协商过程做保护
## 创建IKE的策略,优先级为10
R1(config)#crypto isakmp policy 10
R1(config-isakmp)#encryption 3des ## 用3des加密
R1(config-isakmp)#authentication pre-share ## 身份认证用预共享密钥
R1(config-isakmp)#hash md5 ## 配置完整性校验方式为 md5
R1(config-isakmp)#group 5 ## 设置 DH 组 5
R1(config-isakmp)#ex
## 配置与共享密钥为 520,对方的密钥也要是一致才能匹配成功,才能协商IKE SA
R1(config)#crypto isakmp key 520 address 202.101.23.3
在阶段1建立的IKE SA的保护下完成IPSec SA的协商
## 创建转换集 myset(名字)
## 封装协议(esp-md5完整性校验 3des 加密 )
R1(config)#crypto ipsec transform-set myset esp-3des esp-sha256-hmac
R1(cfg-crypto-trans)#mode tunnel ## 传输方式用隧道传输
R1(cfg-crypto-trans)#exit
## 协商感兴趣流量,也就是需要保护的流量
R1(config)#access-list 100 permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
## 将配置的内容都引用在安全策略map里面 ,使用ike自动协商
R1(config)#crypto map mymap 10 ipsec-isakmp
R1(config-crypto-map)#match address 100 ## 匹配ACL 100
R1(config-crypto-map)#set peer 202.101.23.3 ## 设置对端对等体地址
R1(config-crypto-map)#set transform-set myset ## 绑定转换集 myset
R1(config-crypto-map)#ex
## 在出接口上调用
R1(config)#int e0/0
R1(config-if)#crypto map mymap ##进入接口,调用其安全策略mymap
R1(config-if)#ex
ISP_R2(config)#int e0/0
ISP_R2(config-if)#no shutdown
ISP_R2(config-if)#ip address 202.101.12.2 255.255.255.0
ISP_R2(config-if)#ex
ISP_R2(config)#int e0/1
ISP_R2(config-if)#no shutdown
ISP_R2(config-if)#ip address 202.101.23.2 255.255.255.0
ISP_R2(config-if)#ex
配置R3的基础配置,再用默认路由实现公网可达
R3(config)#int e0/0
R3(config-if)#no shut
R3(config-if)#ip address 202.101.23.3 255.255.255.0
R3(config-if)#ex
R3(config)#int e0/1
R3(config-if)#no shut
R3(config-if)#ip address 192.168.20.254 255.255.255.0
R3(config-if)#ex
R3(config)#ip route 0.0.0.0 0.0.0.0 202.101.23.2 ##配置默认路由指向ISP运营商,实现公网可达
协商出IKE SA ,对第二阶段IPsecSA的协商过程做保护
## 创建IKE的策略,优先级为10
R3(config)#crypto isakmp policy 10 ## 用策略来存放IKE的配置
R3(config-isakmp)#encryption 3des ## 用3des加密
R3(config-isakmp)#authentication pre-share ## 身份认证用预共享密钥
R3(config-isakmp)#hash md5 ## 配置完整性校验方式为 md5
R3(config-isakmp)#group 5 ## 设置 DH 组 5
R3(config-isakmp)#ex
## 配置预共享密钥为 520,对方的密钥也要是一致才能匹配成功,才能协商IKE SA
R3(config)#crypto isakmp key 520 address 202.101.12.1
在阶段1建立的IKE SA的保护下完成IPSec SA的协商
## 创建转换集 myset(名字)
## 封装协议(esp-md5完整性校验 3des 加密 )
R1(config)#crypto ipsec transform-set myset esp-3des esp-sha256-hmac
R1(cfg-crypto-trans)#mode tunnel ## 传输方式用隧道传输
R1(cfg-crypto-trans)#exit
## 协商感兴趣流量,也就是需要保护的流量
R3(config)#access-list 100 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255
## 将配置的内容都引用在安全策略map里面 ,使用ike自动协商
R3(config)#crypto map mymap 10 ipsec-isakmp
R3(config-crypto-map)#match address 100 ## 匹配ACL 100
R3(config-crypto-map)#set peer 202.101.12.1 ## 设置对端对等体地址
R3(config-crypto-map)#set transform-set myset ## 绑定转换集 myset
R3(config-crypto-map)#ex
## 在出接口上调用
R3(config)#int e0/0
R3(config-if)#crypto map mymap ##进入接口,调用其安全策略mymap
R3(config-if)#ex
因为我是在EVE中来操作思科模拟器,所以我就用路由器来模拟PC电脑,就需要关闭路由功能
PC1(config)#no ip routing ## 关闭路由功能
PC1(config)#ip default-gateway 192.168.10.254 ## 配置网关
PC1(config)#int e0/0
PC1(config-if)#no shutdown
PC1(config-if)#ip address 192.168.10.1 255.255.255.0
PC1(config-if)#ex
PC2(config)#no ip routing ## 关闭路由功能
PC2(config)#ip default-gateway 192.168.20.254 ## 配置网关
PC2(config)#int e0/0
PC2(config-if)#no shutdown
PC2(config-if)#ip address 192.168.20.1 255.255.255.0
PC2(config-if)#ex
抓包查看(需要用PC ping 才能触发IPsec VPN,思科的IPsec VPN不是自动触发的)
里面主模式交换六个报文,成功协商IKE SA
而快速模式的三个报文,就成功的协商IPsec SA
这两个出来就成功建立了 IPsec VPN,对流量实施了加密啦~
查看IKE SA的基本信息
R1#show crypto isakmp sa
查看IPsec SA的基本信息
R1# show crypto ipsec sa
为什么要清楚掉IKE / IPsec呢?
因为,这个IPsec VPN它是按照第一次配置的代码来执行的,当我们想改一下传输模式或者加密方式等等,就需要先清除掉之前的SA信息,就是IPsec SA和IKE SA,这样子才能去完成修改,切记哦
清除 IKE SA的命令:
R1#clear crypto isakmp
清除 IPsec VPN的命令:
R1#clear crypto sa
R1
hostname R1
int e0/0
no shut
ip address 202.101.12.1 255.255.255.0
ex
int e0/1
no shut
ip address 192.168.10.254 255.255.255.0
ex
ip route 0.0.0.0 0.0.0.0 202.101.12.2
crypto isakmp policy 10
encryption 3des
authentication pre-share
hash md5
group 5
ex
crypto isakmp key 520 address 202.101.23.3
crypto ipsec transform-set myset esp-3des esp-sha256-hmac
mode tunnel
exit
access-list 100 permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
crypto map mymap 10 ipsec-isakmp
match address 100
set peer 202.101.23.3
set transform-set myset
ex
int e0/0
crypto map mymap
ex
R3
hostname R3
int e0/0
no shutdown
ip address 202.101.23.3 255.255.255.0
ex
int e0/1
no shutdown
ip address 192.168.20.254 255.255.255.0
ex
ip route 0.0.0.0 0.0.0.0 202.101.23.2
crypto isakmp policy 10
encryption 3des
authentication pre-share
hash md5
group 5
ex
crypto isakmp key 520 address 202.101.12.1
crypto ipsec transform-set myset esp-3des esp-sha256-hmac
mode tunnel
exit
access-list 100 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255
crypto map mymap 10 ipsec-isakmp
match address 100
set peer 202.101.12.1
set transform-set myset
ex
int e0/0
crypto map mymap
ex