访问控制列表
 
本章将讲解如何通过路由器上配置访问控制列表(acces control listacl)以提供基本的通信流量过滤的能力,以满足现实的需求。
一、访问控制列表的概述
访问控制列表(ACL)是应用于路由器接口的指令列表(即规则)。具有同一个访问列表号或名称的access-list语句便组成一个逻辑序列或指令列表,这些指令列表用来告诉路由器,那些数据可以接收,那些数据可以拒绝。其基本原理是使用包过滤技术,在路由器上读取osi7层模型的第三层及其第四层的包头信息,如源地址,目的地址,源端口和目的端口的信息,根据预先定义好的规则,对包进行过滤,从而达到访问控制列表的问题。
ACL分为两种类型;
1、         标准访问控制列表:检查被路由数据包的源地址,其结果基于源网络|子网|主机 IP地址来决定是否允许还是拒绝转发数据包,它使用1——99之间的数据作为代号。
2、         扩展访问控制列表:对数据包的源地址和目的地址均进行检查,它也坚持特定的端口,协议及其其它的参数。它使用100-199之间的数据作为代号。
ACL可以作为一种网络控制的有力的工具来过滤流入和流入路由器接口的数据。
访问控制列表(一)_职场
 
   通过设置访问控制列表来控制未授权的用户访问公司的网络。
二、访问控制列表的工作原理
1、访问控制列表的作用
   访问控制列表为网络控制提供一个强有力的工具,访问控制列表能够为过滤通信量增加灵活性。这样的控制有利于限定网络通信量和某些用户及设备对网络的使用。
    虽然访问控制列表经常与数据包过滤联系在一起,但它还有许多其他的用途:
1)      可以指定某些类型数据的优先级,以对某些包优先级的处理。
2)      访问控制列表还可以用来识别触发按需要拨号路由器选择(DBR)的相关的数据量。
3)      访问控制列表也是路由器映射的基本组成部分。
4)      提供网络访问的基本安全手段。
5)      访问控制列表可用于QOSquality of service,服务质量)对数据进行流量控制。
6)      提供对通信量的控制。
2、  路由器对访问控制列表的处理过程。
ACL是一组判断语句的集合,具体对下列数据包进行处理。
1)      从入站口进入路由器的数据包。
2)      从出站口离开路由器的数据包。
是否应用了访问控制列表,路由器对数据包的处理是不一样的,路由器会检查在接口上是否使用了访问控制列表(ACL)。
1)      如果在接口上没有使用了访问控制列表,就对数据包进行常规处理。
2)      如果在接口上使用了访问控制列表,与该接口相关的一系列的访问控制列表语句组合将自动检测它。
路由器对访问控制列表的处理过程:
访问控制列表(一)_休闲_02
 
要记住:只有在数据包与第一个判断条件不匹配的时候,它才交给ACL的下一条判断语句进行比较,在与某条语句匹配后,就结束比较过程,不在检查以后的其它条件判断语句,如果不与任何一条语句匹配,则必须与最后的隐含的拒绝匹配。
3、        访问控制列表的入和出。
      Routerconfig-if#ip access-group access-list-number {in|out}
     使用命令ip access-group,可以把访问控制列表应用到某个接口上,其中inout用于指明上对进来的还上出去的数据进行控制,对入标准的访问控制列表的处理工程如下:
访问控制列表(一)_网络技术_03
 
 
对外标准的访问控制列表的处理过程如下:
访问控制列表(一)_休闲_04 
 
4、    访问控制列表的denypermit
      在路由器访问控制列表的处理过程中,提到了基于ACL的测试条件,数据包上被允许还上被拒绝使用命令中的denypermit关键字。
  Routerconfig-if#access-list access-number {deny|permit} {test conditions}
(1)创建访问控制列表
Routerconfig#access-list 1 deny 172.16.1.13 0.0.0.0
Router(config)#access-list permit 172.16.0.0 0.0.255.255
Routerconfig#access-list permit 0.0.0.0 255.255.255.255
(2)应用到接口E0的出口方向上
Router(config-if)#ip access-group 1 out
三、访问控制列表的通配符
 1、使用通配符any
 Routerconfig#access-list 1 permit 0..0.0.0 255.255.255.255
等同于
 Routerconfig#access-list 1 permit any
2、使用通配符host
Routerconfig#access-list 1 permit 172.30.16.29 0.0.0.0
等同于
Routerconfig#access-list 1 permit host 172.30.16.29