网络和隧道路由

本页面介绍支持的 Virtual Private Cloud (VPC) 网络和路由选项。

如需了解本页面中所用术语的定义,请参阅关键术语

支持的网络

Cloud VPN 支持自定义模式 VPC 网络、自动模式 VPC 网络旧版网络。但是,您应该考虑以下最佳做法:

  • 使用 VPC 网络而不是旧式网络。旧式网络不支持子网;整个网络使用单个 IP 地址范围。旧式网络无法转换为 VPC 网络。

  • 使用自定义模式 VPC 网络。使用自定义模式的 VPC 网络,您可以完全控制其子网使用的 IP 地址范围。

    • 如果您使用 Cloud VPN 连接两个 VPC 网络,则其中至少有一个网络必须是自定义模式 VPC 网络。自动模式 VPC 网络会为其子网使用相同的内部 IP 地址范围

    • 在将自动模式网络与 Cloud VPN 结合使用之前,请先查看自动模式 VPC 网络注意事项。自动模式 VPC 网络会自动在每个 Google Cloud 区域中创建子网,包括在添加新区域时自动在新区域中创建新子网。请避免在 Cloud VPN 隧道所连接到的网络中使用自动模式 VPC 网络所用 IP 范围内的内部 IP 地址。

VPN 隧道的路由选项

传统 VPN 支持为 VPN 隧道使用静态路由选项,而高可用性 VPN 支持动态路由选项。 仅当传统 VPN 网关连接到在 Compute Engine 虚拟机内运行的 VPN 网关软件时,您才能使用通过动态路由的传统 VPN 隧道。

动态路由使用边界网关协议 (BGP)

动态 (BGP) 路由

动态路由使用 Cloud Router 路由器通过 BGP 自动管理路由交换。与相应 Cloud VPN 隧道同属一个区域内的 Cloud Router 路由器上的 BGP 接口负责管理此交换。Cloud Router 路由器在添加和移除路由时无需删除和重新创建隧道。

由 VPC 网络的动态路由模式控制其所有 Cloud Router 路由器的行为。此模式会决定是将从对等网络获知的路由应用于 VPN 隧道所在区域内的 Google Cloud 资源,还是应用于所有区域。您可以控制由对等路由器或网关通告的路由。

动态路由模式还决定了是仅将隧道所在区域内的子网路由与对等路由器或网关共享,还是共享所有区域的子网路由。除这些子网路由外,您还可以在 Cloud Router 路由器上配置自定义路由通告

静态路由

传统 VPN 隧道支持基于政策和基于路由的静态路由选项。仅当您无法使用动态 (BGP) 路由或高可用性 VPN 时,才应考虑使用静态路由选项。

  • 基于政策的路由:在隧道创建过程中定义本地 IP 范围(左侧)和远程 IP 范围(右侧)。

  • 基于路由的 VPN。使用 Google Cloud Console 创建基于路由的 VPN 时,只需指定远程 IP 地址范围列表。这些范围仅用于在 VPC 网络中创建通往对等资源的路由

如需详细了解这两个静态路由选项,请参阅下一部分。

流量选择器

流量选择器定义一组用于建立 VPN 隧道的 IP 地址范围或 CIDR 块。这些 IP 地址范围用于隧道的 IKE 协商。一些文献将流量选择器称为“加密网域”。

流量选择器有两种类型:

  • 本地流量选择器:根据发出 VPN 隧道的 VPN 网关定义本地 IP 范围集(CIDR 块)。对于 Cloud VPN 隧道,本地流量选择器为 VPC 网络中的子网定义一组主要和次要子网 CIDR,它们表示隧道的“左侧”。

  • 远程流量选择器:根据发出 VPN 隧道的 VPN 网关定义远程 IP 范围集(CIDR 块)。对于 Cloud VPN 隧道,远程流量选择器就是隧道的“右侧”(也称作对等网络)。

