一、ACL概述
ACL (Access Control List,访问控制列表)是一系列运用到路由器接口的指令列表。这些指令告诉路由器接收哪些数据包、拒绝哪些数据包,接收或者拒绝根据一定的规则进行,如源地址、目标地址、端口号等。ACL使得用户能够管理数据流,检测特定的数据包。
路由器将根据ACL中指定的条件,对经过路由器端口的数据包进行检査。ACL可以基于所有的Routed Protocols (被路由协议,如IP、IPX等)对经过路由器的数据包进行过滤。ACL在路由器的端口过滤数据流,决定是否转发或者阻止数据包。ACL应该根据路由器的端口所允许的每个协议来制定,如果需要控制流经某个端口的所有数据流,就需要为该端口允许的每一个协议分别创建ACL。例如,如果端口被配置为允许IP、AppleTalk和IPX协议的数据流,那么就需要创建至少3个ACL, 本文中仅讨论IP的访问控制列表。针对IP协议,在路由器的每一个端口,可以创建两个ACL:—个用于过滤进入(inbound)端口的数据流,另一个用于过滤流出(outboimd)端口的数据流。
顺序执行:—个ACL列表中可以包含多个ACL指令,ACL指令的放置顺序很重要。当路由器在决定是否转发或者阻止数据包的时候,Cisco的IOS软件,按照ACL中指令的顺序依次检査数据包是否满足某一个指令条件。当检测到某个指令条件满足的时候,就执行该指令规定的动作,并且不会再检测后面的指令条件。
ACL作用:
* 限制网络流量,提高网络性能。
* 提供数据流控制。
* 为网络访问提供基本的安全层。
二、ACL 类型
- 标准ACL: access-list-number编号1~99之间的整数,只针对源地址进行过滤。
- 扩展ACL: access-list-number编号100~199之间的整数,可以同时使用源地址和目标地址作为过滤条件,还可以针对不同的协议、协议的特征、端口号、时间范围等过滤。可以更加细微的控制通信量。
- 动态ACL
- 自反ACL
- 基于时间的ACL