排查 Network Connectivity Center 问题

如果您在使用 Network Connectivity Center、混合 spoke、VPC spoke 和 Private Service Connect 连接传播时遇到问题,请查阅以下实用的问题排查步骤。

如需了解已知限制,请参阅“概览”页面上的注意事项

命令语法的常见问题

更新 spoke 时,您必须指定 spoke 所在的位置。

将资源连接到 Spoke

如需了解创建响应和将资源附加到这些方面的详细要求、建议和注意事项,请参阅创建 spoke

路由不在区域间分布

如果路由未在区域间正确分布,请验证 VPC 网络的动态路由模式是否设置为 global

数据传输流量不会在两个非 Google Cloud 网络之间流动

在此上下文中,非 Google Cloud 网络是指您的本地数据中心、分支办公室或其他云服务提供商的网络。

如果数据传输流量在两个位置之间传输,请确认以下资源已正确配置且正常运作:

从 BGP 会话重复路由通告

如果存在重复路由通告(部分来自参与数据传输的 BGP 会话,且部分会话未参与数据传输),则数据传输流量可能会使用 ECMP 将流量分配到所有可用的下一个跃点,即使这些跃点并未明确参与数据传输。

通向不受支持的位置的互连连接(非 Google Cloud 网络)

如需获取在其中一个冗余互连连接通向不支持位置时如何配置路由通告的示例,请参阅 Network Connectivity Center 的最佳路由通告

使用 Connectivity Tests 排查网络连接问题

Connectivity Tests 是一种诊断工具,可让您检查网络中端点之间的连接。它会分析您的配置,并且在某些情况下会执行运行时验证。

为了分析网络配置,Connectivity Tests 会通过 Virtual Private Cloud (VPC) 网络、Cloud VPN 隧道、VLAN 连接或路由器设备实例模拟数据包的预期转发路径。

您可以使用 Connectivity Tests 配置分析来评估以下网络之间的可达性:

由于 Connectivity Tests 无法访问您的本地网络配置,因此无法验证是否在本地路由器上配置了路由和防火墙规则。因此,从本地网络到 VPC 网络的流量始终被 Connectivity Tests 配置分析视为有效,且系统只会验证 Google Cloud 中的配置。

如需在通过 Network Connectivity Center 连接的两个本地网络之间运行 Connectivity Tests,请参阅运行 Connectivity Tests

如需了解详情,请参阅 Connectivity Tests 概览

排查混合 spoke 问题

路由器设备、VLAN 连接和 VPN spoke 可能会出现以下问题。

配置的 hub 子网未通告到本地网络

如果配置的 hub 子网未通告到本地网络(预览版),请检查混合 spoke 组的 hub 路由表,看看是否存在以下问题:

  • 如果子网显示在 Hub 路由表中,请执行以下操作:

  • 如果子网不在 Hub 路由表中,请执行以下操作:

    • 检查子网的 VPC spoke 上的“包含要导出的 IP 地址范围”和“排除要导出的 IP 地址范围”。如果子网是按“包含导出范围”或“排除导出范围”过滤的,您可以更新 VPC spoke。

排查路由器设备问题

以下问题和解决方案对路由器设备而言是独一无二的。

有关 Cloud Router 路由器问题排查的文档也适用于路由器设备,以及以下部分中描述的问题。

详情请参阅以下内容:

无法建立 BGP 会话

如果 Cloud Router 路由器和路由器设备之间的 BGP 会话无法建立,请检查以下问题:

  • 请务必在 Network Connectivity Center 内将充当路由器设备实例的虚拟机配置为 Spoke 的一部分。如需将路由器设备实例配置为 spoke 的一部分,请参阅使用 spoke
  • 检查您的防火墙设置,确保可以使用 TCP 端口 179。如需为路由器设备配置防火墙设置,请参阅创建路由器设备实例
  • 请确保 Cloud Router 路由器和路由器设备实例都没有使用链路本地地址(即 169.254.x.x)进行对等互连。如需获取指导,请参阅分配 IP 地址的建议
  • 请确保 Cloud Router 路由器已与您的路由器设备实例建立两个单独的 BGP 会话,每个 Cloud Router 路由器接口一个。路由器设备实例必须在两个 BGP 会话上通告相同的路由。如果您的一个 BGP 会话中断,并且路由器设备虚拟机失去与 Cloud Router 路由器的通信,请检查 Cloud Router 路由器接口的配置。如需了解详情,请参阅创建路由器设备实例

关于路由器设备实例上的 BGP 会话的内部 IP 地址的问题

如果您发现与路由器设备实例 IP 地址配置相关的问题,请确保您已在 Cloud Router 路由器和充当路由器设备实例的虚拟机之间配置了 BGP 会话的 RFC 1918 内部 IP 地址。

路由器设备实例不会将 169.254.x.x 地址用于 BGP 会话。它们必须在与 Cloud Router 路由器相同的 VPC 子网中使用 IP 地址。如需了解详情,请参阅创建路由器设备实例

排查 VPC Spoke 问题

权限

如果在与 Hub 不同的项目中创建 Spoke 时权限遭拒,请与 Hub 管理员联系,确认您已被授予 Hub 所需的 networkconnectivity.groups.use 权限。

VPC spoke 创建失败