流量选择器是 VPN 隧道的固有部分,用于建立 IKE 握手。如需更改本地或远程 CIDR,必须销毁再重新创建 Cloud VPN 隧道及其对等隧道。

路由选项和流量选择器

本地和远程流量选择器的 IP 范围(CIDR 块)值取决于 Cloud VPN 隧道使用的路由选项。

高可用性 VPN 隧道
隧道
路由选项
本地
流量选择器
远程
流量选择器
路由
(通往 VPC 网络)
路由
(通往对等网络)
必需
动态 (BGP) 路由
始终为
0.0.0.0/0 (IPv4 单栈)
0.0.0.0/0,::/0 (IPv4 和 IPv6 双栈) 或 ::/0 (IPv6 单栈)
始终为
0.0.0.0/0 (IPv4 单栈)
0.0.0.0/0,::/0 (IPv4 和 IPv6 双栈) 或 ::/0 (IPv6 单栈)
除非通过自定义通告进行修改,否则管理 Cloud VPN 隧道 BGP 接口的 Cloud Router 路由器将根据网络的动态路由模式以及 Cloud Router 路由器的配额和限制,共享通往 VPC 网络中子网的路由。 在符合自定义路由的限制条件以及 Cloud Router 路由器的配额和限制的情况下,管理 Cloud VPN 隧道 BGP 接口的 Cloud Router 路由器将获知对等 VPN 网关发送给它的路由,并将其作为自定义动态路由添加到 VPC 网络。
传统 VPN 隧道
隧道
路由选项
本地
流量选择器
远程
流量选择器
路由
(通往 VPC 网络)
路由
(通往对等网络)
动态 (BGP) 路由 始终为
0.0.0.0/0
始终为
0.0.0.0/0
除非通过自定义通告进行修改,否则管理 Cloud VPN 隧道 BGP 接口的 Cloud Router 路由器将根据网络的动态路由模式以及 Cloud Router 路由器的配额和限制,共享通往 VPC 网络中子网的路由。 在符合自定义路由的限制条件以及 Cloud Router 路由器的配额和限制的情况下,管理 Cloud VPN 隧道 BGP 接口的 Cloud Router 路由器将获知对等 VPN 网关发送给它的路由,并将其作为自定义动态路由添加到 VPC 网络。
基于政策的路由 可配置。
请参阅基于政策的隧道和流量选择器
必填。
请参阅基于政策的隧道和流量选择器
您必须在对等路由器上手动创建和维护通往 VPC 网络中子网的路由。 如果您使用 Google Cloud 控制台创建基于政策的 VPN 隧道,则系统会自动创建自定义静态路由。如果您使用 gcloud CLI 创建隧道,则必须使用其他 gcloud 命令创建路由。如需查看相关说明,请参阅使用静态路由创建传统 VPN
基于路由的 VPN 始终为
0.0.0.0/0
始终为
0.0.0.0/0
您必须在对等路由器上手动创建和维护通往 VPC 网络中子网的路由。 如果您使用 Google Cloud 控制台创建基于路由的 VPN 隧道,则系统会自动创建自定义静态路由。如果您使用 gcloud CLI 创建隧道,则必须使用其他 gcloud 命令创建路由。如需查看相关说明,请参阅使用静态路由创建传统 VPN

基于政策的隧道和流量选择器

本部分介绍在创建基于政策的传统 VPN 隧道时流量选择器的特别注意事项。本部分不适用于其他类型的传统 VPN 隧道或高可用性 VPN 隧道。

在创建基于政策的 Cloud VPN 隧道时,您可以选择为其指定本地流量选择器:

  • 自定义本地流量选择器。您可以将本地流量选择器定义为 VPC 网络中的一组子网或一组内部 IP 地址,其中包括 VPC 网络中所选的子网 IP 范围。IKEv1 将本地流量选择器限制为单个 CIDR

  • 自定义模式 VPC 网络:指定由一系列内部 IP 地址组成的自定义本地流量选择器。

  • 自动模式 VPC 网络。如果未指定,则本地流量选择器是 Cloud VPN 隧道所在区域中自动创建的子网的主要 IP 范围(CIDR 块)。自动模式 VPC 网络在每个具有明确定义的 IP 地址范围的区域都有一个子网。

  • 旧式网络:如果未指定,系统会将本地流量选择器定义为旧式网络的整个 RFC 1918 IP 地址范围。

