IBM Cloud Docs
生成检修路线报告

生成检修路线报告

您可以请求对运输网关及其每个连接已知的所有路线的报告。 此报告显示与这些路由相关联的边界网关协议 (BGP) 信息,哪些连接提供哪些路由以及重叠的路由。

您可以使用 UI,CLI 或 API 来检索路由报告。

路线报告注意事项

  • 路由报告中显示的 AS 路径提供了单一区域的视角。 如果来源地或目的地跨越不同区域,路径长度可能会有所不同。 例如,考虑两个直接链接:一个在 DAL10,另一个在 DAL12,两个链接都有相同的 AS 路径长度,指向连接到 VPC 或传统环境的基于 DAL 的中转网关。 从 DAL10 虚拟服务器实例调用时:

    • 首选 DAL10 直接链接。
    • 对于来自 DAL12 的连接,首选 DAL12 直接连接。
    • 在 DAL13 的情况下,如果网关设置了 ECMP 路由,则可以使用 ECMP 路由,或者使用单个直接链接。 不过,在 BGP 重置期间,它可以切换到另一条直接链路。
  • 在配置运输网关时,重叠路线是一个常见问题。 如果来自两个或多个连接的路由重叠,那么流量可能无法按预期进行路由。 有关更多信息,请参阅 寻址路由冲突

  • 在新的虚拟连接 (VPC,经典基础架构或 Direct Link) 达到 活动 状态后,请允许 5 分钟用于由 Transit Gateway 学习的路线。 在学习所有路由之前生成路由报告将生成部分路由报告。

  • 如果连接公开 0.0.0.0/0 的路由,那么在计算重叠前缀时将忽略该路由。

  • 每个网关在任何时候都只有一个报告可用。 如果生成新报告,那么将删除旧报告。

  • 添加或除去连接后,较旧的路由报告可能不准确。 因此,如果在这些连接中更新路由,那么建议您生成新的路由报告。

  • 如果 前缀过滤器 拒绝一个或多个路由,那么这些路由不会显示在路由报告中。

在 UI 中生成和查看路由报告

路由报告在各自的视图中生成 RoutesBGP 表的数据。 这两个表都允许您生成,删除和下载同一报告。

要在 UI 中生成路由报告,请执行以下步骤:

  1. 从浏览器打开 IBM Cloud 控制台并登录账户。

  2. 从左上角选择导航菜单菜单图标,然后单击基础设施 > 网络 > Transit Gateway

  3. 从 Transit Gateway 表中,选择要为其生成报告的网关。

  4. 在“详细信息”页面上,单击 路由BGP 选项卡,然后单击 生成报告

    路由报告开始构建,可能需要几分钟才能生成,具体取决于网关的复杂性。 请记住,在完成报告处理之前,或者除非单击 取消,否则无法生成其他报告。

生成报告后,将在检修路线报告表中显示以下列。

在“检修路线”视图中:

  • Route-指定路由地址 (例如,169.254.0.40/29)。
  • 连接-指定路由源自的特定连接的名称 (或标识)。
  • 冲突-指定是否存在路由冲突。

在 BGP 视图中:

  • Route-指定路由地址 (例如,169.254.0.40/29)。
  • 连接-指定路由源自的特定连接的名称 (或标识)。
  • Type-指定路由类型 :VPC,经典基础架构或 Direct Link。
  • 本地首选项-用于选择最佳出站路径。 在入站外部路由上应用。
  • AS 路径-列出传递路由信息的自治系统。 例如,(65201 4201065540) 4203065540

从 CLI 生成和查看路由报告

要从 CLI 生成和查看路由报告,请运行以下命令:

ibmcloud tg route-report-create|rrc GATEWAY_ID [--output json] [-h, --help]

其中:

  • GATEWAY_ID 是要列出其路由报告的网关的标识。
  • -- output json 以 JSON 格式格式化输出。
    • -help | -h 获取该命令的帮助。

例如,要为网关创建路由报告:

ibmcloud tg rrc $gateway

使用 API 生成和查看路由报告

要使用 API 生成和查看路由报告,请执行以下步骤:

  1. 使用正确的变量设置 API 环境

  2. 存储要在 API 命令中使用的任何其他变量,例如:

    transit_gateway="11111111-b540-4766-a196-14368f328eb2"
    
  3. 请求报告创建:

    curl -X POST "$transit_api_endpoint/v1/transit_gateways/$transit_gateway/route_reports?version=$api_version" -H "Authorization: $iam_token"
    

    对于其他调用,您需要知道新创建报告的 ID。 将该标识保存在变量中,例如:

    route_report="22222222-c540-4766-a196-14368f328eb2"
    

    要验证变量是否已保存,请运行 echo $route_report 并确保响应不为空。

  4. 等待报告变为活动状态,然后可以查看其详细信息:

    curl -X GET "$transit_api_endpoint/v1/transit_gateways/$transit_gateway/route_reports/$route_report?version=$api_version" -H "Authorization: $iam_token"
    

解决路由冲突

冲突的路由可能会导致错误,您可以在“路由”视图的 冲突 列中看到这些错误。

不会从路由表中删除有冲突的路由。 您在 冲突 列中看到的任何冲突仅供参考,以便您可以轻松发现路由中的潜在问题,并决定如何解决这些问题 (如果有的话)。 重叠路线也可能是有意的,例如用于 HA 目的。

如果存在多个冲突,请单击链接以打开包含更多信息的侧面板。 解决冲突后,生成新报告。

在诊断冲突路线时,请记住以下交通流注意事项:

  • 如果所公布的前缀完全匹配,或者具有相同的前缀长度和 AS 路径长度,那么 IBM Cloud 路由器上 BGP 协议首选的路由是不确定的,并且可能会随时间变化。 因此,您可能期望看到路由按预期工作,然后突然不工作。 在冗余 GRE 或 Direct Link 情境中,这可能很好,但如果您有有状态的防火墙,那么这可能是一个问题,因为如果首选路由发生更改,那么客户站点 (或虚拟路由器) 的返回路径可能会发生变化。
  • 如果两个路由的前缀长度不同 (例如,192.168.0.0/16192.168.0.0/24),那么首选更精确的前缀。 在此示例中,宣传 /24 前缀的连接将用于所有匹配的 IP。
  • 如果路由具有相同的前缀长度,但 AS 路径不同,那么较短的 AS 路径是首选路由。 前缀长度优先于 AS 路径。