扩展ACL与RACL.doc_第1页
扩展ACL与RACL.doc_第2页
扩展ACL与RACL.doc_第3页
扩展ACL与RACL.doc_第4页
扩展ACL与RACL.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

不像只能过滤第3层信息的标准IP ACL和能过滤第3,4层信息的扩展IP ACL,反射访问列表(RACL)能在第3,4和5层(会话层)上作过滤。 一、反射ACL概述 标准的和扩展的ACL不跟踪连接的状态,且不善于过滤双向的连接。RACL可以过滤会话层上的信息。使用这种过滤方法,Cisco IOS可以跟踪那些离开网络的连接,并允许这些连接的返回流量回来进入网络。默认地,RACL会拒绝那些从网络外面进来并试图连接到内部资源的流量。不论何时,当内部设备打开一个到外部设备的会话时,RACL一般会在输入过滤器中建立临时的条目。这个临时条目允许该会话的返回流量通过边界防火墙路由器回到网络中。 1、扩展的ACL相比反射ACL 扩展ACL如何处理返回的ICMP流量 下面这个例子中,内部用户使用ICMP回声消息ping外部服务器()。假设边界路由器允许该流量出去,在ping已经被发送到网络外之后,假设回复了回声请求,回声应答使它回到过滤路由器。要允许ICMP应答回到网络中,需要进行如下配置:Router(config)#ip access-list extended perimeter-filterRouter(config-ext-nacl)#permit icmp any host echo-replyRouter(config-ext-nacl)#deny ip any anyRouter(config-ext-nacl)#exitRouter(config)#interface ethernet1Router(config-if)#ip access-group perimeter-filter in 扩展ACL如何处理返回的UDP流量 下面这个例子中,内部用户执行了DNS查询并期待来自的应答。因为DNS查询使用UDP,用户PC选择一个比1023大的源端口号,目的端口53。进行如下配置:Router(config)#ip access-list extended perimeter-filterRouter(config-ext-nacl)#permit udp any eq 53 host gt 1023Router(config-ext-nacl)#deny ip any anyRouter(config-ext-nacl)exitRouter(config)#interface ethernet1Router(config-if)#ip access-group perimeter-filter in 扩展ACL如何处理返回的TCP流量 在使用扩展ACL允许返回的TCP流量时,可以用established关键字对实际上允许什么返回流量由更多的控制。Router(config)#ip access-list extended perimeter-filterRouter(config-ext-nacl)#permit tcp any host establishedRouter(config-ext-nacl)#deny ip any anyRouter(config-ext-nacl)#exitRouter(config)#interface ethernet1Router(config-if)#ip access-group perimeter-filter in established关键字不用连接查看会话层信息。即不查看是否这个流量是已经存在的连接的一部分,而该连接是起源于内部网络的。相反,任何设置了正确的TCP控制标志的TCP报文都被允许到达。 RACL如何处理流量 RACL知道关于状态的信息。换句话说,当用户发起到外部的连接,一个反射ACL可以检测并只允许这些用户连接的返回流量。RACL可以为所有的IP协议完成这个功能。只有当会话是在网络内部发起的,才允许其返回流量。RACL使用临时的被插入到扩展ACL过滤器的ACL语句来完成该特性,过滤器应用在路由器的外部接口。当会话结束或者临时的条目超时时,它将从外部接口的ACL配置中被删除。 下面这个例子中,假设在路由器上已经配置了RACL,路由器的默认行为是丢弃任何从路由器之外发起的,并试图访问内部资源的流量。内部用户()建立了一个到的输出Telnet连接。当路由器接收到数据包时,Cisco IOS检查是否已经配置了RACL,来决定该用户连接的返回流量是否可以被允许进入。如果是被允许的,Cisco IOS会在外部接口的输入方向建立一个临时的ACL条目。该ACL条目只允许从服务器到客户端的Telnet流量(只允许返回流量)。当用户结束该连接,或者它超过了连接的空闲超时时间时,Cisco IOS会从扩展IP ACL中删除临时的RACL条目。 2、反射ACL的工作原理 处理流量的步骤 RACL要求使用两个ACL来正常地发挥作用。第一个ACL用于为输出流量捕捉会话信息。这个信息被放在一个特殊地RACL中,并被插入已经移用于路由器外部接口地输入ACL中。 RACL地处理步骤如下:内部ACL检查输出会话地流量。这是一个命名地扩展ACL。添加一条语句到临时命名地RACL中(独立地访问列表)该RACL被插入到应用在路由器地外部接口地第三个命名地ACL中。 离开网络的流量 当流量离开网络时,使用一个命名的扩展ACL来检查该流量。ACL可以被应用到内部接口的输入方向,或者是外部接口的输出方向。后一种方法更常见,因为只需要应用到一个接口上。如果使用前一种方法,可能需要建立多余一个的ACL,并将它们应用到所有的内部接口的输入方向上。 在这个“内部”ACL种,放置用来检查新会话流量的语句(使用reflect参数)。这个语句可以控制为哪个连接将建立RACL条目,在这里这些条目允许返回流量回到网络中。如果不配置这些语句,默认地,返回流量将被丢弃。对允许哪个用户访问外部网络,以及允许哪种类型的连接,提供了更多的控制。 建立RACL 当流量离开网络时,如果流量与带有reflect参数的permit语句相匹配,一个临时的条目被添加到这个语句指定的RACL种。对每个permit/reflect语句,路由器会建立一个单独的RACL。RACL时一个反转的条目。记住这些条目要允许返回流量返回网络;因此,在RACL语句中源和目的信息被交换了。 以下是RACL条目的一些特征:操作总是permit;数据包的协议被放在RACL条目中;在RACL条目中源和目的地址被反转,以允许该流量返回;对TCP和UDP,源和目的端口号被交换,以允许流量从目的设备返回;对其他协议,例如ICMP和IGMP,Cisco IOS可以指定其他协议条件。 返回网络的流量 要使用ARCL来过滤返回流量,必须建立扩展的命名ACL来过滤那些从外部网络中来的流量。这个ACL被应用在外部接口的输入方向,通常称为扩展ACL。 在外部ACL中,在应该处理RACL的地方放置一个占位符(或者引用)。通常,将RACL嵌套在一个ACL中。不管一个RACL或多个RACL中的无论什么语句,都要被由逻辑地插入到外部ACL中的指定位置。当Cisco IOS处理外部ACL并发现RACL应用时,它会处理RACL中地语句,直到找到匹配。如果没有在RACL中发现匹配,Cisco IOS返回到RACL引用后的下一个外部ACL语句,并继续寻找匹配。 使用RACL时,在列表的最后没有隐含的拒绝语句。因为RACL语句被插入到外部ACL中,外部ACL中的这些被插入的语句后面可能还有其他语句。 使用evaluate语句完成RACL引用的插入。Router(config)#ip access-list extended inboundRouter(config-ext-nacl)#permit tcp any host 0 eq wwwRouter(config-ext-nacl)#deny ip any anyRouter(config-ext-nacl)#exitRouter(config)#interface ethernet1Router(config-if)#ip access-group inbound in只允许Web流量进入内部Web服务器(0);所有其他的流量都将被丢弃。 要允许在临时RACL中列出的会话的返回流量进入网络,需要在外部输入ACL中放置一个占位符,指定RACL语句的使用。需要RACL引用放在任何可能阻塞它的deny语句之前(通过evaluate语句完成)。 删除RACL条目 RACL的条目是临时的,在以下条件下会被删除:会话结束RACL中的条目超时(空闲了一段时间)。 使用TCP时,Cisco IOS查找两个FIN消息,临时RACL条目在5秒中之后被删除。这5秒的等待时间用于确保TCP会话有足够的时间从容地关闭。如果Cisco IOS看到RST消息,这表明有一个突然的会话终止,导致Cisco IOS立即从RACL中删除会话条目。 所有会话的空闲定时器默认值为300秒(5分钟)。强烈建议为无连接的会话改变默认值,如UDP和ICMP。 3、反射ACL的局限性 RACL存在两个主要的局限性:RACL不提供一个完整的有状态的解决方案(诸如UDP和ICMP的协议的结束是通过一个空闲定时器被近似处理的);不是所有的应用程序都可以与RACL一起工作。 RACL是为(只有几十个用户的)小型网络环境开发的,很耗内存和处理器资源的。如果对一个大型的网络环境,使用CBAC,CBAC具有更高效率的内存使用。 状态问题 RACL的局限性:只有TCP才是有状态的。对其他TCP/IP协议,RACL使用超时来删除空闲会话。 二、配置反射ACL 配置路由器来使用RACL包括三个步骤:建立内部命名的ACL,它寻找新的输出会话并建立临时的RACL;建立外部命名的ACL,它使用RACL来检查到网络的返回流量;在适当的一个或及格接口上激活命名的ACL。 1、接口选择 RACL的配置是当有流量进入或者离开网络时,在边界路由器或者防火墙上完成的。首先要做的事是决定在哪个或哪些接口上为RACL配置ACL。 2、配置命令 需要配置两个命名的ACL:一个用来建立一个RACL或几个RACL,另一个引用它们来允许返回流量。 建立RACL 建立一个扩展的命名ACL,限制允许什么流量离开网络。在这个ACL中,指定想让Cisco IOS检查并建立临时ACL条目的流量。是通过使用一个permit扩展ACL语句来完成的,该语句和我们想要为它建立临时条目的流量匹配。在这个语句中,加上reflect参数。这个语句在指定的RACL中建立临时条目。以下是实现这个配置的语法:Router(config)#ip access-list extended internal_ACL_nameRouter(config-ext-nacl)#-permit or deny specific connections-Router(config-ext-nacl)#permit protocol_name source_address wildard_mask protocol_information destination_address wildcard_mask protocol_information reflect RACL_name timeout #_of_secondsRouter(config-ext-nacl)#-permit or deny other connections- 在ACL中配置一个和多个permit语句,这些语句将匹配要为它们建立RACL条目的流量。对每个这些permit语句必须使用reflect关键字,以及放置临时条目的RACL的名称。还必须指定为什么想要IP协议建立RACL临时条目,以及源和目的信息。 permit/reflect语句有两个目的。第一,在指定的RACL中建立临时条目。第二,允许指定的流量流过接口。记住,在这个扩展ACL的最后是一个隐含的拒绝语句。 可选地,使用关键字timeout,后面跟随以秒为单位地超时值,可以为这些临时RACL条目指定空闲超时。如果省略,默认的超时值为300秒。将这个值设为0,这样条目就会被保持在RACL列表中。同样,也不建议将该值设得太高。对UDP和ICMP流量,设为30到60秒比较合适。 、限制性设置 如果允许用户只能用Web浏览器上网,并允许DNS应答返回,可以输入以下命令:Router(config)#ip access-list extended internal-externalRouter(config)#remark -insert permit or deny specific connections-Router(config)#permit tcp any any eq 80 reflect web-only-RACLRouter(config)#permit udp any any eq 53 reflect dns-only-RACL timeout 10Router(config)#remark -insert permit or deny other connections- 、宽泛性设置 如果想允许所有内部用户可以访问Internet,并获得返回流量,可以按以下进行配置。Router(config)#ip access-list extended internal-externalRouter(config-ext-nacl)#remark -permit or deny specific connections-Router(config-ext-nacl)#permit ip any any reflect IP-all-RACLRouter(config-ext-nacl)#remark -permit or deny other connections- 上例中所有输出IP流量将在被成为IP-all-RACL的反射ACL中建立临时条目。这是一个使排错变得很困难的很好的例子。因为在该列表中会有很多临时条目。通常给每种类型使用不同的RACL。如下面:Router(config)#ip access-list extended internal-externalRouter(config-ext-nacl)#remark -permit or deny connections-Router(config-ext-nacl)#permit tcp any any reflect tcp-raclRouter(config-ext-nacl)#permit udp any any reflect udp-racl timeout 30Router(config-ext-nacl)#permit icmp any any reflect icmp-racl timeout 10Router(config-ext-nacl)#remark -permit or deny other connections- reflect语句的位置在内部ACL的处理中是非常重要的。例如,如果不希望用户访问特定的资源,就要确保deny语句出现在响应的reflect语句之前。同样,如果想要为特定类型的流量建立RACL,确保没有deny语句出现在reflect语句之前,因为deny语句会丢弃该流量。 引用RACL 建立了内部的扩展命名ACL之后,它将建立RACL,可以引用这些临时条目来过滤返回网络的流量。这是通过建立第二个口占的命名ACL完成的。在这个命名的ACL中,使用evaluate语句来引用RACL,这些RACL是在前面的内部ACL中建立的。使用以下语法来建立外部ACL:Router(config)#ip access-list extended external-_ACL_nameRouter(config-ext-nacl)#remark -permit or deny specific connections-Router(config-ext-nacl)#evaluate RACL_nameRouter(config-ext-nacl)#remark -permit or deny other connections- 在实际执行evaluate命令之前,必须在内部ACL中用permit/reflect命令建立RACL引用。在evaluate命令中的RACL的名称必须与内部ACL中的permit/reflect命令中使用RACL的名称相匹配。如果在内部ACL中建立了多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论