在创建基于政策的 Cloud VPN 隧道时,请为其指定远程流量选择器。如果您使用 Google Cloud 控制台创建 Cloud VPN 隧道,则系统会自动创建其目标与远程流量选择器的 CIDR 相对应的自定义静态路由。IKEv1 将远程流量选择器限制为单个 CIDR。如需查看相关说明,请参阅使用静态路由创建传统 VPN

流量选择器的重要注意事项

在创建基于政策的 Cloud VPN 隧道之前,请考虑以下事项:

  • 如果数据包的来源 IP 地址符合隧道的本地流量选择器并且数据包的目标 IP 地址符合隧道的远程流量选择器,则大多数 VPN 网关将仅通过 VPN 隧道传送流量。某些 VPN 设备不强制执行此要求。

  • Cloud VPN 支持 0.0.0.0/0::/0(任意 IP 地址)的流量选择器 CIDR。如需确定您的对等 VPN 网关是否也适用,请参阅对等 VPN 网关随附的文档。创建基于政策的 VPN 隧道并将两个流量选择器均设置为 0.0.0.0/0::/0,此操作在功能上等同于创建基于路由的 VPN。

  • 仔细查看针对每个流量选择器指定多个 CIDR,以了解 Cloud VPN 如何实现 IKEv1 和 IKEv2 协议。

  • 创建 VPN 后,Cloud VPN 会禁止您修改任何流量选择器。如需更改某 Cloud VPN 隧道的本地或远程流量选择器,您必须删除该隧道,然后再重新创建它。但您无需删除 Cloud VPN 网关。

  • 如果将自动模式 VPC 网络转换为自定义模式 VPC 网络,则您可能需要删除 Cloud VPN 隧道(但非网关),然后再重新创建。如果您要添加自定义子网、移除任何自动创建的子网或修改任何子网的次要 IP 范围,则可能会出现这种情况。对于使用现有 Cloud VPN 隧道的 VPC 网络,请不要切换它的模式。如需查看相关建议,请查看自动模式 VPC 网络的注意事项

为使 VPN 行为一致且可预测,请执行以下操作:

  • 使本地和远程流量选择器尽可能具体。

  • 使 Cloud VPN 本地流量选择器与为对等 VPN 网关上相应隧道配置的远程流量选择器相同。

  • 使 Cloud VPN 远程流量选择器与为本地 VPN 网关上相应隧道配置的本地流量选择器相同。

针对每个流量选择器指定多个 CIDR

创建基于政策的传统 VPN 隧道时,如果您使用 IKEv2,则可以针对每个流量选择器指定多个 CIDR。无论使用哪种 IKE 版本,Cloud VPN 始终使用一个子安全关联 (SA)

下表总结了在基于政策的 VPN 隧道中,Cloud VPN 对针对每个流量选择器指定多个 CIDR 的支持。

IKE 版本 针对每个流量选择器指定多个 CIDR
IKEv1

如 RFC 2407 和 RFC 2409 中所定义,IKEv1 协议仅支持针对每个子 SA 使用单个 CIDR。Cloud VPN 的每个 VPN 隧道都需要一个子 SA,因此使用 IKEv1 时,您只能为本地流量选择器提供一个 CIDR,为远程流量选择器提供一个 CIDR。

Cloud VPN 不支持通过带有多个子 SA(每个 SA 使用一个 CIDR)的 IKEv1 创建 VPN 隧道。

