(路由器)IPSec VPN 基础配置.note
·拓扑:

一、配置 IPSec-VPN
·先配置好初始化(IP、主机名)
1、在 两端配置默认路由,指向 ISP(因为是边界路由器必须要一条默认路由):
默认路由建议使用IP作为下一跳,而不是使用出接口
(1)SITE1-EDGE:
ip route 0.0.0.0 0.0.0.0 1.1.1.2(2)SITE2-EDGE:
ip route 0.0.0.0 0.0.0.0 2.2.2.22、配置 IPSec:
(1)SITE1-EDGE:
# 设置 进行协商要使用的 协议和算法,并指定认证方式
SITE1-EDGE(config)#crypto isakmp policy 1
SITE1-EDGE(config-isakmp)#encryption aes 256 //设置加密算法为 aes 256
SITE1-EDGE(config-isakmp)#hash sha256 //设置哈希算法 为 哈希256
SITE1-EDGE(config-isakmp)#authentication pre-share //设置认证方式为 使用预共享密钥
SITE1-EDGE(config-isakmp)#group 14 //设置 DH 的字节为 2048
SITE1-EDGE(config-isakmp)#exit
# 设置预共享密钥
SITE1-EDGE(config)#crypto isakmp key Skills39 address 2.2.2.1
# 设置 IPsec 隧道的模式
SITE1-EDGE(config)#crypto ipsec transform-set IPSEC esp-aes 256 esp-sha256-hmac //设置 IPsec 的名称,以及 加密方式
SITE1-EDGE(cfg-crypto-trans)#mode tunnel //设置IPsec 模式为隧道模式
SITE1-EDGE(cfg-crypto-trans)#exit
# 设置 ACL 将流量匹配,并引入 IPsec 隧道
SITE1-EDGE(config)#ip access-list extended VPN
SITE1-EDGE(config-ext-nacl)#permit ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255 //设置 匹配的源地址 和 目的地址
SITE1-EDGE(config-ext-nacl)#exit
# 关联 IPsec 配置 和 ACL,并设置对端的公网地址
SITE1-EDGE(config)#crypto map VPN-MAP 1 ipsec-isakmp
SITE1-EDGE(config-crypto-map)#set peer 2.2.2.1 //设置对端地址
SITE1-EDGE(config-crypto-map)#set transform-set IPSEC
SITE1-EDGE(config-crypto-map)#match address VPN //应用 ACL(注意名称不要写错,写错名称不会有任何提示)
SITE1-EDGE(config-crypto-map)#exit
# 在 接口应用 该 IPsec VPN
SITE1-EDGE(config)#interface GigabitEthernet 0/1 //出口路由器的出接口(连接 ISP 的那个接口)
SITE1-EDGE(config-if)#crypto map VPN-MAP //输入上面定义的 map 名称(2)SITE2-EDGE:
SITE2-EDGE 的配置其实可以复制 SITE1 的配置,只需要修改 ACL 和 一些对端 IP即可
# 设置 进行协商要使用的 协议和算法,并指定认证方式
SITE1-EDGE(config)#crypto isakmp policy 1
SITE1-EDGE(config-isakmp)#encryption aes 256 //设置加密算法为 aes 256
SITE1-EDGE(config-isakmp)#hash sha256 //设置哈希算法 为 哈希256
SITE1-EDGE(config-isakmp)#authentication pre-share //设置认证方式为 使用预共享密钥
SITE1-EDGE(config-isakmp)#group 14 //设置 DH 的字节为 2048
SITE1-EDGE(config-isakmp)#exit
# 设置预共享密钥
SITE1-EDGE(config)#crypto isakmp key Skills39 address 1.1.1.1
# 设置 IPsec 隧道的模式
SITE2-EDGE(config)#crypto ipsec transform-set IPSEC esp-aes 256 esp-sha256-hmac //设置 IPsec 的名称,以及 加密方式
SITE2-EDGE(cfg-crypto-trans)#mode tunnel //设置IPsec 模式为隧道模式
SITE2-EDGE(cfg-crypto-trans)#exit
# 设置 ACL 将流量匹配,并引入 IPsec 隧道
SITE2-EDGE(config)#ip access-list extended VPN
SITE2-EDGE(config-ext-nacl)#permit ip 172.16.1.0 0.0.0.255 192.168.1.0 0.0.0.255 //设置 匹配的源地址 和 目的地址
SITE2-EDGE(config-ext-nacl)#exit
# 关联 IPsec 配置 和 ACL,并设置对端的公网地址
SITE2-EDGE(config)#crypto map VPN-MAP 1 ipsec-isakmp
SITE2-EDGE(config-crypto-map)#set peer 1.1.1.1 //设置对端地址
SITE2-EDGE(config-crypto-map)#set transform-set IPSEC
SITE2-EDGE(config-crypto-map)#match address VPN //应用 ACL(注意名称不要写错,写错名称不会有任何提示)
SITE2-EDGE(config-crypto-map)#exit
# 在 接口应用 该 IPsec VPN
SITE2-EDGE(config)#interface GigabitEthernet 0/2 //出口路由器的出接口(连接 ISP 的那个接口)
SITE2-EDGE(config-if)#crypto map VPN-MAP //输入上面定义的 map 名称(3)ping 测试:
此时进行能够成功 ping 通

此时已经配置成功了,SITE-to-SITE 站点已经成功配置完成,两边的内网已经能够进行通信
3、查看 IPSec 状态:
(1)查看 isakmp 建立的 sa 状态:
SITE1-EDGE#show crypto isakmp sa //查看 IPSec 的安全关联(SA)状态(查看与哪些设备建立了关联,以及其状态)
·查看 isakmp SA 状态 详细信息:
SITE1-EDGE#show crypto isakmp sa detail 
(2)查看 IPSec 建立的 sa 状态:
SITE1-EDGE# show crypto ipsec sa
# local 是本地 IPSec 隧道的 IP地址
# remote 是对端 IPSec 隧道的 IP地址
(3)查看 IPSec 数据包建立的情况:
show crypto engine connections active
4、清除 当前建立的 sa 状态:
clear crypto sa //直接清理所有类型的 sa
clear crypto isakmp //只清理 isakmp 类型的 sa5、(可选配置)
(1)启用 PFS:
set pfs group2
# IPSec 协商的密钥会定期自动更换,默认来说,会根据目前使用的密钥来衍生出新的密钥来使用,而使用 pfs 会使IPsec 重新协商出新的密钥,将不会与旧的密钥有任何关联,防止旧密钥泄露后,被攻击者通过旧密钥反推出目前所使用的密钥(2)修改 IPSec SA的生成时间:
set security-association lifetime seconds 1800 //设置 IPSec SA的生存时间为 1800秒(当1800秒过去后,IPSec将会重新进行协商)二、配置 IKEv1 证书:

