访问控制列表ACL及配置
访问控制列表ACL及配置 访问控制列表:ACL: www.zhishiwu.com (access control list) 适用所有的路由协议:IP,IPX,AppleTalk 控制列表分为两种类型: 1.标准访问控制列表:检查被路由数据包的源地址、 1~99 代表号 2.扩展访问控制列表:对数据包的源地址与目标地址进行检查。 访问控制列表最常见的用途是作为数据包的过滤器。 其他用途; 可指定某种类型的数据包的优先级,以对某些数据包优先处理 识别触发按需拨号路由(DDR)的相关通信量 路由映射的基本组成部分 ACL能够用来: 提供网络访问的基本安全手段 访问控制列表可用于Qos(Quality of Service,服务质量)对数据流量进行控制。 可指定某种类型的数据包的优先级,以对某些数据包优先处理 起到了限制网络流量,减少网络拥塞的作用 www.zhishiwu.com 提供对通信流量的控制手段 访问控制列表对本身产生的的数据包不起作用,如一些路由更新消息 路由器对访问控制列表的处理过程: (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