提高站点到站点 VPN 吞吐量和性能

请遵循以下推荐的最佳实践,优化站点到站点 VPN 吞吐量,同时保持稳定的连接。 通过配置 VPN 网关、加密设置(使用 IKEv2 和 AES- GCM )、路由和网络参数(MTU/MSS),可以最大限度地提高性能。 在启用分布式流量的主动-主动模式下部署时,基于路由的 VPN 在最佳条件下最多可支持 2 Gbps 的总吞吐量。

在以下情况下,吞吐量可能会降低:

  • 使用基于策略的 VPN。
  • 未启用分布式流量。
  • 只有一个流量处于活动状态。
  • 对等 VPN 设备的 CPU 受限。
  • 出现网络碎片。

实际吞吐量取决于对等设备容量、可用 ISP 带宽、路由配置、数据包大小、流量模式和其他环境因素。 以下指南涵盖模式选择、加密调整、网络配置和操作最佳实践,可帮助您实现最佳性能。

准备工作

为了达到最佳效果,请遵循以下建议:

  • 在部署到生产环境之前,在自己的测试环境中测试性能。
  • 确保您的内部 VPN 设备满足您的吞吐量要求。
  • 确认 ISP 带宽与预期 VPN 容量一致。

在继续之前,请完成以下前提条件:

  • 确保已配置站点到站点 VPN 网关,且两个 VPN 通道都处于活动状态。
  • 验证您是否有权限修改内部对等设备上的配置设置。
  • 确认网关和对等设备支持 IKEv2 和 AES‑GCM
  • 验证您是否拥有在内部部署设备上修改 MTU 和 MSS 设置的权限。
  • 在 IBM Cloud 虚拟服务器实例和企业内部主机上安装 iperf,以验证性能。

选择 VPN 模式以获得最大吞吐量

IBM Cloud 支持基于路由和基于策略的站点到站点 VPN 模式。 模式的选择直接影响可实现的吞吐量。

基于路由的 VPN(推荐)

基于路由的 VPN 具有最高的吞吐潜力。 在启用流量分布的主动-主动模式下部署时,流量可同时流经两条隧道。

最大限度地提高吞吐量:

  1. 使用基于路由的 VPN。
  2. 为基于路由的 VPN 公共 IP 地址配置隧道。
  3. 启用分配流量,使两条隧道都主动转发流量。
  4. 测试时产生多个并发流量,以充分利用可用带宽。

在受控测试中观察到的性能显示,单条隧道的处理能力约为 1.6 Gbps,在采用推荐的架构和加密设置的情况下,两条隧道的总处理能力可达 2 Gbps。 这些数字只是测试中的示例,并不保证适用于您的环境。

如果禁用分布式流量,则每次只有一条隧道传输流量,通常会导致整体吞吐量降低。

基于策略的 VPN

基于策略的 VPN 一次只支持一条活动隧道。 辅助隧道只有在故障切换时才会激活。

由于流量无法在隧道间分配,吞吐量通常低于基于路由的 VPN。 只有在网络拓扑或对等设备限制要求的情况下,才能使用基于策略的 VPN。

加密算法:AES 与 AES- GCM

VPN 流量使用 IPsec 加密,加密算法的选择会影响安全性和性能:

  • AES(高级加密标准)--一种广泛使用的加密标准,具有很强的安全性。 如果使用单独的哈希算法来保证完整性(AES-CBC),开销会稍高一些。

  • AES- GCM (伽罗瓦/计数器模式)- AES 的现代变体,将加密和完整性检查合二为一。 AES- GCM 支持并行处理,吞吐量通常高于标准 AES-CBC。

在两个 VPN 对等网络都支持的情况下,使用 AES- GCM,以便在不影响安全性的情况下最大限度地提高吞吐量。

