ACL
访问控制列表ACL(Access Control List)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。
ACL本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用ACL的业务模块的处理策略来允许或阻止该报文通过。从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。
应用场景
通过定义规则来允许或拒绝流量的通过
根据需求来定义过滤的条件以及匹配条件后所执行的动作。
分类
![](https://img-blog.csdnimg.cn/img_convert/373b093e5e08edc8fd165afae90316c9.png)
根据不同的划分规则,ACL可以有不同的分类。华为最常见的三种分类是基本ACL、高级ACL和二层ACL。
1.基本ACL可以使用报文的源IP地址、分片标记和时间段信息来匹配报文,其编号取值范围是2000-2999。
2.高级ACL可以使用报文的源/目的IP地址、源/目的端口号以及协议类型等信息来匹配报文。高级ACL可以定义比基本ACL更准确、更丰富、更灵活的规则,其编号取值范围是3000-3999。
3.二层ACL可以使用源/目的MAC地址以及二层协议类型等二层信息来匹配报文,其编号取值范围是4000-4999。
基本访问控制列表
基于源IP地址过滤数据包
标准访问控制列表的访问控制列表号是2000-2999
应用ACL时尽量放在离目标更近
高级访问控制列表
基于源IP地址、目的IP地址、指定协议、端口和标志来过滤数据包
扩展访问控制列表的访问控制列表号是3000-3999
应用ACL时尽量放在离源更近
命名访问控制列表
命名访问控制列表允许在标准和扩展访问控制列表中使用名称代替表号
ACL规则
每个ACL标签都可以包含多个规则,规则遵循从上到下匹配,匹配成功及停止,下面不再生效,路由器根据规则来对数据流量过滤
每个标签只能用于一个接口
![](https://img-blog.csdnimg.cn/img_convert/8006d4eec245140ede56812bd3595cd1.png)
ACL工作原理
从第一条语句开始向下匹配,一旦匹配成功则进行执行并不再进行后续匹配
路由器的一个接口同一个方向最多只能够有一个列表,但一个列表中可以有多条语句
列表在调用时需要分清出入口,以数据流向为参照,进入接口的是"in" 出口是"out"
访问控制列表在接口应用的方向
出:已经过路由器的处理,正离开路由器接口的数据包
入:已到达路由器接口的数据包,将被路由器处理
从路由器的角度来看,数据包可以分为进入的和出去的数据包。在不同方向应用ACL时,是对两种不同数据流量进行过滤,分别是出口流量和入口流量。
ACL是一组判断语句的集合,具体对下列数据包进行检测并控制:
从入站接口进入设备的数据包;从出站接口离开设备的数据包。
注意事项
1、访问控制列表对路由器本身产生的数据包不起作用
2、只有在数据包与第一个判断条件不匹配时,它才交给ACL中的下一个条件判断语句进行比较
3、如果不与任一语句匹配,则它必与最后隐含的拒绝匹配(思科), 华为默认允许。
4、写规则时按照从具体到普遍的次序来排列条目
5、将较经常发生的条件放在较不经常发生的条件之前
6、在一个接口中只能应用一个acl策略
注意:流量在被路由器ACL处理时,如果配置了NAT,会先进行NAT转换,再通过ACL过滤。