路由概览

Google Cloud 路由定义了网络流量从虚拟机实例到其他目标所采用的路径。这些目的地可以位于您的 Google Cloud Virtual Private Cloud (VPC) 网络中(例如在另一虚拟机中),也可位于该网络之外。

在 VPC 网络中,路由包含单个目的地前缀(采用 CIDR 格式)和单个下一个跃点。当 VPC 网络中的实例发送数据包时,如果数据包的目的地地址在路由的目的地范围内,则 Google Cloud 会将数据包传递到路由的下一个跃点。

本页面简要介绍了路由在 Google Cloud 中的工作原理。

在 Google Cloud 中进行路由

每个 VPC 网络都使用一种可扩缩的分布式虚拟路由机制。未向该网络分配任何物理设备。某些路由可以选择性地应用,但 VPC 网络的路由表是在 VPC 网络层级定义的。

每个虚拟机实例都有一个控制器,可以从网络路由表中获知所有适用的路由。离开虚拟机的每个数据包都将按照某种路由顺序传递到适用的路由的下一个合适跃点。当您添加或删除路由时,系统会使用最终一致的设计将这组更改传播到虚拟机控制器。

路由类型

下表总结了 Google Cloud 如何对 VPC 网络中的路由进行分类。

类型和目的地 下一个跃点 备注
系统生成的路由
系统生成的默认路由
0.0.0.0/0
default-internet-gateway 适用于整个 VPC 网络

可以移除或替换
子网路由
自动为每个子网 IP 地址范围创建
VPC 网络
用于将数据包转发到虚拟机和内部负载平衡器
适用于整个 VPC 网络

在您创建、修改或删除子网或子网的次要 IP 地址范围时由 Google Cloud 自动创建、更新和移除。
自定义路由
静态路由
支持各种目的地
有效静态路由下一个跃点 对于下一个跃点内部 TCP/UDP 负载平衡器:除非启用了全球访问权限,否则仅适用于与负载平衡器位于同一区域的 TCP 和 UDP 流量。

对于其他静态下一个跃点:如果您在该路由中指定网络标记,则该路由可以应用于特定虚拟机。如果您未指定任何网络标记,则该路由将应用于 VPC 网络中的所有虚拟机。
动态路由
与子网路由或静态路由不冲突的目的地
Cloud Router 路由器上的 BGP 会话的对等端 路由通过 VPC 网络中的 Cloud Router 路由器自动添加和移除。

路由根据 VPC 网络的动态路由模式应用于虚拟机。
对等互连路由
对等互连子网路由
表示使用 VPC 网络对等互连连接的网络中的子网 IP 地址范围
对等 VPC 网络
用于将数据包转发到对等网络中的虚拟机和内部负载平衡器
适用于整个 VPC 网络

在对等网络中创建、修改或删除子网时由 Google Cloud 自动创建、更新和移除。
对等互连自定义路由
使用 VPC 网络对等互连连接的网络中的自定义静态路由或自定义动态路由
对等 VPC 网络中的下一个跃点 由对等网络中的静态路由提供支持的对等互连自定义路由按如下所示应用:
  • 如果对等互连自定义路由由下一个跃点为内部 TCP/UDP 负载平衡器的自定义静态路由提供支持,则除非负载平衡器的转发规则启用了全球访问权限,否则该路由会应用于与负载平衡器位于同一区域的 TCP 和 UDP 流量。
  • 如果对等互连自定义路由由下一个跃点不是内部 TCP/UDP 负载平衡器的自定义静态路由提供支持,并且该自定义静态路由没有关联的标记,则该路由会应用于 VPC 网络中导入它的所有虚拟机。
  • 对等网络中使用网络标记的静态路由或下一个跃点是默认互联网网关的静态路由绝不会在对等互连关系中导出。
由对等网络中的动态路由提供支持的对等互连自定义路由根据导入该路由的 VPC 网络的动态路由模式应用。

系统生成的默认路由

创建 VPC 网络时,它会包含系统生成的默认路由。此默认路由有以下两种用途:

  • 定义 VPC 网络之外的路径,包括指向互联网的路径。除具有此路由之外,如果实例需要访问互联网,还必须符合其他要求

  • 专用 Google 访问通道提供标准路径。

