网络和隧道路由

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

支持的网络

虽然 VPC 自定义网络、自动模式网络旧版网络均受 Cloud VPN 支持,但请考虑以下最佳做法:

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

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

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

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

VPN 隧道的路由选项

传统 VPN 支持为 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:使用 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
始终为
0.0.0.0/0
除非通过自定义通告进行修改,否则管理 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 网络中子网的路由。 如果使用 Cloud Console 创建基于政策的 VPN 隧道,则系统会自动创建自定义静态路由。如果使用 gcloud 创建隧道,则必须使用其他 gcloud 命令创建路由。如需查看具体说明,请参阅使用静态路由创建传统 VPN
基于路由的 VPN 始终为
0.0.0.0/0
始终为
0.0.0.0/0
您必须在对等路由器上手动创建和维护通往 VPC 网络中子网的路由。 如果使用 Cloud Console 创建基于路由的 VPN 隧道,则系统会自动创建自定义静态路由。如果使用 gcloud 创建隧道,则必须使用其他 gcloud 命令创建路由。如需查看具体说明,请参阅使用静态路由创建传统 VPN

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

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

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

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

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

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

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

  • Cloud VPN 支持 0.0.0.0/0(任意 IP 地址)的流量选择器 CIDR。如需确定您的对等 VPN 网关是否也支持该 CIDR,请参阅该网关随附的文档。创建基于政策的 VPN 隧道并将两个流量选择器均设置为 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 网络,请不要切换它的模式。如需了解相关建议,请查看自动模式网络的注意事项

此外,为使 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 必须位于一个子 SA 中。
  • 您配置的 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 隧道的本地和远程流量选择器均为 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 步骤,与 VPN 隧道分开创建这些路由。

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

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

后续步骤

更多 VPN 概念

如需详细了解 Cloud VPN 的概念,请使用页面底部的导航箭头转至下一个概念,或使用以下链接:

VPN 相关信息