Spoke 过滤条件概览

本页介绍了 Spoke 过滤条件、导入和导出 Spoke 过滤条件的含义、每种 Spoke 类型支持的过滤条件,并提供了有关如何使用 Spoke 过滤条件的示例。

Spoke 过滤条件

Spoke 过滤器用于管理 Network Connectivity Center 可以在连接到同一 hub 的 spoke 之间交换哪些路由。

借助 NCC,您可以使用 spoke 过滤条件将所有 spoke 后面的所有 IP 地址的连接限制为仅限一部分 IP 地址范围。这些过滤条件可以包括导入和导出规则,以允许或限制从 spoke 通告路由,从而限制其他网络可以找到的内容。您可以按如下所示限制连接:

  • 您可以更改导出的子网地址范围
  • 您可以指定地址范围,以启用或阻止通告这些地址范围,并建立可从 VPC 网络通告的 IP 地址范围列表。或者,您也可以仅指定允许的 IP 地址范围列表,从而阻止除允许的范围之外的所有范围。

导出过滤器:导出过滤器用于控制 spoke 可以将哪些子网或路由发送到 hub。

导入过滤器:导入过滤器用于控制 spoke 可以从 hub 接受哪些子网或路由。

混合 spoke 同时支持导出和导入过滤条件,而 VPC spoke 仅支持导出过滤条件。下表显示了每个 spoke 过滤条件支持的 spoke 类型。

每个 spoke 过滤器的支持的 spoke 类型

下表显示了每种过滤器支持的 spoke 类型。排除导出范围的优先级高于包含导出范围。只有排除导出范围可以完全包含在包含导出范围内。

Spoke 类型 导出过滤条件 导入过滤条件
VPC spoke
任意 IPv4 和 IPv6 子网范围
提供方 VPC spoke
任意 IPv4 和 IPv6 子网范围
混合 spoke
任意 IPv4 地址范围

任意 IPv4 地址范围
NCC 网关 spoke

导出过滤条件

导出过滤器用于控制 spoke 将哪些子网范围或动态路由发送到 NCC hub 路由表。导出过滤条件是按 Spoke 配置的。

  • VPC spoke 上的导出过滤条件:这些过滤条件用于控制将哪些子网范围发送到 hub。支持 IPv4 和 IPv6 子网范围。

  • 混合 spoke 上的导出过滤条件:这些过滤条件用于控制将哪些动态路由发送到 hub。仅支持 IPv4 动态路由。

导出过滤条件包括包含导出范围排除导出范围

  • 包含导出范围:使用 Google Cloud CLI 中的 --include-export-ranges 标志或 API 中的 includeExportRanges 字段来创建包含导出范围。以下规则适用于包含导出范围:

    • 包含导出范围最多支持 16 个不重叠的唯一 CIDR。 包含导出范围中的任何 CIDR 都不能与另一个 CIDR 匹配或包含另一个 CIDR。

    • 包含导出范围支持以下关键字,以代替 CIDR:

      • ALL_PRIVATE_IPV4_RANGES:此关键字包含由 VPC Spoke 导出的子网范围中的所有专用 IPv4 地址。此关键字只能在 VPC spoke 的 include export 范围中使用。

      • ALL_IPV4_RANGES:此关键字包含所有 IPv4 地址,相当于 0.0.0.0/0 CIDR。此关键字可用于 VPC spoke 或混合 spoke 的包含导出范围。

      • ALL_IPV6_RANGES:此关键字包含所有 IPv6 地址,相当于 ::/0 CIDR。此关键字只能在 VPC spoke 的包含导出范围中使用。

    • 如果您未指定任何包含导出范围,NCC 会使用以下默认值:

      • 对于 VPC spoke,默认包含导出范围与指定 ALL_PRIVATE_IPV4_RANGES 时的范围相同。

      • 对于混合型 Spoke,默认的包含导出范围与您指定 ALL_IPV4_RANGES 时的范围相同。

  • 排除导出范围:使用 Google Cloud CLI 中的 --exclude-export-ranges 标志或 API 中的 excludeExportRanges 字段来创建排除导出范围。以下规则适用于排除导出范围:

    • 排除导出范围最多支持 16 个不重叠的唯一 CIDR。 排除导出范围中的任何 CIDR 都不能与另一个 CIDR 匹配或包含另一个 CIDR。

    • 排除导出范围中指定的每个 CIDR 都必须扩展到由包含导出范围中的 CIDR 或关键字完全包含的 IP 地址(如果您未明确指定任何包含导出范围,则为默认的包含导出范围)。

    • 排除导出范围不支持关键字。

    • 如果您未指定任何导出排除范围,NCC 会将空列表用作默认的导出排除范围,无论是 VPC spoke 还是混合 spoke 都是如此。

