访问控制列表使用目的:
1、限制网络流量、提高网络性能。例如队列技术,不仅限制了网络流量,而且减少了拥塞
2、提供对通信流量的控制手段。例如可以用其控制通过某台路由器的某个网络的流量
3、提供了网络访问的一种基本安全手段。例如在公司中,允许财务部的员工计算机可以访问财务服务器而拒绝其他部门访问财务服务器
4、在路由器接口上,决定某些流量允许或拒绝被转发。例如,可以允许FTP的通信流量,而拒绝TELNET的通信流量。
工作原理:
ACL中规定了两种操作,所有的应用都是围绕这两种操作来完成的:允许、拒绝
注意:ACL是CISCO IOS中的一段程序,对于管理员输入的指令,有其自己的执行顺序,它执行指令的顺序是从上至下,一行行的执行,寻找匹配,一旦匹配则停止继续查找,如果到末尾还未找到匹配项,则执行一段隐含代码——丢弃DENY.所以在写ACL时,一定要注意先后顺序。
例如:要拒绝来自172.16.1.0/24的流量,把ACL写成如下形式
允许172.16.0.0/18
拒绝172.16.1.0/24
允许192.168.1.1/24
拒绝172.16.3.0/24
那么结果将于预期背道而驰,把表一和表二调换过来之后,再看一下有没有问题:
拒绝172.16.1.0/24
允许172.16.0.0/18
允许192.168.1.1/24
拒绝172.16.3.0/24
发现172.16.3.0/24和刚才的情况一样,这个表项并未起到作用,因为执行到表二就发现匹配,于是路由器将会允许,和我们的需求完全相反,那么还需要把表项四的位置移到前面
最后变成这样:
拒绝172.16.1.0/24
拒绝172.16.3.0/24
允许172.16.0.0/18
允许192.168.1.1/24
可以发现,在ACL的配置中的一个规律:越精确的表项越靠前,而越笼统的表项越靠后放置。