系统生成的默认路由的优先级为 1000。由于其目标是最广泛的 (0.0.0.0/0),因此只有当目标更具体的路由不适用于数据包时,Google Cloud 才会使用默认路由。如需了解如何根据目标具体程度和路由优先级来选择路由,请参阅路由顺序

如果要将网络与互联网完全隔离,或者需要将默认路由替换为自定义路由,可以删除默认路由:

  • 如果要将互联网流量路由到不同的下一个跃点,可以将默认路由替换为自定义静态路由或自定义动态路由。例如,您可以将默认路由替换为下一个跃点为代理虚拟机的自定义静态路由。

  • 如果您移除默认路由但不替换它,则流向未被其他路由覆盖的 IP 范围的数据包会被丢弃。

子网路由

子网路由定义了 VPC 网络中指向虚拟机和内部负载平衡器等资源的路径。

每个子网至少有一个子网路由,其目的地与子网的主要 IP 范围一致。如果子网具有次要 IP 范围,则每个次要 IP 地址范围都有一个对应的子网路由。如需详细了解子网 IP 范围,请参阅网络和子网

其他路由的目的地不能与子网路由的目的地一致,也不能比子网路由的目的地更具体(不能具有较长的子网掩码)。

子网路由始终具有最具体的目的地。即使其他路由具有更高的优先级,子网路由也无法被其他路由替换。这是因为 Google Cloud 在选择路由时会先考虑目的地具体程度,再考虑优先级。Google Cloud 使用 0 作为所有子网路由的优先级。

以下几点介绍了如何创建和移除子网路由:

  • 添加子网时,Google Cloud 会为该子网的主要 IP 地址范围创建相应的子网路由。

  • 自动模式 VPC 网络会为每个自动创建的子网的主要 IP 范围创建子网路由。仅当您将自动模式 VPC 网络转换为自定义模式时,才能删除这些子网。

  • 除非修改或删除子网,否则无法删除子网路由:

    • 从子网中移除次要范围时,将自动删除该次要范围的子网路由。

    • 当您删除子网时,系统将同时自动删除主要范围和次要范围的所有子网路由。不能以任何其他方式删除子网主要范围的子网路由。

VPC 网络中的子网路由的数量受子网 IP 范围数上限(主要和次要)的限制

静态路由

静态路由是使用静态路由参数定义的,并且支持静态路由的下一个跃点。您可以通过以下两种方式之一来创建静态路由:

动态路由

动态路由通过 VPC 网络中的 Cloud Router 路由器进行管理。其目的地始终代表 VPC 网络之外的 IP 地址范围,并且是从 BGP 对等端接收的。动态路由用于:

如果 Cloud Router 路由器收到的任何目的地符合以下任一条件,则 VPC 网络会忽略这些目的地:

  • 目的地与子网 IP 地址范围完全匹配。

  • 目的地在子网 IP 地址范围内(具有较长的子网掩码)。

动态路由的目的地可以包含子网 IP 地址范围(具有较短的子网掩码)。在这种情况下,仅当数据包不在子网路由的目的地范围内时,数据包才会发送到动态路由的下一个跃点。可能的最宽泛目标是 0.0.0.0/0

对等互连子网路由

对等互连子网路由使用通过 VPC 网络对等互连连接的另一个 VPC 网络中的子网定义指向资源的路径。另一个网络称为对等 VPC 网络。

对等网络通过以下方式共享子网路由:

  • 对等网络始终为所有主要和次要 IP 地址范围导出该网络的子网路由。

  • 对等网络自动导入子网路由,前提是该路由的目的地(子网 IP 地址范围)不是以非公开方式重复使用的公共 IP 地址。如有必要,您可以配置对等网络来导入使用非公开方式重复使用的公共 IP 地址的子网路由。

  • 除非您停用对等互连,否则无法移除导入的对等互连子网路由。停用对等互连后,所有导入的对等互连子网路由都会被自动移除。

  • Google Cloud 可防止对等互连网络之间发生子网 IP 地址范围冲突

VPC 网络中的子网路由和从所有对等网络导入的对等互连子网路由的总数受子网 IP 范围数上限(主要和次要)的限制

对等互连自定义路由

您可以将对等网络配置为导出或导入自定义路由。在此上下文中,自定义路由表示 VPC 网络中的静态和动态路由。

即使 VPC 网络配置为导出其自定义路由,也会省略以下类型的路由:

VPC 网络中的静态和动态路由加上从所有对等网络导入的对等互连自定义路由的总数受以下因素的限制

  • 一个对等互连组中的静态路由数上限
  • 一个对等互连组中的动态路由数上限

适用范围和顺序

适用的路由

每个实例都有一组适用的路由,它们是 VPC 网络中所有路由的子集。适用的路由是数据包在从实例发送时可能采用的出站流量路径。

  • 子网和对等互连子网路由适用于所有实例。子网路由和对等互连子网路由与 VPC 网络中的子网和从对等网络导入的子网相对应。

  • 系统生成的默认路由适用于所有实例。如果您愿意,可以将系统生成的默认路由替换为自定义静态路由。

  • 自定义静态路由可适用于所有实例或特定实例。具有标记特性的静态路由适用于具有相同网络标记的实例。如果路由没有网络标记,则适用于网络中的所有实例。

    • 当自定义静态路由具有虚拟机实例下一个跃点时,即使下一个跃点虚拟机已删除、已关停或出现故障,该路由也始终有效。如需了解详情,请参阅作为下一个跃点的实例

    • 当自定义静态路由的下一个跃点是 Cloud VPN 隧道时,如果该隧道已启动,则该路由始终有效。如需了解 Google Cloud 在隧道关停时如何处理隧道的路由,请参阅 Cloud VPN 文档中的隧道关停时

  • 动态路由适用于基于 VPC 网络的动态路由模式的实例。如果 VPC 网络使用地区动态路由模式,则其所有 Cloud Router 路由器仅会为其本地地区中已获知的前缀创建动态路由。如果 VPC 网络使用全球动态路由模式,则其所有 Cloud Router 路由器都会为所有地区中已获知的前缀创建动态路由。

    • Cloud Router 路由器会自动舍弃与无法访问的下一个跃点(Cloud VPN 隧道或 Cloud Interconnect 连接)相对应的已获知的前缀。Cloud Router 路由器最多可能需要 40 秒的处理时间来移除下一个跃点已关停的动态路由,具体取决于您的网络。
  • 对于某些负载平衡的流量,适用的路由源自 VPC 网络外部。如需了解详情,请参阅负载平衡器返回路径

路由顺序

当实例发送数据包时,Google Cloud 会尝试根据以下路由顺序从一组适用的路由中选择一个路由。

  1. 首先考虑子网路由和对等互连子网路由,因为这些路由具有最具体的目的地。Google Cloud 考虑对等互连子网路由的方式与考虑本地子网路由的方式相同。

    • 如果数据包的目的地 IP 地址位于子网或对等互连子网路由的目的地范围内,则会发生以下情况:

      • 数据包会传送到正在运行的虚拟机实例或已配置的内部负载平衡器的内部 IP 地址。

      • 发往已停止的虚拟机实例的数据包会被丢弃。

      • 如果未将 Google Cloud 资源配置为使用内部 IP 地址,则发往该地址的数据包会被丢弃。

    • Google Cloud 不允许您创建其目的地与任何子网路由或任何对等互连子网路由的目的地相同或比其更具体的自定义静态路由。

    • Cloud Router 路由器会忽略与子网路由或对等互连子网路由的目的地完全一致的已获知的前缀。

    • Cloud Router 路由器会忽略在子网路由或对等互连子网路由范围内的已获知的前缀(具有较长的子网掩码)

  2. 如果数据包无法通过子网路由或对等互连子网路由进行路由,则 Google Cloud 会查找具有最具体目的地的静态路由、动态路由或对等互连自定义路由。例如,对于具有 10.240.1.4 目的地的数据包,10.240.1.0/24 是一个比 10.240.0.0/16 更具体的目的地。

  3. 如果多个路由的最具体目的地相同,则 Google Cloud 会使用以下过程从路由候选项中选择一个路由。路由候选项是最具体目的地相同的静态路由、动态路由和对等互连自定义路由。

    1. 如果您的 VPC 网络连接到对等网络,则除了来自单个 VPC 网络的路由候选项外,Google Cloud 会消除其他所有路由候选项。

      • 如果本地 VPC 网络中存在一个或多个路由候选项,则 Google Cloud 会忽略来自对等网络的所有路由候选项。

      • 如果本地 VPC 网络中不存在任何路由候选项,但多个对等网络中存在路由候选项,则除了其中一个对等网络中定义的路由候选项外,Google Cloud 会忽略其他所有路由候选项。Google Cloud 使用内部算法来选择单个对等网络,并且该算法目前在此过程中不会考虑路由优先级。如果您与新网络建立对等互连或与现有对等网络断开连接,这可能会更改 Google Cloud 选择的 VPC 网络。

    2. Google Cloud 会消除具有最高优先级之外的所有路由候选项。如果这样导致剩余单个路由,则 Google Cloud 会将数据包发送到该路由的下一个跃点。

    3. 如果多个路由候选项具有相同的最高优先级,则 Google Cloud 会使用相应路由的下一个跃点和类型继续执行消除过程。如果这样导致剩余单个路由,则 Google Cloud 会将数据包发送到该路由的下一个跃点。

      1. 下一个跃点是下一个跃点实例、下一个跃点 IP 或下一个跃点 VPN 隧道的自定义静态路由最合适。如果存在使用此下一个跃点类型的路由候选项,则所有其他路由候选项都会被消除。

      2. 其次最合适的是自定义动态路由。

      3. 第三个最合适的是下一个跃点为内部 TCP/UDP 负载平衡器的自定义静态路由。

      4. 最不合适的是使用默认互联网网关的下一个跃点的自定义静态路由。

    4. 如果路由候选项中保留了多个路由,则这些路由都将位于同一 VPC 网络中且具有相同的最高优先级。Google Cloud 会使用五元组哈希值在路由候选项的下一个跃点之间分配流量来实现相似性,从而实现等成本多路径 (ECMP)。系统会根据路由选择算法所确定的路由候选项数量,在各数据包发送时为其进行哈希值计算。如果路由候选项数量发生变化,则该哈希值可能会将具有相同五元组哈希值的数据包定向到其他的下一个跃点。

  4. 如果未找到适用的目标目的地,Google Cloud 将丢弃数据包,并传回 ICMP 目的地或网络不可达错误。