VPC Spoke 的导出过滤规则

对于 VPC spoke,以下规则控制着每个 VPC spoke 中导出过滤器与子网范围之间的互动:

场景 示例 有效配置 结果
VPC 网络的子网范围未完全包含在任何 VPC spoke 的包含导出范围中(因此,也未包含在任何排除导出范围中) 子网范围 10.0.0.0/16 和包含的导出范围 192.168.0.0/16 子网范围不会发送到 hub。
VPC 网络的子网范围与某个 VPC spoke 的包含导出范围相交,但未完全包含在该范围内 子网范围 10.0.0.0/16 和包含的导出范围 10.0.0.0/17 Google Cloud 可防止出现以下情况:
  • 如果现有包含导出范围导致了以下情形,则创建新的子网范围
  • 如果现有子网范围导致了此情形,则创建新的包含导出范围
VPC 网络的子网范围完全包含在某个 VPC spoke 的导出包含范围内,并且该子网范围不与任何 spoke 的导出排除范围相交 子网范围 10.0.0.0/1610.0.0.0/17,包含导出范围 10.0.0.0/16192.168.0.0/16,排除导出范围 192.168.0.0/24 子网范围会发送到 hub。
VPC 网络的子网范围完全包含在某个 VPC spoke 的包含导出范围内,但该子网范围与某个 spoke 的排除导出范围相交 子网范围 10.0.0.0/17,包含导出范围 10.0.0.0/16,排除导出范围 10.0.0.0/24 Google Cloud 可防止出现以下情况:
  • 如果现有包含导出范围和现有排除导出范围导致出现此情形,则创建新的子网范围
  • 如果现有子网范围和现有排除导出范围导致出现此情形,则创建新的包含导出范围
  • 如果现有子网范围和现有包含导出范围导致出现以下情况,则创建新的排除导出范围
VPC 网络的子网范围完全包含在某个 VPC spoke 的排除导出范围中(因此也包含在某个包含导出范围中) 子网范围 10.0.0.0/17、包含导出范围 10.0.0.0/8 和排除导出范围 10.0.0.0/16 子网范围不会发送到 hub。

混合 spoke 的导出过滤规则

对于混合 spoke,以下规则控制导出过滤器与动态路由之间的互动:

场景 示例 有效配置 结果
混合 spoke 中的动态路由未完全包含在任何混合 spoke 的包含导出范围内(因此未包含在任何排除导出范围内) 动态路由 10.0.0.0/16 和包含导出范围 192.168.0.0/16 动态路由不会发送到 hub。
混合辐条中的动态路由与某个混合辐条的纳入导出范围相交,但并非完全包含在该范围内 动态路由 10.0.0.0/16 和包含导出范围 10.0.0.0/17 动态路由不会发送到 hub。
混合 spoke 中的动态路由完全包含在混合 spoke 的某个包含导出范围内,并且该动态路由不与任何排除导出范围相交 动态路由 10.0.0.0/1610.0.0.0/17,包含导出范围 10.0.0.0/16192.168.0.0/16,排除导出范围 192.168.0.0/24 动态路由会发送到 hub。
混合 spoke 中的动态路由完全包含在某个混合 spoke 的包含导出范围内,但该动态路由与某个 spoke 的排除导出范围相交 动态路由 10.0.0.0/17、包含导出范围 10.0.0.0/16、排除导出范围 10.0.0.0/24 动态路由不会发送到 hub。
混合 spoke 中的动态路由完全包含在某个混合 spoke 的排除导出范围中(因此也包含在某个混合 spoke 的包含导出范围中) 动态路由 10.0.0.0/17、包含导出范围 10.0.0.0/8 和排除导出范围 10.0.0.0/16 动态路由不会发送到 hub。

导入过滤条件

导入过滤器用于控制混合 spoke 的路由 VPC 网络从 NCC hub 路由表接收哪些子网范围或动态路由。为每个混合 spoke 配置导入过滤条件,并且这些过滤条件仅支持 IPv4 地址范围。VPC spoke 不支持导入过滤条件。

