1. 什么是ACL?
访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk等。这张表中包含了匹配关系、条件和查询语句,表只是一个框架结构,其目的是为了对某种访问进行控制。
2. ACL有什么样用处?
ACL可以限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定数据包的优先级。
ACL提供对通信流量的控制手段。例如,ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量。
ACL是提供网络安全访问的基本手段。ACL允许主机A访问人力资源网络,而拒绝主机B访问。
ACL可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞。例如,用户可以允许E-mail通信流量被路由,拒绝所有的Telnet通信流量。
例如:某部门要求只能使用 WWW 这个功能,就可以通过ACL实现; 又例如,为了某部门的保密性,不允许其访问外网,也不允许外网访问它,就可以通过ACL实现。
3. ACL的3p规则
记住 3P 原则,您便记住了在路由器上应用 ACL 的一般规则。您可以为每种协议 (per protocol)、每个方向 (per direction)、每个接口 (per interface) 配置一个 ACL:
每种协议一个 ACL 要控制接口上的流量,必须为接口上启用的每种协议定义相应的 ACL。
每个方向一个 ACL 一个 ACL 只能控制接口上一个方向的流量。要控制入站流量和出站流量,必须分别定义两个 ACL。
每个接口一个 ACL 一个 ACL 只能控制一个接口(例如快速以太网 0/0)上的流量。
ACL 的编写可能相当复杂而且极具挑战性。每个接口上都可以针对多种协议和各个方向进行定义。示例中的路由器有两个接口配置了 IP、AppleTalk 和 IPX。该路由器可能需要 12 个不同的 ACL — 协议数 (3) 乘以方向数 (2),再乘以端口数 (2)。
4. ACL相关规范
(1)ACL的列表号指出了是哪种协议的ACL。各种协议有自己的ACL,而每个协议的ACL又分为标准ACL和扩展ACL。这些ACL是通过ACL列表号区别的。如果在使用一种访问ACL时用错了列表号,那么就会出错误。
(2)一个ACL的配置是每协议、每接口、每方向的。路由器的一个接口上每一种协议可以配置进方向和出方向两个ACL。也就是说,如果路由器上启用了IP和IPX两种协议栈,那么路由器的一个接口上可以配置IP、IPX两种协议,每种协议进出两个方向,共四个ACL。
(3)ACL的语句顺序决定了对数据包的控制顺序。在ACL中各描述语句的放置顺序是很重要的。当路由器决定某一数据包是被转发还是被阻塞时,会按照各项描述语句在ACL中的顺序,根据各描述语句的判断条件,对数据报进行检查,一旦找到了某一匹配条件就结束比较过程,不再检查以后的其他条件判断语句。
(4)最有限制性的语句应该放在ACL语句的首行。把最有限制性的语句放在ACL语句的首行或者语句中靠近前面的位置上,把“全部允许”或者“全部拒绝”这样的语句放在末行或接近末行,可以防止出现诸如本该拒绝(放过)的数据包被放过(拒绝)的情况。
(5)新的表项只能被添加到ACL的末尾,这意味着不可能改变已有访问控制列表的功能。如果必须改变,只有先删除已存在的ACL,然后创建一个新ACL,将新ACL应用到相应的接口上。
(6)在将ACL应用到接口之前,一定要先建立ACL。首先在全局模式下建立ACL,然后把它应用在接口的出方向或进方向上。在接口上应用一个不存在的ACL是不可能的。
(7)ACL语句不能被逐条的删除,只能一次性删除整个ACL。
(8)在ACL的最后,有一条隐含的“全部拒绝”的命令,所以在 ACL里一定至少有一条“允许”的语句。
(9)ACL只能过滤穿过路由器的数据流量,不能过滤由本路由器上发出的数据包。
(10)在路由器选择进行以前,应用在接口进入方向的ACL起作用。
(11)在路由器选择决定以后,应用在接口离开方向的ACL起作用。
5. access-list
R>en
版权声明:本文为博主原创文章,未经博主允许不得转载。
来源:https://www.cnblogs.com/wangicter/archive/2011/04/10/4767479.html