Cisco 300-410: VPN、隧道技术和远程连接 — 学习指南
属于 Cisco CCNP Enterprise 300-410 ENARSI — 学习指南. 使用经过验证的答案练习: Cisco 考试中心, 或参加限时模拟考试: ExamRoll.io.
概述
VPN、隧道和远程连接技术允许在共享网络上进行私有的、策略强制的通信。设计关键取决于封装选择 (GRE、IPsec、VTI)、密钥交换 (IKEv1/2)、控制平面解析 (DMVPN 中的 NHRP) 以及传输层现实情况 (MTU、NAT、故障切换)。本节将解释如何组合这些构建模块,为站点到站点和远程接入用例创建可扩展、安全且有弹性的叠加网络。
GRE 与 IPsec 基础
通用路由封装 (Generic Routing Encapsulation, GRE) 是一种简单的无状态封装,可以在 IP 底层网络上传输几乎任何三层协议。主要特性:
- 行为与封装:GRE 增加一个 20 字节的外部 IP 报头和一个 4 字节的 GRE 报头 (总共 24 字节)。GRE 本身不提供加密或身份验证功能。
- 路由:GRE 提供一个带编号的隧道接口,该接口可以参与路由并在叠加网络上支持 IGP 邻接关系。
- MTU、分片、MSS:增加的开销会减少有效负载的 MTU。若不采取缓解措施,PMTUD 黑洞和 IP 分片会降低性能。最佳实践是设置一个较小的隧道接口 MTU 并钳制 TCP MSS,以避免在叠加网络中发生分片。
使用安全的 MTU 和 MSS 的点对点 GRE 示例:
interface Tunnel1
ip address 172.20.1.2 255.255.255.0
ip mtu 1400
ip tcp adjust-mss 1360
tunnel source 10.10.2.2
tunnel destination 10.10.1.1
IPsec 提供机密性、完整性和抗重放功能:
- 模式:传输模式 (Transport mode) 仅保护载荷,原始 IP 报头保持不变。隧道模式 (Tunnel mode) 用一个新的外部 IP 报头封装整个 IP 数据包。GRE over IPsec 通常使用 IPsec 传输模式以最小化开销;基于路由的 VTI 则使用 IPsec 隧道模式。
- 选择器 (代理 ID / 流量选择器):定义哪些五元组流受到保护。基于策略的 VPN 使用 ACL 来定义选择器;基于路由的 VPN 使用绑定到隧道接口的 0.0.0.0/0 (或 ::/0) 选择器,由路由决定流量走向。
- 加密与完整性:与 AES-CBC + HMAC 相比,AES-GCM 在一个转换集中同时提供认证加密,并减少了每包开销。使用现代的 DH 组 (14/19+) 和 PFS (Perfect Forward Secrecy) 来实现前向保密性。确保两端对等体的转换集/提议能力一致。
分片与吞吐量的权衡:
- 预分片 (前瞻分片) 仅在隧道模式下有效。它可以通过避免在解密端主机上进行重组来提高吞吐量,但代价是在底层网络中产生额外的 IP 分片。
- 加密后分片常用于传输模式下的 GRE over IPsec 和 NAT-T;结合 MSS 钳制可以减少 PMTUD 黑洞出现的几率。
- PMTUD vs 固定 MTU:如果底层网络的 ICMP 被过滤,则应依赖于保守的隧道 MTU 和 MSS 钳制。
使用隧道保护将 IPsec 应用于 GRE:
crypto isakmp policy 10
encr aes 256
hash sha256
authentication pre-share
group 14
lifetime 28800
crypto isakmp key Test address 0.0.0.0 0.0.0.0
crypto ipsec transform-set TS esp-gcm 256 mode transport
!
crypto ipsec profile GRE-PROF
set transform-set TS
!
interface Tunnel10
ip address 10.10.10.1 255.255.255.0
ip mtu 1400
ip tcp adjust-mss 1360
tunnel mode gre multipoint
tunnel protection ipsec profile GRE-PROF
密钥交换、NAT 穿越与 VPN 类型
IKE 为 IPsec 协商 SA (安全关联)。
- IKEv1:阶段 1 使用主模式 (Main mode) 和野蛮模式 (Aggressive mode);阶段 2 使用快速模式 (Quick Mode)。配置策略 (“crypto isakmp policy”)、身份验证 (PSK 或证书)、生命周期和 DH 组。使用
show crypto isakmp sa和 debug 命令排查 MM/AM/QM 交换过程及代理 ID 不匹配问题。 - IKEv2:采用包含提议、策略和配置文件的单一交换模型。支持多个子 SA、用于远程接入的 EAP 以及更好的错误信令。FlexVPN 通过 VTI 将 IKEv2 和基于路由的行为标准化。使用
show crypto ikev2 sa/session、show crypto ipsec sa和 debug 命令进行故障排查。
NAT 穿越与 keepalive:
- NAT-T 检测路径上的 NAT,并将 ESP 封装在 UDP/4500 中。确保两端对等体都启用了 NAT-T。IKE keepalive 和对等体存活检测 (Dead Peer Detection, DPD) 用于移除过期的 SA;应调整计时器以匹配应用需求。
- 隧道源/目的地的可达性是基础:底层网络必须能路由到隧道端点。提供静态路由或动态底层网络路由,以确保外部 IP 在故障切换事件中保持可达。
- GRE keepalive 适用于点对点 GRE,但不适用于 mGRE。对于叠加网络,应使用 IGP 计时器、NHRP 计时器或 BFD。BFD 控制包使用 UDP 端口 3784,可以快速检测路径故障;与 IGP 集成可实现亚秒级收敛。
基于策略的 VPN 与基于路由的 VPN:
- 基于策略的 VPN:使用带有 ACL “感兴趣流量”选择器的加密映射 (crypto map)。优点:对于小型的、静态的站点到站点场景很简单。缺点:当存在大量前缀时配置复杂,存在非对称路由问题,并且对 spoke-to-spoke 通信支持不佳。
- 基于路由的 VPN:使用默认 (any/any) 选择器的虚拟隧道接口 (VTI/dVTI/FlexVPN);由路由决定受保护的流量。优点:可扩展,支持动态路由和 hairpin/spoke-to-spoke 通信,加密配置更简单。是现代设计的首选方案。
使用 IKEv2/FlexVPN 进行远程接入:
- 使用 IKEv2 配置文件、EAP 身份验证和 dVTI 来分配基于用户/组的策略。使用
show crypto ikev2 sa和 AAA 日志进行诊断。MSS 钳制和分离隧道 (split tunneling) 可缓解不同客户端网络上的 MTU 和性能问题。
用于故障回退的策略路由 (PBR):
- 当需要将原本无法路由的流量导入隧道或特定出口时,使用 PBR 和
set ip default next-hop,在 RIB 中没有匹配路由时指定一个默认下一跳,从而在故障切换期间最大限度地减少对静态默认路由的依赖。
DMVPN 设计与操作
DMVPN 结合了 mGRE、NHRP 和 IPsec,用于构建可扩展的 hub-and-spoke(中心辐射型)或 spoke-to-spoke(分支到分支)拓扑。
- mGRE:一个隧道接口可动态终止多个对等点;中心(hub)无需为每个分支(spoke)配置隧道。隧道端点是一个单一的“任意到任意”的 NBMA 地址。
- NHRP:将覆盖网络(overlay)的下一跳解析为底层网络(underlay)的 NBMA 地址。分支向中心上的 NHRP 下一跳服务器(NHS)注册。NHRP 查询可实现按需的分支到分支解析。
- 分支与动态 IP:位于 NAT 之后或使用动态地址的分支可能需要配置
ip nhrp registration no-unique,以允许在没有全局唯一 NBMA 的情况下进行注册。 - 阶段:
- 阶段 1:分支的所有流量都通过中心;没有直接的分支到分支通信。
- 阶段 2:分支在 NHRP 解析后形成直连隧道;路由协议必须通告分支前缀,且不能进行会掩盖下一跳的汇总。
- 阶段 3:增加 NHRP 重定向/快捷方式(redirect/shortcut)以动态重写下一跳;允许在中心进行路由汇总,并实现最优的分支到分支转发。
- OSPF over DMVPN:mGRE 默认为 OSPF 广播网络类型;中心应成为 DR 以稳定邻接关系——在中心上设置 OSPF 优先级 > 1,在分支上设置为 0。或者,使用 point-to-multipoint(点到多点)网络类型以避免 DR/BDR 选举,但会接受更高的 LSA 开销。
- IPv6:使用
tunnel mode gre multipoint ipv6和用于 IPv6 映射的 NHRP,在 DMVPN 上构建 IPv6 邻接关系。双栈覆盖网络可以在同一个 mGRE 接口上同时运行 IPv4 和 IPv6。 - IPsec 集成:使用隧道保护(tunnel protection)和单个 IPsec 配置文件来保护 mGRE。对于 GRE over IPsec,首选传输模式(transport mode)。
- MTU 和分片:应用保守的
ip mtu和ip tcp adjust-mss设置,并考虑crypto ipsec fragmentation after-encryption,以最大化协商的 TCP MSS 并避免 PMTUD 失败。
典型的阶段 3 配置摘录:
! Hub
interface Tunnel10
ip address 10.0.0.1 255.255.255.0
ip nhrp map multicast dynamic
ip nhrp network-id 10
ip nhrp redirect
tunnel mode gre multipoint
tunnel protection ipsec profile DMVPN-PROF
ip ospf network broadcast
ip ospf priority 100
! Spoke
interface Tunnel10
ip address 10.0.0.11 255.255.255.0
ip nhrp network-id 10
ip nhrp nhs 10.0.0.1
ip nhrp map multicast dynamic
ip nhrp shortcut
ip nhrp registration no-unique
ip mtu 1400
ip tcp adjust-mss 1360
tunnel mode gre multipoint
tunnel protection ipsec profile DMVPN-PROF
NAT 穿越:确保 NAT-T 已启用,并且中心在 UDP/500 和 UDP/4500 端口上可达。如果路径中没有 NAT-T 中继,动态的分支到分支隧道要求底层网络允许分支之间直接的 UDP/4500 和 ESP/UDP 通信。
操作与故障排查:
- 使用
show dmvpn、show ip nhrp和show crypto ipsec sa来验证 NHRP 注册和 IPsec SA。 - 对于路由,在阶段 2 中确认中心的路由通告没有掩盖分支的具体信息,在阶段 3 中确认 NHRP 重定向/快捷方式正在发生。
- mGRE 不支持 GRE keepalive;依赖 NHRP/IGP 计时器或 BFD 进行故障检测。
IPv6、双栈安全与弹性远程连接
基于 IPv4 隧道的 IPv6:
- 基于 IPv4 底层网络的 GRE 可透明地承载 IPv6 负载;可如上文所述使用 IPsec 进行保护。
- 6in4 (
tunnel mode ipv6ip) 是一种简单的点对点选项,但缺乏 DMVPN/mGRE 的可扩展性。 - 双栈叠加网络在同一个 GRE/mGRE 上同时运行 IPv4 和 IPv6,由单个 IPsec 安全关联 (SA) 集保护,或根据策略要求使用独立的 SA。
IPv6 安全注意事项:
- RA Guard 可以在 L2 网段上过滤恶意的 IPv6 路由器通告 (Router Advertisement),但无法检查隧道内部;当 IPv6 流量通过隧道传输时,它无法提供保护。应在隧道端点和叠加网络的路由平面上强制实施安全策略。
远程接入诊断与弹性设计:
- 检测工具:使用
show crypto ikev2 sa/session、show crypto ipsec sa、show crypto session以及每个客户端的计费日志。在 UDP/500/4500 和 ESP/UDP 上抓包以观察 NAT-T 行为。验证分割隧道路由是否已在客户端上安装。 - MTU 优化:客户端会穿越任意的接入网络;在头端设备上启用 TCP MSS 钳制,并考虑将 MSS 设置为 1200–1360 以获得稳定性能。丢包与 PMTUD 黑洞问题相结合是导致用户体验差 (UX) 的常见原因。
- 高可用性:使用多个隧道源(多 WAN),配合对象跟踪和 SLA 探测,以实现底层网络默认路由的故障切换。对于 IGP 叠加网络,考虑使用 BFD 来缩短隧道上的故障检测计时器。保持较短的 IKE/子 SA 密钥更新计时器,并与头端集群保持一致,以最大限度地减少故障切换期间的加密状态丢失。
- 访问策略与选择器:优先选择基于路由的远程接入 (dVTI),这样所有客户端流量(或仅分割的前缀)都会被路由到虚拟接口中;这可以避免脆弱的、基于策略的选择器不匹配问题。
- 端点可达性:务必从客户端网络验证到底层网络中头端设备公网地址的路由。如果在 WAN 内部引导流量,当 RIB 查找失败时,可以使用带
set ip default next-hop的策略路由将原本无法路由的流量导向正确的出口。
实际问题场景
Contoso 零售公司运营着 150 个通过宽带连接的分支机构。他们需要安全的中心辐射型连接,并具备用于 POS 机(Point-of-Sale)数据复制的动态分支到分支通信能力、双栈支持以及对 MTU/NAT 问题的弹性。
方法:
- 在中心和分支节点上构建一个带 mGRE 的 DMVPN 第三阶段叠加网络,并使用 IPsec 传输模式进行保护。
- 理由:mGRE 可扩展至大量分支,无需在中心节点上为每个隧道进行单独配置。第三阶段允许通过 NHRP shortcut/redirect 实现按需的分支到分支连接,从而优化复制流量并节省中心带宽。传输模式可最大限度地减少 GRE over IPsec 的开销。
- 标准化 IKEv2,采用现代加密技术和 NAT-T。
- 理由:IKEv2 简化了协商过程,支持多个子 SA 和更清晰的错误处理,非常适合大规模部署。NAT-T (UDP/4500) 能够适应分支机构的 NAT 环境。使用 AES-GCM、DH 组 19 或 20 以及 PFS 以获得高性能和高安全性。
- 进行端到端的 MTU 设计,并启用加密后分片。
- 理由:宽带提供商通常会阻止 ICMP,这会破坏 PMTUD。在 Tunnel 接口上设置
ip mtu 1400和ip tcp adjust-mss 1360,再加上crypto ipsec fragmentation after-encryption,可以防止黑洞问题并最大化有效的 TCP MSS。
- 启用 NHRP 功能以支持动态解析和经过 NAT 的分支。
- 理由:在中心节点上配置
ip nhrp redirect和在分支节点上配置ip nhrp shortcut可以创建第三阶段的快捷路径。ip nhrp registration no-unique允许具有动态/NATed NBMA 地址的分支成功注册。
- 在叠加网络上运行 OSPF,将中心节点设为 DR,并使用 BFD 进行快速故障检测。
- 理由:mGRE 默认为广播网络类型;将中心节点的 OSPF 优先级设置为 > 1,分支节点设置为 0,可以确保稳定的 DR/BDR 选举并减少邻接关系数量。使用激进计时器的 BFD (UDP/3784) 可在隧道故障时提供亚秒级的收敛。
- 在同一个 DMVPN 接口上同时添加 IPv6 和 IPv4。
- 理由:
tunnel mode gre multipoint ipv6可以在 mGRE 上建立 IPv6 邻接关系。双栈路由避免了并行的基础设施。RA Guard 在隧道内部无效,因此需要通过叠加网络的 ACL 和路由策略来强制实施 IPv6 安全。
- 强化密钥交换与运维。
- 理由:初期使用预共享密钥(例如,使用
crypto isakmp key Test address 0.0.0.0 0.0.0.0作为传统的 IKEv1 后备方案,或使用 IKEv2 keyrings/profiles),然后迁移到证书认证。设置适当的生命周期和 DPD 来清除过期的 SA。使用show dmvpn、show ip nhrp、show crypto ikev2 sa、show crypto ipsec sa和 syslog 进行监控。
- 确保底层网络的可达性,并在需要时通过路由/PBR 引导故障切换。
- 理由:静态路由或动态底层网络路由必须确保在 WAN 发生变化时隧道源地址仍然可达。在需要进行临时流量引导的情况下,如果 RIB 查找失败,可以使用带
set ip default next-hop的 PBR 将流量导向首选出口。
该设计实现了可扩展、加密、双栈的连接,具有优化的分支到分支路径、可预测的 MTU 行为、强大的 NAT 穿越能力以及从故障中快速恢复的能力。
← 服务质量和控制平面保护 · 所有领域 · 网络服务、弹性和运维 →
练习这些题目 → · 在 ExamRoll.io 上限时练习 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通过考试 →