学海荡舟手机网
导航

主页 > 电子设备技术 > 组网技术与配置 > > 详细内容

访问控制列表ACL及配置教程

 访问控制列表
  ACL:
  (accesscontrollist)
  
  适用所有的路由协议:IP,IPX,AppleTalk
  
  控制列表分为两种类型
  1.标准访问控制列表:检查被路由数据包的源地址、1~99代表号
  
  2.扩展访问控制列表:对数据包的源地址与目标地址进行检查。
  访问控制列表最常见的用途是作为数据包的过滤器。
  其他用途;可指定某种类型的数据包的优先级,以对某些数据包优先处理
  识别触发按需拨号路由(DDR)的相关通信量
  路由映射的基本组成部分
  
  ACL能够用来
  提供网络访问的基本安全手段
  访问控制列表可用于Qos(QualityofService,服务质量)对数据流量进行控制。
  可指定某种类型的数据包的优先级,以对某些数据包优先处理起到了限制网络流量,减少网络拥塞
  的作用
  提供对通信流量的控制手段
  访问控制列表对本身产生的的数据包不起作用,如一些路由更新消息
  路由器对访问控制列表的处理过程:
  
  (1)如果接口上没有ACL,就对这个数据包继续进行常规处理
  (2)如果对接口应用了访问控制列表,与该接口相关的一系列访问控制列表语句组合将会检测它:
  *若第一条不匹配,则依次往下进行判断,直到有一条语句匹配,则不再继续判断。
  路由器将决定该数据包允许通过或拒绝通过
  
  *若最后没有任一语句匹配,则路由器根据默认处理方式丢弃该数据包。
  *基于ACL的测试条件,数据包要么被允许,要么被拒绝。
  (3)访问控制列表的出与入,
  使用命令ipaccess-group,可以把访问控制列表应用到某一个接口上。
  in或out指明访问控制列表是对近来的,还是对出去的数据包进行控制
  
  【在接口的一个方向上,只能应用1个access-list】
  
  路由器对进入的数据包先检查入访问控制列表,对允许传输的数据包才查询路由表
  而对于外出的数据包先检查路由表,确定目标接口后才检查看出访问控制列表
  ======================================================================
  应该尽量把放问控制列表应用到入站接口,因为它比应用到出站接口的效率更高:
  将要丢弃的数据包在路由器惊醒了路由表查询处理之前就拒绝它
  (4)访问控制列表中的deny和permit
  全局access-list命令的通用形式:
  
  Router(config)#access-listaccess-list-number{permit|deny}{testconditions}
  这里的语句通过访问列表表号来识别访问控制列表。此号还指明了访问列表的类别。
  1.创建访问控制列表
  access-list1deny172.16.4.130.0.0.0(标准的访问控制列表)
  access-list1permit172.16.0.00.0.255.255(允许网络172.16.0.0)的所有流量通过
  access-list1permit0.0.0.0255.255.255.255(允许任何流量通过,如过没有只允许172.16.0.0
  的流量通过)
  2.应用到接口E0的出口方向上:
  interfacefastehernet0/0
  ipaccess-group1out(把ACL绑定到接口)
  删除一个访问控制列表,首先在接口模式下输入命令:
  
  noipaccess-group
  然后在全局模式下输入命令
  noaccess-list
  并带上它的全部参数
  ?〖访问控制列表的通配符〗
  
  0.0.0.0255.255.255.255=====any
  
  Router(config)#access-list1permit172.30.16.290.0.0.0
  ======Router(config)#access-list1permithost172.30.16.29
  +++++++++++++++++++++++++++++==
  访问控制列表的种类
  +++++++++++++++++++++++++++
  标准IP访问列表只对源IP地址进行过滤。
  扩展访问控制列表不仅过滤源IP地址,还可以对目的IP地址、源端口、目的端口进行过滤
  
  尽量把扩展ACL应用在距离要拒绝通信流量的来源最近的地方,以减少不必要的通信流量。
  最好把标准的ACL应用在离目的地最近的地方
  
  标准的ACL根据数据包的源IP地址来允许或拒绝数据包。
  
  当配置访问控制列表时,顺序很重要。 
  
  标准访问控制列表的应用与配置
  扩展ACL中,命令access-list的完全语法格式如下:
  Router(config)#access-listaccess-list-number{permit|deny}protocol[sourcesource-
  wildcarddestinationdestination-wildcard]
  [operatoroperan][established][log]
  access-list-number访问控制列表表号100~199
  permit|deny表示在满足测试条件的情况下,该入口是允许还是拒绝后面指定地址的通信流量
  protocol用来指定协议类型,如IP\TCP\UDP\ICMP\GRE\IGRP
  sourcedestination源和目的,分别用来标识源地址和目的地址
  source-wildcard、destination-wildcard---反码
  operatoroperan---lt(小于)、gt(大于)、eq(等于)、neq(不等于)、和一个端口号
  esablished------如果数据包使用一个已建立连接。便可以允许Tcp信息量通过
  
  例如:
  拒绝所有从172.16.4.0到172.16.3.0的ftp通信流量通过E0
  
  1.创建ACL
  Router(config)#access-list101denytcp172.16.4.00.0.0.255172.16.3.00.0.0.255eq21
  Router(config)#access-list101permitipanyany
  2.应用到接口上
  Router(config)#interfacefastethernet0/0
  Router(config-if)#ipaccess-group101out
  
  拒绝来自指定子网的Telnet通信流量
  Router(config)#access-list101denytcp172.16.4.00.0.0.255172.16.3.00.0.0.255eq23
  Router(config)#access-list101permitipanyany
  应用到接口:
  Router(config)#interfacefastethernet0/0
  Router(config-if)#ipaccess-group101out
  命名访问控制列表
  可以使用一个字母数字组合的字符代替前面所使用的数字来表示ACL,称为命名ACL
  
  可以在下列情况下使用命名ACL
  需要通过一个字母数字串组成的名字来直观的表示特定的ACL
  对于某一方面给定的协议,在同一路由器上,有超过99个的标准ACL或者有超过100个的扩展ACL需要配置
  命名ACL时,应该注意
  IOS11.2以前的版本不支持命名ACL
  不能用同一个名字命名多个ACL.另外.不同类型的ACL命名不能使用相同的名字.
  命名IP访问列表允许制定的访问列表删除单个条目.
  给ACL命名的命令语法如下:
  Router(config)#ipaccess-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)#ipaccess-listextendedcisco
  (2)指定一个或多个Permit及deny条件
  Router(config-ext-nacl)#denytcp172.16.4.00.0.0.255172.16.3.00.0.0.255eq23
  Router(config-ext-nacl)#permitipanyany
  (3)应用到接口E0的出方向
  Router(config)#interfacefastethernet0/0
  Rouer(config-if)#ipaccess-groupjieout
  
  (4)查看ACL列表
  showipinterface
  (5)显示所有Acl的内容。
  showaccess-list


相关文章