简介
本文档介绍如何在SD-WAN Cisco Edge路由器和VPN终端之间使用服务VRF配置IPSec隧道。
先决条件
要求
Cisco 建议您了解以下主题:
- 思科软件定义的广域网(SD-WAN)
- Internet协议安全(IPSec)
组件
本文档基于以下软件和硬件版本:
- 思科边缘路由器版本17.6.1
- SD-WAN vManage 20.9.3.2
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中的所有设备都以清除(默认)配置启动。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
背景信息包括本文档的范围、在SD-WAN上使用C8000v构建服务端IPSec隧道的可用性和优点。
- 要在控制器管理模式的Cisco IOS® XE路由器与虚拟专用网络(VPN)终端之间的服务虚拟路由和转发(VRF)中建立IPSec隧道,可保证公共广域网(WAN)上的数据保密性和完整性。 它还有助于公司专用网络的安全扩展,允许通过Internet进行远程连接,同时保持高水平的安全性。
- 服务VRF可隔离流量,这对于多客户端环境或维护网络不同部分之间的分段尤为重要。总之,此配置增强了安全性和连通性。
- 本文档认为边界网关协议(BGP)是用于将网络从SD-WAN服务VRF通信到VPN终端后面的网络的路由协议,反之亦然。
- BGP配置不在本文档的讨论范围之内。
- 此VPN终端可以是防火墙、路由器或具有IPSec功能的任何类型的网络设备,VPN终端的配置不属于本文档的范围。
- 本文档假设路由器已随附主动控制连接和服务VRF。
IPSEC配置的组件
第1阶段Internet密钥交换(IKE)
IPSec配置过程的第1阶段涉及安全参数的协商和隧道端点之间的身份验证。这些步骤包括:
IKE 配置
- 定义加密方案(算法和密钥长度)。
- 配置包括加密提议、生存时间和身份验证的IKE策略。
配置远程终端对等体
- 定义远程端的IP地址。
- 配置身份验证的共享密钥(预共享密钥)。
第2阶段(IPSec)配置
第2阶段涉及通过隧道的流量安全转换和访问规则的协商。这些步骤包括:
配置IPSec转换集
配置IPSec策略
配置隧道接口
在IPSec隧道的两端配置隧道接口。
配置
CLI上的配置
步骤1.定义加密方案。
cEdge(config)# crypto ikev2 proposal p1-global
cEdge(config-ikev2-proposal)# encryption aes-cbc-128 aes-cbc-256
cEdge(config-ikev2-proposal)# integrity sha1 sha256 sha384 sha512
cEdge(config-ikev2-proposal)# group 14 15 16
步骤2.配置包含建议信息的IKE策略。
cEdge(config)# crypto ikev2 policy policy1-global
cEdge(config-ikev2-policy)# proposal p1-global
步骤3.定义远程终端的IP地址。
cEdge(config)# crypto ikev2 keyring if-ipsec1-ikev2-keyring
cEdge(config-ikev2-keyring)# peer if-ipsec1-ikev2-keyring-peer
cEdge(config-ikev2-keyring-peer)# address 10.4.5.226
cEdge(config-ikev2-keyring-peer)# pre-shared-key Cisco
步骤4.配置身份验证的共享密钥(预共享密钥)。
cEdge(config)# crypto ikev2 profile if-ipsec1-ikev2-profile
cEdge(config-ikev2-profile)# match identity remote address
10.4.5.226 255.255.255.0
cEdge(config-ikev2-profile)# authentication remote
cEdge(config-ikev2-profile)# authentication remote pre-share
cEdge(config-ikev2-profile)# authentication local pre-share
cEdge(config-ikev2-profile)# keyring local if-ipsec1-ikev2-keyring
cEdge(config-ikev2-profile)# dpd 10 3 on-demand
cEdge(config-ikev2-profile)# no config-exchange request
cEdge(config-ikev2-profile)#
步骤5.定义一个建议的转换集,其中包括加密算法和身份验证。
cEdge(config)# crypto ipsec transform-set if-ipsec1-ikev2-transform esp-gcm 256
cEdge(cfg-crypto-trans)# mode tunnel
步骤6.将转换集与IPSec策略相关联。
cEdge(config)# crypto ipsec profile if-ipsec1-ipsec-profile
cEdge(ipsec-profile)# set security-association lifetime kilobytes disable
cEdge(ipsec-profile)# set security-association replay window-size 512
cEdge(ipsec-profile)# set transform-set if-ipsec1-ikev2-transform
cEdge(ipsec-profile)# set ikev2-profile if-ipsec1-ikev2-profile
步骤7.创建接口隧道并将其与IPSec策略关联。
cEdge(config)# interface Tunnel100001
cEdge(config-if)# vrf forwarding 90
cEdge(config-if)# ip address 172.16.12.1 255.255.255.252
cEdge(config-if)# ip mtu 1500
cEdge(config-if)# tunnel source GigabitEthernet1
cEdge(config-if)# tunnel mode ipsec ipv4
cEdge(config-if)# tunnel destination 10.4.5.226
cEdge(config-if)# tunnel path-mtu-discovery
cEdge(config-if)# tunnel protection ipsec profile if-ipsec1-ipsec-profile
在vManage上的CLI附加模板上进行配置
步骤1.导航到Cisco vManage并登录。
步骤2.导航到配置>模板。
步骤3.导航到功能模板> Add Template。
步骤4.过滤模型并选择c8000v路由器。
步骤5.导航到其他模板,然后单击Cli Add-On Template。
步骤6.添加模板名称和说明。
步骤7.添加命令。
步骤8.点击保存。
步骤9.导航到设备模板。
步骤10.选择正确的设备模板并在3个点上编辑。
步骤11.导航到Additional Templates。
步骤12.在CLI附加模板上,选择先前创建的功能模板。
步骤13.点击更新。
步骤14.单击Attach Devices from 3 dots,然后选择正确的路由器将模板推送到。
验证
使用本部分可确认配置能否正常运行。
运行show ip interface brief命令以验证IPSec隧道的状态。
cEdge#show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet1 10.4.5.224 YES other up up
--- output omitted ---
Tunnel100001 172.16.12.1 YES other up up
cEdge#
故障排除
运行show crypto ikev2 session命令以显示有关设备上建立的IKEv2会话的详细信息。
cEdge#show crypto ikev2 session
IPv4 Crypto IKEv2 Session
Session-id:1, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote fvrf/ivrf Status
1 10.4.5.224/500 10.4.5.225/500 none/90 READY
Encr: AES-CBC, keysize: 128, PRF: SHA1, Hash: SHA96, DH Grp:14, Auth sign: PSK, Auth verify: PSK
Life/Active Time: 86400/207 sec
Child sa: local selector 0.0.0.0/0 - 255.255.255.255/65535
remote selector 0.0.0.0/0 - 255.255.255.255/65535
ESP spi in/out: 0xFC13A6B7/0x1A2AC4A0
IPv6 Crypto IKEv2 Session
cEdge#
运行命令show crypto ipsec sa interface Tunnel10001以显示有关IPSec安全关联(SA)的信息。
cEdge#show crypto ipsec sa interface Tunnel100001
interface: Tunnel100001
Crypto map tag: Tunnel100001-head-0, local addr 10.4.5.224
protected vrf: 90
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
current_peer 10.4.5.225 port 500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 38, #pkts encrypt: 38, #pkts digest: 38
#pkts decaps: 39, #pkts decrypt: 39, #pkts verify: 39
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0
local crypto endpt.: 10.4.5.224, remote crypto endpt.: 10.4.5.225
plaintext mtu 1446, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet1
current outbound spi: 0x1A2AC4A0(439010464)
PFS (Y/N): N, DH group: none
inbound esp sas:
spi: 0xFC13A6B7(4229146295)
transform: esp-gcm 256 ,
in use settings ={Tunnel, }
conn id: 2001, flow_id: CSR:1, sibling_flags FFFFFFFF80000048, crypto map: Tunnel100001-head-0
sa timing: remaining key lifetime (sec): 2745
Kilobyte Volume Rekey has been disabled
IV size: 8 bytes
replay detection support: Y replay window size: 512
Status: ACTIVE(ACTIVE)
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0x1A2AC4A0(439010464)
transform: esp-gcm 256 ,
in use settings ={Tunnel, }
conn id: 2002, flow_id: CSR:2, sibling_flags FFFFFFFF80000048, crypto map: Tunnel100001-head-0
sa timing: remaining key lifetime (sec): 2745
Kilobyte Volume Rekey has been disabled
IV size: 8 bytes
replay detection support: Y replay window size: 512
Status: ACTIVE(ACTIVE)
outbound ah sas:
outbound pcp sas:
cEdge#
运行命令show crypto ikev2 statistics以显示与IKEv2会话相关的统计信息和计数器。
cEdge#show crypto ikev2 statistics
--------------------------------------------------------------------------------
Crypto IKEv2 SA Statistics
--------------------------------------------------------------------------------
System Resource Limit: 0 Max IKEv2 SAs: 0 Max in nego(in/out): 40/400
Total incoming IKEv2 SA Count: 0 active: 0 negotiating: 0
Total outgoing IKEv2 SA Count: 1 active: 1 negotiating: 0
Incoming IKEv2 Requests: 0 accepted: 0 rejected: 0
Outgoing IKEv2 Requests: 1 accepted: 1 rejected: 0
Rejected IKEv2 Requests: 0 rsrc low: 0 SA limit: 0
IKEv2 packets dropped at dispatch: 0
Incoming Requests dropped as LOW Q limit reached : 0
Incoming IKEV2 Cookie Challenged Requests: 0
accepted: 0 rejected: 0 rejected no cookie: 0
Total Deleted sessions of Cert Revoked Peers: 0
cEdge#
运行命令show crypto session以显示有关设备上活动安全会话的信息。
cEdge#show crypto session
Crypto session current status
Interface: Tunnel100001
Profile: if-ipsec1-ikev2-profile
Session status: UP-ACTIVE
Peer: 10.4.5.225 port 500
Session ID: 1
IKEv2 SA: local 10.4.5.224/500 remote 10.4.5.225/500 Active
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0
Active SAs: 2, origin: crypto map
要获取有关设备数据包处理器中IPSec相关丢包的信息,可以运行:
show platform hardware qfp active feature ipsec datapath drops clear
show platform hardware qfp active statistics drop clear
这些命令需要在关闭之前执行,并且无需关闭隧道接口即可清除计数器和统计信息,这有助于获取有关设备数据包处理器数据路径中IPsec相关丢包的信息。
注意:这些命令可在不使用clear选项的情况下运行。必须强调丢弃计数器是历史的。
cEdge#show platform hardware qfp active feature ipsec datapath drops clear
------------------------------------------------------------------------
Drop Type Name Packets
------------------------------------------------------------------------
IPSEC detailed dp drop counters cleared after display.
cEdge#
cEdge#show platform hardware qfp active statistics drop clear
Last clearing of QFP drops statistics : Thu Sep 28 01:35:11 2023
-------------------------------------------------------------------------
Global Drop Stats Packets Octets
-------------------------------------------------------------------------
Ipv4NoRoute 17 3213
UnconfiguredIpv6Fia 18 2016
cEdge#
在shut和no shutTunnel Interface后,您可以运行以下命令以查看是否存在新统计信息或计数器的注册:
show ip interface brief | Include Tunnel100001
show platform hardware qfp active statistics drop
show platform hardware qfp active feature ipsec datapath drops
cEdge#show ip interface brief | include Tunnel100001
Tunnel100001 169.254.21.1 YES other up up
cEdge#
cEdge#sh pl hard qfp act feature ipsec datapath drops
------------------------------------------------------------------------
Drop Type Name Packets
------------------------------------------------------------------------
cEdge#show platform hardware qfp active statistics drop
Last clearing of QFP drops statistics : Thu Sep 28 01:35:11 2023
(5m 23s ago)
-------------------------------------------------------------------------
Global Drop Stats Packets Octets
-------------------------------------------------------------------------
Ipv4NoRoute 321 60669
UnconfiguredIpv6Fia 390 42552
cEdge#
cEdge#show platform hardware qfp active feature ipsec datapath drops
------------------------------------------------------------------------
Drop Type Name Packets
------------------------------------------------------------------------
cEdge#
有用的命令
show crypto ipsec sa peer
detail
show crypto ipsec sa peer
platform
show crypto ikev2 session
show crypto ikev2 profile
show crypto isakmp policy
show crypto map
show ip static route vrf NUMBER
show crypto isakmp sa
debug crypto isakmp
debug crypto ipsec
相关信息
IPsec配对密钥
Cisco Catalyst SD-WAN安全配置指南,Cisco IOS® XE Catalyst SD-WAN版本17.x
Cisco IPsec技术简介