特殊返回路径

VPC 网络具有针对特定服务的特殊路由。这些路由是在您的 VPC 网络外部但在 Google 的生产网络中定义的。它们不会显示在您的 VPC 网络的路由表中。您无法移除或替换它们,即使删除或替换 VPC 网络中的默认路由也是如此。但是,您可以使用防火墙规则来控制进出这些服务的流量。

负载平衡器返回路径

如果您使用下面某一个 Google Cloud 负载平衡器,则 Google Cloud 具有这些负载平衡器的特殊路由及其关联的运行状况检查,具体请详见下述各部分内容。

HTTP(S)、SSL 代理、TCP 代理负载平衡器的返回路径

对于这些负载平衡器类型,Google 前端 (GFE) 系统将充当代理。当客户端向负载平衡器发送请求时,代理会终止 TCP 会话并打开与后端虚拟机的新 TCP 会话。在您的 VPC 网络外部定义的路由可以实现从 GFE 代理到后端虚拟机及相反方向的通信。

如需了解详情,请参阅以下页面:

网络负载平衡器的返回路径

如果互联网上的客户端通过网络负载平衡器向后端虚拟机发送 TCP 或 UDP 请求,则 Google Cloud 会使用 VPC 网络外部定义的路由,实现从客户端到后端虚拟机以及从后端虚拟机到客户端的通信。

如需了解详情,请参阅网络负载平衡

所有负载平衡器类型的运行状况检查

从 Google Cloud 运行状况检查探测系统发送的数据包具有探测 IP 范围和防火墙规则中所述的来源。实现 Google Cloud 运行状况检查探测系统与后端虚拟机之间通信的路由存在于您的 VPC 网络外部,无法移除。但是,您的 VPC 网络必须具有入站流量允许防火墙规则才能允许来自这些系统的流量。

IAP

包含 35.235.240.0/20 的路由以支持使用 IAP 进行 TCP 转发。Google 的生产网络不接受来自互联网上其他来源的 35.235.240.0/20 路由。

Cloud DNS

通向 35.199.192.0/19 的路由支持连接到使用专用路由的转发目标使用专用路由的备用域名服务器。Google 的生产网络不接受来自互联网上其他来源的 35.199.192.0/19 路由。

静态路由的参数

