使用 Azure 路由服务器的路由映射为路由添加 AS 路径前置

Important

Azure 路由服务器 的 Route maps 目前处于预览阶段。 有关适用于 beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 Azure 预览补充使用条款

AS-PATH 前置是常见的边界网关协议(BGP)流量工程技术。 当你在某条路由的 AS-PATH 前面添加一个或多个自治系统编号(ASN)时,该路由的路径看起来会更长,因此对下游 BGP 对等体而言优先级会更低,而它们通常更偏好较短的 AS-PATH。 你可以利用该技术设计主连接和备份连接,影响入站流量路径,并在主动-主动架构中引导流量。

本文介绍如何使用 Azure 门户,通过 Azure 路由服务器 的路由映射将 ASN 预置到匹配路由的 AS-PATH 前面。 有关路由图的概述,请参见“关于 Azure 路由服务器 的路由图”。

图示显示了两条来自本地路由器的BGP路径,较短的 AS-PATH 更受青睐。

先决条件

  • 拥有有效订阅的 Azure 帐户。 创建试用帐户
  • 部署在虚拟网络中的 Azure 路由服务器,且至少与以下其中一项建立了一个 BGP 对等互连:网络虚拟设备 (NVA)、ExpressRoute 网关连接或 VPN 网关连接。 完整的前提条件列表,请参见 配置路由地图:前提条件
  • 在配置路由图之前,请确认路由是通过 Azure 路由服务器 学习的。 使用路由服务器上的 有效路由 视图确认路由及其当前 AS-PATH 值。

Considerations

在选择路线前,请先了解以下事项:

  • 路由映射规则会依次进行评估,AS-PATH 修改会按照您配置它们的顺序应用。
  • 你可以通过一次操作使用逗号分隔的值为多个 ASN 添加前置项。 最终的 AS-PATH 反映了你配置的具体顺序。 你也可以将同一个 ASN 多次添加到前面,以进一步延长路径。
  • AS-PATH 预置仅影响路由通告。 它不会影响路由可达性。
  • 在添加路由前时不要使用Azure保留的ASN。 保留的公共ASN为8074、8075和12076。 保留的私人ASN有65515、65517、65518、65519和65520。
  • 通过 ExpressRoute 播发的路由中的私有 ASN 会被 Microsoft Enterprise Edge (MSEE) 路由器删除。 当路由经由 ExpressRoute 传输时,不要使用私有 ASN 执行 AS-PATH 预置,因为网关会在路由到达你的设备之前删除这些 ASN。 通过 VPN 网关通告的路由或通告给 NVA 的路由可以使用公有或私有 ASN。

有关路线图限制的完整列表,请参见 关于路线图:注意事项与限制

了解方案

在这种情况下,工作负载子网使用前缀 10.0.0.0/16,Azure 路由服务器 使用 ASN 65515。 您创建一个与工作负载前缀匹配的路由映射,并在将该路由通告给下游对等体之前,在其 AS-PATH 前附加 ASN 64511。 AS-PATH 越长,路由吸引力降低,因此下游BGP对端更倾向于选择替代路径。

下表显示了在应用路由映射前后 AS-PATH 的情况:

前缀 AS-PATH
路线图之前 10.0.0.0/16 65515
路线图之后 10.0.0.0/16 64511 65515

配置路由图

配置一条路由映射规则,用于匹配工作负载前缀,并前置 ASN。

  1. 在 Azure portal 中,前往你的 Azure 路由服务器 资源。

  2. 在“ 路由”下的左侧菜单中,选择 路线映射

  3. 路线图中,选择 +添加路线图

  4. “创建路线图”上,输入路线映射 的名称 ,然后选择“ + 添加路线映射规则”。

  5. 创建路线图规则中,输入规则 名称 ,并使用以下数值配置匹配条件和动作:

    匹配条件

    财产 标准 价值
    路由前缀 等于 10.0.0.0/16

    匹配路线操作:选择 修改

    线路调整

    财产 Action 价值
    AsPath 添加 64511

    要在前面添加多个 ASN,请输入以逗号分隔的值,例如 64511,64510,64511。 这些 ASN 会按照你输入的顺序进行前置。

  6. 选择 添加 以保存规则到路线图。

  7. 创建路线图时,选择 保存 以保存路线图及其规则。

    保存需要几分钟。 存档完成后, 配置状态 显示 为成功

    注释

    首次在 Azure 路由服务器 上创建路由图时,路由服务器会进行一次约需 30 分钟的一次性升级。

申请并核实路线图

  1. 将路由图应用于发布工作负载路由的BGP对等或网关连接的出站方向。 有关具体步骤,请参阅 将路由映射应用于 BGP 对等互连和网关连接

  2. 使用路由服务器上的 路由映射仪表板 确认 AS-PATH 是否已按预期修改。

  3. 在接收的BGP对端,验证已公告的路由。 前置的 ASN 值会出现在被通告路由的 AS-PATH 中。

常见问题解答

预置的 ASN 的顺序重要吗?

Yes. 这些 ASN 会严格按照你配置的确切顺序依次前置。 例如,64511,64510 会产生 64511 64510 65515 的 AS-PATH,而 64510,64511 会产生 64510 64511 65515

我可以多次前置同一个 ASN 吗?

Yes. 例如,64510,64510,64510 会产生一个值为 64510 64510 64510 65515 的 AS-PATH。 重复ASN会增加路径长度,并进一步降低路由的优先级。

我可以用私人ASN来做前置吗?

私有ASN在某些BGP环境中是可行的,但如果路由经过ExpressRoute,MSEE路由器可以在路由到达设备之前剥离私有ASN。 当路线经过ExpressRoute时,使用公共ASN。

多个路线图规则可以修改同一条路线吗?

Yes. 如果一条路由匹配多个规则,则按照路由图中定义的顺序处理这些规则。 仔细规划规则顺序。

我该如何验证前置是否有效?

检查接收端BGP对端的路由通告。 额外的 ASN 值会出现在通告的 AS-PATH 中。 你也可以在路由服务器上使用路线图仪表板