如果您的 VPC spoke 创建失败,可能是由以下某种原因造成的:

  • VPC 网络已与使用 VPC 对等互连的一个或多个现有 Spoke 建立对等互连。
  • 子网与现有 VPC Spoke 重叠。
  • 子网与现有 VPC Spoke 的对等网络重叠。
  • 您已超出 VPC spoke 配额。
  • 您已超出每个 Hub 路由表的路由配额。
  • 指定了 16 个以上的导出过滤条件。
  • VPC 网络中的子网大于指定的一个或多个过滤条件。

如需了解与配额相关的错误,请参阅配额和限制

删除 spoke 后 VPC spoke 创建失败

删除 spoke 后,您必须等待至少 10 分钟的冷却期,然后才能为连接到其他 hub 的同一 VPC 网络创建新 spoke。如果 VPC 网络作为 spoke 添加到同一 hub,则不需要此冷却期。

VPC Spoke 中的子网创建失败

如果您在 VPC Spoke 中遇到子网创建失败,则可能是由于以下原因之一:

  • 其他 VPC spoke 或 VPC spoke 的对等方中存在重叠的子网。
  • 您已超出每个 Hub 路由表的路由配额。
  • VPC 网络中的子网大于指定的一个或多个过滤条件。

VPC spoke 已创建,但缺少数据平面连接

如果您的 VPC spoke 显示为已创建,但缺少数据平面连接,则可能是由以下某种原因造成的:

  • Spoke 与 hub 位于不同的项目中,hub 管理员尚未接受 spoke 提案。
  • VPC 网络中的所有子网都会被从连接中过滤并排除。
  • 目标子网按其对应的 VPC Spoke 过滤条件进行过滤。

Hub 路由表未显示 VPC spoke 中的部分子网

如果您的 Hub 路由表未显示 VPC Spoke 中的部分子网,则可能是由于以下原因之一:

  • 子网使用导出过滤条件进行过滤。
  • 子网是在最近 5-10 分钟内创建的,并且 Hub 路由表尚未刷新。

一个 spoke 中的虚拟机无法访问另一个 spoke 中的 Private Service Connect 连接

如果一个 VPC spoke 中的虚拟机无法访问另一个 spoke 中的 Private Service Connect 端点(预览版),请检查是否存在以下问题:

  • 确保 Private Service Connect 连接以 内部直通式网络负载平衡器 Private Service Connect 端点为目标,连接到服务连接。如需了解详情,请参阅通过端点访问已发布服务的简介

    如需获取与项目中的转发规则关联的数据,请使用 gcloud compute forwarding-rules describe 命令

    gcloud

    gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \
      --region=REGION_ID
      --project=PROJECT_ID
      --format='get(target)'
    

    替换以下值:

    • FORWARDING_RULE_NAME:转发规则的名称
    • REGION_ID:地区 ID
    • PROJECT_ID:规则所在的项目 ID
  • 确保在集线器中启用了 --export_psc 字段。

    如需检查 Hub 中是否启用了 --export_psc 字段,请使用 gcloud network-connectivity hubs describe 命令

    gcloud

    gcloud network-connectivity hubs describe HUB_NAME \
      --project=PROJECT_ID
      --format='get(export_psc)'
    

    替换以下值:

    • HUB_NAME:hub 的名称
    • PROJECT_ID:hub 所在的项目 ID
  • 验证 Private Service Connect 端点的地址是否不在托管分支的任何导出排除范围内。位于导出排除范围内的 Private Service Connect 端点不会传播。

    如需查看 Spoke 的指定排除导出范围,请使用 gcloud network-connectivity spokes describe 命令

    gcloud

    gcloud network-connectivity spokes describe SPOKE_NAME \
      --global \
      --project=PROJECT_ID \
      --format='get(linked_vpc_network.exclude_export_ranges)'
    

    替换以下值:

    • SPOKE_NAME:Spoke 的名称
    • PROJECT_ID:Spoke 所在的项目 ID
  • 确保您没有超出 Network Connectivity Center 使用配额

排查 VPC spoke 路由交换问题

VPC spoke 和混合 spoke 连接到同一 hub,但缺少数据平面连接

如果 VPC spoke 和混合 spoke 连接到同一 hub,但缺少数据平面连接,则可能是由以下某种原因造成的:

  • spoke 是跨项目 spoke,hub 管理员尚未接受 spoke 提案。
  • VPC 网络中的所有子网都会被从连接中过滤并排除。
  • 未启用 VPC 子网的自动传播,或未设置自定义路由通告。
  • 动态路由配额已用尽。

Hub 路由表未显示某些动态路由或显示了虚假的动态路由

Hub 路由表可能无法正确显示动态路由,原因可能是以下之一:

  • BGP 路由在最近 5-10 分钟内已通告或撤消,并且 Hub 路由表尚未更新。
  • 动态路由配额已用尽。

混合 spoke 创建失败

如果混合 spoke 创建失败,可能是由以下某种原因造成的:

  • 路由 VPC 网络可能是连接到同一 hub 或其他 hub 的现有 VPC spoke。
  • 由于存在连接到该 hub 的现有混合 spoke,路由 VPC 网络可能会隐式与其他 hub 相关联。VPC 网络中的混合附加项只能成为一个 hub 的 spoke。

VPC spoke 创建失败

如果 VPC spoke 作为路由 VPC 网络隐式与 hub 相关联,则 VPC spoke 创建可能会失败。

错误消息

如果您尝试创建轮辐时收到内容为 An internal error occurred 的错误消息,请与 Google Cloud 支持团队联系,以便排查问题。