1、什么是ACL: AccessControlList访问控制列表ACL ACL是由一个或多个用于报文过滤的规则组成的规则集合,通过在不同功能上的应用可达到不同的应用效果。 路由器和交换机接口的指令列表,用来控制端口进出的数据包,配合各种应用(NAT、routepolice前缀列表等)实现对应的效果。 2、ACL的作用: 匹配特定数据,实现对数据的控制(deny拒绝,permit放行) 实现网络访问控制,Qos留策略,路由信息过滤,策略路由等诸多方面。 3、ACL的分类: (1):按照ACL过滤的报文类型和功能划分 基本acl(20002999):只能匹配源ip地址。 高级acl(30003999):可以匹配源ip、目标ip、源端口、目标端口等三层和四层的字段。 接口ACL(编号100019999) 基本ACL(编号20002999) 高级ACL(编号30003999) 二层ACL(编号40004999) 自定义ACL(编号50005999) (2):按照命名方式划分 数字型ACL(创建ACL是编号) 命名型ACL(给所创建的ACL赋予一个名称) 4、ACL的工作原理 定义ACL语句》接口应用挂载》接口收到流量匹配ACL语句》数据命中ACL后执行语句动作。 (1):一个ACL可以由多条denypermit语句组成,每一条语句描述了一条规则 permit放行,允许,抓取匹配 deny拒绝,过滤。 (2):设备收到数据流量后,会逐条匹配ACL规则,看其是否匹配。 如果不匹配,则匹配下一条。一旦找到一条匹配的规则,则执行规则中定义的动作(permit或者deny)并且不再匹配后续的语句。 如果找不到匹配的规则,则设备不对报文进行任何处理(即默认执行prmitanyany,放行所有) 注意:ACL中定义的这些规则可能存在重复或矛盾的地方。规则的匹配顺序决定了规则的优先级,ACL通过设置规则的优先级来处理规则之间重复或矛盾的情形 5、ACL的规则匹配顺序 配置顺序和自动排序 (1)配置顺序: 配置顺序按ACL规则编号(ruleid)从小到大的顺序进行匹配。 设备会在创建ACL的过程中自动为每一条规则分配一个编号(ruleid),规则编号决定了规则被匹配的顺序(ARG3系列路由器默认规则编号的步长是5)。 (2)自动排序: 自动排序使用深度优先的原则进行匹配,即根据规则的精确度排序,匹配条件(如协议类型,源目的IP地址范围等)限制越严格越精确。 若深度优先的顺序相同,则匹配该规则时按照规则编号从小到大排列。 6、ACL的规则号: rule (1)一个ACL内可以有一条或者多条规则,每条规则都有自己的编号,在一个ACL每条语句的规则编号时唯一的,每条编号代表一个ACL语句和动作。 (2)ACL的规则编号(ruleid)默认自动生成,也可以手动指定,一般我们通过手动插入新的rule来调整ACL的匹配规则。