导入过滤器包含包含的导入范围排除的导入范围

  • 包含导入范围:使用 Google Cloud CLI 中的 --include-import-ranges 标志或 API 中的 includeImportRanges 字段来创建包含导入范围。包含的导入范围的规则如下:

    • 包含导入范围最多支持 16 个不重叠的唯一 CIDR。 包含导入范围中的任何 CIDR 都不能与另一个 CIDR 匹配或包含另一个 CIDR。

    • 包含导入范围支持 ALL_IPV4_RANGES 关键字(相当于 0.0.0.0/0 CIDR),而不是 CIDR。

    • 如果您未指定任何包含导入范围,NCC 会使用以下默认值:

      • 如果混合 spoke 未启用站点到站点数据传输,则默认的包含导入范围为空。

      • 如果混合 spoke 启用了站点到站点数据传输,则默认的包含导入范围仅包含从枢纽的其他启用了站点到站点数据传输的混合 spoke 获知的 IPv4 动态路由(传输动态路由)。此默认包含导入范围不包含来自 hub 的任何子网范围。

      • Google 建议您指定一组明确的包含导入范围,因为默认值各不相同,可能仅适用于导入传输动态路由。

  • 排除导入范围:使用 Google Cloud CLI 中的 --exclude-import-ranges 标志或 API 中的 excludeImportRanges 字段来创建排除导入范围。排除导入范围的规则如下:

    • 排除导入范围最多支持 16 个不重叠的唯一 CIDR。排除导入范围中的任何 CIDR 都不能与另一个 CIDR 匹配或包含另一个 CIDR。

    • 排除导入范围中指定的每个 CIDR 都必须扩展到由包含导入范围中的 CIDR 或关键字完全包含的 IP 地址。

    • 排除导入范围不支持关键字。

    • 如果您未指定任何排除导入范围,则默认 exclude import ranges 为空。

混合 spoke 和 NCC 导入的子网路由通告

混合 spoke 中的 Cloud Router 上的 BGP 会话可以使用以下任一技术通告从 NCC hub 路由表中收到的子网范围:

  • 使用混合 spoke 导入过滤器和 Cloud Router 子网路由通告:此技术仅支持 IPv4 子网范围,因为导入过滤器仅支持 IPv4 范围。如需使用此方法,您必须执行以下操作:

    • 在路由 VPC 网络的混合 spoke 中配置包含导入范围和排除导入范围。例如,将包含导入范围设置为 [ALL_IPV4_RANGES],并将排除导入范围留空。

    • 在路由 VPC 网络的混合 spoke 中,配置 Cloud Router 路由器的 BGP 会话上的子网范围通告。Cloud Router 子网范围通告可通过默认通告模式或自定义通告模式实现。如需了解详情,请参阅 Cloud Router 文档中的通告路由

    使用此技术时,请注意以下事项:

    • 动态路由模式对子网范围通告的影响:路由 VPC 网络的动态路由模式控制着本地子网范围从 NCC hub 接收的子网范围的通告:

      • 使用区域动态路由模式的路由 VPC 网络:每个混合 spoke 中的 BGP 会话只能通告与混合 spoke 位于同一区域的本地子网范围和 NCC 导入的子网范围。通告的 MED 与每个 BGP 会话的已配置基准优先级匹配。

      • 使用全球动态路由模式路由 VPC 网络:每个混合 Spoke 中的 BGP 会话都可以通告本地子网范围和从任何区域导入的 NCC 子网范围。与混合 spoke 位于同一区域的子网范围的通告 MED 与 BGP 会话配置的基本优先级相匹配。不同区域中子网范围的通告 MED 是 BGP 会话配置的基准优先级与区域间费用的总和。

    • 混合 spoke 导入过滤器不会影响路由 VPC 网络中本地子网范围的通告:混合 spoke 导入过滤器不能用于控制路由 VPC 网络中本地子网范围的通告。路由 VPC 网络的本地子网范围的通告取决于每个 BGP 会话的通告模式和路由 VPC 网络的动态路由模式。

  • 通过使用 Cloud Router 自定义通告Cloud Router 自定义通告模式支持向 BGP 会话的对等方通告自定义 IPv4 和 IPv6 前缀,既可以作为子网路由通告的补充,也可以取代子网路由通告。您可以添加 IPv4 或 IPv6 CIDR,包括与 NCC hub 中的子网范围匹配或包含子网范围的 CIDR。

    使用此技术时,请注意以下事项:

    • 动态路由模式对 Cloud Router 自定义通告的影响:路由 VPC 网络的动态路由模式不会影响自定义路由通告。通告的 MED 与每个 BGP 会话的已配置基准优先级匹配。

    • 如果 Cloud Router 自定义通告与通告的子网路由完全一致,则会被忽略

      • 如果 BGP 会话的通告模式和路由 VPC 网络的动态路由模式导致通告本地子网范围,则当自定义通告与本地子网范围匹配时,BGP 会话会省略任何自定义通告。

      • 如果混合 spoke 的导入过滤条件和路由 VPC 网络的动态路由模式导致通告 NCC 导入的子网范围,则当自定义通告与 NCC 导入的子网范围匹配时,BGP 会话会省略任何自定义通告。

