访问控制列表:
ACL:
(access control list)


适用所有的路由协议:IP,IPX,AppleTalk


控制列表分为两种类型:
         1.标准访问控制列表:检查被路由数据包的源地址、  1~99 代表号

        2.扩展访问控制列表:对数据包的源地址与目标地址进行检查。

 访问控制列表最常见的用途是作为数据包的过滤器。

  其他用途; 可指定某种类型的数据包的优先级,以对某些数据包优先处理
             识别触发按需拨号路由(DDR)的相关通信量
             路由映射的基本组成部分
 
  ACL能够用来:
    提供网络访问的基本安全手段
    访问控制列表可用于Qos(Quality of Service,服务质量)对数据流量进行控制。
    可指定某种类型的数据包的优先级,以对某些数据包优先处理 起到了限制网络流量,减少网络拥塞

的作用
    提供对通信流量的控制手段

  访问控制列表对本身产生的的数据包不起作用,如一些路由更新消息
  路由器对访问控制列表的处理过程:
 
  (1)如果接口上没有ACL,就对这个数据包继续进行常规处理
  (2)如果对接口应用了访问控制列表,与该接口相关的一系列访问控制列表语句组合将会检测它:

     *若第一条不匹配,则依次往下进行判断,直到有一条语句匹配,则不再继续判断。
      路由器将决定该数据包允许通过或拒绝通过
 
     *若最后没有任一语句匹配,则路由器根据默认处理方式丢弃该数据包。
     *基于ACL的测试条件,数据包要么被允许,要么被拒绝。

  (3)访问控制列表的出与入,

   使用命令ip access-group,可以把访问控制列表应用到某一个接口上。
   in或out指明访问控制列表是对近来的,还是对出去的数据包进行控制
  
   【在接口的一个方向上,只能应用1个access-list】
  
 

   路由器对进入的数据包先检查入访问控制列表,对允许传输的数据包才查询路由表
   而对于外出的数据包先检查路由表,确定目标接口后才检查看出访问控制列表

======================================================================

   应该尽量把放问控制列表应用到入站接口,因为它比应用到出站接口的效率更高:

   将要丢弃的数据包在路由器惊醒了路由表查询处理之前就拒绝它

   (4)访问控制列表中的deny和permit

   全局access-list命令的通用形式:
 
    Router(config)#access-list access-list-number {permit | deny} {test conditions}

  这里的语句通过访问列表表号来识别访问控制列表。此号还指明了访问列表的类别。

   1.创建访问控制列表
    access-list  1 deny 172.16.4.13 0.0.0.0(标准的访问控制列表)
    access-list 1 permit 172.16.0.0 0.0.255.255(允许网络172.16.0.0)的所有流量通过
    access-list 1 permit 0.0.0.0 255.255.255.255(允许任何流量通过,如过没有 只允许172.16.0.0

    的流量通过)
   2.应用到接口E0的出口方向上:
    interface fastehernet 0/0
    ip access-group 1 out  (把ACL绑定到接口)

   删除一个访问控制列表,首先在接口模式下输入命令:
   
                                 no ip access-group
   然后在全局模式下输入命令
                                 no access-list
                                    并带上它的全部参数

   ?〖访问控制列表的通配符〗
 
   0.0.0.0 255.255.255.255 =====any
 
    Router(config)#access-list 1 permit 172.30.16.29 0.0.0.0
    ======Router(config)#access-list 1 permit host 172.30.16.29

+++++++++++++++++++++++++++++==
访问控制列表的种类
+++++++++++++++++++++++++++
   标准IP访问列表只对源IP地址进行过滤。
   扩展访问控制列表不仅过滤源IP地址,还可以对目的IP地址、源端口、目的端口进行过滤


   尽量把扩展ACL应用在距离要拒绝通信流量的来源最近的地方,以减少不必要的通信流量。

   最好把标准的ACL应用在离目的地最近的地方
 
   标准的ACL根据数据包的源IP地址来允许或拒绝数据包。


   当配置访问控制列表时,顺序很重要。
!!!!!


   标准访问控制列表的应用与配置

   扩展ACL中,命令access-list的完全语法格式如下:

   Router(config)#access-list access-list-number {permit|deny} protocol [source source-  

wildcard destination destination-wildcard ]
   [operator operan ] [established] [log]

   access-list-number 访问控制列表表号 100~199
   permit|deny 表示在满足测试条件的情况下,该入口是允许还是拒绝后面指定地址的通信流量
   protocol    用来指定协议类型,如IP\TCP\UDP\ICMP\GRE\IGRP
   source destination  源和目的,分别用来标识源地址和目的地址
   source-wildcard、destination-wildcard---反码
   operator operan---lt(小于)、gt(大于)、eq(等于)、neq(不等于)、和一个端口号
   esablished------如果数据包使用一个已建立连接。便可以允许Tcp信息量通过

 


例如:

  拒绝所有从172.16.4.0到172.16.3.0的ftp通信流量通过E0


  1.创建ACL
  Router(config)#access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21
  Router(config)#access-list 101 permit ip any any

  2.应用到接口上

  Router(config)#interface fastethernet 0/0
  Router(config-if)#ip access-group 101 out


  拒绝来自指定子网的Telnet通信流量
  Router(config)#access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 23
  Router(config)#access-list 101 permit ip any any

  应用到接口:
  Router(config)#interface fastethernet 0/0
  Router(config-if)#ip access-group 101 out

  命名访问控制列表
  可以使用一个字母数字组合的字符代替前面所使用的数字来表示ACL,称为命名ACL


   可以在下列情况下使用命名ACL
   需要通过一个字母数字串组成的名字来直观的表示特定的ACL
   对于某一方面给定的协议,在同一路由器上,有超过99个的标准ACL或者有超过100个的扩展ACL需要配置

   命名ACL时,应该注意
  IOS 11.2以前的版本不支持命名ACL
  不能用同一个名字命名多个ACL.另外.不同类型的ACL命名不能使用相同的名字.
  命名IP访问列表允许制定的访问列表删除单个条目.
  给ACL命名的命令语法如下:

  Router(config)#ip access-list {standard|extended} name
  命名访问控制列表下,permit和deny命令的语法格式与前述的有所不同:
  Router(config {std|ext}-nacl)#{permit |deny } {source [source-wildcarcd]|any} {test  

conditions } [log]


  删除时命令前面加no

  例如
  拒绝通过E0口从172.16.4.0到172.16.3.0的telnet通信流量 而允许其他的通信流量

  (1)创建名为jie的命名访问控制列表

  Router(config)#ip access-list extended cisco

  (2)指定一个或多个Permit及deny条件

  Router(config-ext-nacl) #deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 23
  Router(config-ext-nacl) #permit ip any any

  (3)应用到接口E0的出方向
  Router(config)#interface fastethernet 0/0
  Rouer(config-if)#ip access-group jie out
 
 
  (4)查看ACL列表
  show ip interface 

  (5)显示所有Acl的内容。
  show access-list