H3C路由器acl匹配原则.doc_第1页
H3C路由器acl匹配原则.doc_第2页
H3C路由器acl匹配原则.doc_第3页
H3C路由器acl匹配原则.doc_第4页
全文预览已结束

下载本文档

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

文档简介

访问控制列表的匹配顺序 一个访问控制列表可以由多条“permit | deny”语句组成,每一条语句描述的规则是不相同,这些规则可能存在重复或矛盾的地方,在将一个数据包和访问控制列表的规则进行匹配的时候,到底采用哪些规则呢?就需要确定规则的匹配顺序。 有两种匹配顺序: l 配置顺序 l 自动排序 配置顺序,是指按照用户配置 ACL的规则的先后进行匹配。 自动排序使用“深度优先”的原则。“深度优先”规则是把指定数据包范围最小的语句排在最前面。这一点可以通过比较地址的通配符来实现, 通配符越小, 则指定的主机的范围就越小。 比如 129.102.1.1 0.0.0.0 指定了一台主机:129.102.1.1,而 129.102.1.1 0.0.255.255 则指定了一个网段:129.102.1.1129.102.255.255,显然前者在访问控制规则中排在前面。具体标准为:对于基本访问控制规则的语句,直接比较源地址通配符,通配符相同的则按配置顺序;对于基于接口的访问控制规则,配置了“any”的规则排在后面,其它按配置顺序;对于高级访问控制规则,首先比较源地址通配符,相同的再比较目的地址通配符,仍相同的则比较端口号的范围,范围小的排在前面,如果端口号范围也相同则按配置顺序。 使用 display acl命令就可以看出是哪条规则首先生效。显示时,列在前面的规则首先生效。注:1 访问控制列表能被匹配的前提是Firewall Enable。2 要注意Firewall默认的规则是Permit还是Deny 如果默认为permit,则没有被匹配的数据流采取的动作为允许。 如果默认为deny,则没有被匹配的数据流采取的动作为禁止。例如: Acl number 3000 rule 0 permit ip source 192.168.1.3 0 (rule 1 deny ip any)-在最后隐藏了这样一条命令,也就是说来此非192.168.1.3的数据流都被拒绝。 3 防火墙开关与否对Nat的Acl匹配没有影响。具体解解释: 在一条ACL中可以制定多条规则,这些规则可能产生交集,即某些报文可能同时符合一条ACL中的多条规则。例如在ACL 3001种配置有如下规则:rule permit ip source 1.0.0.0 0.255.255.255 destination 5.5.0.0 0.0.255.255rule deny ip source 1.0.0.0 0.255.255.255 destination 5.5.5.5 0rule permit tcp source 1.1.1.1 0rule deny udp source 1.1.0.0 0.0.255.255将这个ACL应用到接口上,就会产生这样一个问题。即对于一个源地址为1.1.1.1,目的地址为5.5.5.5的IP报文,它符合ACL 3001中的所有规则,那么对这个报文应该采取哪条规则定义的动作来操作呢?为了解决这一问题,我们定义了ACL中各规则的匹配顺序称为匹配规则,各规则依据匹配规则重新排序,报文按其顺序依次匹配。目前主要定义有如下两种匹配规则:1 按照配置顺序的匹配规则:这种方式比较易于理解,即按设计者录入规则的先后顺序对报文进行匹配。对于上例,匹配顺序如下:AR29-acl-adv-3001display this#acl number 3001rule 0 permit ip source 1.0.0.0 0.255.255.255 destination 5.5.0.0 0.0.255.255rule 1 deny ip source 1.0.0.0 0.255.255.255 destination 5.5.5.5 0rule 2 permit tcp source 1.1.1.1 0rule 3 deny udp source 1.1.1.1 0.0.255.255#return因而,对于源为1.1.1.1,目的为5.5.5.5的报文就被匹配了第一条规则,而允许通过了。华为产品默认的是这种匹配顺序。指定这种匹配规则的命令是acl num 3001 match-order config。2 按照深度的匹配规则所谓深度就是一条规则所限制范围的大小,限制范围越小深度就越深。这里要特别指出的是,我们认为所有含有四层信息的规则都比只含三层信息的规则“深”。下面详细介绍一下,在深度匹配中最为重要的反掩码的原理。所谓反掩码顾名思义就是将原来掩码中的“1”改写为“0”,“0”改写为“1”。例如:255(11111111).255(11111111).128(10000000).0(00000000)改写为0(00000000).0(00000000).127(01111111).255(11111111)。于是在原掩码中“1”对应的网络位变为反掩码中“0”所对应得位。但反掩码的一个特点是它允许0位不连续,即能出现0.255.0.127的情况。之所以使用反掩码也正是由于它的这个特点,因为在掩码中是严格要求0或1必须连续分布的。反掩码的这一特点大大扩展了ACL应用的灵活性,使得原本需要多条规则才能涵盖的范围用一条规则就能完全覆盖。结合深度的定义,我们可以知道在各条规则都定义了四层信息或都只有三层信息的前提下,深度就是等同于反掩码中0的个数,0的个数越多,深度也就越深,相应的主机位的位数也就越少,主机范围也就越小。所以对于规则rule 2 permit tcp source 1.1.1.1 0其反掩码为0(也就是全0),其所对应得主机就只有一台,我们就说它的深度最深。所谓按深度匹配就是指在一个ACL中各规则先按其源地址的深度进行排序,在源地址深度相同的情况下,再按目的地址的深度进行排序,若还相同就按配置的先后顺序排序。还以上面的情况为例,将规则改为按深度匹配:acl num 3002 match-order auto(Cisco公司默认的是这种规则)。按顺序依次输入下列各条子规则,输入时不指定子规则号:rule permit ip source 1.0.0.0 0.255.255.255 destination 5.5.0.0 0.0.255.255rule deny ip source 1.0.0.0 0.255.255.255 destination 5.5.5.5 0rule permit tcp source 1.1.1.1 0rule deny udp source 1.1.0.0 0.0.255.255输完以后,使用display命令查看(使用该命令能显示最终的匹配顺序),有如下结果:AR29-acl-adv-3002display this#acl number 3002 match-order autorule 0 permit tcp source 1.1.1.1 0rule 1 deny udp source 1.1.0.0 0.0.255.255rule 2 deny ip source 1.0.0.0 0.255.255.255 destination 5.5.5.5 0rule 3 permit ip source 1.0.0.0 0.255.255.255 destination 5.5.0.0 0.0.255.255#return即使在输入时指定子规则序号,对结果也不影响:AR29-acl-adv-3002display this#acl number 3002 match-order autorule 2 permit tcp source 1.1.1.1 0rule 3 deny udp source 1.1.0.0 0.0.255.255r

温馨提示

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

评论

0/150

提交评论