Important
Azure 路由服务器 的 Route maps 目前处于预览阶段。 有关适用于 beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 Azure 预览补充使用条款。
AS-PATH 前置是常见的边界网关协议(BGP)流量工程技术。 当你在某条路由的 AS-PATH 前面添加一个或多个自治系统编号(ASN)时,该路由的路径看起来会更长,因此对下游 BGP 对等体而言优先级会更低,而它们通常更偏好较短的 AS-PATH。 你可以利用该技术设计主连接和备份连接,影响入站流量路径,并在主动-主动架构中引导流量。
本文介绍如何使用 Azure 门户,通过 Azure 路由服务器 的路由映射将 ASN 预置到匹配路由的 AS-PATH 前面。 有关路由图的概述,请参见“关于 Azure 路由服务器 的路由图”。
先决条件
- 拥有有效订阅的 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。
在 Azure portal 中,前往你的 Azure 路由服务器 资源。
在“ 路由”下的左侧菜单中,选择 路线映射。
在 路线图中,选择 +添加路线图。
在 “创建路线图”上,输入路线映射 的名称 ,然后选择“ + 添加路线映射规则”。
在 创建路线图规则中,输入规则 名称 ,并使用以下数值配置匹配条件和动作:
匹配条件
财产 标准 价值 路由前缀 等于 10.0.0.0/16 匹配路线操作:选择 修改。
线路调整
财产 Action 价值 AsPath 添加 64511 要在前面添加多个 ASN,请输入以逗号分隔的值,例如
64511,64510,64511。 这些 ASN 会按照你输入的顺序进行前置。选择 添加 以保存规则到路线图。
在 创建路线图时,选择 保存 以保存路线图及其规则。
保存需要几分钟。 存档完成后, 配置状态 显示 为成功。
注释
首次在 Azure 路由服务器 上创建路由图时,路由服务器会进行一次约需 30 分钟的一次性升级。
申请并核实路线图
将路由图应用于发布工作负载路由的BGP对等或网关连接的出站方向。 有关具体步骤,请参阅 将路由映射应用于 BGP 对等互连和网关连接。
使用路由服务器上的 路由映射仪表板 确认 AS-PATH 是否已按预期修改。
在接收的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 中。 你也可以在路由服务器上使用路线图仪表板。