系统介绍ACL控制步骤以及作用,ACL控制中ACL控制的执行过程部分,ACL控制的分类设置问题等将是文章讨论的重点,希望大家在阅读完下面文章后能够有一个清晰明了的认识。
ACL控制介绍
访问控制列表(Access Control List,ACL) 是路由器接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk等。ACL的定义也是基于每一种协议的。如果路由器接口配置成为支持三种协议(IP、AppleTalk以及IPX)的情况,那么,用户必须定义三种ACL来分别控制这三种协议的数据包。
ACL的作用
ACL可以限制网络流量、提高网络性能。例如,ACL控制可以根据数据包的协议,指定数据包的优先级。ACL提供对通信流量的控制手段。例如,ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量。
ACL控制是提供网络安全访问的基本手段。例如,ACL控制允许主机A访问人力资源网络,而拒绝主机B访问。ACL可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞。例如,用户可以允许E-mail通信流量被路由,拒绝所有的Telnet通信流量。
ACL控制的执行过程
一个端口执行哪条ACL,这需要按照列表中的条件语句执行顺序来判断。如果一个数据包的报头跟表中某个条件判断语句相匹配,那么后面的语句就将被忽略,不再进行检查。例如:某部门要求只能使用 WWW 这个功能,就可以通过ACL控制实现; 又例如,为了某部门的保密性,不允许其访问外网,也不允许外网访问它,就可以通过ACL控制实现。
ACL控制的分类
目前有两种主要的ACL:标准ACL和扩展ACL。标准的ACL使用 1 ~ 99 以及1300~1999之间的数字作为表号 扩展的ACL使用 100 ~ 199以及2000~2699之间的数字作为表号这两种ACL控制的区别是,标准ACL只检查数据包的源地址; 扩展ACL既检查数据包的源地址,也检查数据包的目的地址,同时还可以检查数据包的特定协议类型、端口号等。
网络管理员可以使用标准ACL阻止来自某一网络的所有通信流量,或者允许来自某一特定网络的所有通信流量,或者拒绝某一协议簇(比如IP)的所有通信流量。扩展ACL比标准ACL提供了更广泛的控制范围。
例如,网络管理员如果希望做到“允许外来的Web通信流量通过,拒绝外来的FTP和Telnet等通信流量”,那么,他可以使用扩展ACL来达到目的,标准ACL不能控制这么精确。在路由器配置中,标准ACL和扩展ACL的区别是由ACL的表号来体现的,上表指出了每种协议所允许的合法表号的取值范围。
正确放置ACL控制
ACL通过过滤数据包并且丢弃不希望抵达目的地的数据包来控制通信流量。然而,网络能否有效地减少不必要的通信流量,这还要取决于网络管理员把ACL放置在哪个地方。假设在图3所示的一个运行TCP/IP协议的网络环境中,网络只想拒绝从RouterA的T0接口连接的网络到RouterD的E1接口连接的网络的访问,即禁止从网络1到网络2的访问。
根据减少不必要通信流量的通行准则,网管员应该尽可能地把ACL放置在靠近被拒绝的通信流量的来源处,即RouterA上。如果网管员使用标准ACL来进行网络流量限制,因为标准ACL只能检查源IP地址,所以实际执行情况为:凡是检查到源IP地址和网络1匹配的数据包将会被丢掉,即网络1到网络2、网络3和网络4的访问都将被禁止。
由此可见,这个ACL控制方法不能达到网管员的目的。同理,将ACL放在RouterB和RouterC上也存在同样的问题。只有将ACL放在连接目标网络的RouterD上(E0接口),网络才能准确实现网管员的目标。由此可以得出一个结论: 标准ACL要尽量靠近目的端。
网管员如果使用扩展ACL来进行上述控制,则完全可以把ACL放在RouterA上,因为扩展ACL能控制源地址(网络1),也能控制目的地址(网络2),这样从网络1到网络2访问的数据包在RouterA上就被丢弃,不会传到RouterB、RouterC和RouterD上,从而减少不必要的网络流量。因此,我们可以得出另一个结论:扩展ACL要尽量靠近源端。