生成检修路线报告
您可以请求对运输网关及其每个连接已知的所有路线的报告。 此报告显示与这些路由相关联的边界网关协议 (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 中生成和查看路由报告
路由报告在各自的视图中生成 Routes 和 BGP 表的数据。 这两个表都允许您生成,删除和下载同一报告。
要在 UI 中生成路由报告,请执行以下步骤:
-
从浏览器打开 IBM Cloud 控制台并登录账户。
-
从左上角选择导航菜单
,然后单击基础设施 > 网络 > Transit Gateway。
-
从 Transit Gateway 表中,选择要为其生成报告的网关。
-
在“详细信息”页面上,单击 路由 或 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 生成和查看路由报告,请执行以下步骤:
-
使用正确的变量设置 API 环境。
-
存储要在 API 命令中使用的任何其他变量,例如:
transit_gateway="11111111-b540-4766-a196-14368f328eb2"
-
请求报告创建:
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
并确保响应不为空。 -
等待报告变为活动状态,然后可以查看其详细信息:
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/16
和192.168.0.0/24
),那么首选更精确的前缀。 在此示例中,宣传/24
前缀的连接将用于所有匹配的 IP。 - 如果路由具有相同的前缀长度,但 AS 路径不同,那么较短的 AS 路径是首选路由。 前缀长度优先于 AS 路径。