有时候在工作中,设置了好多acl规则,但有时候却不知道这些规则怎么触发的,下面告诉你acl中的匹配规则,让你清晰的了解数据流是怎么触发规则的

一个ACL中可以包含多个规则,而每个规则都指定不同的报文匹配选项,这些规则可能存在重复或矛盾的地方,在将一个报文和ACL的规则进行匹配的时候,到底采用哪些规则呢?就需要确定规则的匹配顺序。
IPv4 ACL支持两种匹配顺序:
l   配置顺序:按照用户配置规则的先后顺序进行规则匹配。
l   自动排序:按照“深度优先”的顺序进行规则匹配。

1. 基本IPv4 ACL的“深度优先”顺序判断原则如下

(1)        先看规则中是否带×××实例,带×××实例的规则优先;
(2)        再比较源IP地址范围,源IP地址范围小(反掩码中“0”位的数量多)的规则优先;
(3)        如果源IP地址范围相同,则先配置的规则优先。

2. 高级IPv4 ACL的“深度优先”顺序判断原则如下

(1)        先看规则中是否带×××实例,带×××实例的规则优先;
(2)        再比较协议范围,指定了IP协议承载的协议类型的规则优先;ip协议的范围为1—255,承载在ip上的其他协议有各自的协议号。协议范围小或协议号小的优先。如承载在ip上的协议如OSPF和GRE的协议号分别为89和47,那么GRE的优先级将高于ospf,承载在ip上的其他协议都优于ip。
(3)        如果协议范围相同,则比较源IP地址范围,源IP地址范围小(反掩码中“0”位的数量多)的规则优先;
(4)        如果协议范围、源IP地址范围相同,则比较目的IP地址范围,目的IP地址范围小(反掩码中“0”位的数量多)的规则优先;
(5)        如果协议范围、源IP地址范围、目的IP地址范围相同,则比较四层端口号(TCP/UDP端口号)范围,四层端口号范围小的规则优先;
(6)        如果上述范围都相同,则先配置的规则优先。

3. 二层ACL的“深度优先”顺序判断原则如下

(1)        先比较源MAC地址范围,源MAC地址范围小(掩码中“1”位的数量多)的规则优先;
(2)        如果源MAC地址范围相同,则比较目的MAC地址范围,目的MAC地址范围小(掩码中“1”位的数量多)的规则优先;
(3)        如果源MAC地址范围、目的MAC地址范围相同,则先配置的规则优先。