每个静态路由均由以下成分组成:

  • 名称说明。这些字段用于标识路由。名称为必填字段,但说明是选填字段。项目中的每个路由都必须具有唯一的名称。

  • 网络。每个路由必须恰好与一个 VPC 网络关联。

  • 目的地范围。目的地范围是一个 IPv4 CIDR 地址块,其中包含接收传入数据包的系统的 IP 地址。目的地必须以 CIDR 表示法表示。目的地不能与子网 IP 地址范围完全一致,也不能在子网 IP 地址范围内(不能具有较长的子网掩码)。静态路由的目的地可以包含子网 IP 地址范围(具有较短的子网掩码)。在这种情况下,仅当数据包不在子网路由的目的地范围内时,数据包才会发送到静态路由的下一个跃点。可能的最宽泛目标是 0.0.0.0/0

  • 优先级。如果多个路由具有相同的目标,则优先级用于确定应使用哪个路由。数字越小表明优先级越高;例如,优先级值为 100 的路由的优先级高于优先级值为 200 的路由。路由优先级最高表示非负整数最小。因为 0 是可能的最小非负整数,所以它具有最高的优先级。

  • 下一个跃点。静态路由可以具有指向默认互联网网关、Google Cloud 实例或 Cloud VPN 隧道的下一个跃点。如需了解详情,请参阅静态路由的下一个跃点

  • 标记。您可以指定网络标记列表,以便路由仅适用于至少具有所列标记之一的实例。如果您不指定标记,则 Google Cloud 会将路由应用于网络中的所有实例。下一个跃点内部 TCP/UDP 负载平衡器不支持网络标记。

静态路由的下一个跃点

下面介绍静态路由的有效下一个跃点。如需详细了解每种类型,请查看 gcloud 参考文档

  • 下一个跃点网关 (next-hop-gateway)。您可以指定默认互联网网关来定义前往外部 IP 地址的路径。

  • 下一个跃点实例 (next-hop-instance)。您可以通过指定 Google Cloud 中现有实例的名称和地区,将流量定向到该实例。流量会被定向到您定义路由的 VPC 网络中虚拟机网络接口的主要内部 IP 地址。

    • 如果 VPC 网络中虚拟机实例的网络接口的主要内部 IP 地址发生变化,则 Google Cloud 会自动更新 VPC 网络的路由表,以便流量继续发送到使用新 IP 地址的虚拟机。

    • 如果虚拟机被同一可用区中具有相同名称的新虚拟机所替换,则 Google Cloud 会自动更新 VPC 网络的路由表,以便将流量定向到替换后的虚拟机。

    • 只有在您创建路由时,Google Cloud 才会验证下一个跃点虚拟机是否存在。它不会验证虚拟机是否能够处理或转发数据包。如果您删除了虚拟机,但没有提供替代虚拟机,则路由仍然适用,这可能会导致数据包丢失。如需了解详情,请参阅作为下一个跃点的实例

  • 下一个跃点内部 TCP/UDP 负载平衡器 (next-hop-ilb)。对于内部 TCP/UDP 负载平衡,您可以将负载平衡器的 IP 地址用作在正常运行的后端实例之间分配流量的下一个跃点。例如,您可以使用自定义静态路由在后端虚拟机之间分配流量,其中该路由的下一个跃点是内部 TCP/UDP 负载平衡器。使用此下一个跃点的自定义静态路由不能通过网络标记限定为特定的实例。

  • 下一个跃点 IP 地址 (next-hop-address)。您可以为 Google Cloud 虚拟机的提供一个内部 IP 地址作为下一个跃点。

    • 在使用 next-hop-address 时,Google Cloud 会将流量传递到分配给该 IP 地址的任何虚拟机实例。如果您将虚拟机实例替换为使用同一 IP 地址的其他实例,则即使替换后的实例具有不同的名称,流量也会传递到该实例。如需按虚拟机名称定义下一个跃点,请改用下一个跃点实例。

    • 在您创建路由时,Google Cloud 仅检查 IP 地址是否为子网主要或次要 IP 地址范围的有效成员。它不会验证实例是否存在于下一个跃点的 IP 地址。如果下一个跃点的 IP 地址未分配给任何实例,则路由仍然适用,这可能会导致数据包丢失。如需了解详情,请参阅实例和负载平衡器下一个跃点的注意事项

    • 您不能指定一个任意的 IP 地址下一个跃点:不允许 VPC 网络中子网 IP 地址范围外的地址。

  • 下一个跃点 VPN 隧道 (next-hop-vpn-tunnel)。对于 Cloud VPN 隧道,如果使用基于政策的路由和基于路由的 VPN,则可以通过创建路由来将流量定向到 VPN 隧道,而所创建的路由的下一个跃点应按名称和区域引用该隧道。如果路由的下一个跃点是已关停的 Cloud VPN 隧道,Google Cloud 会忽略这些路由。如需查看有关路由和 Cloud VPN 隧道如何交互的更多示例,请参阅 Cloud VPN 路由示例

