07-ACL配置
本章节下载: 07-ACL配置 (268.54 KB)
目 录
本章所介绍的ACL包括IPv4 ACL和IPv6 ACL。
ACL(Access Control List,访问控制列表)是用来实现流识别功能的。网络设备为了过滤报文,需要配置一系列的匹配条件对报文进行分类,这些条件可以是报文的源地址、目的地址、端口号等。
当设备的端口接收到报文后,即根据当前端口上应用的ACL规则对报文的字段进行分析,在识别出特定的报文之后,根据预先设定的策略允许或禁止该报文通过。
由ACL定义的报文匹配规则,可以被其它需要对流量进行区分的场合引用,如包过滤、QoS中流分类规则的定义等。
IPv4 ACL根据ACL序号来区分不同的ACL,可以分为三种类型,如表1-1所示。
IPv4 ACL类型 |
ACL序号范围 |
区分报文的依据 |
基本IPv4 ACL |
2000~2999 |
只根据报文的源IP地址信息制定匹配规则 |
高级IPv4 ACL |
3000~3999 |
根据报文的源IP地址信息、目的IP地址信息、IP承载的协议类型、协议的特性等三、四层信息制定匹配规则 |
二层ACL |
4000~4999 |
根据报文的源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息制定匹配规则 |
用户在创建IPv4 ACL时,可以为ACL指定一个名称。每个IPv4 ACL最多只能有一个名称。命名的ACL使用户可以通过名称唯一地确定一个IPv4 ACL,并对其进行相应的操作。
在创建ACL时,用户可以选择是否配置名称。ACL创建后,不允许用户修改或者删除ACL名称,也不允许为未命名的ACL添加名称。
IPv4 ACL的名称对于IPv4 ACL全局唯一,但允许与IPv6 ACL使用相同的名称。
一个ACL中可以包含多个规则,而每个规则都指定不同的报文匹配选项,这些规则可能存在重复或矛盾的地方,在将一个报文和ACL的规则进行匹配的时候,到底采用哪些规则呢?就需要确定规则的匹配顺序。
IPv4 ACL支持两种匹配顺序:
l 配置顺序:按照用户配置规则的先后顺序进行规则匹配。
l 自动排序:按照“深度优先”的顺序进行规则匹配。
(1) 先比较源IP地址范围,源IP地址范围小(即通配符掩码中“0”位的数量多)的规则优先;
(2) 如果源IP地址范围相同,则先配置的规则优先。
通配符掩码又称反向掩码,以点分十进制表示,并用二进制的“0”表示“匹配”,“1”表示“不关心”,这恰好与子网掩码的表示方法相反。譬如,C类子网192.168.1.0对应的子网掩码为255.255.255.0,而通配符掩码则为0.0.0.255。
(1) 先比较协议范围,指定了IP协议承载的协议类型的规则优先;
(2) 如果协议范围相同,则比较源IP地址范围,源IP地址范围小(即通配符掩码中“0”位的数量多)的规则优先;
(3) 如果协议范围、源IP地址范围相同,则比较目的IP地址范围,目的IP地址范围小(即通配符掩码中“0”位的数量多)的规则优先;
(4) 如果协议范围、源IP地址范围、目的IP地址范围相同,则比较四层端口号(TCP/UDP端口号)范围,四层端口号范围小的规则优先;
(5) 如果上述范围都相同,则先配置的规则优先。
(1) 先比较源MAC地址范围,源MAC地址范围小(即掩码中“1”位的数量多)的规则优先;
(2) 如果源MAC地址范围相同,则比较目的MAC地址范围,目的MAC地址范围小(即掩码中“1”位的数量多)的规则优先;
(3) 如果源MAC地址范围、目的MAC地址范围相同,则先配置的规则优先。
在报文匹配规则时,会按照匹配顺序去匹配定义的规则,一旦有一条规则被匹配,报文就不再继续匹配其它规则了,设备将对该报文执行第一次匹配的规则指定的动作。
步长的含义是:设备自动为ACL规则分配编号的时候,每个相邻规则编号之间的差值。例如,如果将步长设定为5,规则编号分配是按照0、5、10、15……这样的规律分配的。缺省情况下,步长为5。
当步长改变后,ACL中的规则编号会自动从0开始重新排列。例如,原来规则编号为5、10、15、20,当通过命令把步长改为2后,则规则编号变成0、2、4、6。
当使用命令将步长恢复为缺省值后,设备将立刻按照缺省步长调整ACL规则的编号。例如:ACL 3001,步长为2,下面有4个规则,编号为0、2、4、6。如果此时使用命令将步长恢复为缺省值,则ACL规则编号变成0、5、10、15,步长为5。
使用步长设定的好处是用户可以方便地在规则之间插入新的规则。例如配置好了4个规则,规则编号为:0、5、10、15。此时如果用户希望能在第一条规则之后插入一条规则,则可以使用命令在0和5之间插入一条编号为1的规则。
另外,在定义一条ACL规则的时候,用户可以不指定规则编号,这时,系统会从0开始,按照步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,步长是5,那么系统分配给新定义的规则的编号将是30。
时间段用于描述一个特殊的时间范围。用户可能有这样的需求:一些ACL规则需要在某个或某些特定时间内生效,而在其他时间段则不利用它们进行报文过滤,即通常所说的按时间段过滤。这时,用户就可以先配置一个或多个时间段,然后在相应的规则下通过时间段名称引用该时间段,这条规则只在该指定的时间段内生效,从而实现基于时间段的ACL过滤。
如果规则引用的时间段未配置,则系统给出提示信息,并允许这样的规则创建成功,但是规则不能立即生效,直到用户配置了引用的时间段,并且系统时间在指定时间段范围内ACL规则才能生效。
传统的报文过滤并不处理所有IP报文分片,而是只对首片(第一片)分片报文进行匹配处理,对后续分片不进行匹配处理。这样,网络攻击者可能构造后续的分片报文进行流量攻击,就带来了安全隐患。
在ACL的规则配置项中,通过关键字fragment来标识该ACL规则仅对非尾片分片报文有效,而对非分片报文和尾片分片报文无效。不包含此关键字的配置规则项对非分片报文和分片报文均有效。
IPv6 ACL根据ACL序号来区分不同的ACL,可以分为两种类型,如表1-2所示。
IPv6 ACL类型 |
ACL序号范围 |
区分报文的依据 |
基本IPv6 ACL |
2000~2999 |
只根据源IPv6地址信息制定匹配规则 |
高级IPv6 ACL |
3000~3999 |
根据报文的源IPv6地址信息、目的IPv6地址信息、IPv6承载的协议类型、协议的特性等三层、四层信息来制定匹配规则 |
用户在创建IPv6 ACL时,可以为ACL指定一个名称。每个IPv6 ACL最多只能有一个名称。命名的ACL使用户可以通过名称唯一地确定一个IPv6 ACL,并对其进行相应的操作。
在创建ACL时,用户可以选择是否配置名称。ACL创建后,不允许用户修改或者删除ACL名称,也不允许为未命名的ACL添加名称。
IPv6 ACL的名称对于IPv6 ACL全局唯一,但允许与IPv4 ACL使用相同的名称。
一个ACL中可以包含多个规则,而每个规则都指定不同的报文匹配选项,这些规则可能存在重复或矛盾的地方,在将一个报文和ACL的规则进行匹配的时候,到底采用哪些规则呢?就需要确定规则的匹配顺序。
IPv6 ACL支持两种匹配顺序:
l 配置顺序:按照用户配置规则的先后顺序进行规则匹配。
l 自动排序:按照“深度优先”的顺序进行规则匹配。
(1) 先比较源IPv6地址范围,源IPv6地址范围小(前缀长)的规则优先;
(2) 如果源IPv6地址范围相同,则先配置的规则优先。
(1) 先比较协议范围,指定了IPv6协议承载的协议类型的规则优先;
(2) 如果协议范围相同,则比较源IPv6地址范围,源IPv6地址范围小(前缀长)的规则优先;
(3) 如果协议范围、源IPv6地址范围相同,则比较目的IPv6地址范围,目的IPv6地址范围小(前缀长)的规则优先;
(4) 如果协议范围、源IPv6地址范围、目的IPv6地址范围相同,则比较四层端口号(TCP/UDP端口号)范围,四层端口号范围小的规则优先;
(5) 如果上述范围都相同,则先配置的规则优先。
在报文匹配规则时,会按照匹配顺序去匹配定义的规则,一旦有一条规则被匹配,报文就不再继续匹配其它规则了,设备将对该报文执行第一次匹配的规则指定的动作。
关于步长的介绍请参见“1.1.4 IPv4 ACL步长”。
关于生效时间段的介绍请参见“1.1.5 IPv4 ACL生效时间段”。
ACL作为一种规则,可以应用在诸多领域。其中最基本的应用就是利用ACL规则进行报文过滤,即通过使用不同类型的ACL规则,对相应类型的报文进行匹配过滤。具体配置过程请参见“4 应用ACL进行报文过滤”一节。
此外,通过与其它功能的配合,ACL还可应用于诸如路由、安全、QoS等领域,有关ACL在这些领域的具体应用,请参见相关的配置手册。
对时间段的配置有如下两种情况:
l 配置周期时间段:采用每周的周几的形式;
l 配置绝对时间段:采用从起始时间到结束时间的形式。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个时间段 |
time-range time-range-name { start-time to end-time days [ from time1 date1 ] [ to time2 date2 ] | from time1 date1 [ to time2 date2 ] | to time2 date2 } |
必选 |
显示时间段的配置和状态 |
display time-range { time-range-name | all } |
可选 display命令可以在任意视图下执行 |
需要注意的是:
l 如果用户通过命令time-range time-range-name start-time to end-time days定义了一个周期时间段,则只有系统时钟在该周期时间段内,该时间段才进入激活状态。
l 如果用户通过命令time-range time-range-name { from time1 date1 [ to time2 date2 ] | to time2 date2 }定义了一个绝对时间段,则只有系统时钟在该绝对时间段内,该时间段才进入激活状态。
l 如果用户通过命令time-range time-range-name start-time to end-time days { from time1 date1 [ to time2 date2 ] | to time2 date2 }同时定义了绝对时间段和周期时间段,则只有系统时钟同时满足绝对时间段和周期时间段的定义时,该时间段才进入激活状态。例如,一个时间段定义了绝对时间段:从2004年1月1日0点0分到2004年12月31日24点0分,同时定义了周期时间段:每周三的12:00到14:00。该时间段只有在2004年内每周三的12:00到14:00才进入激活状态。
l 在同一个名字下可以配置多个时间段,来共同描述一个特殊时间,通过名字来引用该时间。在同一个名字下配置的多个周期时间段之间是“或”的关系,多个绝对时间段之间是“或”的关系,而周期时间段和绝对时间段之间是“与”的关系。
l 如果不配置开始日期,时间段就是从系统可表示的最早时间(即1970年1月1日0点0分)起到结束日期为止。如果不配置结束日期,时间段就是从配置生效之日起到系统可以表示的最晚时间(即2100年12月31日24点0分)为止。
l 最多可以定义256个时间段。
基本IPv4 ACL只根据源IP地址信息制定匹配规则,对报文进行相应的分析处理。
基本IPv4 ACL的序号取值范围为2000~2999。
如果要配置带有时间段参数的规则,则需要定义相应的时间段。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建基本IPv4 ACL并进入基本IPv4 ACL视图 |
acl number acl-number [ name acl-name ] [ match-order { auto | config } ] |
必选 缺省情况下,匹配顺序为config 如果用户在创建IPv4 ACL时指定了名称,则之后可以通过acl name acl-name命令进入指定名称的IPv4 ACL视图 |
定义规则 |
rule [ rule-id ] { deny | permit } [ fragment | logging | source { sour-addr sour-wildcard | any } | time-range time-range-name ] * |
必选 可以重复本步骤创建多条规则 需要注意的是,当基本IPv4 ACL被QoS策略引用对报文进行流分类时,不支持配置logging参数 |
定义步长 |
step step-value |
可选 缺省情况下,步长为5 |
定义基本IPv4 ACL的描述信息 |
description text |
可选 缺省情况下,基本IPv4 ACL没有描述信息 |
定义规则的描述信息 |
rule rule-id comment text |
可选 缺省情况下,规则没有描述信息 |
需要注意的是:
l 当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 新创建或修改后的规则不能和已经存在的规则内容相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
l 用户可以通过命令acl number acl-number [ name acl-name ] match-order { auto | config }修改IPv4 ACL的匹配顺序为auto或者config,但必须在IPv4 ACL中没有规则的时候修改,对已经有规则的IPv4 ACL是无法修改其匹配顺序的。
l 在使用rule comment命令为规则定义描述信息时,该规则必须存在。
高级IPv4 ACL可以使用报文的源IP地址信息、目的IP地址信息、IP承载的协议类型、协议的特性(例如TCP或UDP的源端口、目的端口,TCP标记,ICMP协议的消息类型、消息码等)等信息来制定匹配规则。
高级IPv4 ACL支持对三种报文优先级的分析处理:
l ToS(Type of Service,服务类型)优先级;
l IP优先级;
l DSCP(Differentiated Services Codepoint,差分服务编码点)优先级。
用户可以利用高级IPv4 ACL定义比基本IPv4 ACL更准确、更丰富、更灵活的匹配规则。
高级IPv4 ACL的序号取值范围为3000~3999。
如果要配置带有时间段参数的规则,则需要定义相应的时间段。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建高级IPv4 ACL并进入高级IPv4 ACL视图 |
acl number acl-number [ name acl-name ] [ match-order { auto | config } ] |
必选 缺省情况下,匹配顺序为config 如果用户在创建IPv4 ACL时指定了名称,则之后可以通过acl name acl-name命令进入指定名称的IPv4 ACL视图 |
定义规则 |
rule [ rule-id ] { deny | permit } protocol [ { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | destination { dest-addr dest-wildcard | any } | destination-port operator port1 [ port2 ] | dscp dscp | fragment | icmp-type { icmp-type icmp-code | icmp-message } | logging | precedence precedence | reflective | source { sour-addr sour-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-range-name | tos tos ] * |
必选 可以重复本步骤创建多条规则 如果高级IPv4 ACL被QoS策略引用对报文进行流分类,需要注意的是: l 当QoS策略应用于入方向(inbound)时,不支持配置logging和reflective参数 l 当QoS策略应用于出方向(outbound)时,不支持配置logging、precedence、icmp-type、tos、ack、fin、rst、syn、psh、urg、reflective参数 |
定义步长 |
step step-value |
可选 缺省情况下,步长为5 |
定义高级IPv4 ACL的描述信息 |
description text |
可选 缺省情况下,高级IPv4 ACL没有描述信息 |
定义规则的描述信息 |
rule rule-id comment text |
可选 缺省情况下,规则没有描述信息 |
需要注意的是:
l 当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 新创建或修改后的规则不能和已经存在的规则内容相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
l 用户可以通过命令acl number acl-number [ name acl-name ] match-order { auto | config }修改IPv4 ACL的匹配顺序为auto或者config,但必须在IPv4 ACL中没有规则的时候修改,对已经有规则的IPv4 ACL是无法修改其匹配顺序的。
l 在使用rule comment命令为规则定义描述信息时,该规则必须存在。
二层ACL根据报文的源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息制定匹配规则,对报文进行相应的分析处理。
二层ACL的序号取值范围为4000~4999。
如果要配置带有时间段参数的规则,则需要定义相应的时间段。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建二层ACL并进入二层ACL视图 |
acl number acl-number [ name acl-name ] [ match-order { auto | config } ] |
必选 缺省情况下,匹配顺序为config 如果用户在创建IPv4 ACL时指定了名称,则之后可以通过acl name acl-name命令进入指定名称的IPv4 ACL视图 |
定义规则 |
rule [ rule-id ] { deny | permit } [ cos vlan-pri | dest-mac dest-addr dest-mask | lsap lsap-type lsap-type-mask | source-mac sour-addr source-mask | time-range time-range-name | type protocol-type protocol-type-mask ] * |
必选 需要注意的是,当二层ACL被QoS策略引用对报文进行流分类时,不支持配置lsap参数 |
定义步长 |
step step-value |
可选 缺省情况下,步长为5 |
定义二层ACL的描述信息 |
description text |
可选 缺省情况下,二层ACL没有描述信息 |
定义规则的描述信息 |
rule rule-id comment text |
可选 缺省情况下,规则没有描述信息 |
需要注意的是:
l 当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 新创建或修改后的规则不能和已经存在的规则内容相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
l 用户可以通过命令acl number acl-number [ name acl-name ] match-order { auto | config }修改IPv4 ACL的匹配顺序为auto或者config,但必须在IPv4 ACL中没有规则的时候修改,对已经有规则的IPv4 ACL是无法修改其匹配顺序的。
l 在使用rule comment命令为规则定义描述信息时,该规则必须存在。
拷贝IPv4 ACL功能使用户可以通过拷贝一个已经存在的IPv4 ACL,生成一个新的同类型的IPv4 ACL。生成的新的IPv4 ACL的匹配顺序、包含的匹配规则、步长以及描述信息都和源IPv4 ACL相同。
源IPv4 ACL必须存在,目的IPv4 ACL必须不存在。
表2-5 拷贝IPv4 ACL
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
拷贝生成一个新的同类型的IPv4 ACL |
acl copy { source-acl-number | name source-acl-name } to { dest-acl-number | name dest-acl-name } |
必选 |
l 源IPv4 ACL和目的IPv4 ACL的类型要相同。
l 源IPv4 ACL的名称不会拷贝到目的IPv4 ACL。
在完成上述配置后,在任意视图下执行display命令可以显示IPv4 ACL配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除IPv4 ACL统计信息。
表2-6 IPv4 ACL显示和维护
配置 |
命令 |
显示配置的IPv4 ACL信息 |
display acl { acl-number | all | name acl-name } |
显示设备ACL资源使用情况 |
display acl resource |
显示时间段的配置和状态 |
display time-range { time-range-name | all } |
清除IPv4 ACL统计信息 |
reset acl counter { acl-number | all | name acl-name } |
基本IPv6 ACL只根据源IPv6地址信息制定匹配规则,对报文进行相应的分析处理。
基本IPv6 ACL的序号取值范围为2000~2999。
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
创建基本IPv6 ACL并进入基本IPv6 ACL视图 |
acl ipv6 number acl6-number [ name acl6-name ] [ match-order { auto | config } ] |
必选 缺省情况下,匹配顺序为config 如果用户在创建IPv6 ACL时指定了名称,则之后可以通过acl ipv6 name acl6-name命令进入指定名称的IPv6 ACL视图 |
定义规则 |
rule [ rule-id ] { deny | permit } [ fragment | logging | source { ipv6-address prefix-length | ipv6-address/prefix-length | any } | time-range time-range-name ] * |
必选 可以重复本步骤创建多条规则 需要注意的是,当基本IPv6 ACL被QoS策略引用对报文进行流分类时,不支持配置logging参数 |
定义步长 |
step step-value |
可选 缺省情况下,步长为5 |
定义基本IPv6 ACL的描述信息 |
description text |
可选 缺省情况下,基本IPv6 ACL没有描述信息 |
定义规则的描述信息 |
rule rule-id comment text |
可选 缺省情况下,规则没有描述信息 |
需要注意的是:
l 当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 新创建或修改后的规则不能和已经存在的规则内容相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
l 用户可以通过命令acl ipv6 number acl6-number [ name acl6-name ] match-order { auto | config }修改IPv6 ACL的匹配顺序为auto或者config,但必须在IPv6 ACL中没有规则的时候修改,对已经有规则的IPv6 ACL是无法修改其匹配顺序的。
l 在使用rule comment命令为规则定义描述信息时,该规则必须存在。
高级IPv6 ACL可以使用报文的源IPv6地址信息、目的IPv6地址信息、IPv6承载的协议类型、协议的特性(例如TCP或UDP的源端口、目的端口,ICMP协议的消息类型、消息码等)等信息来制定匹配规则。
用户可以利用高级IPv6 ACL定义比基本IPv6 ACL更准确、更丰富、更灵活的规则。
高级IPv6 ACL的序号取值范围3000~3999。
如果要配置带有时间段参数的规则,则需要定义相应的时间段。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建高级IPv6 ACL并进入高级IPv6 ACL视图 |
acl ipv6 number acl6-number [ name acl6-name ] [ match-order { auto | config } ] |
必选 缺省情况下,匹配顺序为config 如果用户在创建IPv6 ACL时指定了名称,则之后可以通过acl ipv6 name acl6-name命令进入指定名称的IPv6 ACL视图 |
定义规则 |
rule [ rule-id ] { deny | permit } protocol [ { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | destination { dest dest-prefix | dest/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | fragment | icmpv6-type { icmpv6-type icmpv6-code | icmpv6-message } | logging | source { source source-prefix | source/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-range-name ] * |
必选 可以重复本步骤创建多条规则 如果高级IPv6 ACL被QoS策略引用对报文进行流分类,需要注意的是: l 当QoS策略应用于出/入方向(outbound/inbound)时,均不支持配置logging、ack、fin、psh、rst、syn、urg参数 l 另外,当QoS策略应用于出方向(outbound)时,不支持配置icmp6-type参数 |
定义步长 |
step step-value |
可选 缺省情况下,步长为5 |
定义高级IPv6 ACL的描述信息 |
description text |
可选 缺省情况下,高级IPv6 ACL没有描述信息 |
定义规则的描述信息 |
rule rule-id comment text |
可选 缺省情况下,规则没有描述信息 |
需要注意的是:
l 当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 新创建或修改后的规则不能和已经存在的规则内容相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
l 用户可以通过命令acl ipv6 number acl6-number [ name acl6-name ] match-order { auto | config }修改IPv6 ACL的匹配顺序为auto或者config,但必须在IPv6 ACL中没有规则的时候修改,对已经有规则的IPv6 ACL是无法修改其匹配顺序的。
l 在使用rule comment命令为规则定义描述信息时,该规则必须存在。
拷贝IPv6 ACL功能使用户可以通过拷贝一个已经存在的IPv6 ACL,生成一个新的同类型的IPv6 ACL。生成的新的IPv6 ACL的匹配顺序、包含的匹配规则、步长以及描述信息都和源IPv6 ACL相同。
源IPv6 ACL必须存在,目的IPv6 ACL必须不存在。
表3-3 拷贝IPv6 ACL
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
拷贝生成一个新的同类型的IPv6 ACL |
acl ipv6 copy { source-acl6-number | name source-acl6-name } to { dest-acl6-number | name dest-acl6-name } |
必选 |
l 源IPv6 ACL和目的IPv6 ACL的类型要相同。
l 源IPv6 ACL的名称不会拷贝到目的IPv6 ACL。
在完成上述配置后,在任意视图下执行display命令可以显示IPv6 ACL配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除IPv6 ACL统计信息。
表3-4 IPv6 ACL显示和维护
操作 |
命令 |
显示配置的IPv6 ACL信息 |
display acl ipv6 { acl6-number | all | name acl6-name } |
显示设备ACL资源使用情况 |
display acl resource |
显示时间段的配置和状态 |
display time-range { time-range-name | all } |
清除IPv6 ACL统计信息 |
reset acl ipv6 counter { acl6-number | all | name acl6-name } |
通过将配置好的不同类型的ACL规则应用到指定端口的入或出方向上,可以对该端口收到或发出的相应类型报文(包括IPv4报文和IPv6报文)进行过滤。
表4-1 配置对IPv4报文进行过滤
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
应用基本或高级IPv4 ACL对IPv4报文进行过滤 |
packet-filter { acl-number | name acl-name } { inbound | outbound } |
必选 缺省情况下,在端口上不对IPv4报文进行过滤 |
表4-2 配置对IPv6报文进行过滤
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入以太网端口视图 |
interface interface-type interface-number |
- |
应用基本或高级IPv6 ACL对IPv6报文进行过滤 |
packet-filter ipv6 { acl6-number | name acl6-name } { inbound | outbound } |
必选 缺省情况下,在端口上不对IPv6报文进行过滤 |
要求通过在Device A的端口GigabitEthernet1/0/1上配置报文过滤功能,实现在每天的8:00~18:00时间段对来自Host A的IPv4报文进行过滤。
图4-1 应用ACL进行报文过滤典型配置组网图
# 配置时间段study,在每天的8:00到18:00生效。
<DeviceA> system-view
[DeviceA] time-range study 8:00 to 18:00 daily
# 创建基本IPv4 ACL 2009。
[DeviceA] acl number 2009
# 定义一个规则,禁止源IP地址为192.168.1.2/32的报文通过。
[DeviceA-acl-basic-2009] rule deny source 192.168.1.2 0 time-range study
[DeviceA-acl-basic-2009] quit
# 应用基本IPv4 ACL 2009对端口GigabitEthernet1/0/1收到的IPv4报文进行过滤。
[DeviceA] interface gigabitethernet 1/0/1
[DeviceA-GigabitEthernet1/0/1] packet-filter 2009 inbound
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!