01-ACL命令
本章节下载: 01-ACL命令 (533.58 KB)
目 录
1.1.3 acl (configuration profile view)
1.1.9 rule (configuration profile IPv4 advanced ACL view)
1.1.10 rule (configuration profile IPv4 basic ACL view)
1.1.11 rule (configuration profile Layer 2 ACL view)
1.1.12 rule (IPv4 advanced ACL view)
1.1.13 rule (IPv4 basic ACL view)
1.1.14 rule (IPv6 advanced ACL view)
1.1.15 rule (IPv6 basic ACL view)
1.1.16 rule (Layer 2 ACL view)
1.1.17 rule (user-defined ACL view)
1.1.18 rule (WLAN AP ACL view)
accelerate命令用来开启ACL规则的加速匹配功能。
undo accelerate命令用来恢复缺省情况。
【命令】
accelerate
undo accelerate
【缺省情况】
ACL规则的加速匹配功能处于关闭状态。
【视图】
IPv4基本ACL视图/IPv4高级ACL视图
IPv6基本ACL视图/IPv6高级ACL视图
二层ACL视图
用户自定义ACL视图
【缺省用户角色】
network-admin
【使用指导】
设备上存在大量ACL规则时,执行undo accelerate命令可能会导致设备CPU占用率达到门限,影响正常业务处理。
只有系统ACL资源充足时加速匹配功能才会生效。
只有ACL中的所有规则都支持加速匹配时,执行本命令才能成功开启该ACL的加速匹配功能。
成功开启本功能后,再去修改或添加新的规则时,可能会由于ACL资源不足或新增规则不支持加速导致ACL加速匹配失败。
当设备支持软件加速,并开启本功能后,添加、删除和修改规则时,并不会立即加速,而是延迟一定时间后加速。如果在该时间内,规则又发生变化,则重新计时。当ACL中的规则小于等于100条时,此时间为2秒;当ACL中的规则大于100条时,此时间为20秒。
【举例】
# 开启ACL 2000的加速匹配功能。
<Sysname> system-view
[Sysname] acl basic 2000
[Sysname-acl-ipv4-basic-2000] accelerate
【相关命令】
· display acl accelerate
acl命令用来创建ACL,并进入ACL视图。如果指定的ACL已存在,则直接进入ACL视图。
undo acl命令用来删除指定或全部ACL。
【命令】
命令形式一
acl [ ipv6 ] number acl-number [ name acl-name ] [ match-order { auto | config } ]
undo acl [ ipv6 ] number acl-number
命令形式二
acl [ ipv6 ] { advanced | basic } { acl-number | name acl-name } [ match-order { auto | config } ]
acl mac { acl-number | name acl-name } [ match-order { auto | config } ]
acl user-defined { acl-number | name acl-name }
undo acl [ ipv6 ] { all | { advanced | basic } { acl-number | name acl-name } }
undo acl mac { all | acl-number | name acl-name }
undo acl user-defined { all | acl-number | name acl-name }
命令形式三
acl wlan ap { acl-number | name acl-name }
undo acl wlan { all | ap { acl-number | name acl-name } }
【缺省情况】
不存在ACL。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
ipv6:指定ACL类型为IPv6 ACL。如果未指定本参数,则表示IPv4 ACL。
basic:指定创建基本ACL。
advanced:指定创建高级ACL。
mac:指定创建二层ACL。
user-defined:指定创建用户自定义ACL。
wlan ap:指定创建无线接入点ACL。
number acl-number:指定ACL的编号。
acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:
· 200~299:表示无线接入点ACL。
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层ACL。
· 5000~5999:表示用户自定义ACL。
name acl-name:指定ACL的名称。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。
match-order { auto | config }:指定规则的匹配顺序,auto表示按照自动排序(即“深度优先”原则)的顺序进行规则匹配,config表示按照配置顺序进行规则匹配。缺省情况下,规则的匹配顺序为配置顺序。用户自定义ACL不支持本参数,其规则匹配顺序只能为配置顺序。
all:指定类型中全部ACL。
【使用指导】
通过编号创建的ACL,可以通过如下命令进入其视图:
· acl [ ipv6 ] number acl-number;
· acl { [ ipv6 ] { advanced | basic } | mac | user-defined } acl-number。
通过acl [ ipv6 ] number acl-number name acl-name命令指定名称创建的ACL,可以使用如下命令进入其视图:
· acl [ ipv6 ] number acl-number [ name acl-name ];
· acl { [ ipv6 ] { advanced | basic } | mac | user-defined } acl-number;
· acl { [ ipv6 ] { advanced | basic } | mac | user-defined } name acl-name。
通过acl { [ ipv6 ] { advanced | basic } | mac | user-defined } name acl-name命令指定名称创建的ACL,只能通过acl { [ ipv6 ] { advanced | basic } | mac | user-defined } name acl-name命令进入其视图。
对于基本或高级ACL,如果未指定ipv6参数,则表示IPv4 ACL。
当ACL内不存在任何规则时,用户可以使用本命令对该ACL的规则匹配顺序进行修改,否则不允许进行修改。
【举例】
# 创建一个编号为2000的IPv4基本ACL,并进入其视图。
[Sysname] acl basic 2000
[Sysname-acl-ipv4-basic-2000]
# 创建一个IPv4基本ACL,指定其名称为flow,并进入其视图。
<Sysname> system-view
[Sysname] acl basic name flow
[Sysname-acl-ipv4-basic-flow]
# 创建一个编号为3000的IPv4高级ACL,并进入其视图。
<Sysname> system-view
[Sysname] acl advanced 3000
[Sysname-acl-ipv4-adv-3000]
# 创建一个编号为2000的IPv6基本ACL,并进入其视图。
<Sysname> system-view
[Sysname] acl ipv6 basic 2000
[Sysname-acl-ipv6-basic-2000]
# 创建一个IPv6基本ACL,其名称为flow,并进入其视图。
<Sysname> system-view
[Sysname] acl ipv6 basic name flow
[Sysname-acl-ipv6-basic-flow]
# 创建一个IPv6高级ACL,其名称为abc,并进入其视图。
<Sysname> system-view
[Sysname] acl ipv6 advanced name abc
[Sysname-acl-ipv6-adv-abc]
# 创建一个编号为4000的二层ACL,并进入其视图。
<Sysname> system-view
[Sysname] acl mac 4000
[Sysname-acl-mac-4000]
# 创建一个二层ACL,其名称为flow,并进入其视图。
<Sysname> system-view
[Sysname] acl mac name flow
[Sysname-acl-mac-flow]
# 创建一个编号为5000的用户自定义ACL,并进入其视图。
<Sysname> system-view
[Sysname] acl user-defined 5000
[Sysname-acl-user-5000]
# 创建一个用户自定义ACL,其名称为flow,并进入其视图。
<Sysname> system-view
[Sysname] acl user-defined name flow
[Sysname-acl-user-flow]
【相关命令】
· display acl
acl命令用来在配置模板中创建ACL,并进入ACL视图。如果指定的ACL已存在,则直接进入ACL视图。
undo acl命令用来删除配置模板中的ACL。
【命令】
形式一:
acl number acl-number [ name acl-name ]
undo acl number acl-number
形式二:
acl { advanced | basic } { acl-number | name acl-name }
undo acl { all | { advanced | basic } { acl-number | name acl-name } }
形式三:
acl mac { acl-number | name acl-name }
undo acl mac { all | acl-number | name acl-name }
【缺省情况】
配置模板中不存在ACL。
【视图】
配置模板视图
【缺省用户角色】
network-admin
【参数】
name acl-name:指定ACL的名称。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。
number acl-number:指定ACL的编号。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层ACL。
all:表示删除指定类型中所有ACL。
advanced:指定创建高级ACL。
basic:指定创建基本ACL。
mac:指定创建二层ACL。
【使用指导】
网络管理员在AC设备上创建配置模板,并在配置模板视图下配置待下发的ACL配置,然后将AP与此配置模板关联。当AP通过此AC上线时,就能实现由AC向与配置模板关联的所有AP批量下发ACL配置的目的。关于配置模板的详细介绍,请参见“基础配置指导”中的“配置文件管理”。
【举例】
# 创建名称为ap1的配置模板,并在该配置模板下创建一个编号为2000的IPv4基本ACL,并进入其视图。
<Sysname> system-view
[Sysname] configuration profile ap1 model WA6320
[Sysname-config-profile-ap1] acl basic 2000
[Sysname-config-profile-ap1-acl-ipv4-basic-2000]
【相关命令】
· display acl
acl copy命令用来复制并生成一个新的ACL。
【命令】
acl [ ipv6 | mac | user-defined ] copy { source-acl-number | name source-acl-name } to { dest-acl-number | name dest-acl-name }
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
ipv6:指定ACL类型为IPv6 ACL。
mac:指定ACL类型为二层ACL。
user-defined:指定ACL类型为用户自定义ACL。
source-acl-number:指定源ACL的编号,该ACL必须存在。本参数的取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层ACL。
· 5000~5999:表示用户自定义ACL。
name source-acl-name:指定源ACL的名称,该ACL必须存在。source-acl-name为1~63个字符的字符串,不区分大小写。
dest-acl-number:指定目的ACL的编号,该ACL必须不存在。本参数的取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层ACL。
· 5000~5999:表示用户自定义ACL。
name dest-acl-name:指定目的ACL的名称,该ACL必须不存在。dest-acl-name为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。
【使用指导】
目的ACL的类型要与源ACL的类型相同。
除了ACL的编号或名称不同外,新生成的ACL(即目的ACL)的匹配顺序、规则匹配软件统计功能的开启情况、规则编号的步长、所包含的规则、规则的描述信息以及ACL的描述信息等都与源ACL的相同。
对于基本或高级ACL,如果未指定ipv6参数,则表示IPv4 ACL。
【举例】
# 通过复制已存在的IPv4基本ACL 2001,来生成一个新的编号为2002的同类型ACL。
<Sysname> system-view
[Sysname] acl copy 2001 to 2002
# 通过复制已存在的IPv4基本ACL test,来生成名为paste的同类型ACL。
<Sysname> system-view
[Sysname] acl copy name test to name paste
description命令用来配置ACL的描述信息。
undo description命令用来删除ACL的描述信息。
【命令】
description text
undo description
【缺省情况】
ACL没有任何描述信息。
【视图】
IPv4基本ACL视图/IPv4高级ACL视图
IPv6基本ACL视图/IPv6高级ACL视图
二层ACL视图
用户自定义ACL视图
无线接入点ACL视图
【缺省用户角色】
network-admin
【参数】
text:表示ACL的描述信息,为1~127个字符的字符串,区分大小写。
【举例】
<Sysname> system-view
[Sysname] acl basic 2000
[Sysname-acl-ipv4-basic-2000] description This is an IPv4 basic ACL.
【相关命令】
· display acl
display acl命令用来显示ACL的配置和运行情况。
【命令】
display acl [ ipv6 | mac | user-defined | wlan ] { acl-number | all | name acl-name }
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
ipv6:指定ACL类型为IPv6 ACL。
mac:指定ACL类型为二层ACL。
user-defined:指定ACL类型为用户自定义ACL。
wlan:指定ACL类型为无线ACL。
acl-number:显示指定编号的ACL的配置和运行情况。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:
· 200~299:表示无线接入点ACL。
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层ACL。
· 5000~5999:表示用户自定义ACL。
all:显示指定类型中全部ACL的配置和运行情况。
name acl-name:显示指定名称的ACL的配置和运行情况。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。
【使用指导】
本命令将按照实际匹配顺序来排列ACL内的规则,即:当ACL的规则匹配顺序为配置顺序时,各规则将按照编号由小到大排列;当ACL的规则匹配顺序为自动排序时,各规则将按照“深度优先”原则由深到浅排列。
对于基本或高级ACL,如果未指定ipv6参数,则表示IPv4 ACL。
【举例】
# 显示IPv4基本ACL 2001的配置和运行情况。
<Sysname> display acl 2001
Basic IPv4 ACL 2001 named test, 2 rules, match-order is auto,
This is an IPv4 basic ACL.
ACL's step is 5, start ID is 0
rule 5 permit source 1.1.1.1 0
rule 5 comment This rule is used on GigabitEthernet1/0/1.
rule 10 deny source 10.0.0.101 0 counting time-range a3 (Active)
# 显示IPv4高级ACL 3001的配置和运行情况。
<Sysname> display acl 3001
Advanced IPv4 ACL 3001, 2 rules
ACL's step is 5, start ID is 0
rule 0 permit tcp
rule 5 permit ip source 10.0.0.100 0 (2854 times matched)
# 显示动态IPv4高级ACL acl1_L4_IN的配置和运行情况。
<Sysname> display acl name acl1_L4_IN
Advanced IPv4 ACL named acl1_L4_IN, 1 rule,
This is a dynamic advanced IPv4 ACL.
ACL's step is 5, start ID is 0
rule 0 permit ip source 1.1.1.1 0 (Dynamic)
表1-1 display acl命令显示信息描述表
|
字段 |
描述 |
|
Basic IPv4 ACL 2001 named test |
该ACL的类型、编号和名称 |
|
2 rules |
该ACL内包含的规则数量 |
|
match-order is auto |
该ACL的规则匹配顺序为自动排序(匹配顺序为配置顺序时不显示本字段) |
|
This is an IPv4 basic ACL. |
该ACL的描述信息 |
|
ACL's step is 5 |
该ACL的规则编号的步长值为5 |
|
start ID is 0 |
该ACL的规则编号的起始值为0 |
|
rule 5 permit source 1.1.1.1 0 |
规则5的具体内容,源地址为具体地址 |
|
rule 5 comment This rule is used on GigabitEthernet1/0/1. |
规则5的描述信息 |
|
Active |
引用时间段的规则处于生效状态 |
|
Inactive |
引用时间段的规则处于未生效状态 |
|
2854 times matched |
该规则的匹配次数 |
|
Dynamic |
该规则由AAA等应用模块动态添加 该类型ACL及其规则仅支持通过应用模块增加、修改和删除,并通过display acl命令查看,不支持通过命令行配置 |
display acl accelerate命令用来显示ACL的加速状态。
【命令】
display acl accelerate { summary [ ipv6 | mac | user-defined ] | verbose [ ipv6 | mac | user-defined ] { acl-number | name acl-name } slot slot-number }
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
summary:显示ACL加速的概要信息。
verbose:显示ACL加速的详细信息。
ipv6:显示IPv6 ACL的加速状态。
mac:显示二层ACL的加速状态。
user-defined:显示用户自定义ACL的加速状态。
acl-number:显示指定编号的ACL的加速状态。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层ACL。
· 5000~5999:表示用户自定义ACL。
name acl-name:显示指定名称的ACL的加速状态。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。
slot slot-number:显示指定成员设备的ACL加速信息,该设备必须为加速芯片所在成员设备,slot-number表示设备在云集群中的成员编号。
【使用指导】
指定verbose关键字时,将会显示成功开启加速匹配功能的ACL及其中已配置的规则,但对于未开启或未成功开启加速匹配功能的ACL,将不会显示出来。
【举例】
# 显示加速概要信息。
<Sysname> display acl accelerate summary
Basic IPv4 ACL 2000.
reset acl counter命令用来清除ACL的统计信息。
【命令】
reset acl [ ipv6 | mac | user-defined ] counter { acl-number | all | name acl-name }
【视图】
用户视图
【缺省用户角色】
network-admin
【参数】
ipv6:指定ACL类型为IPv6 ACL。
mac:指定ACL类型为二层ACL。
user-defined:指定ACL类型为用户自定义ACL。
acl-number:清除指定编号ACL的统计信息。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层ACL。
· 5000~5999:表示用户自定义ACL。
all:清除指定类型中全部ACL的统计信息。
name acl-name:清除指定名称ACL的统计信息。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。
【使用指导】
对于基本或高级ACL,如果未指定ipv6参数,则表示IPv4 ACL。
【举例】
# 清除IPv4基本ACL 2001的统计信息。
<Sysname> reset acl counter 2001
【相关命令】
· display acl
rule命令用来为IPv4高级ACL创建一条规则。
undo rule命令用来为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 } * | established } | counting | destination { object-group address-group-name | dest-address dest-wildcard | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | { dscp dscp1 [ to dscp2 ] | { precedence precedence | tos tos } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | logging | source { object-group address-group-name | source-address source-wildcard | any } | source-port { object-group port-group-name | operator port1 [ port2 ] } | time-range time-range-name ] *
undo rule rule-id [ { { ack | fin | psh | rst | syn | urg } * | established } | counting | destination | destination-port | { dscp | { precedence | tos } * } | fragment | icmp-type | logging | source | source-port | time-range ] *
undo rule [ rule-id ] { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { object-group address-group-name | dest-address dest-wildcard | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | { dscp dscp1 [ to dscp2 ] | { precedence precedence | tos tos } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | logging | source { object-group address-group-name | source-address source-wildcard | any } | source-port { object-group port-group-name | operator port1 [ port2 ] } | time-range time-range-name ] *
【缺省情况】
IPv4高级ACL内不存在任何规则。
【视图】
配置模板—IPv4高级ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定IPv4高级ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
protocol:表示IPv4承载的协议类型,可输入的形式如下:
· 数字:取值范围为0~255;
· 名称(括号内为对应的数字):可选取gre(47)、icmp(1)、igmp(2)、ip、ipinip(4)、ospf(89)、tcp(6)或udp(17)。ip表示所有协议类型。
protocol之后可配置如表1-6所示的规则信息参数。
表1-2 规则信息参数
|
参数 |
类别 |
作用 |
说明 |
|
source { object-group address-group-name | source-address source-wildcard | any } |
源地址信息 |
指定ACL规则的源地址信息 |
address-group-name:源地址对象组的名称 source-address:源IP地址 source-wildcard:源IP地址的通配符掩码(为0表示主机地址) any:任意源IP地址 |
|
destination { object-group address-group-name | dest-address dest-wildcard | any } |
目的地址信息 |
指定ACL规则的目的地址信息 |
address-group-name:目的地址对象组的名称 dest-address:目的IP地址 dest-wildcard:目的IP地址的通配符掩码(为0表示主机地址) any:任意目的IP地址 |
|
counting |
统计 |
开启规则匹配软件统计功能,缺省为关闭 |
本参数用于开启本规则的匹配统计功能,而packet-filter命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能 |
|
precedence precedence |
报文优先级 |
指定IP优先级 |
precedence用数字表示时,取值范围为0~7;用字符表示时,分别对应routine、priority、immediate、flash、flash-override、critical、internet、network |
|
tos tos |
报文优先级 |
指定ToS优先级 |
tos用数字表示时,取值范围为0~15;用字符表示时,可以选取max-reliability(2)、max-throughput(4)、min-delay(8)、min-monetary-cost(1)、normal(0) |
|
dscp dscp1 [ to dscp2 ] |
报文优先级 |
指定DSCP优先级 |
dscp用数字表示时,取值范围为0~63;用字符表示时,可以选取af11(10)、af12(12)、af13(14)、af21(18)、af22(20)、af23(22)、af31(26)、af32(28)、af33(30)、af41(34)、af42(36)、af43(38)、cs1(8)、cs2(16)、cs3(24)、cs4(32)、cs5(40)、cs6(48)、cs7(56)、default(0)、ef(46)。to用来表示DSCP优先级的范围,dscp2的值要大于等于dscp1的值 |
|
fragment |
分片信息 |
仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效 |
若未指定该参数,则表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效 |
|
logging |
日志操作 |
表示记录规则匹配报文的日志信息,包括匹配报文的规则和匹配报文的个数 |
该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤 |
|
time-range time-range-name |
时间段 |
指定本规则生效的时间段 |
time-range-name:时间段的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“安全配置指导”中的“时间段” |
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-3所示的规则信息参数。
表1-3 TCP/UDP特有的规则信息参数
|
参数 |
类别 |
作用 |
说明 |
|
source-port { object-group port-group-name | operator port1 [ port2 ] } |
源端口 |
定义TCP/UDP报文的源端口信息 |
port-group-name:端口对象组的名称 operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。只有操作符range需要两个端口号做操作数,其它的只需要一个端口号做操作数 port1、port2:TCP或UDP的端口号,用数字表示时,取值范围为0~65535;用字符表示时,TCP端口号可以选取chargen(19)、bgp(179)、cmd(514)、daytime(13)、discard(9)、dns(53)、domain(53)、echo (7)、exec (512)、finger(79)、ftp(21)、ftp-data(20)、gopher(70)、hostname(101)、irc(194)、klogin(543)、kshell(544)、login(513)、lpd(515)、nntp(119)、pop2(109)、pop3(110)、smtp(25)、sunrpc(111)、tacacs(49)、talk(517)、telnet(23)、time(37)、uucp(540)、whois(43)、www(80);UDP端口号可以选取biff(512)、bootpc(68)、bootps(67)、discard(9)、dns(53)、dnsix(90)、echo (7)、mobilip-ag(434)、mobilip-mn(435)、nameserver(42)、netbios-dgm(138)、netbios-ns(137)、netbios-ssn(139)、ntp(123)、rip(520)、snmp(161)、snmptrap(162)、sunrpc(111)、syslog(514)、tacacs-ds(65)、talk(517)、tftp(69)、time(37)、who(513)、xdmcp(177) |
|
destination-port { object-group port-group-name | operator port1 [ port2 ] } |
目的端口 |
定义TCP/UDP报文的目的端口信息 |
|
|
{ ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * |
TCP报文标识 |
定义对携带不同标志位(包括ACK、FIN、PSH、RST、SYN和URG六种)的TCP报文的处理规则 |
TCP协议特有的参数。表示匹配携带不同标志位的TCP报文,各value的取值可为0或1(0表示不携带此标志位,1表示携带此标志位) 对于一条规则中各标志位的配置组合,不同产品的处理方式(“与”或“或”)不同,请以设备的实际情况为准。譬如:当配置为ack 0 psh 1时,有些产品将匹配不携带ACK标志位且携带PSH标志位的TCP报文,而有些产品则匹配不携带ACK或携带PSH标志位的TCP报文 |
|
established |
TCP连接建立标识 |
定义对TCP连接报文的处理规则 |
TCP协议特有的参数。 对于路由器,表示匹配携带ACK或RST标志位的TCP连接报文 对于交换机,请以各产品实际情况为准 |
当protocol为icmp(1)时,用户还可配置如表1-4所示的规则信息参数。
表1-4 ICMP特有的规则信息参数
|
参数 |
类别 |
作用 |
说明 |
|
icmp-type { icmp-type icmp-code | icmp-message } |
ICMP报文的消息类型和消息码信息 |
指定本规则中ICMP报文的消息类型和消息码信息 |
icmp-type:ICMP消息类型,取值范围为0~255 icmp-code:ICMP消息码,取值范围为0~255 icmp-message:ICMP消息名称。可以输入的ICMP消息名称,及其与消息类型和消息码的对应关系如表1-5所示 |
表1-5 ICMP消息名称与消息类型和消息码的对应关系
|
ICMP消息名称 |
ICMP消息类型 |
ICMP消息码 |
|
echo |
8 |
0 |
|
echo-reply |
0 |
0 |
|
fragmentneed-DFset |
3 |
4 |
|
host-redirect |
5 |
1 |
|
host-tos-redirect |
5 |
3 |
|
host-unreachable |
3 |
1 |
|
information-reply |
16 |
0 |
|
information-request |
15 |
0 |
|
net-redirect |
5 |
0 |
|
net-tos-redirect |
5 |
2 |
|
net-unreachable |
3 |
0 |
|
parameter-problem |
12 |
0 |
|
port-unreachable |
3 |
3 |
|
protocol-unreachable |
3 |
2 |
|
reassembly-timeout |
11 |
1 |
|
source-quench |
4 |
0 |
|
source-route-failed |
3 |
5 |
|
timestamp-reply |
14 |
0 |
|
timestamp-request |
13 |
0 |
|
ttl-exceeded |
11 |
0 |
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
创建的规则若与动态规则的内容完全相同,则会覆盖已有动态规则。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
新创建或修改的规则若指定对象组,则该对象组必须存在,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl all命令可以查看所有已存在的IPv4高级ACL规则和IPv4基本ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule [ rule-id ] { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
【举例】
# 创建名称为ap1的配置模板,并在该配置模板下IPv4高级ACL 3001创建规则如下:允许IP报文通过,但拒绝发往192.168.1.0/24网段的ICMP报文通过。
<Sysname> system-view
[Sysname] configuration profile ap1 model WA6320
[Sysname-config-profile-ap1] acl advanced 3001
[Sysname-config-profile-ap1-acl-ipv4-adv-3001] rule deny icmp destination 192.168.1.0 0.0.0.255
[Sysname-config-profile-ap1-acl-ipv4-adv-3001] rule permit ip
【相关命令】
· display acl
· step
rule命令用来为IPv4基本ACL创建一条规则。
undo rule命令用来为IPv4基本ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } [ counting | fragment | logging | source { object-group address-group-name | source-address source-wildcard | any } | time-range time-range-name ] *
undo rule rule-id [ counting | fragment | logging | source | time-range ] *
undo rule [ rule-id ] { deny | permit } [ counting | fragment | logging | source { object-group address-group-name | source-address source-wildcard | any } | time-range time-range-name ] *
【缺省情况】
IPv4基本ACL内不存在任何规则。
【视图】
配置模板—IPv4基本ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定IPv4基本ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
counting:表示开启规则匹配软件统计功能,缺省为关闭。
fragment:表示仅对非首片分片报文有效,而对非分片报文和首片分片报文无效。若未指定本参数,表示该规则对非分片报文和分片报文均有效。
logging:表示记录规则匹配报文的日志信息,包括匹配报文的规则和匹配报文的个数。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。
source { object-group address-group-name | source-address source-wildcard | any }:指定规则的源IP地址信息。address-group-name表示源IP地址对象组的名称,source-address表示报文的源IP地址,source-wildcard表示源IP地址的通配符掩码(为0表示主机地址),any表示任意源IP地址。
time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“安全配置指导”中的“时间段”。
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
新创建或修改的规则若指定对象组,则该对象组必须存在,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl all命令可以查看所有已存在的IPv4高级ACL规则和IPv4基本ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule [ rule-id ] { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
counting关键字用于开启本规则的匹配统计功能,而packet-filter命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能。
【举例】
# 创建名称为ap1的配置模板,并在该配置模板下IPv4基本ACL 2000创建规则如下:仅允许来自10.0.0.0/8、172.17.0.0/16和192.168.1.0/24网段的报文通过,而拒绝来自所有其它网段的报文通过。
<Sysname> system-view
[Sysname] configuration profile ap1 WA6320
[Sysname-config-profile-ap1] acl basic 2000
[Sysname-config-profile-ap1-acl-ipv4-basic-2000] rule permit source 10.0.0.0 0.255.255.255
[Sysname-config-profile-ap1-acl-ipv4-basic-2000] rule permit source 172.17.0.0 0.0.255.255
[Sysname-config-profile-ap1-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Sysname-config-profile-ap1-acl-ipv4-basic-2000] rule deny source any
【相关命令】
· acl logging interval
· display acl
· step
rule命令用来为二层ACL创建一条规则。
undo rule命令用来为二层ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } [ cos dot1p | counting | dest-mac dest-address dest-mask | { lsap lsap-type lsap-type-mask | type protocol-type protocol-type-mask } | source-mac source-address source-mask | time-range time-range-name ] *
undo rule rule-id [ counting | time-range ] *
undo rule [ rule-id ] { deny | permit } [ cos dot1p | counting | dest-mac dest-address dest-mask | { lsap lsap-type lsap-type-mask | type protocol-type protocol-type-mask } | source-mac source-address source-mask | time-range time-range-name ] *
【缺省情况】
二层ACL内不存在任何规则。
【视图】
配置模板—二层ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定二层ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
cos dot1p:指定802.1p优先级。dot1p表示802.1p优先级,可输入的形式如下:
· 数字:取值范围为0~7;
· 名称:best-effort、background、spare、excellent-effort、controlled-load、video、voice和network-management,依次对应于数字0~7。
counting:表示开启规则匹配软件统计功能,缺省为关闭。
dest-mac dest-address dest-mask:指定目的MAC地址范围。dest-address表示目的MAC地址,格式为H-H-H。dest-mask表示目的MAC地址的掩码,格式为H-H-H。
lsap lsap-type lsap-type-mask:指定LLC封装中的DSAP字段和SSAP字段。lsap-type表示数据帧的封装格式,取值范围为十六进制数0~ffff。lsap-type-mask表示LSAP的类型掩码,用于指定屏蔽位,取值范围为十六进制数0~ffff。
type protocol-type protocol-type-mask:指定链路层协议类型。protocol-type表示数据帧类型,对应Ethernet_II类型和Ethernet_SNAP类型帧中的type域,取值范围为十六进制数0~ffff。protocol-type-mask表示类型掩码,用于指定屏蔽位,取值范围为十六进制数0~ffff。
source-mac source-address source-mask:指定源MAC地址范围。source-address表示源MAC地址,格式为H-H-H。source-mask表示源MAC地址的掩码,格式为H-H-H。
time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“安全配置指导”中的“时间段”。
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl mac all命令可以查看所有已存在的二层ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule [ rule-id ] { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
counting关键字用于开启本规则的匹配统计功能,而packet-filter命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能。
【举例】
# 创建名称为ap1的配置模板,并在该配置模板下的二层ACL 4000创建规则如下:允许ARP报文通过,但拒绝RARP报文通过。
<Sysname> system-view
[Sysname] configuration profile ap1 model WA6320
[Sysname-config-profile-ap1] acl mac 4000
[Sysname-config-profile-ap1-acl-mac-4000] rule permit type 0806 ffff
[Sysname-config-profile-ap1-acl-mac-4000] rule deny type 8035 ffff
【相关命令】
· display acl
· step
rule命令用来为IPv4高级ACL创建一条规则。
undo rule命令用来为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 } * | established } | counting | destination { object-group address-group-name | dest-address dest-wildcard | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | { { precedence precedence | tos tos } * | dscp dscp } | fragment| icmp-type { icmp-type [ icmp-code ] | icmp-message } | source { object-group address-group-name | source-address source-wildcard | any } | source-port { object-group port-group-name | operator port1 [ port2 ] } | time-range time-range-name ] *
undo rule rule-id [ { { ack | fin | psh | rst | syn | urg } * | established } | counting | destination | destination-port | { { precedence | tos } * | dscp } | fragment | icmp-type | inner-destination | inner-destination-port | { { inner-ack | inner-fin | inner-psh | inner-rst | inner-syn | inner-urg } * | inner-established } | inner-source | inner-source-port | { { inner-dscp | inner-ecn } * | { inner-ecn | inner-precedence } * | { inner-precedence | inner-tos } * } | [ flow-logging | logging ] | source | source-port | time-range ] *
undo rule { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { object-group address-group-name | dest-address dest-wildcard | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | { { precedence | tos } * | dscp dscp } | fragment| icmp-type { icmp-type [ icmp-code ] | icmp-message } | source { object-group address-group-name | source-address source-wildcard | any } | source-port { object-group port-group-name |operator port1 [ port2 ] } | time-range time-range-name ] *
【缺省情况】
IPv4高级ACL内不存在任何规则。
【视图】
IPv4高级ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定IPv4高级ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
protocol:表示IPv4承载的协议类型,可输入的形式如下:
· 数字:取值范围为0~255;
· 名称(括号内为对应的数字):可选取gre(47)、icmp(1)、igmp(2)、ip、ipinip(4)、ospf(89)、tcp(6)或udp(17)。ip表示所有协议类型。
protocol之后可配置如表1-6所示的规则信息参数。
|
参数 |
类别 |
作用 |
说明 |
|
source { object-group address-group-name | source-address source-wildcard | any } |
源地址信息 |
指定ACL规则的源地址信息 |
address-group-name:源地址对象组的名称 source-address:源IP地址 source-wildcard:源IP地址的通配符掩码(为0表示主机地址) any:任意源IP地址 |
|
destination { object-group address-group-name | dest-address dest-wildcard | any } |
目的地址信息 |
指定ACL规则的目的地址信息 |
address-group-name:目的地址对象组的名称 dest-address:目的IP地址 dest-wildcard:目的IP地址的通配符掩码(为0表示主机地址) any:任意目的IP地址 |
|
counting |
统计 |
开启规则匹配软件统计功能,缺省为关闭 |
本参数用于开启本规则的匹配统计功能 |
|
precedence precedence |
报文优先级 |
指定IP优先级 |
precedence用数字表示时,取值范围为0~7;用字符表示时,分别对应routine、priority、immediate、flash、flash-override、critical、internet、network |
|
tos tos |
报文优先级 |
指定ToS优先级 |
tos用数字表示时,取值范围为0~15;用字符表示时,可以选取max-reliability(2)、max-throughput(4)、min-delay(8)、min-monetary-cost(1)、normal(0) |
|
dscp dscp |
报文优先级 |
指定DSCP优先级 |
dscp用数字表示时,取值范围为0~63;用文符表示时,可以选取af11(10)、af12(12)、af13(14)、af21(18)、af22(20)、af23(22)、af31(26)、af32(28)、af33(30)、af41(34)、af42(36)、af43(38)、cs1(8)、cs2(16)、cs3(24)、cs4(32)、cs5(40)、cs6(48)、cs7(56)、default(0)、ef(46) |
|
fragment |
分片信息 |
仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效 |
若未指定任何分片相关的参数,则表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效 |
|
flow-logging |
流日志操作 |
记录规则匹配报文的流日志信息,包括匹配报文的规则、匹配报文的个数、源IP、目的IP、源端口号和目的端口号 |
该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤 |
|
time-range time-range-name |
时间段 |
指定本规则生效的时间段 |
time-range-name:时间段的名称,为1~63个字符的字符串,不区分大小写。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“安全配置指导”中的“时间段” |
|
source-user-group source-group-name |
源用户组 |
匹配特定源用户组的用户报文 |
source-group-name:用户组名称,为1~32个字符的字符串,不区分大小写。有关用户组的详细介绍和具体配置过程,请参见“用户接入与认证配置指导”中的“AAA” 本参数应用在报文出接口或入接口上,用于匹配从该用户组中的用户发出的报文 本参数仅在QoS策略、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP和Portal上线的用户生效 |
|
source-user-group-any |
任意源用户组 |
匹配任意源用户组的报文 |
本参数仅在MQC、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP和Portal上线的用户生效 |
|
destination-user-group destination-group-name |
目的用户组 |
匹配特定目的用户组的用户报文 |
destination-group-name:用户组名称,为1~32个字符的字符串,不区分大小写。有关用户组的详细介绍和具体配置过程,请参见“用户接入与认证配置指导”中的“AAA” 本参数应用在报文出接口或入接口上,用于匹配发往该用户组中的用户报文 本参数仅在QoS策略、packet-filter和策略路由引用的ACL中生效
本参数仅对PPPoE、IPoE、L2TP和Portal上线的用户生效 |
|
destination -user-group-any |
任意目的用户组 |
匹配任意目的用户组的报文 |
本参数仅在MQC、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP和Portal上线的用户生效 |
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-7所示的规则信息参数。
表1-7 TCP/UDP特有的规则信息参数
|
参数 |
类别 |
作用 |
说明 |
|
source-port { object-group port-group-name | operator port1 [ port2 ] } |
源端口 |
定义TCP/UDP报文的源端口信息 |
operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。只有操作符range需要两个端口号做操作数,其它的只需要一个端口号做操作数 port1、port2:TCP或UDP的端口号,用数字表示时,取值范围为0~65535;用字符表示时,TCP端口号可以选取chargen(19)、bgp(179)、cmd(514)、daytime(13)、discard(9)、dns(53)、domain(53)、echo (7)、exec (512)、finger(79)、ftp(21)、ftp-data(20)、gopher(70)、hostname(101)、irc(194)、klogin(543)、kshell(544)、login(513)、lpd(515)、nntp(119)、pop2(109)、pop3(110)、smtp(25)、sunrpc(111)、tacacs(49)、talk(517)、telnet(23)、time(37)、uucp(540)、whois(43)、www(80);UDP端口号可以选取biff(512)、bootpc(68)、bootps(67)、discard(9)、dns(53)、dnsix(90)、echo (7)、mobilip-ag(434)、mobilip-mn(435)、nameserver(42)、netbios-dgm(138)、netbios-ns(137)、netbios-ssn(139)、ntp(123)、rip(520)、snmp(161)、snmptrap(162)、sunrpc(111)、syslog(514)、tacacs-ds(65)、talk(517)、tftp(69)、time(37)、who(513)、xdmcp(177) |
|
destination-port operator port1 [ port2 ] |
目的端口 |
定义TCP/UDP报文的目的端口信息 |
|
|
{ ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * |
TCP报文标识 |
定义对携带不同标志位(包括ACK、FIN、PSH、RST、SYN和URG六种)的TCP报文的处理规则 |
TCP协议特有的参数。表示匹配携带不同标志位的TCP报文,各value的取值可为0或1(0表示不携带此标志位,1表示携带此标志位) 对于一条规则中各标志位的配置组合,按照“或”的规则进行匹配。譬如:当配置为ack 0 psh 1时,匹配不携带ACK或携带PSH标志位的TCP报文 |
|
established |
TCP连接建立标识 |
定义对TCP连接报文的处理规则 |
TCP协议特有的参数 表示匹配携带ACK或RST标志位的TCP连接报文 |
当protocol为icmp(1)时,用户还可配置如表1-8所示的规则信息参数。
表1-8 ICMP特有的规则信息参数
|
参数 |
类别 |
作用 |
说明 |
|
icmp-type { icmp-type icmp-code | icmp-message } |
ICMP报文的消息类型和消息码信息 |
指定本规则中ICMP报文的消息类型和消息码信息 |
icmp-type:ICMP消息类型,取值范围为0~255 icmp-code:ICMP消息码,取值范围为0~255 icmp-message:ICMP消息名称。可以输入的ICMP消息名称,及其与消息类型和消息码的对应关系如表1-9所示 |
表1-9 ICMP消息名称与消息类型和消息码的对应关系
|
ICMP消息名称 |
ICMP消息类型 |
ICMP消息码 |
|
echo |
8 |
0 |
|
echo-reply |
0 |
0 |
|
fragmentneed-DFset |
3 |
4 |
|
host-redirect |
5 |
1 |
|
host-tos-redirect |
5 |
3 |
|
host-unreachable |
3 |
1 |
|
information-reply |
16 |
0 |
|
information-request |
15 |
0 |
|
net-redirect |
5 |
0 |
|
net-tos-redirect |
5 |
2 |
|
net-unreachable |
3 |
0 |
|
parameter-problem |
12 |
0 |
|
port-unreachable |
3 |
3 |
|
protocol-unreachable |
3 |
2 |
|
reassembly-timeout |
11 |
1 |
|
source-quench |
4 |
0 |
|
source-route-failed |
3 |
5 |
|
timestamp-reply |
14 |
0 |
|
timestamp-request |
13 |
0 |
|
ttl-exceeded |
11 |
0 |
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl all命令可以查看所有已存在的IPv4高级ACL规则和IPv4基本ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
【举例】
# 为IPv4高级ACL 3000创建规则如下:允许129.9.0.0/16网段内的主机与202.38.160.0/24网段内主机的WWW端口(端口号为80)建立连接。
<Sysname> system-view
[Sysname] acl advanced 3000
[Sysname-acl-ipv4-adv-3000] rule permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255 destination-port eq 80
# 为IPv4高级ACL 3001创建规则如下:允许IP报文通过,但拒绝发往192.168.1.0/24网段的ICMP报文通过。
<Sysname> system-view
[Sysname] acl advanced 3001
[Sysname-acl-ipv4-adv-3001] rule deny icmp destination 192.168.1.0 0.0.0.255
[Sysname-acl-ipv4-adv-3001] rule permit ip
# 为IPv4高级ACL 3002创建规则如下:在出、入双方向上都允许建立FTP连接并传输FTP数据。
<Sysname> system-view
[Sysname] acl advanced 3002
[Sysname-acl-ipv4-adv-3002] rule permit tcp source-port eq ftp
[Sysname-acl-ipv4-adv-3002] rule permit tcp source-port eq ftp-data
[Sysname-acl-ipv4-adv-3002] rule permit tcp destination-port eq ftp
[Sysname-acl-ipv4-adv-3002] rule permit tcp destination-port eq ftp-data
# 为IPv4高级ACL 3003创建规则如下:在出、入双方向上都允许SNMP报文和SNMP Trap报文通过。
<Sysname> system-view
[Sysname] acl advanced 3003
[Sysname-acl-ipv4-adv-3003] rule permit udp source-port eq snmp
[Sysname-acl-ipv4-adv-3003] rule permit udp source-port eq snmptrap
[Sysname-acl-ipv4-adv-3003] rule permit udp destination-port eq snmp
[Sysname-acl-ipv4-adv-3003] rule permit udp destination-port eq snmptrap
【相关命令】
· acl
· display acl
· step
· time-range(安全命令参考/时间段)
rule命令用来为IPv4基本ACL创建一条规则。
undo rule命令用来为IPv4基本ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } [ counting | fragment | [ flow-logging | logging ] | source { object-group address-group-name | source-address source-wildcard | any } | time-range time-range-name ] *
undo rule rule-id [ counting | fragment | [ flow-logging | logging ] | source | time-range ] *
undo rule { deny | permit } [ counting | fragment | [ flow-logging | logging ] | source { object-group address-group-name | source-address source-wildcard | any } | time-range time-range-name ] *
【缺省情况】
IPv4基本ACL内不存在任何规则。
【视图】
IPv4基本ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定IPv4基本ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
counting:表示开启规则匹配软件统计功能,缺省为关闭。
fragment:表示仅对非首片分片报文有效,而对非分片报文和首片分片报文无效。若未指定本参数,表示该规则对非分片报文和分片报文均有效。
flow-logging:表示对符合条件的报文记录流日志信息,包括匹配报文的规则、匹配报文的个数、源IP和目的IP。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。
logging:表示对符合条件的报文可记录日志信息。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。
source { object-group address-group-name | source-address source-wildcard | any }:指定规则的源IP地址信息。 source-address表示报文的源IP地址,source-wildcard表示源IP地址的通配符掩码(为0表示主机地址),any表示任意源IP地址。
time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~63个字符的字符串,不区分大小写。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“安全配置指导”中的“时间段”。
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl all命令可以查看所有已存在的IPv4高级ACL规则和IPv4基本ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
【举例】
# 为IPv4基本ACL 2000创建规则如下:仅允许来自10.0.0.0/8、172.17.0.0/16和192.168.1.0/24网段的报文通过,而拒绝来自所有其它网段的报文通过。
<Sysname> system-view
[Sysname] acl basic 2000
[Sysname-acl-ipv4-basic-2000] rule permit source 10.0.0.0 0.255.255.255
[Sysname-acl-ipv4-basic-2000] rule permit source 172.17.0.0 0.0.255.255
[Sysname-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Sysname-acl-ipv4-basic-2000] rule deny source any
【相关命令】
· acl
· display acl
· step
· time-range(安全命令参考/时间段)
rule命令用来为IPv6高级ACL创建一条规则。
undo rule命令用来为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 } * | established } | counting | destination { object-group address-group-name | dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | dscp dscp | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } | source-port { object-group port-group-name | operator port1 [ port2 ] } | time-range time-range-name ] *
undo rule rule-id [ { { ack | fin | psh | rst | syn | urg } * | established } | counting | destination | destination-port | dscp | flow-label | fragment | icmp6-type | inner-destination | inner-destination-port | { { inner-ack | inner-fin | inner-psh | inner-rst | inner-syn | inner-urg } * | inner-established } | inner-source | inner-source-port | { inner-dscp | inner-ecn } * | [ flow-logging | logging ] | routing | hop-by-hop | source | source-port | time-range ] *
undo rule { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination {object-group address-group-name | dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | dscp dscp | flow-label flow-label-value | [ flow-logging | logging ] | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } | source-port { object-group port-group-name | operator port1 [ port2 ] } | time-range time-range-name ] *
【缺省情况】
IPv6高级ACL内不存在任何规则。
【视图】
IPv6高级ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定IPv6高级ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
protocol:表示IPv6承载的协议类型,可输入的形式如下:
· 数字:取值范围为0~255;
· 名称(括号内为对应的数字):可选取gre(47)、icmpv6(58)、ipv6、ipv6-ah(51)、ipv6-esp(50)、ospf(89)、tcp(6)或udp(17)。ipv6表示所有协议类型。
protocol之后可配置如表1-10所示的规则信息参数。
|
参数 |
类别 |
作用 |
说明 |
|
source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } |
源IPv6地址 |
指定ACL规则的源IPv6地址信息 |
address-group-name:源地址对象组的名称 source-address:源IPv6地址 source-prefix:源IPv6地址的前缀长度,取值范围1~128 any:任意源IPv6地址 |
|
destination { object-group address-group-name | dest-address dest-prefix | dest-address/dest-prefix | any } |
目的IPv6地址 |
指定ACL规则的目的IPv6地址信息 |
address-group-name:目的地址对象组的名称 dest-address:目的IPv6地址 dest-prefix:目的IPv6地址的前缀长度,取值范围1~128 any:任意目的IPv6地址 |
|
counting |
统计 |
开启规则匹配软件统计功能,缺省为关闭 |
本参数用于开启本规则的匹配统计功能 |
|
dscp dscp |
报文优先级 |
指定DSCP优先级 |
dscp:用数字表示时,取值范围为0~63;用名称表示时,可选取af11(10)、af12(12)、af13(14)、af21(18)、af22(20)、af23(22)、af31(26)、af32(28)、af33(30)、af41(34)、af42(36)、af43(38)、cs1(8)、cs2(16)、cs3(24)、cs4(32)、cs5(40)、cs6(48)、cs7(56)、default(0)或ef(46) |
|
flow-logging |
流日志操作 |
记录规则匹配报文的流日志信息,包括匹配报文的规则、匹配报文的个数、源IP、目的IP、源端口号和目的端口号 |
该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤 |
|
logging |
日志操作 |
表示记录规则匹配报文的日志信息,包括匹配报文的规则和匹配报文的个数 |
该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤 |
|
flow-label flow-label-value |
流标签字段 |
指定IPv6基本报文头中流标签字段的值 |
flow-label-value:流标签字段的值,取值范围为0~1048575 |
|
fragment |
报文分片 |
仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效 |
若未指定任何分片相关的参数,则表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效 |
|
routing [ type routing-type ] |
路由头 |
指定路由头的类型 |
routing-type:路由头类型的值,取值范围为0~255 若指定了type routing-type参数,表示仅对指定类型的路由头有效;否则,表示对IPv6所有类型的路由头都有效 |
|
hop-by-hop [ type hop-type ] |
逐跳头 |
指定逐跳头的类型 |
hop-type:逐跳头类型的值,取值范围为0~255 若指定了type hop-type参数,表示仅对指定类型的逐跳头有效;否则,表示对IPv6所有类型的逐跳头都有效 |
|
time-range time-range-name |
时间段 |
指定本规则生效的时间段 |
time-range-name:时间段的名称,为1~63个字符的字符串,不区分大小写。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“安全配置指导”中的“时间段” |
|
source-user-group source-group-name |
源用户组 |
匹配特定源用户组的用户报文 |
source-group-name:用户组名称,为1~32个字符的字符串,不区分大小写。有关用户组的详细介绍和具体配置过程,请参见“用户接入与认证配置指导”中的“AAA” 本参数应用在报文出接口或入接口上,用于匹配从该用户组中的用户发出的报文 本参数仅在QoS策略、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP和Portal上线的用户生效 |
|
source-user-group-any |
任意源用户组 |
匹配任意源用户组的报文 |
本参数仅在MQC、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP和Portal上线的用户生效 |
|
destination-user-group destination-group-name |
目的用户组 |
匹配特定目的用户组的用户报文 |
destination-group-name:用户组名称,为1~32个字符的字符串,不区分大小写。有关用户组的详细介绍和具体配置过程,请参见“用户接入与认证配置指导”中的“AAA” 本参数应用在报文出接口或入接口上,用于匹配发往该用户组中的用户报文
本参数仅在QoS策略、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP和Portal上线的用户生效 |
|
destination-user-group-any |
任意目的用户组 |
匹配任意目的用户组的报文 |
本参数仅在MQC、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP和Portal上线的用户生效 |
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-11所示的规则信息参数。
表1-11 TCP/UDP特有的规则信息参数
|
参数 |
类别 |
作用 |
说明 |
|
source-port { object-group port-group-name | operator port1 [ port2 ] } |
源端口 |
定义TCP/UDP报文的源端口信息 |
operator:操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。只有range操作符需要两个端口号做操作数,其它操作符只需要一个端口号做操作数 port1/port2:TCP或UDP的端口号,用数字表示时,取值范围为0~65535;用名称表示时,TCP端口号可选取chargen(19)、bgp(179)、cmd(514)、daytime(13)、discard(9)、dns(53)、domain(53)、echo (7)、exec (512)、finger(79)、ftp(21)、ftp-data(20)、gopher(70)、hostname(101)、irc(194)、klogin(543)、kshell(544)、login(513)、lpd(515)、nntp(119)、pop2(109)、pop3(110)、smtp(25)、sunrpc(111)、tacacs(49)、talk(517)、telnet(23)、time(37)、uucp(540)、whois(43)或www(80);UDP端口号可选取biff(512)、bootpc(68)、bootps(67)、discard(9)、dns(53)、dnsix(90)、echo (7)、mobilip-ag(434)、mobilip-mn(435)、nameserver(42)、netbios-dgm(138)、netbios-ns(137)、netbios-ssn(139)、ntp(123)、rip(520)、snmp(161)、snmptrap(162)、sunrpc(111)、syslog(514)、tacacs-ds(65)、talk(517)、tftp(69)、time(37)、who(513)或xdmcp(177) |
|
destination-port { object-group port-group-name | operator port1 [ port2 ] } |
目的端口 |
定义TCP/UDP报文的目的端口信息 |
|
|
{ ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * |
TCP报文标识 |
定义对携带不同标志位(包括ACK、FIN、PSH、RST、SYN和URG六种)的TCP报文的处理规则 |
TCP协议特有的参数。表示匹配携带不同标志位的TCP报文,各value的取值可为0或1(0表示不携带此标志位,1表示携带此标志位) 对于一条规则中各标志位的配置组合,按照“或”的规则进行匹配。譬如:当配置为ack 0 psh 1时,匹配不携带ACK或携带PSH标志位的TCP报文 |
|
established |
TCP连接建立标识 |
定义对TCP连接报文的处理规则 |
TCP协议特有的参数 表示匹配携带ACK或RST标志位的TCP连接报文 |
当protocol为icmpv6(58)时,用户还可配置如表1-12所示的规则信息参数。
表1-12 ICMPv6特有的规则信息参数
|
参数 |
类别 |
作用 |
说明 |
|
icmp6-type { icmp6-type icmp6-code | icmp6-message } |
ICMPv6报文的消息类型和消息码 |
指定本规则中ICMPv6报文的消息类型和消息码信息 |
icmp6-type:ICMPv6消息类型,取值范围为0~255 icmp6-code:ICMPv6消息码,取值范围为0~255 icmp6-message:ICMPv6消息名称。可以输入的ICMPv6消息名称,及其与消息类型和消息码的对应关系如表1-13所示 |
表1-13 ICMPv6消息名称与消息类型和消息码的对应关系
|
ICMPv6消息名称 |
ICMPv6消息类型 |
ICMPv6消息码 |
|
echo-reply |
129 |
0 |
|
echo-request |
128 |
0 |
|
err-Header-field |
4 |
0 |
|
frag-time-exceeded |
3 |
1 |
|
hop-limit-exceeded |
3 |
0 |
|
host-admin-prohib |
1 |
1 |
|
host-unreachable |
1 |
3 |
|
neighbor-advertisement |
136 |
0 |
|
neighbor-solicitation |
135 |
0 |
|
network-unreachable |
1 |
0 |
|
packet-too-big |
2 |
0 |
|
port-unreachable |
1 |
4 |
|
redirect |
137 |
0 |
|
router-advertisement |
134 |
0 |
|
router-solicitation |
133 |
0 |
|
unknown-ipv6-opt |
4 |
2 |
|
unknown-next-hdr |
4 |
1 |
【使用指导】
当ACL用于QoS策略的流分类或报文过滤功能时:
· 规则不支持配置fragment参数。
· 规则中操作符operator取值不能为neq。
· 如果QoS策略或报文过滤功能应用于出方向,规则不支持配置routing、hop-by-hop、flow-label参数,且规则中protocol参数取值不能为0、43、44、51、60或关键字ipv6-ah。
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl ipv6 all命令可以查看所有已存在的IPv6高级ACL规则和IPv6基本ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
【举例】
# 为IPv6高级ACL 3000创建规则如下:允许2030:5060::/64网段内的主机与FE80:5060::/96网段内主机的WWW端口(端口号为80)建立连接。
<Sysname> system-view
[Sysname] acl ipv6 advanced 3000
[Sysname-acl-ipv6-adv-3000] rule permit tcp source 2030:5060::/64 destination fe80:5060::/96 destination-port eq 80
# 为IPv6高级ACL 3001创建规则如下:允许IPv6报文通过,但拒绝发往FE80:5060:1001::/48网段的ICMPv6报文通过。
<Sysname> system-view
[Sysname] acl ipv6 advanced 3001
[Sysname-acl-ipv6-adv-3001] rule deny icmpv6 destination fe80:5060:1001:: 48
[Sysname-acl-ipv6-adv-3001] rule permit ipv6
# 为IPv6高级ACL 3002创建规则如下:在出、入双方向上都允许建立FTP连接并传输FTP数据。
<Sysname> system-view
[Sysname] acl ipv6 advanced 3002
[Sysname-acl-ipv6-adv-3002] rule permit tcp source-port eq ftp
[Sysname-acl-ipv6-adv-3002] rule permit tcp source-port eq ftp-data
[Sysname-acl-ipv6-adv-3002] rule permit tcp destination-port eq ftp
[Sysname-acl-ipv6-adv-3002] rule permit tcp destination-port eq ftp-data
# 为IPv6高级ACL 3003创建规则如下:在出、入双方向上都允许SNMP报文和SNMP Trap报文通过。
<Sysname> system-view
[Sysname] acl ipv6 advanced 3003
[Sysname-acl-ipv6-adv-3003] rule permit udp source-port eq snmp
[Sysname-acl-ipv6-adv-3003] rule permit udp source-port eq snmptrap
[Sysname-acl-ipv6-adv-3003] rule permit udp destination-port eq snmp
[Sysname-acl-ipv6-adv-3003] rule permit udp destination-port eq snmptrap
# 为IPv6高级ACL 3004创建规则如下:在含有逐跳头的报文中,只允许转发含有MLD选项(Type=5)的报文,丢弃其他报文。
<Sysname> system-view
[Sysname] acl ipv6 advanced 3004
[Sysname-acl-ipv6-adv-3004] rule permit ipv6 hop-by-hop type 5
[Sysname-acl-ipv6-adv-3004] rule deny ipv6 hop-by-hop
【相关命令】
· acl
· display acl
· step
· time-range(安全命令参考/时间段)
rule命令用来为IPv6基本ACL创建一条规则。
undo rule命令用来为IPv6基本ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } [ counting | fragment | [ flow-logging | logging ] | routing [ type routing-type ] | source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } | time-range time-range-name ] *
undo rule rule-id [ counting | fragment | [ flow-logging | logging ] | routing | source | time-range ] *
undo rule { deny | permit } [ counting | fragment | [ flow-logging | logging ] | routing [ type routing-type ] | source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } | time-range time-range-name ] *
【缺省情况】
IPv6基本ACL内不存在任何规则。
【视图】
IPv6基本ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定IPv6基本ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
counting:表示开启规则匹配软件统计功能,缺省为关闭。
fragment:表示仅对非首片分片报文有效,而对非分片报文和首片分片报文无效。若未指定本参数,表示该规则对非分片报文和分片报文均有效。
flow-logging:表示对符合条件的报文记录流日志信息,包括匹配报文的规则、匹配报文的个数、源IP和目的IP。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。
logging:表示记录规则匹配报文的日志信息,包括匹配报文的规则和匹配报文的个数。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。
routing [ type routing-type ]:表示对所有或指定类型的路由头有效,routing-type表示路由头类型的值,取值范围为0~255。若指定了type routing-type参数,表示仅对指定类型的路由头有效;否则,表示对IPv6所有类型的路由头都有效。
source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any }:指定规则的源IPv6地址信息。source-address表示报文的源IPv6地址,source-prefix表示源IPv6地址的前缀长度,取值范围为1~128,any表示任意源IPv6地址。
time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~63个字符的字符串,不区分大小写。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“安全配置指导”中的“时间段”。
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl ipv6 all命令可以查看所有已存在的IPv6高级ACL规则和IPv6基本ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
【举例】
# 为IPv6基本ACL 2000创建规则如下:仅允许来自1001::/16、3124:1123::/32和FE80:5060:1001::/48网段的报文通过,而拒绝来自所有其它网段的报文通过。
<Sysname> system-view
[Sysname] acl ipv6 basic 2000
[Sysname-acl-ipv6-basic-2000] rule permit source 1001:: 16
[Sysname-acl-ipv6-basic-2000] rule permit source 3124:1123:: 32
[Sysname-acl-ipv6-basic-2000] rule permit source fe80:5060:1001:: 48
[Sysname-acl-ipv6-basic-2000] rule deny source any
【相关命令】
· acl
· display acl
· step
· time-range(安全命令参考/时间段)
rule命令用来为二层ACL创建一条规则。
undo rule命令用来为二层ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } [ cos dot1p | counting | dest-mac dest-address dest-mask | { lsap lsap-type lsap-type-mask | type protocol-type protocol-type-mask } | source-mac source-address source-mask | time-range time-range-name ] *
undo rule rule-id [ counting | time-range ] *
undo rule { deny | permit } [ cos dot1p | counting | dest-mac dest-address dest-mask | { lsap lsap-type lsap-type-mask | type protocol-type protocol-type-mask } | source-mac source-address source-mask | time-range time-range-name ] *
【缺省情况】
二层ACL内不存在任何规则。
【视图】
二层ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定二层ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
cos dot1p:指定802.1p优先级。dot1p表示802.1p优先级,可输入的形式如下:
· 数字:取值范围为0~7;
· 名称:best-effort、background、spare、excellent-effort、controlled-load、video、voice和network-management,依次对应于数字0~7。
counting:表示开启规则匹配软件统计功能,缺省为关闭。
dest-mac dest-address dest-mask:指定目的MAC地址范围。dest-address表示目的MAC地址,格式为H-H-H。dest-mask表示目的MAC地址的掩码,格式为H-H-H。
lsap lsap-type lsap-type-mask:指定LLC封装中的DSAP字段和SSAP字段。lsap-type表示数据帧的封装格式,取值范围为十六进制数0~ffff。lsap-type-mask表示LSAP的类型掩码,用于指定屏蔽位,取值范围为十六进制数0~ffff。
type protocol-type protocol-type-mask:指定链路层协议类型。protocol-type表示数据帧类型,对应Ethernet_II类型和Ethernet_SNAP类型帧中的type域,取值范围为十六进制数0~ffff。protocol-type-mask表示类型掩码,用于指定屏蔽位,取值范围为十六进制数0~ffff。
source-mac source-address source-mask:指定源MAC地址范围。source-address表示源MAC地址,格式为H-H-H。source-mask表示源MAC地址的掩码,格式为H-H-H。
time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~63个字符的字符串,不区分大小写。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“安全配置指导”中的“时间段”。
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl mac all命令可以查看所有已存在的二层ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
【举例】
# 为二层ACL 4000创建规则如下:允许ARP报文通过,但拒绝RARP报文通过。
<Sysname> system-view
[Sysname] acl mac 4000
[Sysname-acl-mac-4000] rule permit type 0806 ffff
[Sysname-acl-mac-4000] rule deny type 8035 ffff
【相关命令】
· acl
· display acl
· step
· time-range(安全命令参考/时间段)
rule命令用来为用户自定义ACL创建一条规则。
undo rule命令用来为用户自定义ACL删除一条规则。
【命令】
rule [ rule-id ] { deny | permit } [ ipv6-protocol ] protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | destination { object-group address-group-name | dest-address dest-wildcard | any } | destination-port { operator port1 [ port2 ] } | { { precedence precedence | tos tos } * | dscp dscp } | source { object-group address-group-name | source-address source-wildcard | any } | source-port { operator port1 [ port2 ] } ] * [ { rule-string rule-mask offset }&<1-8> ] [ counting | time-range time-range-name ] *
undo rule rule-id [ ipv6-protocol ] [ { { ack | fin | psh | rst | syn | urg } * | established } | destination | destination-port | { { precedence | tos } *| dscp } | source | source-port | counting | time-range ] *
undo rule { deny | permit } [ ipv6-protocol ] protocol [ { { ack | fin | psh | rst | syn | urg } * | established } | destination { object-group address-group-name | dest-address dest-wildcard | any } | destination-port { operator port1 [ port2 ] } | { { precedence precedence | tos tos } * | dscp dscp } | source { object-group address-group-name | source-address source-wildcard | any } | source-port { operator port1 [ port2 ] } ] * [ { rule-string rule-mask offset }&<1-8> ] [ counting | time-range time-range-name ] *
rule [ rule-id ] { deny | permit } dual-stack { tcp | udp } [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | destination any | destination-port { operator port1 [ port2 ] } | source any | source-port { operator port1 [ port2 ] } ] * [ counting | time-range time-range-name ] *
undo rule [ rule-id ] { deny | permit } dual-stack { tcp | udp } [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | destination any | destination-port { operator port1 [ port2 ] } | source any | source-port { operator port1 [ port2 ] } ] * [ counting | time-range time-range-name ] *
【缺省情况】
用户自定义ACL内不存在任何规则。
【视图】
用户自定义ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定用户自定义ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
rule-string:指定用户自定义的规则字符串,必须是16进制数组成,字符长度必须是偶数。
rule-mask:指定规则字符串的掩码,用于和报文作“与”操作,必须是16进制数组成,字符长度必须是偶数,且必须与rule-string的长度相同。
offset:指定偏移量,它以用户指定的报文头部为基准,指定从第几个字节开始进行比较。
&<1-8>:表示前面的参数最多可以输入8次。
counting:表示开启规则匹配软件统计功能,缺省为关闭。
time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~63个字符的字符串,不区分大小写。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“安全配置指导”中的“时间段”。
dual-stack:表示ACL规则可以支持双栈匹配,即可以匹配IPv4报文和IPv6报文。
ipv6-protocol:指定匹配IPv6报文。
· 若选择本参数,表示匹配IPv6报文,此时请不要再选择后续的ipv4。
· 若不选择本参数,表示匹配IPv4报文,此时请不要再选择后续的ipv6。
protocol:表示网络层承载的协议类型,可输入的形式如下:
· 对于IPv4:
¡ 数字:取值范围为0~255;
¡ 名称(括号内为对应的数字):可选取gre(47)、icmp(1)、igmp(2)、ip、ipinip(4)、ospf(89)、tcp(6)或udp(17)。ip表示所有协议类型。
· 对于IPv6:
¡ 数字:取值范围为0~255;
¡ 名称(括号内为对应的数字):可选取gre(47)、icmpv6(58)、ipv6、ipv6-ah(51)、ipv6-esp(50)、ospf(89)、tcp(6)或udp(17)。ipv6表示所有协议类型。
当protocol为tcp(6)时,用户还可配置如表1-14所示的规则信息参数。
表1-14 TCP特有规则信息参数
|
参数 |
说明 |
|
ack ack-value |
匹配是否携带对应标志位的TCP报文 各value为0时表示不携带此标志位,为1时表示携带此标志位 对于一条规则中各标志位的配置组合,不同产品的处理方式(“与”或“或”)不同,请以设备的实际情况为准。譬如:当配置为ack 0 psh 1时,有些产品将匹配不携带ACK标志位且携带PSH标志位的TCP报文,而有些产品则匹配不携带ACK或携带PSH标志位的TCP报文 |
|
fin fin-value |
|
|
psh psh-value |
|
|
rst rst-value |
|
|
syn syn-value |
|
|
urg urg-value |
|
|
established |
匹配TCP连接报文 对于路由器,表示匹配携带ACK或RST标志位的TCP连接报文 对于交换机,请以各产品实际情况为准 |
precedence precedence:表示IP优先级。precedence用数字表示时,取值范围为0~7;用字符表示时,分别对应routine、priority、immediate、flash、flash-override、critical、internet、network。
tos tos:表示ToS优先级。tos用数字表示时,取值范围为0~15;用字符表示时,可以选取max-reliability(2)、max-throughput(4)、min-delay(8)、min-monetary-cost(1)、normal(0)。
dscp dscp:表示DSCP优先级,可输入的形式如下:
· 数字:取值范围为0~63;
· 名称(括号内为对应的数字):可选取af11(10)、af12(12)、af13(14)、af21(18)、af22(20)、af23(22)、af31(26)、af32(28)、af33(30)、af41(34)、af42(36)、af43(38)、cs1(8)、cs2(16)、cs3(24)、cs4(32)、cs5(40)、cs6(48)、cs7(56)、default(0)或ef(46)。
source { source-address source-wildcard | any }:指定规则的源IP地址信息。source-address表示报文的源IP地址,source-wildcard表示源IP地址的通配符掩码(为0表示主机地址),any表示任意源IP地址。
destination { dest-address dest-wildcard | any }:指定规则的目的IP地址信息。dest-address表示报文的目的IP地址,dest-wildcard表示目的IP地址的通配符掩码(为0表示主机地址),any表示任意目的IP地址。
source object-group address-group-name:指定规则的源地址对象组的名称,如果同时指定了ipv6-protocol参数和本参数,则表示IPv6地址对象组,否则表示IPv4地址对象组。指定的对象组名称必须已经存在,否则无法配置。
destination object-group address-group-name:指定规则的目的地址对象组的名称,如果同时指定了ipv6-protocol参数和本参数,则表示IPv6地址对象组,否则表示IPv4地址对象组。指定的对象组名称必须已经存在,否则无法配置。
source-port { operator port1 [ port2 ] }:指定规则的源端口信息。operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值);只有操作符range需要两个端口号做操作数,其它的只需要一个端口号做操作数。port1、port2:TCP或UDP的端口号,用数字表示时,取值范围为0~65535。
source-port { operator port1 [ port2 ] }:指定规则的源端口信息。其中:
· operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。
· port1、port2表示TCP或UDP的端口号,取值范围为0~65535。当使用range操作符时,必须指定port2参数,使用其它操作符时,不需要指定port2参数。
destination-port { operator port1 [ port2 ] }:指定规则的目的端口信息。其中:
· operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。只有操作符range需要两个端口号做操作数,其它的只需要一个端口号做操作数。
· port1、port2表示TCP或UDP的端口号,取值范围为0~65535。当使用range操作符时,必须指定port2参数,使用其它操作符时,不需要指定port2参数。
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即与原规则冲突的参数会被覆盖,而原规则中不存在的参数,则会新增。
新创建的规则不能与已有规则的内容完全相同,否则将提示出错,并导致创建失败。
display acl user-defined all命令可以查看所有已存在的用户自定义ACL规则。
undo rule { deny | permit }命令可在不指定rule-id情况下删除整条规则,但无法删除规则中的部分内容;使用其删除整条规则时,必须输入已存在规则的完整形式;本命令适用于删除通过脚本文件在未指定rule-id情况下创建的规则。
· 创建的规则除可以通过用户自定义的字符串对报文进行匹配外,还可以通过源地址、目的地址、端口号及承载的协议类型等条件对报文进行匹配。
· 使用rule命令对INT报文进行匹配时,请遵循如下规则:
¡ 若报文为TCP协议报文,则protocol需配置为tcp。
¡ 若报文为UDP协议报文,则protocol需配置为udp。
¡ udf-format配置为ifa,且必须从L5报文头开始偏移。
· 使用rule命令对TCP报文进行匹配时,protocol需配置为tcp,且必须从L5报文头开始偏移。
· 使用rule命令对UDP报文进行匹配时,protocol需配置为udp,且必须从L4或L5报文头开始偏移。
· 使用rule命令对IP报文进行匹配时,protocol需配置为ip,且必须从L4报文头开始偏移。
· 使用undo rule rule-id命令即可以删除整条规则,也可以删除指定规则中的部分内容。
counting关键字用于开启本规则的匹配统计功能,而packet-filter命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能。有关packet-filter命令的详细介绍,请参见“安全命令参考”中的“报文过滤”。
【举例】
# 为用户自定义ACL 5005创建规则如下:允许从L2帧头的0字节开始算起第12、13两字节的内容为0x0806的报文(即ARP报文)通过。
<Sysname> system-view
[Sysname] acl user-defined 5005
[Sysname-acl-user-5005] rule permit l2 0806 ffff 12
# 为用户自定义ACL 5005创建规则如下:允许2030:5060::/64网段内的主机与FE80:5060::/96网段内主机的HTTP服务端口(端口号为80)建立连接。
<Sysname> system-view
[Sysname] acl user-defined 5005
[Sysname-acl-user-5005] rule permit ipv6-protocol tcp source 2030:5060::/64 destination fe80:5060::/96 destination-port eq 80
# 为用户自定义ACL 5009创建规则如下:允许携带ACK标志位的TCP报文通过。
<Sysname> system-view
[Sysname] acl user-defined 5009
[Sysname-acl-user-5009] rule permit tcp ack 1
【相关命令】
· acl
· display acl
· packet-filter (interface view)(安全命令参考/报文过滤)
· packet-filter global(安全命令参考/报文过滤)
· packet-filter vlan(安全命令参考/报文过滤)
· time-range(安全命令参考/时间段)
rule命令用来为无线接入点ACL创建一条规则。
undo rule命令用来为无线接入点ACL删除一条规则。
【命令】
rule [ rule-id ] { deny | permit } [ mac mac-address mac-mask ] [ serial-id serial-id ]
undo rule rule-id
【缺省情况】
无线接入点ACL内不存在任何规则。
【视图】
无线接入点ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定无线接入点ACL规则的编号,取值范围为0~65534。如果未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的无线接入点。
permit:表示允许符合条件的无线接入点。
mac mac-address mac-mask:指定无线接入点的MAC地址范围。mac-address表示MAC地址,格式为H-H-H;mac-mask表示MAC地址的掩码,格式为H-H-H。如果未指定本参数,则对所有MAC生效。
serial-id serial-id:指定无线接入点的序列号。serial-id为1~32个字符的字符串,不区分大小写。如果未指定本参数,则对所有序列号生效。
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即新的内容覆盖原有内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示错误,并导致该操作失败。
display acl wlan all命令可以查看所有已存在的无线ACL规则。
【举例】
# 创建无线接入点ACL 222,规则如下:允许序列号为210235A42QB095000766的无线接入点上线,拒绝序列号为210235A42QB095000777的无线接入点上线。
<Sysname> system-view
[Sysname] acl wlan ap 222
[Sysname-acl-ap-222] rule permit serial-id 210235A42QB095000766
[Sysname-acl-ap-222] rule deny serial-id 210235A42QB095000777
【相关命令】
· acl wlan ap
rule comment命令用来为规则配置描述信息。
undo rule comment命令用来删除指定规则的描述信息。
【命令】
rule rule-id comment text
undo rule rule-id comment
【缺省情况】
规则没有描述信息。
【视图】
IPv4基本ACL视图/IPv4高级ACL视图
IPv6基本ACL视图/IPv6高级ACL视图
二层ACL视图
用户自定义ACL视图
无线接入点ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定规则的编号,该规则必须存在。取值范围为0~65534。
text:表示规则的描述信息,为1~127个字符的字符串,区分大小写。
【使用指导】
使用rule comment命令时,如果指定的规则没有描述信息,则为其添加描述信息,否则修改其描述信息。
【举例】
# 为IPv4基本ACL 2000配置规则0,并为该规则配置描述信息。
<Sysname> system-view
[Sysname] acl basic 2000
[Sysname-acl-ipv4-basic-2000] rule 0 deny source 1.1.1.1 0
[Sysname-acl-ipv4-basic-2000] rule 0 comment This rule is used on gigabitethernet 1/0/1.
【相关命令】
· display acl
rule comment命令用来为规则配置描述信息。
undo rule comment命令用来删除指定规则的描述信息。
【命令】
rule rule-id comment text
undo rule rule-id comment
【缺省情况】
规则没有描述信息。
【视图】
配置模板—IPv4基本ACL视图/IPv4高级ACL视图
配置模板—二层ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定规则的编号,该规则必须存在。取值范围为0~65534。
text:表示规则的描述信息,为1~127个字符的字符串,区分大小写。
【使用指导】
使用rule comment命令时,如果指定的规则没有描述信息,则为其添加描述信息,否则修改其描述信息。
【举例】
# 创建名称为ap1的配置模板,并在该配置模板下的IPv4基本ACL 2000配置规则0,并为该规则配置描述信息。
<Sysname> system-view
[Sysname] configuration profile ap1 model WA6320
[Sysname-config-profile-ap1] acl basic 2000
[Sysname-config-profile-ap1-acl-ipv4-basic-2000] rule 0 deny source 1.1.1.1 0
[Sysname-config-profile-ap1-acl-ipv4-basic-2000] rule 0 comment This rule is used for test
【相关命令】
· display acl
rule remark命令用来创建一条规则注释信息。
undo rule remark命令用来删除一条或多条规则注释信息。
【命令】
rule [ rule-id ] remark text
undo rule [ rule-id ] remark [ text ]
【缺省情况】
ACL内没有任何规则注释信息。
【视图】
IPv4基本ACL视图/IPv4高级ACL视图
IPv6基本ACL视图/IPv6高级ACL视图
二层ACL视图
用户自定义ACL视图
无线接入点ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定规则的编号(该编号对应的规则可以存在也可以不存在),取值范围为0~65534。该编号用来确定规则注释信息显示的位置:
· 在配置顺序下:若该编号与现有某规则的编号相同,则该注释信息将紧邻该规则之前显示;否则,将按照编号由小到大显示。
· 在自动排序下:若该编号与现有某规则的编号相同,则该注释信息将紧邻该规则之前显示;否则,将在所有规则的最后显示。
text:表示规则注释信息,为1~127个字符的字符串,区分大小写。
【使用指导】
需要注意的是:
· 使用rule remark命令时,如果没有指定rule-id参数,系统将按照步长从5开始,自动分配一个大于现有规则中最大编号的最小编号。
· 使用undo rule remark命令时,如果没有指定rule-id和text参数,将删除所有规则注释信息;如果没有指定rule-id但指定了text参数,则只删除指定内容的规则注释信息。
【举例】
# 假设规则编号为10~25的这四条规则是为VIP用户制定的,为方便后续维护,对这四条规则进行如下注释:开头和结尾分别注释为“Rules for VIP_start”和“Rules for VIP_end”。
<Sysname> system-view
[Sysname] acl basic 2000
[Sysname-acl-basic-2000] rule 10 remark Rules for VIP_start
[Sysname-acl-basic-2000] rule 26 remark Rules for VIP_end
[Sysname-acl-basic-2000] display this
#
acl number 2000
rule 0 permit source 14.1.1.0 0.0.0.255
rule 5 permit source 10.1.1.1 0 time-range work-time
rule 10 remark Rules for VIP_start
rule 10 permit source 192.168.0.0 0.0.0.255
rule 15 permit source 1.1.1.1 0
rule 20 permit source 10.1.1.1 0
rule 25 permit counting
rule 26 remark Rules for VIP_end
#
return
【相关命令】
step命令用来配置规则编号的步长和起始值。
undo step命令用来恢复缺省情况。
【命令】
step step-value [ start start-value ]
undo step
【缺省情况】
规则编号的步长为5,起始值为5。
【视图】
IPv4基本ACL视图/IPv4高级ACL视图
IPv6基本ACL视图/IPv6高级ACL视图
二层ACL视图
无线接入点ACL视图
【缺省用户角色】
network-admin
【参数】
step-value:表示规则编号的步长值,取值范围为1~20。
start-value:表示规则编号的起始值。取值范围为0~20。未指定本参数时,起始值也等于step-value。
【使用指导】
系统为规则自动分配编号的方式如下:系统从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如原有编号为0、5、9、10和12的五条规则,步长为5,此时如果创建一条规则且不指定编号,那么系统将自动为其分配编号15。
如果执行step命令修改了步长和起始值,ACL内原有全部规则的编号都将自动从起始值开始,并按步长重新排列;如果仅执行step命令修改了步长,则将自动以步长值为规则编号的起始值,并按步长重新排列。譬如,某ACL内原有编号为0、5、9、10和15的五条规则,当修改步长为2之后,这些规则的编号将依次变为2、4、6、8和10。
【举例】
# 将IPv4基本ACL 2000的规则编号的步长配置为2。
<Sysname> system-view
[Sysname] acl basic 2000
[Sysname-acl-ipv4-basic-2000] step 2
【相关命令】
· display acl
step命令用来配置规则编号的步长。
undo step命令用来恢复缺省情况。
【命令】
step step-value
undo step
【缺省情况】
规则编号的步长为5,起始值为0。
【视图】
配置模板—IPv4基本ACL视图/IPv4高级ACL视图
配置模板—二层ACL视图
【缺省用户角色】
network-admin
【参数】
step-value:表示规则编号的步长值,取值范围为1~20。
【使用指导】
系统为规则自动分配编号的方式如下:系统从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如原有编号为0、5、9、10和12的五条规则,步长为5,此时如果创建一条规则且不指定编号,那么系统将自动为其分配编号15。
如果步长发生了改变,ACL内原有全部规则的编号都将自动从规则编号的起始值开始按步长重新排列。譬如,某ACL内原有编号为0、5、9、10和15的五条规则,当修改步长为2之后,这些规则的编号将依次变为0、2、4、6和8。
【举例】
# 创建名称为ap1的配置模板,并在该配置模板下的IPv4基本ACL 2000的规则编号的步长配置为2。
<Sysname> system-view
[Sysname] configuration profile ap1 model WA6320
[Sysname-config-profile-ap1] acl basic 2000
[Sysname-config-profile-ap1-acl-ipv4-basic-2000] step 2
【相关命令】
· display acl
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!