下表总结了在 IBM 内部网络中测试的最小基准吞吐量示例值。 这些数字是在受控测试条件下观察到的结果,“不能”保证在您的环境中的实际性能。 实际吞吐量取决于对等设备容量、可用 ISP 带宽、路由配置、数据包大小、流量模式、计算能力和其他网络条件。

使用 AES 和 GCM 密码套件的基于路由和基于策略的 VPN 的基准吞吐量示例。
VPN 模式 仅 AES AES- GCM
基于路由的分布式 ~1.6 每千兆比特 ~1.6 每千兆比特
基于路由的非分布式 ~674 Mbps ~1.11 每千兆比特
基于策略 ~598 Mbps ~1.11 每千兆比特

配置密码设置以提高性能

在 IBM Cloud VPC 与企业内部网络之间的站点到站点 VPN 中,流量使用 IPsec 协议加密。 加密开始前,使用互联网密钥交换(IKE)协议进行安全密钥交换,该协议包括两个阶段:

  • 第 1 阶段:在 VPN 对等方之间建立安全的认证通信通道。
  • 第 2 阶段:协商用于加密实际数据流量的 IPsec 安全关联(SA)。

加密选择会直接影响 VPN 性能,因为加密、散列和密钥交换操作会消耗双方对等网络的 CPU 资源。 选择高效、安全的算法有助于最大限度地提高吞吐量并保持稳定的连接。

选择 IKE 协议版本

IKE 在 VPN 设备之间建立安全、经过验证的通信通道。 它会协商安全参数、交换密钥并建立加密隧道。

IBM Cloud 同时支持 IKEv1 和 IKEv2。 不过,建议使用 IKEv2,因为它

只要对等设备支持,请使用 IKEv2。

第 1 阶段(IKE)加密设置

在第 1 阶段,VPN 对等体相互验证,并建立一个安全通道,以便进一步协商。 加密算法有助于确保通过 VPN 隧道发送的数据不被篡改。 它们为数据创建唯一的指纹(散列),并在接收端进行验证。 更多信息,请参阅 第 1 阶段支持的算法

为第 1 阶段配置以下值:

  • 验证:SHA‑256SHA‑384
  • Diffie-Hellman (DH) 组:1419
  • 使用寿命:默认值,除非您的环境需要更短的时间间隔

确保同行网络支持所选的散列算法。 否则,请使用 SHA-256SHA-384,除非需要更强的算法才能符合要求。

第 2 阶段(IPsec)加密设置

在第 2 阶段,VPN 对等方会协商 IPsec SA,以确定实际数据流量的加密方式。 加密密码会扰乱数据,保护流量的机密性,只有获得授权的人才能读取数据。 更多信息,请参阅 第 2 阶段支持的算法

为第 2 阶段配置以下值:

  • 加密:AES‑GCM (推荐)
  • 使用寿命:默认值,以保持稳定

AES-GCM 其吞吐量通常高于 AES-CBC。 它支持并行处理,并提供内置完整性保护,无需单独散列。

优化 MTU 和 MSS,防止数据包碎片化

MTU(最大传输单元)和 MSS(最大分段大小)等网络参数会直接影响 VPN 的吞吐量。 碎片或数据包丢失会降低性能。

要优化 MTU 和 MSS,请按照以下步骤操作:

  1. 将本地设备上的 MSS 设置为 1360 字节。 该值考虑了 IPsec 开销,并避免了 TCP 数据包中的碎片。 更多信息,请参阅 MSS 夹具 限制 TCP 数据包的 MSS。

  2. 使用 ping 测试验证 MTU,该测试可检查数据包的大小。

    ping -s 1472 -M do DESTINATION
    

    其中:

    -s 1472
    发送一个有效负载为 1472 字节的数据包。
    -M do
    设置“不分片”(DF)标记,以防止分片。
    DESTINATION
    要测试的 IP 地址或主机名。

    在 Windows 上:

    ping www.example.com -f -l 1472
    

    其中:

    -f
    设置数据包中的“不分片”标记,帮助测试不分片情况下发送的最大数据量。
    -l
    以字节为单位指定有效载荷大小(不包括标题)。

    IBM VPN for VPC,MTU 为 1500 字节,建议 MSS 为 1360 字节。 如果出现碎片,请将 MTU 减少到 1490 字节。