以下声明适用于这两种技术:

Cloud Router 出站 BGP 政策的效果出站 BGP 政策适用于所有通告的路由,包括 NCC 导入的子网路由。

混合 spoke 和 NCC 导入的动态路由重新通告

混合 spoke 中的 Cloud Router 上的 BGP 会话可以重新通告从 NCC hub 路由表的其他混合 spoke 收到的动态路由。如需使用此技巧,您必须执行以下操作:

  • 确保所有混合 spoke 都位于同一路由 VPC 网络中。 这是站点到站点数据传输的前提条件。

  • 确保在向 Hub 发送动态路由的混合 spoke 中启用站点到站点数据传输。

  • 确保在从 hub 接收动态路由的混合 spoke 中启用了站点到站点数据传输。相应地配置此混合 spoke 的包含导入范围和排除导入范围。

重新通告的动态路由称为中转动态路由。使用此技术时,请注意以下事项:

  • 动态路由模式对传输动态路由重新通告的影响:包含混合 spoke 的路由 VPC 网络的动态路由模式控制着重新通告哪些传输动态路由:

    • 使用区域动态路由模式的路由 VPC 网络:启用了站点到站点数据传输的混合 spoke 中的 Cloud Router 路由器的 BGP 会话会重新通告同一区域中其他启用了站点到站点数据传输的混合 spoke 中的传输动态路由。通告的 MED 与执行重新通告的每个 BGP 会话的已配置基准优先级相匹配。

    • 使用全球动态路由模式路由 VPC 网络:启用了站点到站点数据传输的混合辐条中的 Cloud Router 路由器的 BGP 会话会在所有区域重新通告来自其他启用了站点到站点数据传输的混合辐条的传输动态路由。同一区域中传递动态路由的通告 MED 与执行重新通告的每个 BGP 会话的配置基准优先级相匹配。不同区域中传递动态路由的通告 MED 与配置的基准优先级和区域间费用相匹配。

  • Cloud Router 通告模式的效果Cloud Router 通告模式中的设置不会控制是否重新通告传输动态路由。传输动态路由的重新通告完全由混合 spoke 设置(即站点到站点数据传输选项、导出过滤器和导入过滤器)控制。

为混合 spoke 导入过滤规则

对于混合型 spoke,以下规则控制导入过滤器与从 hub 收到的路由之间的互动。从 Hub 接收的路由可以是子网路由,也可以是中转动态路由。

场景 示例 有效配置 结果
Hub 中的子网路由或传递动态路由未完全包含在任何混合 spoke 的包含导入范围内(因此未包含在任何排除导入范围内) 枢纽子网路由或传输动态路由 10.0.0.0/16 并包含导入范围 192.168.0.0/16 混合 spoke 未导入 hub 子网路由或传输动态路由。
枢纽中的子网路由或传递动态路由与某个混合分支的包含导入范围相交,但并非完全包含在该范围内 枢纽子网路由或传输动态路由 10.0.0.0/16 和包含导入范围 10.0.0.0/17 混合 spoke 未导入 hub 子网路由或传输动态路由。
枢纽中的子网路由或传输动态路由完全包含在混合 spoke 的某个包含导入范围内,并且枢纽路由不与任何 spoke 的排除导入范围相交 枢纽子网路由或传输动态路由 10.0.0.0/1610.0.0.0/17,包含导入范围 10.0.0.0/16192.168.0.0/16,排除导入范围 192.168.0.0/24 混合 spoke 导入 hub 子网路由或中转动态路由。
枢纽中的子网路由或传递动态路由完全包含在混合 spoke 的一个包含导入范围内,但枢纽路由与 spoke 的一个排除导入范围相交 Hub 子网路由或传输动态路由 10.0.0.0/17,包括导入范围 10.0.0.0/16,排除导入范围 10.0.0.0/24 混合 spoke 未导入 hub 子网路由或传输动态路由。
枢纽中的子网路由或传递动态路由完全包含在混合 spoke 的某个排除导入范围内(因此也包含在某个包含导入范围内) Hub 子网路由或传输动态路由 10.0.0.0/17、包含导入范围 10.0.0.0/8 和排除导入范围 10.0.0.0/16 混合 spoke 未导入 hub 子网路由或传输动态路由。

后续步骤

  • 如需查看其解决方案已与 NCC 集成的合作伙伴列表,请参阅 NCC 合作伙伴
  • 如需查找路由器设备问题的解决方案,请参阅问题排查
  • 如需获取有关 API 和 Google Cloud CLI 命令的详细信息,请参阅 API 和参考文档