《表格模板-使用访问列表管理网络流量 精品.ppt》由会员分享,可在线阅读,更多相关《表格模板-使用访问列表管理网络流量 精品.ppt(49页珍藏版)》请在第一文库网上搜索。
1、第10章 使用访问列表管理网络量 是一系列运用网络地址或者上层协议上的允许或拒绝指令的集合。10.1 访问列表简介访问控制列表ACL 网络管理者需要了解怎样控制非法的网络访问,允许正常的网络访问。ACL具有灵活的基本数据流过滤能力和特定的控制能力。例如,网络管理者可能允许用户访问Internet,而不允许外部的用户登录到局域网中。 路由器提供了基本的数据流过滤能力。如使用访问控制列表(ACL),可以有条件地阻止Internet数据流。ACL,是一系列的允许或拒绝指令的集合,这些指令将运用到网络地址或者上层协议上。ACL需求 有多种原因需要创建ACL: 限制网络数据流,增加网络性能。 例如:根据
2、不同的协议,ACL可以指定路由器优先处理哪些数据报。这叫做队列管理,路由器可以不处理不需要的数据报。队列管理限制了网络数据流,减少了网络拥塞。 提供数据流控制。 例如:ACL可以限定或者减少路由更新的内容。这些限定,可以用于限制关于某个特定网络的信息传播到整个网络。ACL需求 有多种原因需要创建ACL: 为网络访问提供基本的安全层。 ACL可以允许某个主机访问网络的某一部分,而阻止另一台主机访问网络的这个部分。 决定转发或者阻止哪些类型的数据流。 例如:可以允许路由email数据流,而阻止telnet数据流。ACL的定义 访问控制列表(ACL)是运用到路由器接口的指令列表。这些指令告诉路由器接
3、受哪些数据报而拒绝哪些数据报。 接受或者拒绝根据一定的规则进行,如源地址,目标地址,端口号等。ACL使得用户能够管理数据流,检测特定的数据报。 路由器将根据ACL中指定的条件,对经过路由器端口的数据报进行检查。 ACL可以基于所有的Routed Protocols,如IP,IPX,对经过路由器的数据报进行过滤。ACL的定义 ACL在路由器的端口过滤网络数据流,决定是否转发或者阻止数据报。 ACL应该根据路由器的端口所允许的每个协议来制定。如果需要控制流经某个端口的所有数据流,就需要为该端口允许的每一个协议分别创建ACL。 例如,如果端口配置成允许IP,Appletalk和IPX协议的数据流,那
4、么就需要创建至少三个ACL。 ACL可以用作控制和过滤流经路由器端口的数据报的工具。ACL指令 ACL指令的放置顺序是很重要的。当路由器在决定是否转发或者阻止数据报的时候,Cisco的IOS软件,按照ACL中指令的顺序依次检查数据报是否满足某一个指令条件。当检测到某个指令条件满足的时候,就不会再检测后面的指令条件。 在每一个路由器的端口,可以为每一个支持的Routed Protocols创建ACL。对于某些协议,可以创建多个ACL:一个用于过滤进入端口的数据流inbound,一个用于过滤流出端口的数据流outbound。Inbound or Outbound Inbound or Outbou
5、nd 进入路由器的Inbound,离开路由器的outboundOutgoingPacketE0S0IncomingPacketAccess List ProcessesPermit?Sourceand DestinationProtocolACL指令 一个ACL就是一组指令,规定数据报如何: 进入路由器的某个端口 在路由器内的转送 离开路由器的某个端口 ACL允许控制哪些客户端可以访问的网络。在ACL中的条件可以是: 筛选某些主机允许或者禁止访问的部分网络 允许或者禁止用户访问某一类协议,如FTP,HTTP等。ACL的工作流程 无论是否使用ACL,开始的通信过程是相同的。 当一个数据报进入一个
6、端口,路由器检查这个数据报是否可路由。 如果是可以路由的,路由器检查这个端口是否有ACL控制进入数据报。 如果有,根据ACL中的条件指令,检查这个数据报。 如果数据报是被允许的,就查询路由表,决定数据报的目标端口。 路由器检查目标端口是否存在ACL控制流出的数据报 不存在,这个数据报就直接发送到目标端口。 如果存在,就再根据ACL进行取舍。ACL的工作流程ACL的配置 创建一个ACL访问控制 Router(config)# access-list access_list_number permit|deny test_conditions 将访问控制绑定到接口上 Router(config-i
7、f)# protocol access-group access_list_number in|out 关闭访问控制列表 Router(config)# no access-list access_list_number为每个ACL分配一个唯一标识 配置ACL的时候需要为每一个协议的ACL指定一个唯一的数字,用以标识这个ACL。这个数字必须在有效范围之内。 为一个ACL指定了数字后,需要把它关联到一个端口。假如需要修改,只需要利用命令:no access-list list-number,就可以删除这个ACL的指令。 ACL绑定到接口 ACL可以指定到一个或者多个端口。根据配置,可以过滤进入或
8、流出的数据流。 对流出的数据流使用ACL更有效,因此也更常使用。 如果是针对进入数据流的ACL,路由器将检查每一个数据报,看是否满足ACL的条件,然后才将允许的数据报发送到送出端口。标准ACL和扩展ACL 标准ACL 检查源地址 可以允许或者拒绝整套协议栈 标准ACL(数字1到99),可以提供数据流过滤控制。它是基于源地址和通配掩码。标准ACL可以允许或禁止整套IP协议。 扩展ACL 检查源地址和目的地址 可以允许或者拒绝指定协议 为了更加精确的数据流过滤,需要扩展ACL。扩展ACL检查源地址和目标地址,以及TCP或UDP端口号。还可以指定扩展ACL针对特定的协议的进行操作。 扩展ACL使用的
9、数字范围是:100-199。10.2 标准的访问列表 如果想允许或者禁止来自于某各个网络的所有数据流,或者禁止某一套协议的数据流,可以使用标准ACL。 标准ACL检查数据报的源地址,即根据地址中的网络、子网和主机位,来允许或者拒绝来自于整套协议的数据报。 例如,来自于E0端口的数据报,将检查它的源地址和协议,如果被允许,将输出到相应的端口。如果被禁止,数据报将被丢弃。标准ACL指令 使用标准版本的access-list全局配置命令来定义一个带有数字的标准ACL。这个命令用在全局配置模式下 Router(config)# access-list access-list-number deny |
10、 permit source source-wildcard log 例如:access-list 1 permit 172.16.0.0 0.0.255.255 使用这个命令的no形式,可以删除一个标准ACL。语法是: Router(config)# no access-list access-list-number 例如:no access-list 1标准ACL举例 以下图的结构为例,介绍标准ACL的使用。 实例1:E0和E1端口只允许来自于网络172.16.0.0的数据报被转发,其余的将被阻止。 实例2:E0端口不允许来自于特定地址172.16.4.13的数据流,其它的数据流将被转发。
11、 实例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-list 1 permit 172.16.0.0 0.0.255.255(implicit deny all
12、- not visible in the list)(access-list 1 deny 0.0.0.0 255.255.255.255)interface ethernet 0ip access-group 1 outinterface ethernet 1ip access-group 1 out实例2:禁止来自特定地址的数据 E0端口不允许来自于特定地址172.16.4.13的数据流,其它的数据流将被转发。 第一个ACL命令用“deny”禁止来自于此指定主机的数据流,通配掩码0.0.0.0表明要检查匹配地址中的所有的位。 第二个ACL命令中,“0.0.0.0 255.255.255.2
13、55”IP地址和通配掩码组合,表示允许来自于任何源的数据流。这个组合,也可以用关键字“any”替代。 最后将ACL关联到端口E0。access-list 1 deny 172.16.4.13 0.0.0.0 access-list 1 permit 0.0.0.0 255.255.255.255(implicit deny all)(access-list 1 deny 0.0.0.0 255.255.255.255)interface ethernet 0ip access-group 1 out实例3:禁止来自特定子网的数据 E0端口不允许来自于特定的子网172.16.4.0的数据,而转发
14、其它的数据。 第一个ACL命令用“deny”禁止来自172.16.4.0子网的数据流,通配掩码0.0.0.255,前三个字节表示IP地址中的前三个字节将被检测。而最后一个字节全1,表明将不关心IP地址的主机部分。 第二个ACL命令表示在之前没有匹配的时候允许任何的源IP地址。 最后将ACL关联到端口E0。access-list 1 deny 172.16.4.0 0.0.0.255access-list 1 permit any(implicit deny all)(access-list 1 deny 0.0.0.0 255.255.255.255)interface ethernet 0i
15、p access-group 1 out10.3 扩展的IP访问列表 扩展ACL提供了比标准ACL更大范围的控制,因而运用更广。例如,可以使用扩展ACL来实现允许Web数据流,而禁止FTP或Telnet。 扩展ACL可以检查源地址和目标地址,特定的协议,端口号,以及其它的参数。一个数据报,可以根据它的源或者目标地址,而被允许或者禁止。例如,扩展ACL可以允许来自于E0而到S0的e-mail数据,而禁止远程登录或者文件传输。 假设端口E0与一个扩展ACL相关联。可以使用精确的逻辑指令,来创建ACL。在一个数据报进入这个端口前,相应的ACL将对其进行检查。 基于扩展ACL检查,数据报将被允许或禁止
16、。对于进入端口的数据,允许的数据报将被继续处理。对于发出端口的数据,允许的数据报将被转发到端口。拒绝的数据报将被丢弃,某些协议还会向发端发送数据报,说明目标不可到达。 一个ACL中可以包含任意多条指令。每一条指令,应该具有相同的标识名或者数字。ACL中的指令越多,就越难理解和管理。所以,为ACL做好文档可以防止混淆。扩展ACL扩展ACL配置 完全形式的access-list命令为:Router(config)# access-list access_list_number permit|deny protocol source source_mask destination destination_mask operator operand established 命令ip access-group将一个存在的扩展ACL和一个端口关联。记住:一个端口的一个方向的某套协议,只允许存在一个ACL。Router(config-if)# protocol access-group access_list_number in|out 扩展ACL举例 以下图的结构为例,介绍扩展ACL的使用。 实例