你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
路由策略使运营商能够控制通过边界网关协议 (BGP) 习得和分发的路由。 BGP 是一种路由协议,用于在 Internet 上的自治系统之间交换路由信息。 BGP 使用社区值和扩展社区值等特性来标记和筛选路由。 路由策略可用于操作这些特性并影响路由行为。
路由策略是一组规则,根据路由的特定特性应用于它们。 这些特性包括 IP 前缀、社区值和扩展社区值。 这些策略的主要功能是允许或拒绝路由,并根据需要修改其特性。
可以在网络结构中的不同终结点强制实施路由策略。 它们可以应用于网络到网络互连或第 3 层隔离域中的不同级别,例如外部网络、内部网络和连接的子网。 路由策略按出口或入口的方向应用的,具体取决于它们是导出策略还是导入策略。 IPv4 和 IPv6 的路由策略分别执行。
可以使用条件和操作的组合来指定路由策略。 条件基于 IP 前缀、IP 社区和 IP 扩展社区。 操作基于放弃或允许路由,以及添加、移除或覆盖社区值和扩展社区值。
路由策略被建模为 Azure 资源管理器资源,在 Microsoft.managednetworkfabric
下。 运营商可以创建、读取和删除它们。 运营商创建路由策略资源,然后在所需的执行点应用它。 一次只能在一个执行点应用路由策略。
目标
路由策略是网络管理的关键组成部分。 它们提供对路由分发和修改的控制、灵活性、自定义和可伸缩性。
路由策略让运营商可以根据安全性、性能或成本等条件控制路由的分发。 例如,他们可以阻止来自内部网络的路由到达第 3 层隔离域的外部网络。 结果是增强安全性和性能、控制流量流。
路由策略还让运营商可以基于 BGP 修改路由的特性。 通过修改 BGP 特性,运营商可以影响 BGP 中的路径选择过程,并引导流量沿最佳路径传递。
路由策略提供高度的灵活性和自定义,使运营商能够定义自己的条件和操作。 然后,运营商可以实现网络结构中默认路由行为不支持的复杂逻辑或自定义方案。
路由策略简化了大规模网络的管理,因为它们会自动执行路由管理过程。 例如,运营商可以使用路由策略跨第 3 层隔离域的多个终结点应用一致且统一的规则,或使用 Azure 资源管理器模板(ARM 模板)批量更新路由策略。
指定路由策略的条件和操作
路由策略的条件和操作是使用 IP 前缀、IP 社区和 IP 扩展社区资源指定的。 这些资源被建模为 Microsoft.managednetworkfabric
下的 ARM 模板资源,根据路由的 IP 前缀、IP 社区或 IP 扩展社区定义路由策略的匹配条件和操作。
IP 前缀资源
此资源根据路由的 IP 前缀(IPv4 或 IPv6)指定路由策略的匹配条件。 它包含带有序列号和操作(Permit
或 Deny
)的前缀列表。
IP 社区资源
此资源根据标记到路由的社区值指定路由策略的匹配条件和操作。 它包含知名的社区或自定义社区成员。
IP 扩展社区资源
此资源根据路由目标指定路由策略的匹配条件和操作。 它包含扩展社区值和特定属性的列表。
Condition 属性
路由策略语句的条件属性定义路由如何与策略匹配:
And
:该策略匹配与指定的ipPrefixIds
、ipCommunityIds
、ipExtendedCommunityIds
属性全都匹配的任何路由。Or
:该策略匹配与指定的ipPrefixIds
、ipCommunityIds
、ipExtendedCommunityIds
属性中的任一匹配的任何路由。
ipPrefixId
、ipCommunityId
、ipExtendedCommunityId
属性是引用定义路由特性的匹配条件的 IP 前缀、IP 社区和 IP 扩展社区资源的字符串数组。
操作属性
路由策略语句的 action
属性定义路由与策略匹配时要执行的操作:
Permit
:允许匹配的路由并将ipCommunityProperties
应用于路由。Deny
:拒绝匹配的路由并停止对路由策略的评估。Continue
:将ipCommunityProperties
应用于路由,并使用下一个语句继续评估路由策略。
ipCommunityProperties property
ipCommunityProperties
属性指定策略如何影响路由的社区值和扩展社区值。
它有一个 set
属性和一个 delete
属性。 set
属性指定要向路由添加或覆盖的 IP 社区和 IP 扩展社区资源。 delete
属性指定要从路由中移除的 IP 社区和 IP 扩展社区资源。
路由策略中的 BGP 正则表达式支持
BGP 社区通过 IPCommunity
和 IPExtendedCommunity
BGP 配置属性配置。 这些属性会采用一系列完全匹配的值。 例如,下面的 ARM JSON 代码片段中的字符串 1234:2345
与一个 IP 扩展社区匹配。
{
"ipExtendedCommunityRules": [
{
"action": "Permit",
"sequenceNumber": 4155123341,
"routeTargets": [
"1234:2345"
]
}
]
}
BGP 正则表达式匹配
使用正则表达式增强的 BGP 社区匹配,实现更简洁、更灵活的路由策略。
下表显示了 IPCommunityRules 下的社区成员属性和 IPExtendedCommunityRules 下的路由目标的示例,这些内容可以按以下格式指定。
类型 | 格式 | 完全匹配示例 | 正则表达式示例 |
---|---|---|---|
社区成员 (IPCommunity) AA:NN | <0-65535>:<0-65535> |
7287:22222 |
7287:[2-9][0-9]2[0-9][0-9] |
<1-4294967040> |
333233 |
[3-6][2-9][0-9]2[0-9][0-9] |
|
路由目标 (IPExtendedCommunity) ASN (asplain):nn | <0-4294967295>:<0-65535> |
1122:33533 |
[3-6][2-9][0-9]2[0-9][0-9]:[2-9][0-3]5[0-8][0-9] |
<0-65535>:<0-4294967295> |
|||
路由目标 (IPExtendedCommunity) ASN (asdot):nn | <0-65535>.<0-65535>:<0-65535> |
2345.7287:33533 |
2345.7287:[2-9][0-3]5[0-8][0-9] |
路由目标 (IPExtendedCommunity) IP-address:nn | <Valid-IPv4-Address>:<0-65535> |
10.11.33.56:33533 |
10.11.33.56:[2-9][0-3]5[0-8][0-9] |
注意
- IPCommunity 或 IPExtendedCommunity 支持每个序列号的 RT 值的多个字符串。 但是,为了支持正则表达式,只能提供 IPCommunity 和 IPExtendedCommunity 的每个序列号下的一个正则表达式。 对于每个 IPCommunity 下的多个正则表达式,可以使用具有相应正则表达式的更多序列号来添加正则表达式。
- 使用正则表达式的 IPCommunity 不支持知名的社区。