优化这些参数有助于确保充分利用可用的 VPN 吞吐量。

配置 VPN 网关

优化 VPN 网关可确保流量高效流动,并在支持的情况下使用两条隧道。

要优化 VPN 网关设置,请按照以下步骤操作:

  1. 启用分布式流量的基于路由的 VPN 模式。

    • 基于路由的 VPN- 启用“分配流量”选项时,流量同时流经两个 VPN 通道。 此外,将更多对等网络连接到网关可以更好地分配流量负载,从而提高整体吞吐量。 更多信息,请参阅 为基于路由的 VPN 分配流量

      在基于静态路由的 VPN 连接中,如果没有分布式流量,则只使用一条隧道,从而降低了总体吞吐量。

    • 基于策略的 VPN- 一次只能激活一条 VPN 通道。 只有当主隧道发生故障时,辅助隧道才会激活,从而降低吞吐量。 “分配流量”在此模式下不可用。

  2. 确保 VPN 网关与 VPC 子网位于同一可用区,以避免跨区延迟。 更多信息,请参阅 什么情况下流量不通过基于路由的 VPN 网关路由?

  3. 将高流量隧道转移到专用 VPN 网关,因为总体吞吐量取决于网关的总容量。 如果您在单个网关上创建了多个连接,请考虑将它们转移到单独的网关上,这有助于减少共享设备的负载并提高吞吐量的稳定性。

  4. 禁用未使用的隧道,因为这些隧道会增加 IKE 和重新密钥开销,所有这些都必须加密和解密。

  5. 确保路由正确传播到 VPC 路由表。 源 IP 地址必须与配置的 VPN 本地子网范围相匹配,以防止流量旁路。 此外,确保不存在重叠的 CIDR。

  6. 启用 NAT-T。 如果您的内部 VPN 设备位于 NAT 后面,或 ESP(封装安全有效负载)流量被中间设备阻断。 NAT-T 将 IPsec 数据包封装在 UDP 中,允许流量穿越 NAT 设备。

审查业务考虑因素

其他运行因素也会影响虚拟专用网络的性能:

  • 确保对等网络中的防火墙允许 IBM Cloud VPC CIDR,以避免节流和速率限制错误。
  • 确认 ISP 不限制网络流量。
  • 通过 Transit Gateway 连接其他环境或工作负载时,只能使用基于策略的 VPN(此拓扑不支持基于路由的 VPN)。 更多信息,请参阅 为 VPN 网关配置路由传播

验证吞吐量

使用 iperf 等网络性能工具定期测试 VPN 吞吐量,使性能保持在预期范围内。 您必须在服务器和客户端系统上安装 iperf。 要使用 iperf,请按以下步骤操作:

  1. 在服务器( IBM Cloud 或内部主机)上,启动 iperf 服务器,监听传入连接:

    iperf -s
    
  2. 在客户端上,启动从客户端到服务器的测试:

    iperf -c SERVER_IP_ADDRESS
    
  3. 查看输出的带宽、传输速度和其他指标。

通过遵循这些最佳实践,您可以显著提高站点到站点 VPN 的吞吐量,同时保持安全稳定的连接。

完成这些步骤后,再次测量 VPN 吞吐量,并将结果与更改前获取的基线值进行比较。 这种比较有助于确认优化是否有效,并让您找出任何剩余的瓶颈,如对等设备 CPU 限制、ISP 限制或流量模式效率低下。

如果吞吐量仍达不到要求,请有条不紊地检查每个配置区域,并在每次调整后验证性能。 持续测试和调整有助于确保 VPN 部署在环境中尽可能高效可靠地运行。