通过使用 Azure 路由服务器 的路由地图与 BGP 社区进行标签路由

Important

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

BGP 社区是一个标签,你会附加在路由上,使下游路由器、网络虚拟设备(NVA)、SD-WAN 控制器和本地网络能够基于路由元数据而非仅凭前缀或 AS-PATH 做出路由决策。 常见用途包括流量工程、路由分类、路由过滤、广域网策略执行和 SD-WAN 路由选择。

本文将向您展示如何使用Azure 路由服务器的路由图,通过Azure门户将BGP社区添加到匹配的路由中。 有关路由图的概述,请参见“关于 Azure 路由服务器 的路由图”。

先决条件

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

Considerations

在为BGP社区标记路由前,请先了解以下考虑因素:

  • 与虚拟网络关联的自定义BGP社区限制在12076:20000到12076:49999的范围内。
  • 当你启用自定义 BGP 社区时,除非你用路由图过滤,否则该区域 BGP 社区也会自动被宣传。
  • 与虚拟网络相关的BGP社区仅向ExpressRoute发布。 VPN网关目前不宣传BGP社区。
  • BGP社区被视为一个集合。 与 AS-PATH 前置不同,添加社区的顺序并不重要。
  • 标准BGP社区通常是传递性的,除非路由策略将其移除。 接收网络决定是保留、修改还是剥离社区。

当你在虚拟网络上配置自定义 BGP 社区时,Azure 门户会显示支持的值范围,如下截图所示:

虚拟网络 BGP 社区字符串配置的截图,显示支持的值范围。

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

了解方案

在这种情况下,工作负载子网使用前缀 10.0.0.0/16,Azure 路由服务器 使用 ASN 65515。 你创建一个与工作负载前缀匹配的路由图,并在路由向下游节点公告之前,先添加BGP社区3356:70。 路由保持可达性并承载社区价值,下游节点可用于策略决策,如优先选择路由、调整本地偏好或触发 SD-WAN 路由策略。

下表显示了路线图应用前后的路线属性:

前缀 AS-PATH 社区
路线图之前 10.0.0.0/16 65515 没有
路线图之后 10.0.0.0/16 65515 3356:70

社区会随路线旅行,所以NVA以外的网络可以根据路线采取行动。 在下图中,两个上游提供商接收相同的标记路由并应用不同的策略:

图示显示两个上游服务提供商根据其BGP社区对路由应用不同策略。

配置路由图

配置一个与工作负载前缀匹配并添加BGP社区的路由地图规则。

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

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

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

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

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

    匹配条件

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

    匹配路线操作:选择 修改

    线路调整

    财产 Action 价值
    Community 添加 3356:70

    要添加多个社区,请输入逗号分隔值。 下游设备会评估所有连接在该路线上的社区。

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

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

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

    注释

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

路由地图规则页面的截图,显示了前缀匹配条件和BGP社区路由修改。

申请并核实路线图

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

  2. 使用路由服务器上的 路由地图仪表盘 确认社区是否按预期添加。

  3. 验证接收设备的社区。 由于社区属性会随路由通告一起传播,因此你可以在远程或本地部署的 BGP 对等端上检查已通告的路由,并且可以在该路由中看到社区属性。

示例:按辐条虚拟网络分类路由

你可以使用不同的 BGP 社区属性对来自不同辐射型虚拟网络的路由进行分类,然后让下游网络基于该标记应用策略。 例如,为来自每个辐射分支的路由添加一个用于表明其用途或环境的社区属性:

Community Meaning
3356:70 首选 Azure 路由
65000:100 生产
65000:200 Development
65000:300 灾难恢复

下游路由器和NVA可以优先选择路由、调整本地偏好、向特定地点公告路由、阻止路由传播,或根据社区值触发 SD-WAN 路由策略。

常见问题解答

我可以在一条路线上添加多个社区吗?

Yes. 你可以将多个社区连接到一条路由,下游设备会评估它们。 社区被视为一个集合,所以它们的顺序无关紧要。

我可以在同一路由上更改 AS-PATH 和 Community 属性吗?

Yes. 一条路线图规则可以对匹配的路线进行多次更改。

我可以只给选定的路线打标签吗?

Yes. 使用匹配条件,如路由前缀,选择性地标记路由。

下游路由器如何利用社区?

下游路由器可以利用社区来优先选择路由、增加或减少本地偏好、通告特定地点的路由、阻止路由传播,或触发 SD-WAN 路由策略。

社区标签如何验证?

检查接收端BGP对等端的路由,包括远程或本地设备,并确认社区属性是否出现在公告路由中。 你也可以在路由服务器上使用路线图仪表板