实例和负载平衡器下一个跃点的注意事项

基于实例的路由是指下一个跃点为虚拟机实例(next-hop-instancenext-hop-address)的静态路由。

内部 TCP/UDP 负载平衡器作为下一个跃点是指下一个跃点为内部 TCP/UDP 负载平衡器 (next-hop-ilb) 的静态路由。

将基于实例的路由或内部 TCP/UDP 负载平衡器配置为下一个跃点时,请遵循以下准则:

  • 您必须将后端虚拟机或下一个跃点实例配置为转发来自其他来源的数据包 (can-ip-forward)。您可以在创建虚拟机时基于每个虚拟机启用 IP 转发。如需为自动创建为托管实例组一部分的虚拟机启用 IP 转发,您必须在该实例组使用的实例模板中启用 IP 转发。除了路由数据包所需的任何操作系统配置以外,您还必须更改上述配置。

  • 您必须适当配置后端虚拟机或下一个跃点实例上运行的软件。例如,您必须根据制造商的说明配置充当路由器或防火墙的第三方设备虚拟机。

  • 后端虚拟机或下一个跃点实例必须具有适当的防火墙规则。您必须配置适用于所路由的数据包的防火墙规则。请注意以下几点:

    • 适用于执行路由功能的实例的入站流量防火墙规则必须包含路由数据包来源的 IP 地址。隐式拒绝入站流量规则会阻止所有传入的数据包,因此您必须至少创建自定义入站流量允许防火墙规则。
    • 适用于执行路由功能的实例的出站流量防火墙规则必须包含路由数据包目标的 IP 地址。隐式允许出站流量规则允许此操作,除非您创建了特定的出站流量拒绝规则来替换它。
    • 在创建防火墙规则时,请考虑后端虚拟机或下一个跃点实例是否执行网络地址转换 (NAT)。

    如需了解详情,请参阅隐式防火墙规则

特定于下一个跃点实例的注意事项

  • 当您将实例用作下一个跃点(next-hop-instancenext-hop-address)时,请记住该实例是地区资源。选择区域意味着您已选择地区。Google Cloud 不会考虑使用下一个跃点实例的路由的地区距离,因此您可创建一个路由来将流量发送到其他地区中的下一个跃点。但这会增加出站流量费用并导致网络延迟。

  • 只有在您创建路由时,Google Cloud 才会执行以下基本验证之一:

    • 如果您指定 next-hop-instance,则该实例必须已存在。
    • 如果您指定 next-hop-address,则该 IP 地址必须属于现有子网的主要或次要 IP 地址范围。
  • 例如,如果您稍后移除某个实例或删除某个子网,Google Cloud 在评估适用的路由时仍会考虑使用该实例作为下一个跃点的任何路由。这可能会导致给定目的地的部分或全部数据包丢失,具体取决于您网络中的其他路由。

  • 如果虚拟机实例中的软件(例如虚拟机的操作系统或虚拟机中路由数据包的进程)发生故障,则发往该实例的数据包会丢失。为了提高可靠性,请考虑改用内部 TCP/UDP 负载平衡器作为下一个跃点。内部 TCP/UDP 负载平衡器需要配置运行状况检查,此运行状况检查会确定如何路由新的连接

  • 如果通过配置实例的客机操作系统来停用网络接口,则 Google Cloud 仍会将该接口视为路由的下一个跃点。

传统 VPN 隧道下一个跃点的注意事项

Google Cloud 不会考虑使用下一个跃点传统 VPN 隧道的路由的区域距离。将流量发送到其他地区中的下一个跃点 VPN 隧道会增加出站流量费用并导致网络延迟。最佳做法是改用高可用性 VPN 隧道使用动态路由的传统 VPN 隧道

后续步骤