《第10章使用访问列表管理网络流量PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第10章使用访问列表管理网络流量PPT讲稿.ppt(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第10章使用访问列表管理网络流量第1页,共53页,编辑于2022年,星期日章节内容10.1 10.1 访问列表简介访问列表简介10.2 10.2 标准的访问列表标准的访问列表10.3 10.3 扩展的扩展的IPIP访问列表访问列表10.4 10.4 命名的访问列表命名的访问列表10.5 10.5 应用和验证访问控制列表应用和验证访问控制列表第2页,共53页,编辑于2022年,星期日是一系列运用网络地址或者上层协议上的允许或拒绝指令的集合。10.1 访问列表简介第3页,共53页,编辑于2022年,星期日访问控制列表ACL网络管理者需要了解怎样控制非法的网络访问,允许正常的网络访问。ACL具有灵活
2、的基本数据流过滤能力和特定的控制能力。例如,网络管理者可能允许用户访问Internet,而不允许外部的用户登录到局域网中。路由器提供了基本的数据流过滤能力。如使用访问控制列表(ACL),可以有条件地阻止Internet数据流。ACL,是一系列的允许或拒绝指令的集合,这些指令将运用到网络地址或者上层协议上。第4页,共53页,编辑于2022年,星期日ACL需求 有多种原因需要创建ACL:限制网络数据流,增加网络性能。例如:根据不同的协议,ACL可以指定路由器优先处理哪些数据报。这叫做队列管理,路由器可以不处理不需要的数据报。队列管理限制了网络数据流,减少了网络拥塞。提供数据流控制。例如:ACL可以
3、限定或者减少路由更新的内容。这些限定,可以用于限制关于某个特定网络的信息传播到整个网络。第5页,共53页,编辑于2022年,星期日ACL需求有多种原因需要创建ACL:为网络访问提供基本的安全层。ACL可以允许某个主机访问网络的某一部分,而阻止另一台主机访问网络的这个部分。决定转发或者阻止哪些类型的数据流。例如:可以允许路由email数据流,而阻止telnet数据流。第6页,共53页,编辑于2022年,星期日ACL的定义访问控制列表(ACL)是运用到路由器接口的指令列表。这些指令告诉路由器接受哪些数据报而拒绝哪些数据报。接受或者拒绝根据一定的规则进行,如源地址,目标地址,端口号等。ACL使得用户
4、能够管理数据流,检测特定的数据报。路由器将根据ACL中指定的条件,对经过路由器端口的数据报进行检查。ACL可以基于所有的Routed Protocols,如IP,IPX,对经过路由器的数据报进行过滤。第7页,共53页,编辑于2022年,星期日ACL的定义ACL在路由器的端口过滤网络数据流,决定是否转发或者阻止数据报。ACL应该根据路由器的端口所允许的每个协议来制定。如果需要控制流经某个端口的所有数据流,就需要为该端口允许的每一个协议分别创建ACL。例如,如果端口配置成允许IP,Appletalk和IPX协议的数据流,那么就需要创建至少三个ACL。ACL可以用作控制和过滤流经路由器端口的数据报的
5、工具。第8页,共53页,编辑于2022年,星期日ACL指令ACL指令的放置顺序是很重要的。当路由器在决定是否转发或者阻止数据报的时候,Cisco的IOS软件,按照ACL中指令的顺序依次检查数据报是否满足某一个指令条件。当检测到某个指令条件满足的时候,就不会再检测后面的指令条件。在每一个路由器的端口,可以为每一个支持的Routed Protocols创建ACL。对于某些协议,可以创建多个ACL:一个用于过滤进入端口的数据流inbound,一个用于过滤流出端口的数据流outbound。第9页,共53页,编辑于2022年,星期日Inbound or OutboundInbound or Outbou
6、nd 进入路由器的Inbound,离开路由器的outboundOutgoingPacketE0S0IncomingPacketAccess List ProcessesPermit?Sourceand DestinationProtocol第10页,共53页,编辑于2022年,星期日ACL指令一个ACL就是一组指令,规定数据报如何:进入路由器的某个端口在路由器内的转送离开路由器的某个端口ACL允许控制哪些客户端可以访问的网络。在ACL中的条件可以是:筛选某些主机允许或者禁止访问的部分网络允许或者禁止用户访问某一类协议,如FTP,HTTP等。第11页,共53页,编辑于2022年,星期日ACL的工
7、作流程无论是否使用ACL,开始的通信过程是相同的。当一个数据报进入一个端口,路由器检查这个数据报是否可路由。如果是可以路由的,路由器检查这个端口是否有ACL控制进入数据报。如果有,根据ACL中的条件指令,检查这个数据报。如果数据报是被允许的,就查询路由表,决定数据报的目标端口。路由器检查目标端口是否存在ACL控制流出的数据报不存在,这个数据报就直接发送到目标端口。如果存在,就再根据ACL进行取舍。第12页,共53页,编辑于2022年,星期日ACL的工作流程第13页,共53页,编辑于2022年,星期日ACL的配置创建一个ACL访问控制Router(config)#access-list acce
8、ss_list_number permit|deny test_conditions将访问控制绑定到接口上Router(config-if)#protocol access-group access_list_number in|out 关闭访问控制列表Router(config)#no access-list access_list_number第14页,共53页,编辑于2022年,星期日为每个ACL分配一个唯一标识配置ACL的时候需要为每一个协议的ACL指定一个唯一的数字,用以标识这个ACL。这个数字必须在有效范围之内。为一个ACL指定了数字后,需要把它关联到一个端口。假如需要修改,只需要
9、利用命令:no access-list list-number,就可以删除这个ACL的指令。第15页,共53页,编辑于2022年,星期日ACL绑定到接口ACL可以指定到一个或者多个端口。根据配置,可以过滤进入或流出的数据流。对流出的数据流使用ACL更有效,因此也更常使用。如果是针对进入数据流的ACL,路由器将检查每一个数据报,看是否满足ACL的条件,然后才将允许的数据报发送到送出端口。第16页,共53页,编辑于2022年,星期日标准ACL和扩展ACL标准ACL检查源地址可以允许或者拒绝整套协议栈标准ACL(数字1到99),可以提供数据流过滤控制。它是基于源地址和通配掩码。标准ACL可以允许或禁
10、止整套IP协议。扩展ACL检查源地址和目的地址可以允许或者拒绝指定协议为了更加精确的数据流过滤,需要扩展ACL。扩展ACL检查源地址和目标地址,以及TCP或UDP端口号。还可以指定扩展ACL针对特定的协议的进行操作。扩展ACL使用的数字范围是:100-199。第17页,共53页,编辑于2022年,星期日10.2 标准的访问列表如果想允许或者禁止来自于某各个网络的所有数据流,或者禁止某一套协议的数据流,可以使用标准ACL。标准ACL检查数据报的源地址,即根据地址中的网络、子网和主机位,来允许或者拒绝来自于整套协议的数据报。例如,来自于E0端口的数据报,将检查它的源地址和协议,如果被允许,将输出到
11、相应的端口。如果被禁止,数据报将被丢弃。第18页,共53页,编辑于2022年,星期日标准ACL指令使用标准版本的access-list全局配置命令来定义一个带有数字的标准ACL。这个命令用在全局配置模式下Router(config)#access-list access-list-number deny|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-li
12、st-number 例如:no access-list 1第19页,共53页,编辑于2022年,星期日标准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第20页,共53页,编辑于2022年,星期日实例1:只允许指定的网络数据E0和E
13、1端口只允许来自于网络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-not visible in the list)(access-list 1 deny 0.0.0.0 255.255.255.255)interface ethernet 0ip access-group 1 outinter
14、face ethernet 1ip access-group 1 out第21页,共53页,编辑于2022年,星期日实例2:禁止来自特定地址的数据E0端口不允许来自于特定地址172.16.4.13的数据流,其它的数据流将被转发。第一个ACL命令用“deny”禁止来自于此指定主机的数据流,通配掩码0.0.0.0表明要检查匹配地址中的所有的位。第二个ACL命令中,“0.0.0.0 255.255.255.255”IP地址和通配掩码组合,表示允许来自于任何源的数据流。这个组合,也可以用关键字“any”替代。最后将ACL关联到端口E0。access-list 1 deny 172.16.4.13 0.
15、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第22页,共53页,编辑于2022年,星期日实例3:禁止来自特定子网的数据E0端口不允许来自于特定的子网172.16.4.0的数据,而转发其它的数据。第一个ACL命令用“deny”禁止来自172.16.4.0子网的数据流,通配掩码0.0.0.255,前三个字节表示IP地址中的前三个字节将被检
16、测。而最后一个字节全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 0ip access-group 1 out第23页,共53页,编辑于2022年,星期日10.3 扩展的IP访问列表扩展ACL提供了比标准ACL更大范围的控制,因而
17、运用更广。例如,可以使用扩展ACL来实现允许Web数据流,而禁止FTP或Telnet。扩展ACL可以检查源地址和目标地址,特定的协议,端口号,以及其它的参数。一个数据报,可以根据它的源或者目标地址,而被允许或者禁止。例如,扩展ACL可以允许来自于E0而到S0的e-mail数据,而禁止远程登录或者文件传输。假设端口E0与一个扩展ACL相关联。可以使用精确的逻辑指令,来创建ACL。在一个数据报进入这个端口前,相应的ACL将对其进行检查。第24页,共53页,编辑于2022年,星期日基于扩展ACL检查,数据报将被允许或禁止。对于进入端口的数据,允许的数据报将被继续处理。对于发出端口的数据,允许的数据报
18、将被转发到端口。拒绝的数据报将被丢弃,某些协议还会向发端发送数据报,说明目标不可到达。一个ACL中可以包含任意多条指令。每一条指令,应该具有相同的标识名或者数字。ACL中的指令越多,就越难理解和管理。所以,为ACL做好文档可以防止混淆。第25页,共53页,编辑于2022年,星期日扩展ACL第26页,共53页,编辑于2022年,星期日扩展ACL配置完全形式的access-list命令为:Router(config)#access-list access_list_number permit|deny protocol source source_mask destination destinat
19、ion_mask operator operand established 命令ip access-group将一个存在的扩展ACL和一个端口关联。记住:一个端口的一个方向的某套协议,只允许存在一个ACL。Router(config-if)#protocol access-group access_list_number in|out 第27页,共53页,编辑于2022年,星期日扩展ACL举例以下图的结构为例,介绍扩展ACL的使用。实例1:在E0端口,禁止转出来自172.16.4.0子网的FTP数据流到172.16.3.0子网,其它的数据流将被转发。实例2:在E0端口,禁止转出来自172.16
20、.4.0子网的 Telnet 数据流,其它的数据流将被转发。172.16.3.0172.16.4.0172.16.4.13E0S0E1Non-172.16.0.0第28页,共53页,编辑于2022年,星期日实例1:禁止转出FTP数据在E0端口,禁止转出来自172.16.4.0子网的FTP数据流到172.16.3.0子网,其它的数据流将被转发。第一个ACL命令用“deny”禁止来自172.16.4.0子网的FTP-DATA(port=20)数据流到172.16.3.0子网。第二个ACL命令用“deny”禁止来自172.16.4.0子网的FTP(port=21)数据流到172.16.3.0子网。第
21、三个ACL命令表示允许任何的数据流。最后将此ACL101关联到端口E0。access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20access-list 101 permit ip any any(implicit deny all)(access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255
22、.255)interface ethernet 0ip access-group 101 out第29页,共53页,编辑于2022年,星期日实例2:禁止转出Telnet 数据在E0端口,禁止转出来自172.16.4.0子网的 Telnet 数据流,其它的数据流将被转发。第一个ACL命令用“deny”禁止来自172.16.4.0子网的Telnet(port=23)数据流。第二个ACL命令表示允许任何的数据流。最后将此ACL101关联到端口E0。access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23access-list 101 permit
23、 ip any any(implicit deny all)interface ethernet 0ip access-group 101 out第30页,共53页,编辑于2022年,星期日通配掩码通配掩码(wildcard mask)是分成4字节的32bit数。通配掩码与IP地址位位配对,相应位为0/1,用于表示如何对待IP地址中的相应位。通配掩码某位是0,表示检查相应bit位的值;通配掩码某位是1,表示不检查(忽略)相应位的值。ACL使用通配掩码来控制一个或者多个需要进行允许或者禁止检查的IP地址。尽管都是32位,通配掩码与子网掩码不同。在子网掩码中,0/1决定了相应主机IP地址是网络位、
24、子网位还是主机位。在通配掩码中,0/1决定ACL是否检查或者忽略IP地址中的相应位。第31页,共53页,编辑于2022年,星期日通配掩码的工作原理第32页,共53页,编辑于2022年,星期日通配掩码举例假设一个B类地址,有8位的子网地址。想使用通配掩码,允许所有来自于网络171.30.16.0171.30.31.0网络的数据报访问。第33页,共53页,编辑于2022年,星期日通配掩码举例假设一个B类地址,有8位的子网地址。想使用通配掩码,允许所有来自于网络171.30.16.0171.30.31.0网络的数据报访问。首先,检查前面两个字节(171.30),通配掩码中的前两个字节位全为0。由于没
25、有兴趣检查主机地址,通配掩码的最后一个字节位全为1。通配掩码的第三个字节应该是15(00001111)。与之相应的通配掩码是0.0.15.255,将匹配子网171.30.16.0到171.30.31.0的IP地址。第34页,共53页,编辑于2022年,星期日通配掩码举例IP地址的第三个字节为16(00010000)。通配掩码中的前四位为0,告诉路由器要匹配IP地址的前四位(0001)。由于最后的四位被忽略,则所有的在范围16(00010000)到31(00011111)的都将被允许,相应的通配掩码位是1。Network Network .host 172.30.16172.30.16.00 0
26、0 00 01 10000Wildcard mask:0 0 0 0 1 1 1 1|0 0 0 1 0 0 0 0 =16 0 0 0 1 0 0 0 1 =17 0 0 0 1 0 0 1 0 =18:0 0 0 1 1 1 1 1 =31第35页,共53页,编辑于2022年,星期日any命令使用二进制通配掩码很不方便,某些通配掩码可以使用缩写形式替代。这些缩写形式,减少了在配置地址检查条件时候的键入量。假如想允许任何目标地址都被允许,为了检查任何地址,需要输入0.0.0.0。要使ACL忽略任意值,通配掩码为:255.255.255.255。可以使用缩写形式,来指定相同的测试条件。Rout
27、er(config)#access-list 1 permit 0.0.0.0 255.255.255.255等价于Router(config)#access-list 1 permit any第36页,共53页,编辑于2022年,星期日host命令 当想匹配IP地址中所有的位时,CiscoIOS允许使用另一个ACL通配掩码的缩写。假如希望一个特定的IP地址,在ACL的检查中获得允许。为了指明这个主机地址,将输入整个地址(如171.30.16.29)。然后,为了指明ACL将检查地址中的所有的位,相应的通配掩码的各位将设置成0(即0.0.0.0)。可以使用缩写形式来完成这个任务。Router(c
28、onfig)#access-list 1 permit 171.30.16.29 0.0.0.0等价于Router(config)#access-list 1 permit host 171.30.16.29第37页,共53页,编辑于2022年,星期日any 和host命令第38页,共53页,编辑于2022年,星期日验证ACL使用show interface可以显示在某个接口上绑定了那些ACL使用show running-config显示ACL详细信息和绑定位置使用show access-list显示所有的ACL列表内容第39页,共53页,编辑于2022年,星期日10.4 命名的访问列表可以使
29、用字符串代替数字,来标识ACL,称为命名ACL。使用具名ACL,可以在不删除整个ACL的情况下修改它。具名ACL用于以下一些情况:想用字符串直观标识一个ACL。在路由器上,对于给定的协议,需要配置超出了99个标准ACL或者100个扩展ACL。在使用具名ACL的时候,需要考虑到以下的因素:有名ACL与Cisco IOS 11.2之前的版本不兼容。不能为多个ACL使用相同的名字。不同类型的ACL不能使用相同的名字。例如,不能使用同一个名字来命名一个标准ACL和一个扩展ACL。第40页,共53页,编辑于2022年,星期日可以使用下面的命令为一个ACL命名:在ACL配置模式中,可以指定一个或者多个允许
30、或者禁止条件。命令如下:将Named ACL关联到某个端口。Router(config)#ip access-list standard|extended nameRouter(config std-|ext-nacl)#permit|deny ip access list test conditions no permit|deny ip access list test conditions Router(config-if)#ip access-group name in|out 第41页,共53页,编辑于2022年,星期日实例为一个名为Internetfilter的标准ACL设定条件。
31、(所有其他的条件隐含禁止。)ip access-list standard Internetfilterdeny 191.5.34.0 0.0.0.255permit 128.88.0.0 0.0.255.255permit 36.0.0.0 0.255.255.255permit 和deny指令没有数字,no表示删除某个测试条件。Router(config std-|ext-nacl)#permit|deny ip ACL test conditionsno permit|deny ip ACL text conditions第42页,共53页,编辑于2022年,星期日标识ACL使用“den
32、y”为一个有名ACL设定条件。deny source source-wildcard|any使用这个命令的no形式取消设定的deny条件。no deny source source-wildcard|any第43页,共53页,编辑于2022年,星期日标识ACL使用“permit”为有名标准ACL设定条件。permit source source-wildcard|anylog使用这个命令的no形式取消设定的条件。:no permit source source-wildcard|any在access-list配置模式使用下这个命令,需要在ip access-list 命令之后,定义数据报经过A
33、CL的条件。第44页,共53页,编辑于2022年,星期日10.5 应用和验证访问控制列表ACL可以控制路由器支持的绝大部分协议。在全局ACL配置的时候,可以输入一个代表协议的数字,作为它的第一个参数。根据这个数字,路由器会识别使用哪一个ACL软件。对于某个协议,可能有多个ACL对于一个新的ACL,可以选择不同的数字,只要其在协议数字范围之内。但是,一个端口的一个协议,只能够指定一个ACL。对于某些协议,一个端口可以指定两个ACL:一个负责收到的数据,一个负责发出的数据。而某些协议,需要把这两个ACL组合成一个负责进出该端口的数据第45页,共53页,编辑于2022年,星期日假如ACL负责控制接收
34、的数据,当路由器接收到数据报,将检查是否满足ACL的条件。假如这个数据报被允许,路由器继续处理这个数据报。如果被拒绝,该数据报将被丢弃。如果ACL是负责控制发出的数据,当接收到一个数据报,并发送到了发出端口,路由器将检查ACL的条件是否满足。假如数据报被允许,则传送这个数据报,如果数据报被拒绝,将丢弃这个数据报。第46页,共53页,编辑于2022年,星期日ACL的放置ACL可以用于控制数据流,消除不需要的数据流。依赖于ACL放置的位置,可以减少不必要的数据流。如在远离目的端,禁止某些数据流,可以减少使用到达目的端的网络资源。ACL放置的规则是:尽量将扩展ACL放置在靠近被拒绝的数据源。标准AC
35、L不能指定目标地址,所以需要把标准ACL放置在尽量靠近目标的地方。第47页,共53页,编辑于2022年,星期日ACL的放置第48页,共53页,编辑于2022年,星期日ACL的放置防火墙路由器通常位于内部网和外部网之间,提供了一个隔离点,使得内部网结构不会受外部网影响。可以在防火墙路由器上使用ACL,以控制流入和流出内部网某个特定部分的数据流。为了使用ACL的安全特性,至少需要在边界路由器上配置ACL。针对外部网络,或者网络的控制较少的区域到网络中更为私有的区域,这样可以提供基本的安全性。在这些边界路由器上,可以为路由器的每一个端口的每一个协议配置ACL,使得流入或者流出的数据被过滤。第49页,
36、共53页,编辑于2022年,星期日Net1202.112.58.32Net2202.112.58.64202.112.58.70E0S0E1Non-202.112.58.0E2Net3202.112.58.96202.112.58.100访问控制列表举例1.Net1可以使用所有的协议访问所有的子网和可以使用所有的协议访问所有的子网和Internet,不接受任何非本子,不接受任何非本子网网TELNET的访问。不接收所有非的访问。不接收所有非202.112.58.0设备的设备的HTTP和和FTP访问。访问。2.Net2和和Net3在在202.112.58.0网内可以使用所有的协议,但不能使用网内可
37、以使用所有的协议,但不能使用Internet。3.Net2中的服务器中的服务器202.112.58.70只接收来自只接收来自Net3和和Net2设备的访问。设备的访问。4.某日,某日,Net3中的主机中的主机202.112.58.100因为大量发送广播包,被网管人员取消了因为大量发送广播包,被网管人员取消了访问权限。访问权限。第50页,共53页,编辑于2022年,星期日实 验掌握配置标准IP访问控制列表;掌握配置扩展IP访问控制列表;掌握配置命名的IP访问控制列表;通过实验了解如何控制内外网络之间的相互访问。目的:目的:第51页,共53页,编辑于2022年,星期日配置环境图示及参数 switc
38、h_aswitch_bpc12192.168.1.20/24pc22192.168.2.20/24192.168.2.1/24 Fa0/2Fa0/3Fa0/3Fa0/2Fa0/0192.168.1.1/24S0/0 10.0.1.1/24 S0/0 10.0.1.2/24pc11192.168.1.10/24Fa0/1Fa0/0pc21192.168.2.10/24Fa0/1R1R2第52页,共53页,编辑于2022年,星期日问 题1.IP访问控制列表有哪几种类型?2.标准IP访问控制列表的编号范围是?3.扩展IP访问控制列表的编号范围是?4.使用命名IP访问控制列表有哪些好处?第53页,共53页,编辑于2022年,星期日