一、ACL主要有三个功能:
 
            1. 安全控制
            2. 流量控制
            3. 数据流量标识
 
二、基本原则:       
1 、 每条语句包括两部分,匹配的条件和所要执行的操作(deny/permit)
   2 、 按顺序匹配所有语句,只要有一条满足,则执行相应的操作,不再继续匹配
   3 、 如果都不匹配,那么一定匹配最后的隐含拒绝条目,思科默认的。
   4 、 任何条件下只给用户能满足他们需求的最小权限
   5 、 不要忘记把ACL应用到端口上
   6 ACL的位置,标准访问控制列表一般离目标近,扩展的一般离源近。
   7 、 每个接口的每个方向上只能使用一个访问控制列表。
   8 、 标准和扩展ACL的单条语句不能删除或修改,要删除单条语句,需要删除整个ACL.但基于命名的标准和扩展ACL,可以删除单条语句。
 
通配符的使用:host 192.168.2.3表示特定主机等同于192.168.2.3  0.0.0 .0;
              any 表示所有的源或目标等同于 0.0.0 .0  255.255.255.255
 
三、ACL的两种基本类型:标准和扩展ACL
 
1 、标准ACL: 根据数据包的源IP地址来允许或拒绝数据包
 
    配置命令:access-list {1-99} {permit|deny} source-ip source-wildcard [log]
 
    说明:wildcard为反掩码,用来跟源地址一起决定那些位需要进行匹配,为1的为表示不需要进行匹配,0表示需要严格匹配; log表示有匹配时生成日志信息;  标准ACL一般用在离目的最近的地方
 
    例:access-list 1 penmit 192.168.2.0 0.0.0 .255    允许192.168.2.0网段的流量
        accesslist 1 deny host 172.16.4.13             拒绝172.16.4.13主机的流量
     应用到接口:
        router(config-if)#ip  access-group  1-99 {in|out}
 
2 、扩展ACL 基于数据包的协议、源地址与目标地址、以及端口来对数据包控制。
 
    命令:access-list {100-199} {permit/deny}  protocol source-ip source-wildcard  [operator port] destination-ip destination-wildcard  [operator port] [established][log]
   
与接口关联: router(config-if)#ip access-group 100-199 {in|out}
 
: access-list 101 permit tcp 192.168.2.0 0.0.0 .255 gt 1023 host 192.168.1.2 eq 80
     允许192.168.2.0网段的主机访问主机192.168.1.2web服务
 
    说明:gt 1023表示所有大于1023的端口,这是因为一般访问webftp等服务器时客户端的主机是使用一个1023以上的随机端口;established 表示允许一个已经建立的连接的流量,也就是数据包的ACK位已设置的包。
 
3 、命名ACL
     配置命令:
ip access-list {standard/extended}    name
     {permit/deny}source-ip source-wildcard    标准
{permit |deny} protocol source-ip source-wildcard [operator port] destination-ip destination-wildcard  [operatorport]  [established] [log]   扩展
 
     与接口关联:router(config-if)#ip access-group name  {in|out}
 
    : ip access-list extended outbound       定义一个名为outbound的命名ACL
       permit tcp 192.168.2.0 0.0.0 .255 gt 1023 host 192.168.1.2 eq 80 
       允许192.168.2.0网段的主机访问主机192.168.1.2web服务
注意:
1、  每条访问控制列表语句包括两部分内容,匹配数据包的条件选项和所要执行的操作。
2、  命名的访问控制列表不是一个新的访问控制列表类型,它是把以序号定义的访问控制列表变成以名子定义的访问控制列表,便于理解。
 
四、ACL的应用
1 、在 VTY 线路做 acl ,只允许以 150.1.1.1 为源的数据通过
R1(config)# access-list 1 permit 150.1.1.1 0.0.0 .255
R1(config)#line vty 0 4
R1(config-line)#access-class 1 in