你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

访问控制列表配置

流量策略 MATCHING CONFIGURATION 定义流量策略中匹配条件和参数。 访问控制列表(ACL)使用流量策略根据匹配条件和相关操作来控制数据包传入或传出网络接口的流。 流量策略可以使用属性匹配数据包,包括:

  • dot1q:802.1Q 标记中的 VLAN ID。

  • ethertype:以太网标头中的 EtherType 字段。

  • fragment:数据包是否为 IP 片段。

  • 协议:传输协议类型,例如 TCP、UDP、ICMP 或 IGMP。

  • :源 IP 地址、端口号或端口范围。

  • destination:目标 IP 地址、端口号或端口号范围。

  • ttl:IP 标头中的生存时间 (TTL) 值。

  • dscp:IP 标头中的区分服务代码点 (DSCP) 值。

匹配条件示例

  • 匹配源和目标 IP 前缀:可以使用源前缀和目标前缀条件来匹配数据包的 IP 地址。 例如, source prefix 10.0.0.0/24 匹配 10.0.0.0 到 10.0.0.255 范围内的源 IP 地址的任何数据包。 还可以使用最长前缀选项来匹配最具体的前缀。 例如, destination longest-prefix 10.0.0.0/24 10.0.0.128/25 将匹配范围为 10.0.0.128 到 10.0.0.255(而不是 10.0.0.0.0)的任何数据包。 到 10.0.0.127。

  • 协议匹配:可以使用协议条件来匹配数据包的传输协议,例如 TCP、UDP 或 ICMP。 还可以指定协议编号,例如 1 用于 ICMP、6(对于 TCP)和 17(对于 UDP)。 例如, protocol tcp 将与 TCP 作为协议的任何数据包匹配。

  • 匹配端口号:传输协议使用端口(多路复用)时,可以使用源端口和目标端口条件来匹配数据包的端口号。 例如, protocol tcp destination port 80 将任何数据包与 TCP 作为协议匹配,将 80 作为目标端口号匹配。 还可以使用端口列表、端口范围或字段集名称来匹配多个端口号。 例如, protocol udp source port 53, 67-69, field-set udpport1 将任何数据包与 UDP 作为协议匹配,并将字段集中 udpport1 的 53、67、68、69 或任何端口号匹配为源端口号。

  • 在 DSCP 值上匹配:可以使用 dscp 条件在数据包的区分服务代码点(DSCP)值上匹配。 DSCP 值是 IP 标头中的 6 位字段,指示数据包的服务质量(QoS)级别。

动态匹配配置

动态匹配配置使用字段集来简化和重用用户定义的字段的匹配条件。 可以将用户定义的字段和字段集定义存储在自己的 Azure 存储帐户 Blob 容器中的文件中,并在 ACL 有效负载中的 aclsUrl 属性中提供 Blob URL。 生成基本配置后,需要单独将文件内容发送到 Southbound 实用工具服务。

通过动态匹配配置,可以更轻松地处理复杂的匹配方案,如下所示:

  • 使用字段集匹配 VLAN 和 DSCP 值:可以使用 dot1q 和 dscp 条件在数据包的 VLAN 和 DSCP 值上匹配。 还可以使用字段集来简化和重用 VLAN 和 DSCP 值的匹配条件。 例如,可以定义一个字段 voice-vlan 集,其中包含用于语音流量的 VLAN ID 列表,例如 100、200 和 300。 然后,可以在匹配条件中使用字段集名称,例如 dot1q vlan field-set voice-vlan,将任何数据包与 voice-vlan 字段集中的 VLAN ID 匹配。 同样,可以定义一个字段 voice-dscp 集,其中包含用于语音流量(例如 40、46 和 48)的 DSCP 值列表。 然后,可以在匹配条件中使用字段集名称,例如 dscp field-set voice-dscp,将任何数据包与字段集中的 DSCP 值 voice-dscp 匹配。

  • 使用字段集匹配源和目标 IP 前缀:还可以使用字段集来简化和重用 IP 前缀的匹配条件。 例如,可以定义一个字段集 internal-networks ,其中包含属于内部网络的 IP 前缀列表,例如 10.0.0.0/24 或 172.16.0.0/24。 然后,可以在匹配条件中使用字段集名称,例如 source prefix field-set internal-networks,将任何数据包与内部网络中源 IP 地址匹配。

可以将字段集定义存储在自己的 Azure 存储帐户 Blob 容器中的文件中,并在 ACL 有效负载中的 aclsUrl 属性中提供 Blob URL。

访问控制列表的配置参数

参数 说明 示例
resource-group 网络构造所在的资源组的名称。 example-rg
location 网络结构的位置 eastus2euap
resource-name ACL 的名称。 example-Ipv4ingressACL
configuration-type ACL 的配置类型。 它可以是InlineFile Inline
default-action 要对 ACL 执行的默认操作。 它可以是PermitDeny Permit
match-configurations ACL 的匹配配置列表。 每个匹配配置都具有名称、序列号、IP 地址类型、匹配条件列表和操作列表。 [{matchConfigurationName:'example-match',sequenceNumber:123,ipAddressType:IPv4,matchConditions:[...],actions:[...]}]
dynamic-match-configurations ACL 的动态匹配配置列表。 每个动态匹配配置都有 IP 组、VLAN 组和端口组的列表。 [{ipGroups:[...],vlanGroups:[...],portGroups:[...]}]
acls-url ACL 文件的 URL。 仅当配置类型为 File时,此参数才是必需的。 https://ACL-Storage-URL
批注 ACL 的可选批注。 annotation