IKEv2 ,仅在满足以下条件时可用:
  • 您的对等 VPN 网关使用一个子安全关联 (SA)。本地流量选择器的所有 CIDR 和远程流量选择器的所有 CIDR 必须位于一个子安全关联中。
  • 您配置的 CIDR 数量不会导致 IKE 协议数据包超过 Cloud VPN 的 MTU 上限(即 1460 个字节)。如果 IKE 协议超出此 MTU 限制,则不建立 Cloud VPN 隧道。
  • 您不可超过本地网关支持的 CIDR 数量限制。如需了解详情,请参阅网关供应商的文档。

最佳做法是每个流量选择器最多使用 30 个 CIDR,从而使您创建的 IKE 协议数据包不超过 MTU 上限。

流量选择器策略

如果您的本地 VPN 网关针对每个 VPN 隧道创建多个子 SA,或者如果针对每个流量选择器使用多个 CIDR 会导致 IKEv2 的 IKE 协议数据包超过 1460 字节,请考虑以下策略(如需了解详情,请参阅路由选项和流量选择器):

  1. 为 VPN 隧道使用动态路由。如果您的对等 VPN 网关支持 BGP,请将 VPN 隧道的本地和远程流量选择器配置为允许任何 IP 地址。对于仅 IPv4 流量,使用 0.0.0.0/0,对于 IPv4 和 IPv6 流量,使用 0.0.0.0/0,::/0。路由会在对等 VPN 网关和与您的 Cloud VPN 隧道关联的 Cloud Router 路由器之间自动交换。如果您可以使用动态路由,请考虑使用高可用性 VPN。

  2. 使用较广的单个 CIDR 流量选择器和静态隧道路由:

    • 使用基于路由的 VPN。根据基于路由的 VPN 的定义,两个流量选择器均为 0.0.0.0/0。您可以创建比流量选择器更具体的路由。

    • 使用基于政策的路由,尽可能范围广地配置本地和远程流量选择器。对于基于政策的 Cloud VPN 隧道,您可在目的地比远程流量选择器中指定的 CIDR 块更具体的 VPC 网络中,创建通往本地网络的路由。按照使用静态路由创建传统 VPN 中的步骤,使用 gcloud CLI 独立于 VPN 隧道创建路由。

  3. 使用基于政策的路由创建多个 Cloud VPN 隧道,以便每个隧道仅为其本地流量选择器提供一个 CIDR 块,为其远程流量选择器提供一个 CIDR 块。按照类似的方式配置本地对应隧道。Cloud VPN 支持每个网关多个隧道;但是,使用多个隧道会有一些影响:

    • 您的对等 VPN 网关必须提供单独的外部 IP 地址,每个 Cloud VPN 隧道都可以连接到这些地址。同一个传统 VPN 网关上的隧道必须连接到唯一的对等网关 IP 地址。您的对等 VPN 网关可能还需要其隧道连接到唯一的 IP 地址。在某些情况下,您需要为每个 Cloud VPN 隧道创建单独的 Cloud VPN 网关。
    • 如果您使用 Google Cloud 控制台创建基于路由或基于政策的 Cloud VPN 隧道,系统除了自动创建隧道之外,还会创建通往对等网络的路由。如果为都使用相同远程流量选择器的多个 VPN 隧道自动创建路由(例如,如果您创建基于路由的 VPN),您的 VPC 网络中可以有多条路由,所有路由的目标都相同,但下一个跃点不同。这可能导致出现不可预测或意外的行为,因为流量是根据路由的适用性和顺序传递到 VPN 隧道的。如果不使用动态 (BGP) 隧道路由,请在 VPC 网络和对等网络中创建并查看静态路由。

后续步骤

  • 要了解 Cloud VPN 的基本概念,请参阅 Cloud VPN 概览
  • 如需使用高可用性和高吞吐量场景或多个子网方案,请参阅高级配置
  • 如需帮助解决使用 Cloud VPN 时可能会遇到的常见问题,请参阅问题排查