您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > 使用访问列表管理网络流量
第10章使用访问列表管理网络量•是一系列运用网络地址或者上层协议上的允许或拒绝指令的集合。10.1访问列表简介访问控制列表ACL•网络管理者需要了解怎样控制非法的网络访问,允许正常的网络访问。ACL具有灵活的基本数据流过滤能力和特定的控制能力。例如,网络管理者可能允许用户访问Internet,而不允许外部的用户登录到局域网中。•路由器提供了基本的数据流过滤能力。如使用访问控制列表(ACL),可以有条件地阻止Internet数据流。ACL,是一系列的允许或拒绝指令的集合,这些指令将运用到网络地址或者上层协议上。ACL需求•有多种原因需要创建ACL:–限制网络数据流,增加网络性能。•例如:根据不同的协议,ACL可以指定路由器优先处理哪些数据报。这叫做队列管理,路由器可以不处理不需要的数据报。队列管理限制了网络数据流,减少了网络拥塞。–提供数据流控制。•例如:ACL可以限定或者减少路由更新的内容。这些限定,可以用于限制关于某个特定网络的信息传播到整个网络。ACL需求•有多种原因需要创建ACL:–为网络访问提供基本的安全层。•ACL可以允许某个主机访问网络的某一部分,而阻止另一台主机访问网络的这个部分。–决定转发或者阻止哪些类型的数据流。•例如:可以允许路由email数据流,而阻止telnet数据流。ACL的定义•访问控制列表(ACL)是运用到路由器接口的指令列表。这些指令告诉路由器接受哪些数据报而拒绝哪些数据报。•接受或者拒绝根据一定的规则进行,如源地址,目标地址,端口号等。ACL使得用户能够管理数据流,检测特定的数据报。•路由器将根据ACL中指定的条件,对经过路由器端口的数据报进行检查。•ACL可以基于所有的RoutedProtocols,如IP,IPX,对经过路由器的数据报进行过滤。ACL的定义•ACL在路由器的端口过滤网络数据流,决定是否转发或者阻止数据报。•ACL应该根据路由器的端口所允许的每个协议来制定。如果需要控制流经某个端口的所有数据流,就需要为该端口允许的每一个协议分别创建ACL。–例如,如果端口配置成允许IP,Appletalk和IPX协议的数据流,那么就需要创建至少三个ACL。•ACL可以用作控制和过滤流经路由器端口的数据报的工具。ACL指令•ACL指令的放置顺序是很重要的。当路由器在决定是否转发或者阻止数据报的时候,Cisco的IOS软件,按照ACL中指令的顺序依次检查数据报是否满足某一个指令条件。当检测到某个指令条件满足的时候,就不会再检测后面的指令条件。•在每一个路由器的端口,可以为每一个支持的RoutedProtocols创建ACL。对于某些协议,可以创建多个ACL:一个用于过滤进入端口的数据流inbound,一个用于过滤流出端口的数据流outbound。InboundorOutbound•InboundorOutbound–进入路由器的Inbound,离开路由器的outboundOutgoingPacketE0S0IncomingPacketAccessListProcessesPermit?SourceandDestinationProtocolACL指令•一个ACL就是一组指令,规定数据报如何:–进入路由器的某个端口–在路由器内的转送–离开路由器的某个端口•ACL允许控制哪些客户端可以访问的网络。在ACL中的条件可以是:–筛选某些主机允许或者禁止访问的部分网络–允许或者禁止用户访问某一类协议,如FTP,HTTP等。ACL的工作流程•无论是否使用ACL,开始的通信过程是相同的。•当一个数据报进入一个端口,路由器检查这个数据报是否可路由。–如果是可以路由的,路由器检查这个端口是否有ACL控制进入数据报。–如果有,根据ACL中的条件指令,检查这个数据报。–如果数据报是被允许的,就查询路由表,决定数据报的目标端口。•路由器检查目标端口是否存在ACL控制流出的数据报–不存在,这个数据报就直接发送到目标端口。–如果存在,就再根据ACL进行取舍。ACL的工作流程ACL的配置•创建一个ACL访问控制–Router(config)#access-listaccess_list_number{permit|deny}{test_conditions}•将访问控制绑定到接口上–Router(config-if)#{protocol}access-groupaccess_list_number{in|out}•关闭访问控制列表–Router(config)#noaccess-listaccess_list_number为每个ACL分配一个唯一标识•配置ACL的时候需要为每一个协议的ACL指定一个唯一的数字,用以标识这个ACL。这个数字必须在有效范围之内。•为一个ACL指定了数字后,需要把它关联到一个端口。假如需要修改,只需要利用命令:noaccess-listlist-number,就可以删除这个ACL的指令。ACL绑定到接口•ACL可以指定到一个或者多个端口。根据配置,可以过滤进入或流出的数据流。•对流出的数据流使用ACL更有效,因此也更常使用。•如果是针对进入数据流的ACL,路由器将检查每一个数据报,看是否满足ACL的条件,然后才将允许的数据报发送到送出端口。标准ACL和扩展ACL•标准ACL–检查源地址–可以允许或者拒绝整套协议栈–标准ACL(数字1到99),可以提供数据流过滤控制。它是基于源地址和通配掩码。标准ACL可以允许或禁止整套IP协议。•扩展ACL–检查源地址和目的地址–可以允许或者拒绝指定协议–为了更加精确的数据流过滤,需要扩展ACL。扩展ACL检查源地址和目标地址,以及TCP或UDP端口号。还可以指定扩展ACL针对特定的协议的进行操作。–扩展ACL使用的数字范围是:100-199。10.2标准的访问列表•如果想允许或者禁止来自于某各个网络的所有数据流,或者禁止某一套协议的数据流,可以使用标准ACL。•标准ACL检查数据报的源地址,即根据地址中的网络、子网和主机位,来允许或者拒绝来自于整套协议的数据报。•例如,来自于E0端口的数据报,将检查它的源地址和协议,如果被允许,将输出到相应的端口。如果被禁止,数据报将被丢弃。标准ACL指令•使用标准版本的access-list全局配置命令来定义一个带有数字的标准ACL。这个命令用在全局配置模式下–Router(config)#access-listaccess-list-number{deny|permit}source[source-wildcard][log]–例如:access-list1permit172.16.0.00.0.255.255•使用这个命令的no形式,可以删除一个标准ACL。语法是:–Router(config)#noaccess-listaccess-list-number–例如:noaccess-list1标准ACL举例•以下图的结构为例,介绍标准ACL的使用。•实例1:E0和E1端口只允许来自于网络172.16.0.0的数据报被转发,其余的将被阻止。•实例2:E0端口不允许来自于特定地址172.16.4.13的数据流,其它的数据流将被转发。•实例3:E0端口不允许来自于特定子网172.16.4.0的数据,而转发其它的数据。172.16.3.0172.16.4.0172.16.4.13E0S0E1Non-172.16.0.0实例1:只允许指定的网络数据•E0和E1端口只允许来自于网络172.16.0.0的数据报被转发,其余的将被阻止。•第一个ACL命令用“permit”允许来自于此指定网络的数据流,通配掩码0.0.255.255表明要检查匹配IP地址中的网络位(前16位)。•最后将ACL关联到端口E0和E1。access-list1permit172.16.0.00.0.255.255(implicitdenyall-notvisibleinthelist)(access-list1deny0.0.0.0255.255.255.255)interfaceethernet0ipaccess-group1outinterfaceethernet1ipaccess-group1out实例2:禁止来自特定地址的数据•E0端口不允许来自于特定地址172.16.4.13的数据流,其它的数据流将被转发。–第一个ACL命令用“deny”禁止来自于此指定主机的数据流,通配掩码0.0.0.0表明要检查匹配地址中的所有的位。–第二个ACL命令中,“0.0.0.0255.255.255.255”IP地址和通配掩码组合,表示允许来自于任何源的数据流。这个组合,也可以用关键字“any”替代。–最后将ACL关联到端口E0。access-list1deny172.16.4.130.0.0.0access-list1permit0.0.0.0255.255.255.255(implicitdenyall)(access-list1deny0.0.0.0255.255.255.255)interfaceethernet0ipaccess-group1out实例3:禁止来自特定子网的数据•E0端口不允许来自于特定的子网172.16.4.0的数据,而转发其它的数据。•第一个ACL命令用“deny”禁止来自172.16.4.0子网的数据流,通配掩码0.0.0.255,前三个字节表示IP地址中的前三个字节将被检测。而最后一个字节全1,表明将不关心IP地址的主机部分。•第二个ACL命令表示在之前没有匹配的时候允许任何的源IP地址。•最后将ACL关联到端口E0。access-list1deny172.16.4.00.0.0.255access-list1permitany(implicitdenyall)(access-list1deny0.0.0.0255.255.255.255)interfaceethernet0ipaccess-group1out10.3扩展的IP访问列表•扩展ACL提供了比标准ACL更大范围的控制,因而运用更广。例如,可以使用扩展ACL来实现允许Web数据流,而禁止FTP或Telnet。•扩展ACL可以检查源地址和目标地址,特定的协议,端口号,以及其它的参数。一个数据报,可以根据它的源或者目标地址,而被允许或者禁止。例如,扩展ACL可以允许来自于E0而到S0的e-mail数据,而禁止远程登录或者文件传输。•假设端口E0与一个扩展ACL相关联。可以使用精确的逻辑指令,来创建ACL。在一个数据报进入这个端口前,相应的ACL将对其进行检查。•基于扩展ACL检查,数据报将被允许或禁止。对于进入端口的数据,允许的数据报将被继续处理。对于发出端口的数据,允许的数据报将被转发到端口。拒绝的数据报将被丢弃,某些协议还会向发端发送数据报,说明目标不可到达。•一个ACL中可以包含任意多条指令。每一条指令,应该具有相同的标识名或者数字。ACL中的指令越多,就越难理解和管理。所以,为ACL做好文档可以防止混淆。扩展ACL扩展ACL配置•完全形式的access-list命令为:Router(config)#access-listaccess_list_number{permit|deny}protocolsource[source_maskdestinationdestination_maskoperatoroperand[established]•命令ipaccess-group将一个存在的扩展ACL和一个端口关联。记住:一个端口的一个方向的某套协议,只允许存在一个ACL。Router(config-if)#{protocol}access-groupaccess_list_number{in|out}扩展ACL举例•以下图的结构为例,介绍扩展ACL的使用。–实例1:在E0端口,禁止转出来自172.16.4.0子网的FTP数据流到172.16.3.0子网,其它的数据流将被转发。–实例2:在E0端口,禁止转出来自172.16.4.0子网的Telnet数据流,其它的数据
本文标题:使用访问列表管理网络流量
链接地址:https://www.777doc.com/doc-1062057 .html