首页 > 数据库 > 数据库开发技术 > CCNA课程精彩回放之访问控制列表(转)
在路由器配置中,标准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要尽量靠近源端。 ACL的配置 ACL的配置分为两个步骤: 第一步:在全局配置模式下,使用下列命令创建ACL: Router (config)# access-list access-list-number {permit | deny } {test-conditions} 其中,access-list-number为ACL的表号。人们使用较频繁的表号是标准的IP ACL(1―99)和扩展的IP ACL(100-199)。 在路由器中,如果使用ACL的表号进行配置,则列表不能插入或删除行。如果列表要插入或删除一行,必须先去掉所有ACL,然后重新配置。当ACL中条数很多时,这种改变非常烦琐。一个比较有效的解决办法是:在远程主机上启用一个TFTP服务器,先把路由器配置文件下载到本地,利用文本编辑器修改ACL表,然后将修改好的配置文件通过TFTP传回路由器。 这里需要特别注意的是,在ACL的配置中,如果删掉一条表项,其结果是删掉全部ACL,所以在配置时一定要小心。 在Cisco IOS11.2以后的版本中,网络可以使用名字命名的ACL表。这种方式可以删除某一行ACL,但是仍不能插入一行或重新排序。所以,笔者仍然建议使用TFTP服务器进行配置修改。 第二步:在接口配置模式下,使用access-group命令ACL应用到某一接口上: Router (config-if)# {protocol} access-group access-list-number {in | out } 其中,in和out参数可以控制接口中不同方向的数据包,如果不配置该参数,缺省为out。 ACL在一个接口可以进行双向控制,即配置两条命令,一条为in,一条为out,两条命令执行的ACL表号可以相同,也可以不同。但是,在一个接口的一个方向上,只能有一个ACL控制。 值得注意的是,在进行ACL配置时,网管员一定要先在全局状态配置ACL表,再在具体接口上进行配置,否则会造成网络的安全隐患。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8225414/viewspace-951816/ ,如需转载,请注明出处,否则将追究法律责任。