01-ACL命令
本章节下载: 01-ACL命令 (369.10 KB)
目 录
1.1.5 acl ipv6 { disable | enable }
1.1.6 acl ipv6 logging frequence
1.1.14 display acl ipv6 { inbound | outbound }
1.1.22 packet-filter forwarding-layer route outbound
1.1.25 rule (Ethernet frame header ACL view)
1.1.26 rule (IPv4 advanced ACL view)
1.1.27 rule (IPv4 basic ACL view)
1.1.28 rule (IPv6 advanced ACL view)
1.1.29 rule (IPv6 basic ACL view)
· 设备支持两种运行模式:独立运行模式和IRF模式,缺省情况为独立运行模式。有关IRF模式的介绍,请参见“IRF配置指导”中的“IRF”。
· 本文中提到的EB类、EC1类、EC2类和EF类单板指的是丝印后缀分别为EB、EC1、EC2、EF的单板。
【命令】
acl number acl-number [ name acl-name ] [ match-order { auto | config } ]
undo acl { all | name acl-name | number acl-number }
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
number acl-number:指定ACL的编号。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示IPv4基本ACL;
· 3000~3999:表示IPv4高级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(包括IPv4基本ACL、IPv4高级ACL、二层ACL和用户自定义ACL)。
【描述】
acl命令用来创建一个IPv4基本ACL、IPv4高级ACL、二层ACL或用户自定义ACL,并进入相应的ACL视图。undo acl命令用来删除指定或全部ACL(包括IPv4基本ACL、IPv4高级ACL、二层ACL和用户自定义ACL)。
缺省情况下,不存在任何ACL。
需要注意的是:
· 使用acl命令时,如果指定编号的IPv4 ACL不存在,则创建该ACL并进入其视图,否则直接进入其视图。
· ACL的名称只能在创建时设置。ACL一旦创建,便不允许再修改或删除其原有名称。
· 当ACL内不存在任何规则时,用户可以使用本命令对该ACL的规则匹配顺序进行修改,否则不允许进行修改。
相关配置可参考命令display acl。
【举例】
# 创建一个编号为2000的IPv4基本ACL,并进入其视图。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000]
# 创建一个编号为2001的IPv4基本ACL,指定其名称为flow,并进入其视图。
<Sysname> system-view
[Sysname] acl number 2001 name flow
[Sysname-acl-basic-2001-flow]
【命令】
acl copy { source-acl-number | name source-acl-name } to { dest-acl-number | name dest-acl-name }
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
source-acl-number:指定源IPv4 ACL的编号,该ACL必须存在。本参数的取值范围及其代表的ACL类型如下:
· 2000~2999:表示IPv4基本ACL;
· 3000~3999:表示IPv4高级ACL;
· 4000~4999:表示二层ACL;
· 5000~5999:表示用户自定义ACL。
name source-acl-name:指定源IPv4 ACL的名称,该ACL必须存在。source-acl-name为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
dest-acl-number:指定目的IPv4 ACL的编号,该ACL必须不存在。若未指定本参数,系统将为目的IPv4 ACL自动分配一个与源IPv4 ACL类型相同且可用的最小编号。
· 2000~2999:表示IPv4基本ACL;
· 3000~3999:表示IPv4高级ACL;
· 4000~4999:表示二层ACL;
· 5000~5999:表示用户自定义ACL。
name dest-acl-name:指定目的IPv4 ACL的名称,该ACL必须不存在。dest-acl-name为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。若未指定本参数,系统将不会为目的IPv4 ACL指定名称。
【描述】
acl copy命令用来复制生成一个新的同类型IPv4 ACL。
需要注意的是:
· 目的IPv4 ACL的类型要与源IPv4 ACL的类型相同。
· 目的IPv4 ACL的名称只能在复制时设置。目的IPv4 ACL一旦生成,便不允许再修改或删除其原有名称。
· 除了ACL的编号和名称不同外,新生成的IPv4 ACL(即目的IPv4 ACL)的匹配顺序、规则匹配统计功能的使能情况、规则编号的步长、所包含的规则、规则的描述信息以及ACL的描述信息等都与源IPv4 ACL的相同。
【举例】
# 通过复制已存在的IPv4基本ACL 2001,来生成一个新的编号为2002的同类型IPv4 ACL。
<Sysname> system-view
[Sysname] acl copy 2001 to 2002
【命令】
acl ipv6 number acl6-number [ name acl6-name ] [ match-order { auto | config } ]
undo acl ipv6 { all | name acl6-name | number acl6-number }
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
number acl6-number:指定IPv6 ACL的编号。acl6-number表示IPv6 ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示IPv6基本ACL;
· 3000~3999:表示IPv6高级ACL;
name acl6-name:指定IPv6 ACL的名称。acl6-name表示IPv6 ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。
match-order { auto | config }:指定规则的匹配顺序。auto表示按照自动排序(即“深度优先”原则)的顺序进行规则匹配,config表示按照配置顺序进行规则匹配。缺省情况下,规则的匹配顺序为配置顺序。
all:指定所有的IPv6 ACL。
【描述】
acl ipv6命令用来创建一个IPv6 ACL,并进入相应的ACL视图。undo acl ipv6命令用来删除IPv6 ACL。
缺省情况下,不存在任何ACL。
需要注意的是:
· 使用acl ipv6命令时,如果指定编号的IPv6 ACL不存在,则创建该ACL并进入其视图,否则直接进入其视图。
· ACL的名称只能在创建时设置。ACL一旦创建,便不允许再修改或删除其原有名称。
· 当ACL内不存在任何规则时,用户可以使用本命令对该ACL的规则匹配顺序进行修改,否则不允许进行修改。
相关配置可参考命令display acl ipv6。
【举例】
# 创建一个编号为2000的IPv6基本ACL,并进入其视图。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000]
# 创建一个编号为2001的IPv6基本ACL,指定其名称为flow,并进入其视图。
<Sysname> system-view
[Sysname] acl ipv6 number 2001 name flow
[Sysname-acl6-basic-2001-flow]
【命令】
acl ipv6 copy { source-acl6-number | name source-acl6-name } to { dest-acl6-number | name dest-acl6-name }
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
source-acl6-number:指定源IPv6 ACL的编号,该ACL必须存在。本参数的取值范围及其代表的ACL类型如下:
· 2000~2999:表示IPv6基本ACL;
· 3000~3999:表示IPv6高级ACL。
name source-acl6-name:指定源IPv6 ACL的名称,该ACL必须存在。source-acl6-name为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
dest-acl6-number:指定目的IPv6 ACL的编号,该ACL必须不存在。若未指定本参数,系统将为目的IPv6 ACL自动分配一个与源IPv6 ACL类型相同且可用的最小编号。本参数的取值范围及其代表的ACL类型如下:
· 2000~2999:表示IPv6基本ACL;
· 3000~3999:表示IPv6高级ACL。
name dest-acl6-name:指定目的IPv6 ACL的名称,该ACL必须不存在。dest-acl6-name为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。若未指定本参数,系统将不会为目的IPv6 ACL设置名称。
【描述】
acl ipv6 copy命令用来复制生成一个新的同类型IPv6 ACL。
需要注意的是:
· 目的IPv6 ACL的类型要与源IPv6 ACL的类型相同。
· 目的IPv6 ACL的名称只能在复制时设置。目的IPv6 ACL一旦生成,便不允许再修改或删除其原有名称。
· 除了ACL的编号和名称不同外,新生成的目的IPv6 ACL的匹配顺序、规则匹配统计功能的使能情况、规则编号的步长、所包含的规则、规则的描述信息以及ACL的描述信息等都与源IPv6 ACL的相同。
【举例】
# 通过复制已存在的IPv6基本ACL 2001,来生成一个新的编号为2002的同类型IPv6 ACL。
<Sysname> system-view
[Sysname] acl ipv6 copy 2001 to 2002
【命令】
acl ipv6 enable
acl ipv6 disable
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
无
【描述】
acl ipv6 enable命令用来设置EC1/EF类单板ACL规则长度为80字节。acl ipv6 disable命令用来恢复缺省情况。
缺省情况下,EC1/EF类单板ACL规则长度为40字节。
acl ipv6 enable命令仅对EC1/EF类单板有效,只有在执行本命令后,此类单板才支持用户自定义ACL、IPv6 基本ACL或IPv6 高级ACL。
· 本命令配置后,必须重启设备后才会生效。
· 在组成IRF的所有设备上,acl ipv6必须配置一致,即都为acl ipv6 enable或都为acl ipv6 disable,否则不能形成IRF。有关IRF的介绍,请参见“IRF配置指导”中的“IRF”。
【举例】
# 设置系统ACL规则长度为80字节。
<Sysname> system-view
[Sysname] acl ipv6 enable
【命令】
acl ipv6 logging frequence frequence
undo acl ipv6 logging frequence
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
frequence:指定IPv6报文过滤日志的生成与发送周期,取值范围为0~1440,且必须为5的整数倍,0表示不进行记录,单位为分钟。
【描述】
acl ipv6 logging frequence命令用来配置IPv6报文过滤日志的生成与发送周期,设备将周期性地生成并发送报文过滤的日志信息,包括该周期内被匹配的报文数量以及所使用的IPv6 ACL规则。undo acl ipv6 logging frequence命令用来恢复缺省情况。
缺省情况下,IPv6报文过滤日志的生成与发送周期为0分钟,即不记录IPv6报文过滤的日志。
需要注意的是,系统只支持对应用IPv6基本或高级ACL进行报文过滤的日志进行记录,且在上述ACL中配置规则时须指定logging参数。
相关配置可参考命令packet-filter ipv6、rule (IPv6 advanced ACL view) 和rule (IPv6 basic ACL view)。
【举例】
# 配置IPv6报文过滤日志的生成与发送周期为10分钟。
<Sysname> system-view
[Sysname] acl ipv6 logging frequence 10
【命令】
acl ipv6 name acl6-name
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
acl6-name:指定IPv6 ACL的名称,该ACL必须存在。为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
【描述】
acl ipv6 name命令用来进入指定名称的IPv6 ACL视图。
相关配置可参考命令acl ipv6。
【举例】
# 进入名称为flow的IPv6 ACL的视图。
<Sysname> system-view
[Sysname] acl ipv6 name flow
[Sysname-acl6-basic-2001-flow]
【命令】
acl logging frequence frequence
undo acl logging frequence
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
frequence:指定IPv4报文过滤日志的生成与发送周期,取值范围为0~1440,且必须为5的整数倍,0表示不进行记录,单位为分钟。
【描述】
acl logging frequence命令用来配置IPv4报文过滤日志的生成与发送周期,设备将周期性地生成并发送报文过滤的日志信息,包括该周期内被匹配的报文数量以及所使用的IPv4 ACL规则。undo acl logging frequence命令用来恢复缺省情况。
缺省情况下,IPv4报文过滤日志的生成与发送周期为0分钟,即不记录IPv4报文过滤的日志。
需要注意的是,系统只支持对应用IPv4基本或高级ACL进行报文过滤的日志进行记录,且在上述ACL中配置规则时须指定logging参数。
相关配置可参考命令packet-filter、rule (IPv4 advanced ACL view)和rule (IPv4 basic ACL view)。
【举例】
# 配置IPv4报文过滤日志的生成与发送周期为10分钟。
<Sysname> system-view
[Sysname] acl logging frequence 10
【命令】
acl mode { standard | advanced }
【视图】
系统视图
【缺省级别】
3:管理级
【参数】
standard:ACL标准模式。该模式下,EB/EC2类单板的ACL规则长度为24字节。
advanced:ACL高级模式。该模式下,EB/EC2类单板的ACL规则长度为48字节。
【描述】
acl mode命令用来配置EB/EC2类单板的ACL工作模式。
缺省情况下,EB/EC2类单板工作在ACL高级模式。
需要注意的是:
· 本命令仅对EB/EC2类单板生效。
· 本命令配置后,必须保存配置并重启设备后才会生效。
· EB/EC2类单板工作在ACL高级模式时,支持二层ACL、IPv4基本ACL、IPv4高级ACL、IPv6基本ACL、IPv6高级ACL和用户自定义ACL;工作在ACL标准模式时,仅支持二层ACL、IPv4基本ACL和IPv4高级ACL。
· 在组成IRF的所有设备上,acl mode必须配置一致,即都为acl mode standard或都为acl mode advanced,否则不能形成IRF。有关IRF的介绍,请参见“IRF配置指导”中的“IRF”
· 切换ACL工作模式会改变单板ACL规则长度和支持的ACL规则总数(ACL标准模式下支持的ACL规则总数比ACL高级模式下增加一倍),可能会导致ACL相关的配置失效,请谨慎使用。
相关配置可参考命令display acl mode。
【举例】
# 配置EB/EC2类单板工作在ACL标准模式。
<Sysname> system-view
[Sysname] acl mode standard
ACL mode has been changed, need be saved and will take effect after system res
tart.
【命令】
acl name acl-name
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
acl-name:指定IPv4 ACL的名称,该ACL必须存在。本参数为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
【描述】
acl name命令用来进入指定名称的IPv4 ACL视图。
相关配置可参考命令acl。
【举例】
# 进入名称为flow的IPv4 ACL的视图。
<Sysname> system-view
[Sysname] acl name flow
[Sysname-acl-basic-2002-flow]
【命令】
description text
undo description
【视图】
IPv4基本ACL视图/IPv4高级ACL视图/IPv6基本ACL视图/IPv6高级ACL视图/二层ACL视图/用户自定义ACL视图
【缺省级别】
2:系统级
【参数】
text:表示ACL的描述信息,为1~127个字符的字符串,区分大小写。
【描述】
description命令用来配置ACL的描述信息。undo description命令用来删除ACL的描述信息。
缺省情况下,ACL没有任何描述信息。
相关配置可参考命令display acl和display acl ipv6。
【举例】
# 为IPv4基本ACL 2000配置描述信息。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000] description This is an IPv4 basic ACL.
# 为IPv6基本ACL 2000配置描述信息。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000] description This is an IPv6 basic ACL.
【命令】
独立运行模式:
display acl { acl-number | all | name acl-name } [ slot slot-number ] [ | { begin | exclude | include } regular-expression ]
IRF模式:
display acl { acl-number | all | name acl-name } [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
acl-number:显示指定编号的IPv4 ACL的配置和运行情况。acl-number表示IPv4 ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示IPv4基本ACL;
· 3000~3999:表示IPv4高级ACL;
· 4000~4999:表示二层ACL;
· 5000~5999:表示用户自定义ACL。
all:显示所有IPv4 ACL的配置和运行情况。
name acl-name:显示指定名称的IPv4 ACL的配置和运行情况。acl-name表示IPv4 ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
slot slot-number:显示指定单板上IPv4 ACL的运行情况。slot-number表示单板所在槽位的编号。如果不指定该参数,将显示设备整体的IPv4 ACL配置情况,slot-number表示单板所在的槽位号。若未指定本参数,将显示设备整体的IPv4 ACL配置情况。(独立运行模式)
chassis chassis-number slot slot-number:显示指定成员设备上指定单板的IPv4 ACL运行情况。chassis-number表示设备在IRF中的成员编号,slot-number表示单板的槽位号。可使用display device命令查看。如果不指定该参数,将显示IRF设备整体的IPv4 ACL配置情况。(IRF模式)
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display acl命令用来显示IPv4 ACL的配置和运行情况。
需要注意的是,本命令将按照实际匹配顺序来排列ACL内的规则,即:当ACL的规则匹配顺序为配置顺序时,各规则将按照编号由小到大排列;当ACL的规则匹配顺序为自动排序时,各规则将按照“深度优先”原则由深到浅排列。
【举例】
# 显示IPv4 ACL 2001的配置和运行情况。
<Sysname> display acl 2001
Basic ACL 2001, named –flow-, 2 rules,
Statistics is enabled
ACL's step is 5
rule 1 permit source 1.1.1.1 0 (5 times matched)
rule 2 permit source 1.1.1.2 0 (No statistics resource)
表1-1 display acl命令显示信息描述表
字段 |
描述 |
Basic ACL 2001 |
该ACL属于IPv4基本ACL,序号为2001 |
named flow |
该ACL的名称为flow,-none-表示没有名称 |
2 rules |
该ACL包含2条规则 |
Statistics is enabled |
使能了匹配统计功能 |
ACL's step is 5 |
该ACL的规则序号的步长值为5 |
5 times matched |
该规则匹配的次数为5,仅统计packet-filter的匹配次数(匹配次数为0时无此项) |
Uncompleted |
该规则下发未完成,因此不会生效。这种情况通常是在ACL被动态修改之后,由于该规则的资源不足或硬件限制而导致其应用失败 |
No statistics resource |
表示单板出现统计资源不足 |
下发packet-filter时,如果acl统计功能使能,可能会出现统计资源不足,此时策略仍然可以下发成功。但是通过display acl查询acl统计计数时,没有申请到统计资源的规则会显示“No statistics resource”。另外,如果设备上统计资源由不足变为足够时,已经下发的规则并不会重新申请统计资源,需要先删除该规则,然后再添加才能重新获得统计资源。
【命令】
独立运行模式:
display acl ipv6 { acl6-number | all | name acl6-name } [ slot slot-number ] [ | { begin | exclude | include } regular-expression ]
IRF模式:
display acl ipv6 { acl6-number | all | name acl6-name } [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
acl6-number:显示指定编号的IPv6 ACL的配置和运行情况。acl6-number表示IPv6 ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示IPv6基本ACL;
· 3000~3999:表示IPv6高级ACL;
all:显示所有IPv6 ACL的配置和运行情况。
name acl6-name:显示指定名称的IPv6 ACL的配置和运行情况。acl6-name表示IPv6 ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
slot slot-number:显示指定单板上IPv6 ACL的运行情况,slot-number表示单板所在的槽位号。若未指定本参数,将显示设备整体的IPv6 ACL配置情况。(独立运行模式)
chassis chassis-number slot slot-number:显示指定成员设备上指定单板的IPv6 ACL运行情况。chassis-number表示设备在IRF中的成员编号,slot-number表示单板所在的槽位号。可使用display device命令查看。如果不指定该参数,将显示IRF设备整体的IPv6 ACL配置情况。(IRF模式)
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display acl ipv6命令用来显示IPv6 ACL的配置和运行情况。
需要注意的是,本命令将按照实际匹配顺序来排列ACL内的规则,即:当ACL的规则匹配顺序为配置顺序时,各规则将按照编号由小到大排列;当ACL的规则匹配顺序为自动排序时,各规则将按照“深度优先”原则由深到浅排列。
【举例】
# 显示IPv6 ACL 2001的配置和运行情况。
<Sysname> display acl ipv6 2001
Basic IPv6 ACL 2001, named flow, 1 rule,
Statistics is enabled
ACL's step is 5
rule 0 permit source ::1/128 (No statistics resource)
表1-2 display acl ipv6命令显示信息描述表
字段 |
描述 |
Basic IPv6 ACL 2001 |
该ACL属于IPv6基本ACL,序号为2001 |
named flow |
该ACL的名称为flow,-none-表示没有名称 |
1 rule |
该ACL包含1条规则 |
Statistics is enabled |
使能了匹配统计功能 |
ACL's step is 5 |
该ACL的规则序号的步长值为5 |
No statistics resource |
表示单板出现统计资源不足 |
下发packet-filter时,如果acl统计功能使能,可能会出现统计资源不足,此时策略仍然可以下发成功。但是通过display acl查询acl统计计数时,没有申请到统计资源的规则会显示“No statistics resource”。另外,如果设备上统计资源由不足变为足够时,已经下发的规则并不会重新申请统计资源,需要先删除该规则,然后再添加才能重新获得统计资源。
【命令】
display acl ipv6 { inbound | outbound } [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
inbound:显示系统入方向上的ACL规则的长度值。
outbound:显示系统出方向上的ACL规则的长度值。
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display acl ipv6 { inbound | outbound }命令用来显示当前系统ACL规则的长度值。
需要注意的是:当系统工作在标准模式下时,本命令不生效。
相关配置可参考命令acl ipv6 enable。
【举例】
# 显示系统inbound方向上的ACL规则长度值。
<Sysname> display acl ipv6 inbound
Current ACL IPv6 inbound mode : Disable
ACL IPv6 inbound mode after system restart: Enable
Notice: Changing ACL IPv6 mode will take effect only after system restart.
表1-3 display acl ipv6命令显示信息描述表
字段 |
描述 |
Current ACL IPv6 inbound mode |
设备当前inbound方向上的ACL IPv6使能情况,Disable表示未使能ACL IPv6,即ACL规则长度为40字节 |
ACL IPv6 inbound mode after system restart |
设备重启后inbound方向上的ACL IPv6使能情况,Enable表示使能ACL IPv6,即ACL规则长度为80字节 |
Changing ACL IPv6 mode will take effect only after system restart. |
修改ACL IPv6状态后,必须重启设备后才会生效 |
【命令】
display acl mode [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display acl mode命令用来显示EB/EC2类单板的ACL工作模式。
相关配置可参考命令acl mode。
【举例】
# 显示EB/EC2类单板的ACL工作模式。
<Sysname> display acl mode
Current ACL mode : advanced
ACL mode after system restart: standard
Notice: Changing ACL mode will take effect only after system restart.
表1-4 display acl mode命令显示信息描述表
字段 |
描述 |
Current ACL mode |
EB/EC2类单板当前ACL的工作模式: · advanced:ACL高级模式 · standard:ACL标准模式 |
ACL mode after system restart |
系统重启后,EB/EC2类单板ACL的工作模式: · advanced:ACL高级模式 · standard:ACL标准模式 |
Changing ACL mode will take effect only after system restart. |
修改ACL工作模式后,必须重启设备后才会生效 |
【命令】
独立运行模式:
display acl resource [ slot slot-number ] [ | { begin | exclude | include } regular-expression ]
IRF模式:
display acl resource [ chassis chassis-number slot slot-number ] [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
slot slot-number:显示指定单板上ACL资源的使用情况,slot-number表示单板所在的槽位号。若未指定本参数,将显示主控板上ACL资源的使用情况(独立运行模式)。
chassis chassis-number slot slot-number:显示指定成员设备的指定单板上ACL资源的使用情况,chassis-number表示设备在IRF中的成员编号,slot-number表示单板所在的槽位号。若未指定本参数,将显示IRF中所有主控板上ACL资源的使用情况(IRF模式)。
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display acl resource命令用来显示ACL资源的使用情况。
需要注意的是,如果指定的单板不支持本功能,则将只显示该单板的槽位号,而不会显示该单板上ACL资源的使用情况。
【举例】
# 显示3号槽位单板上ACL资源的使用情况。
<Sysname> display acl resource slot 3
Interface:
GE3/0/1 to GE3/0/24
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
ACL rule 8192 96 3 8093 1%
Inbound ACL 8192 96 3 8093 1%
Outbound ACL 8192 0 0 8093 0%
表1-5 display acl resource命令显示信息描述表
字段 |
描述 |
Interface |
起始结束接口名称 |
Type |
资源类型 |
Total |
支持的ACL规则总数 |
Reserved |
预留的ACL规则数 |
Configured |
已经配置的ACL规则数(包括系统自动下发的规则数) |
Remaining |
剩余的ACL规则数 |
Usage |
ACL规则数使用率 |
【命令】
独立运行模式:
display packet-filter { { all | interface interface-type interface-number } [ inbound | outbound ] | interface vlan-interface vlan-interface-number [ inbound | outbound ] [ slot slot-number ] } [ | { begin | exclude | include } regular-expression ]
IRF模式:
display packet-filter { { all | interface interface-type interface-number } [ inbound | outbound ] | interface vlan-interface vlan-interface-number [ inbound | outbound ] [ chassis chassis-number slot slot-number ] } [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
all:显示所有接口上报文过滤策略的应用情况。
interface interface-type interface-number:显示指定接口上报文过滤策略的应用情况。interface-type interface-number表示接口类型和接口编号,这里的接口类型不包括VLAN接口。
inbound:显示接口入方向上报文过滤策略的应用情况。
outbound:显示接口出方向上报文过滤策略的应用情况。
interface vlan-interface vlan-interface-number:显示指定VLAN接口上报文过滤策略的应用情况。vlan-interface-number表示VLAN接口的编号。
slot slot-number:显示指定单板的VLAN接口上报文过滤策略的应用情况。slot-number表示单板所在槽位的编号。如果不指定该参数,将显示设备的VLAN接口上报文过滤策略应用情况。(独立运行模式)
chassis chassis-number slot slot-number:显示指定成员设备指定单板的VLAN接口上报文过滤策略的应用情况。chassis-number表示设备在IRF中的成员编号,slot-number表示单板的槽位号, 可使用display device命令查看。如果不指定该参数,将显示IRF设备的VLAN接口上报文过滤策略应用情况。(IRF模式)
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display packet-filter命令用来显示报文过滤策略的应用情况。
需要注意的是,若未指定inbound和outbound参数,将同时显示接口出、入方向上报文过滤策略的应用情况。
【举例】
# 显示接口GigabitEthernet 3/0/1出、入方向上报文过滤策略的应用情况。
<Sysname> display packet-filter interface GigabitEthernet 3/0/1
Interface: GigabitEthernet 3/0/1
In-bound Policy:
acl 2001, Successful
Out-bound Policy:
acl6 2500, Fail
表1-6 display packet-filter命令显示信息描述表
字段 |
描述 |
Interface |
应用报文过滤策略的接口名称 |
In-bound Policy |
入方向上报文过滤策略的应用情况 |
Out-bound Policy |
出方向上报文过滤策略的应用情况 |
acl 2001, Successful |
应用IPv4 ACL 2001成功 |
acl6 2500, Fail |
应用IPv6 ACL 2500失败 |
基于VLAN接口应用的packet-filter策略会下发到主控板和所有的单板,如果遇到某个单板硬件资源不足等情况,会导致策略在该单板下发失败。此时主控板及所有单板不回退该策略的配置,需要用户在VLAN接口上用undo packet-filter命令手工将该策略的相关配置清除。类似地,动态修改过程中,如果基于VLAN应用的packet-filter策略在某个单板刷新时遇到硬件资源不足等情况,下发失败,并不会同时更新display packet-filter显示的运行情况,也需要用户手工将该策略的配置清除。
【命令】
display time-range { time-range-name | all } [ | { begin | exclude | include } regular-expression ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
time-range-name:显示指定名称的时间段的配置和状态信息。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
all:显示所有时间段的配置和状态信息。
|:使用正则表达式对显示信息进行过滤。有关正则表达式的详细介绍,请参见“基础配置指导”中的“CLI”。
begin:从包含指定正则表达式的行开始显示。
exclude:只显示不包含指定正则表达式的行。
include:只显示包含指定正则表达式的行。
regular-expression:表示正则表达式,为1~256个字符的字符串,区分大小写。
【描述】
display time-range命令用来显示时间段的配置和状态信息。
【举例】
# 显示时间段trname的配置和状态。
<Sysname> display time-range trname
Current time is 10:45:15 1/26/2010 Tuesday
Time-range : trname ( Inactive )
from 08:00 1/2/2010 to 23:59 1/3/2010
表1-7 display time-range命令显示信息描述表
字段 |
描述 |
Current time |
系统当前的时间 |
Time-range |
时间段的配置信息,包括: · 时间段的名称 · 时间段的状态,包括Active(生效)和Inactive(未生效)两种状态 · 时间段的时间范围 |
【命令】
hardware-count enable
undo hardware-count enable
【视图】
IPv4基本ACL视图/IPv4高级ACL视图/二层ACL视图/IPv6基本ACL视图/IPv6高级ACL视图/用户自定义ACL视图
【缺省级别】
2:系统级
【参数】
无
【描述】
hardware-count enable命令用来使能ACL的规则匹配统计功能。undo hardware-count enable命令用来关闭ACL的规则匹配统计功能。
缺省情况下,ACL的规则匹配统计功能处于关闭状态。
需要注意的是:
· 本命令用于控制当前ACL内所有规则的匹配统计功能,而rule命令中的counting参数则用于控制当前规则的匹配统计功能。对于某条规则而言,这两个配置中只要有一个处于使能状态,该规则的统计功能就会生效。
· 使用undo hardware-count enable命令会同时将该ACL内所有规则的统计计数清零,不论这些规则中是否配置了有counting参数。
· 当ACL规则应用到outbound方向,且动作是deny时,则匹配的报文无法统计。
相关配置可参考命令display acl、display acl ipv6和rule。
【举例】
# 使能IPv4基本ACL 2000的规则匹配统计功能。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000] hardware-count enable
# 使能IPv6基本ACL 2000的规则匹配统计功能。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000] hardware-count enable
【命令】
packet-filter { acl-number | name acl-name } { inbound | outbound }
undo packet-filter { acl-number | name acl-name } { inbound | outbound }
【视图】
接口视图
【缺省级别】
2:系统级
【参数】
acl-number:指定IPv4 ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示IPv4基本ACL;
· 3000~3999:表示IPv4高级ACL;
· 4000~4999:表示二层ACL;
· 5000~5999:表示用户自定义ACL。
name acl-name:指定IPv4 ACL的名称。acl-name表示IPv4 ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
inbound:对接口收到的报文进行过滤。
outbound:对接口发出的报文进行过滤。
【描述】
packet-filter命令用来在接口上应用IPv4基本ACL、IPv4高级ACL、二层ACL或用户自定义ACL进行报文过滤。undo packet-filter命令用来恢复缺省情况。
缺省情况下,接口不对报文进行过滤。
相关配置可参考命令display packet-filter。
· 基于VLAN接口应用的packet-filter策略会下发到主控板和所有的接口板,如果遇到某个接口板硬件资源不足等情况,会导致策略在该接口板下发失败。此时主控板及所有接口板不回退该策略的配置,需要用户在VLAN接口上用undo packet-filter命令手工将该策略的相关配置清除。类似地,动态修改过程中,如果基于VLAN应用的packet-filter策略在某个接口板刷新时遇到硬件资源不足等情况,下发失败,并不会同时更新display packet-filter显示的运行情况,也需要用户手工将该策略的配置清除。
· 如果packet-filter引用的ACL已经生效,在已生效ACL中执行添加rule的操作,新添加的rule可能会不生效(原因可能是ACL资源不够或packet-filter不支持此rule)。通过display acl { acl-number | all | name acl-name } slot slot-number查询ACL的配置和运行情况时,不生效的rule会被标识成“uncompleted”。如果后续有了足够的ACL资源,需要删除不生效的rule并重新配置,此rule才能生效。
· 请避免多个用户同时进行本配置,否则可能导致配置失败。
· 当EB/EC2类单板工作在ACL标准模式时,该类单板不支持应用用户自定义ACL进行报文过滤。
· 当EB/EC2类单板工作在ACL标准模式时,应用二层ACL对该类单板接口收到的报文进行过滤,IPv6报文仅可以匹配二层ACL中的目的MAC地址(仅入方向支持)和802.1p优先级。
【举例】
# 应用IPv4基本ACL 2001对接口GigabitEthernet3/0/1收到的IPv4报文进行过滤。
<Sysname> system-view
[Sysname] interface GigabitEthernet 3/0/1
[Sysname-GigabitEthernet3/0/1] packet-filter 2001 inbound
【命令】
packet-filter ipv6 { acl6-number | name acl6-name } { inbound | outbound }
undo packet-filter ipv6 { acl6-number | name acl6-name } { inbound | outbound }
【视图】
接口视图
【缺省级别】
2:系统级
【参数】
acl6-number:指定IPv6 ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示IPv6基本ACL;
· 3000~3999:表示IPv6高级ACL。
name acl6-name:指定IPv6 ACL的名称。acl6-name表示IPv6 ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
inbound:对接口收到的IPv6报文进行过滤。
outbound:对接口发出的IPv6报文进行过滤。
【描述】
packet-filter ipv6命令用来在接口上应用IPv6基本ACL或IPv6高级ACL进行报文过滤。undo packet-filter ipv6命令用来恢复缺省情况。
缺省情况下,接口不对报文进行过滤。
相关配置可参考命令display packet-filter。
· 当EB/EC2类单板工作在ACL标准模式时,该类单板不支持配置本命令。
· 基于VLAN接口应用的packet-filter ipv6策略会下发到主控板和所有的接口板,如果遇到某个接口板硬件资源不足等情况,会导致策略在该接口板下发失败。此时主控板及所有接口板不回退该策略的配置,需要用户在VLAN接口上用undo packet-filter ipv6命令手工将该策略的相关配置清除。类似地,动态修改过程中,如果基于VLAN应用的packet-filter ipv6策略在某个接口板刷新时遇到硬件资源不足等情况,下发失败,并不会同时更新display packet-filter显示的运行情况,也需要用户手工将该策略的配置清除。
· 如果packet-filter ipv6引用的ACL已经生效,在已生效ACL中执行添加rule的操作,新添加的rule可能会不生效(原因可能是ACL资源不够或packet-filter ipv6不支持此rule)。通过display acl { acl-number | all | name acl-name } slot slot-number查询ACL的配置和运行情况时,不生效的rule会被标识成“uncompleted”。如果后续有了足够的ACL资源,需要删除不生效的rule并重新配置,此rule才能生效。
· 请避免多个用户同时进行本配置,否则可能导致配置失败。
【举例】
# 应用IPv6 ACL 2500对接口GigabitEthernet3/0/1发送的报文进行过滤。
<Sysname> system-view
[Sysname] interface GigabitEthernet 3/0/1
[Sysname-GigabitEthernet3/0/1] packet-filter ipv6 2500 outbound
【命令】
packet-filter forwarding-layer route outbound
undo packet-filter forwarding-layer route outbound
【缺省级别】
2:系统级
【参数】
无
【描述】
packet-filter forwarding-layer route outbound命令用来使能以太网接口板VLAN接口出方向报文过滤限制功能。执行本命令后,如果再在以太网接口板上的VLAN接口出方向配置IPv4报文过滤功能(即配置packet-filter命令),IPv4报文过滤将只对VLAN接口出方向的三层单播报文生效。undo packet-filter forwarding-layer route outbound命令用来恢复缺省情况。
缺省情况下,以太网接口板VLAN接口出方向配置的IPv4报文过滤对所有报文生效。
· packet-filter forwarding-layer route outbound命令仅对以太网接口板生效。
· 当EB/EC2类单板工作在ACL标准模式时,本命令在该类单板上不生效。
· packet-filter forwarding-layer route outbound或undo packet-filter forwarding-layer route outbound命令必须在packet-filter { acl-number | name acl-name } outbound命令之前配置才有效;如果在以太网接口板的VLAN接口出方向已经配置了packet-filter { acl-number | name acl-name } outbound命令,则需要先清除此配置,然后配置packet-filter forwarding-layer route outbound或undo packet-filter forwarding-layer route outbound命令,最后在以太网接口板VLAN接口上重新配置packet-filter { acl-number | name acl-name } outbound命令,报文过滤限制功能才能正常生效。配置了packet-filter forwarding-layer route outbound命令后,可能导致BFD报文被丢弃。为了保证BFD功能的正常使用,建议您配置IPv4高级ACL规则允许BFD报文通过,即配置命令rule [ rule-id ] permit udp destination-port range 3784 3785。
· 在IRF模式下,配置了packet-filter forwarding-layer route outbound命令后,可能导致sFlow报文被丢弃。为了保证sFlow功能的正常使用,建议您配置IPv4高级ACL规则允许sFlow报文通过,即配置命令rule [ rule-id ] permit udp destination-port range eq udp-port(其中udp-port是用户配置的sFlow Collector的端口号,缺省值是6343。关于sFlow的介绍请参见“网络管理与监控配置指导”中的“sFlow”。)
【举例】
# 应用IPv4基本ACL 2001,对以太网接口板VLAN接口2上发出的三层单播报文生效。
<Sysname> system-view
[Sysname] packet-filter forwarding-layer route outbound
[Sysname] interface vlan-interface 2
[Sysname-Vlan-interface2] packet-filter 2001 outbound
【命令】
reset acl counter { acl-number | all | name acl-name }
【视图】
用户视图
【缺省级别】
2:系统级
【参数】
acl-number:指定IPv4 ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示IPv4基本ACL;
· 3000~3999:表示IPv4高级ACL;
· 4000~4999:表示二层ACL;
· 5000~5999:表示用户自定义ACL。
all:指定所有的IPv4 ACL。
name acl-name:指定IPv4 ACL的名称。acl-name表示IPv4 ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
【描述】
reset acl counter命令用来清除IPv4 ACL的统计信息。
相关配置可参考命令display acl。
【举例】
# 清除编号为2001的IPv4基本ACL的统计信息。
<Sysname> reset acl counter 2001
# 清除名为flow的IPv4 ACL的统计信息。
<Sysname> reset acl counter name flow
【命令】
reset acl ipv6 counter { acl6-number | all | name acl6-name }
【视图】
用户视图
【缺省级别】
2:系统级
【参数】
acl6-number:指定IPv6 ACL的编号,取值范围及其代表的ACL类型如下
· 2000~2999:表示IPv6基本ACL;
· 3000~3999:表示IPv6高级ACL。
all:指定所有的IPv6 ACL。
name acl6-name:指定IPv6 ACL的名称。acl6-name表示IPv6 ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。
【描述】
reset acl ipv6 counter命令用来清除IPv6 ACL的统计信息。
相关配置可参考命令display acl ipv6。
【举例】
# 清除编号为2001的IPv6基本ACL的统计信息。
<Sysname> reset acl ipv6 counter 2001
【命令】
rule [ rule-id ] { deny | permit } [ cos vlan-pri | counting | dest-mac dest-addr dest-mask | { lsap lsap-type lsap-type-mask | type protocol-type protocol-type-mask } | source-mac sour-addr source-mask | time-range time-range-name ] *
undo rule rule-id [ counting | time-range ] *
【视图】
二层ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:指定二层ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
cos vlan-pri:指定802.1p优先级。vlan-pri表示802.1p优先级,可输入的形式如下:
· 数字:取值范围为0~7;
· 名称:best-effort、background、spare、excellent-effort、controlled-load、video、voice和network-management,依次对应于数字0~7。
counting:表示对规则匹配情况进行统计。
dest-mac dest-addr dest-mask:指定目的MAC地址范围。dest-addr表示目的MAC地址,格式为H-H-H。dest-mask表示目的MAC地址的掩码,格式为H-H-H。
lsap lsap-type lsap-type-mask:指定LLC封装中的DSAP字段和SSAP字段。lsap-type表示数据帧的封装格式,为16比特的十六进制数。lsap-type-mask表示LSAP的类型掩码,为16比特的十六进制数,用于指定屏蔽位。目前设备不支持此关键字。
type protocol-type protocol-type-mask:定义规则中的链路层协议类型。protocol-type表示16比特的十六进制数表征的数据帧类型,对应Ethernet_II类型和Ethernet_SNAP类型帧中的type域。protocol-type-mask表示类型掩码,是一个16比特的十六进制数,用于指定屏蔽位。当要匹配ARP报文、IPv4报文以及IPv6报文时,protocol-type protocol-type-mask只能选择0x0806 0xFFFF(匹配ARP报文),0x0800 0xFFFF(匹配IPv4报文),0x86DD 0xFFFF(匹配IPv6报文)。当EB/EC2类单板工作在ACL标准模式时,该类单板引用的二层ACL规则中protocol-type protocol-type-mask不支持配置为0x86DD 0xFFFF(匹配IPv6报文)。
source-mac sour-addr source-mask:指定源MAC地址范围。sour-addr表示源MAC地址,格式为H-H-H。sour-mask表示源MAC地址的掩码,格式为H-H-H。
time-range time-range-name:指定规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。
【描述】
rule命令用来为二层ACL创建一条规则。undo rule命令用来为二层ACL删除一条规则或删除规则中的部分内容。
缺省情况下,二层ACL内不存在任何规则。
需要注意的是:
· 当EB/EC2类单板工作在ACL标准模式时,该类单板引用的二层ACL对IPv4报文不生效。
· 当EB/EC2类单板工作在ACL标准模式时,packet-filter命令引用二层ACL对该类单板接口收到的报文进行过滤,IPv6报文仅可以匹配二层ACL中的目的MAC地址(仅入方向支持)和802.1p优先级;其余命令引用二层ACL时,IPv6报文可以匹配二层ACL中的源MAC(仅入方向支持)、目的MAC地址(仅入方向支持)和802.1p优先级。
· 使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
· 新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
· 当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
使用undo rule命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。使用undo rule命令时必须指定一个已存在规则的编号,可以使用display acl all命令来查看所有已存在的规则。相关配置可参考命令acl、display acl、step和time-range。
【举例】
# 为二层ACL 4000创建规则如下:允许ARP报文通过,但拒绝RARP报文通过。
<Sysname> system-view
[Sysname] acl number 4000
[Sysname-acl-ethernetframe-4000] rule permit type 0806 ffff
[Sysname-acl-ethernetframe-4000] rule deny type 8035 ffff
【命令】
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 { 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 | vpn-instance vpn-instance-name ] *
undo rule rule-id [ { { ack | fin | psh | rst | syn | urg } * | established } | counting | destination | destination-port | dscp | fragment | icmp-type | logging | precedence | source | source-port | time-range | tos | vpn-instance ] *
【视图】
IPv4高级ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:指定IPv4高级ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
protocol:表示IPv4承载的协议类型,可输入的形式如下:
· 数字:取值范围为0~255;
· 名称(括号内为对应的数字):可选取gre(47)、icmp(1)、igmp(2)、ip、ipinip(4)、ospf(89)、tcp(6)或udp(17)。
protocol之后可配置如表1-8所示的规则信息参数。
参数 |
类别 |
作用 |
说明 |
source { sour-addr sour-wildcard | any } |
源地址 |
指定ACL规则的源地址信息 |
sour-addr sour-wildcard:源IP地址及其通配符掩码(为0表示主机地址) any:任意源IP地址 |
destination { dest-addr dest-wildcard | any } |
目的地址 |
指定ACL规则的目的地址信息 |
dest-addr dest-wildcard:目的IP地址及其通配符掩码(为0表示主机地址) any:任意目的IP地址 |
counting |
统计 |
对规则匹配情况进行统计 |
在ACL组未使能统计情况下,如果基于rule使能了统计功能,则该rule的统计功能生效 |
precedence precedence |
报文优先级 |
IP优先级 |
precedence:用数字表示时,取值范围为0~7;用名称表示时,为routine、priority、immediate、flash、flash-override、critical、internet或network,分别对应于数字0~7 |
tos tos |
报文优先级 |
ToS优先级 |
tos:用数字表示时,取值范围为0~15;用名称表示时,可选取max-reliability(2)、max-throughput(4)、min-delay(8)、min-monetary-cost(1)或normal(0) 当EB/EC2类单板工作在ACL标准模式时,在该类单板出方向引用的IPv4高级ACL不支持本参数 |
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) |
logging |
日志操作 |
对符合条件的报文可记录日志信息 |
目前,仅Packet-Filter特性支持此参数 |
reflective |
自反标志 |
设置规则具有自反属性 |
具有自反属性的ACL规则仅支持TCP、UDP、ICMP三种协议类型;动作类型只支持permit 本参数设备暂不支持 |
vpn-instance vpn-instance-name |
VPN实例 |
对指定VPN实例中的报文有效 |
vpn-instance-name:VPN实例的名称,为1~31个字符的字符串,区分大小写 若未指定该参数,则表示该规则对所有报文有效 当EB/EC2类单板工作在ACL标准模式时,该类单板引用的IPv4高级ACL不支持本参数 需要注意的是:当设备为PE设备时,对于VPN私网侧的报文,无法匹配此参数。当设备为MCE设备时,VPN的报文也无法匹配此参数。关于PE设备、MCE设备的介绍请参见“MPLS配置指导”中的“MPLS L3VPN” |
fragment |
分片信息 |
对所有分片报文都进行匹配 |
若未指定该参数,则表示该规则对非分片报文和分片报文均有效 |
time-range time-range-name |
时间段 |
指定规则生效的时间段 |
time-range-name:时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效 |
如果指定了参数dscp的同时还指定了参数precedence或tos,那么对参数precedence和tos所进行的配置不会生效。
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-9所示的规则信息参数。
表1-9 TCP/UDP特有的规则信息
参数 |
类别 |
作用 |
说明 |
source-port 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)、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表示携带此标志位)。一条规则中TCP标志位之间的关系是“与”的关系 |
established |
TCP连接建立标识 |
定义对TCP连接报文的处理规则 |
TCP协议特有的参数 |
当protocol选择为icmp(1)时,用户还可配置如表1-10所示的规则信息参数。
表1-10 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-11所示 |
表1-11 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命令用来为IPv4高级ACL创建一条规则。undo rule命令用来为IPv4高级ACL删除一条规则或删除规则中的部分内容。
缺省情况下,IPv4高级ACL内不存在任何规则。
需要注意的是:
· 使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
· 新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
· 当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
· 使用undo rule命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· 使用undo rule命令时必须指定一个已存在规则的编号,可以使用display acl all命令来查看所有已存在的规则。
相关配置可参考命令acl、display acl、step和time-range。
【举例】
# 为IPv4高级ACL 3000创建规则如下:允许129.9.0.0/16网段内的主机与202.38.160.0/24网段内主机的WWW端口(端口号为80)建立连接,并对符合此条件的行为记录日志。
<Sysname> system-view
[Sysname] acl number 3000
[Sysname-acl-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 logging
# 为IPv4高级ACL 3001创建规则如下:允许IP报文通过,但拒绝发往192.168.1.0/24网段的ICMP报文通过。
<Sysname> system-view
[Sysname] acl number 3001
[Sysname-acl-adv-3001] rule deny icmp destination 192.168.1.0 0.0.0.255
[Sysname-acl-adv-3001] rule permit ip# 为IPv4高级ACL 3002创建规则如下:在出、入双方向上都允许建立FTP连接并传输FTP数据。
<Sysname> system-view
[Sysname] acl number 3002
[Sysname-acl-adv-3002] rule permit tcp source-port eq ftp
[Sysname-acl-adv-3002] rule permit tcp source-port eq ftp-data
[Sysname-acl-adv-3002] rule permit tcp destination-port eq ftp
[Sysname-acl-adv-3002] rule permit tcp destination-port eq ftp-data
# 为IPv4高级ACL 3003创建规则如下:在出、入双方向上都允许SNMP报文和SNMP Trap报文通过。
<Sysname> system-view
[Sysname] acl number 3003
[Sysname-acl-adv-3003] rule permit udp source-port eq snmp
[Sysname-acl-adv-3003] rule permit udp source-port eq snmptrap
[Sysname-acl-adv-3003] rule permit udp destination-port eq snmp
[Sysname-acl-adv-3003] rule permit udp destination-port eq snmptrap
【命令】
rule [ rule-id ] { deny | permit } [ counting | fragment | logging | source { sour-addr sour-wildcard | any } | time-range time-range-name | vpn-instance vpn-instance-name ] *
undo rule rule-id [ counting | fragment | logging | source | time-range | vpn-instance ] *
【视图】
IPv4基本ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:指定IPv4基本ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
counting:表示对规则匹配情况进行统计。
fragment:对所有分片报文都进行匹配。若未指定该参数,则表示该规则对非分片报文和分片报文均有效。
logging:表示对符合条件的报文可记录日志信息。目前,仅Packet-Filter特性支持此参数。
source { sour-addr sour-wildcard | any }:指定规则的源地址信息。sour-addr表示报文的源IP地址,sour-wildcard表示源IP地址的通配符掩码(为0表示主机地址),any表示任意源IP地址。
time-range time-range-name:指定规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。
vpn-instance vpn-instance-name:对指定VPN实例中的报文有效。vpn-instance-name表示VPN实例的名称,为1~31个字符的字符串,区分大小写。若未指定本参数,则表示该规则对所有报文有效。当EB/EC2类单板工作在ACL标准模式时,该类单板引用的IPv4基本ACL不支持本参数。需要注意的是:当设备为PE设备时,对于VPN私网侧的报文,无法匹配此参数。当设备为MCE设备时,VPN的报文也无法匹配此参数。关于PE设备、MCE设备的介绍请参见“MPLS配置指导”中的“MPLS L3VPN”。
【描述】
rule命令用来为IPv4基本ACL创建一条规则。undo rule命令用来为IPv4基本ACL删除一条规则或删除规则中的部分内容。
缺省情况下,IPv4基本ACL内不存在任何规则。
需要注意的是:
· 使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
· 新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
· 当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
· 使用undo rule命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· 使用undo rule命令时必须指定一个已存在规则的编号,可以使用display acl all命令来查看所有已存在的规则。
相关配置可参考命令acl、display acl、step和time-range。
【举例】
# 为IPv4基本ACL 2000创建规则如下:仅允许来自10.0.0.0/8、172.17.0.0/16和192.168.1.0/24网段的报文通过,而拒绝来自所有其它网段的报文通过。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000] rule permit source 10.0.0.0 0.255.255.255
[Sysname-acl-basic-2000] rule permit source 172.17.0.0 0.0.255.255
[Sysname-acl-basic-2000] rule permit source 192.168.1.0 0.0.0.255
[Sysname-acl-basic-2000] rule deny source any
【命令】
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 { dest dest-prefix | dest/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | logging | source { source source-prefix | source/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-range-name | vpn-instance vpn-instance-name ] *
undo rule rule-id [ { { ack | fin | psh | rst | syn | urg } * | established } | counting | destination | destination-port | dscp | flow-label | fragment | icmp6-type | logging | source | source-port | time-range | vpn-instance ] *
【视图】
IPv6高级ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:指定IPv6 ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为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)。
protocol之后可配置如表1-12所示的规则信息参数。
参数 |
类别 |
作用 |
说明 |
source { source source-prefix | source/source-prefix | any } |
源IPv6地址 |
指定IPv6 ACL规则的源IPv6地址信息 |
source:源IPv6地址 source-prefix:前缀长度,取值范围1~128 any:任意源IPv6地址 |
destination { dest dest-prefix | dest/dest-prefix | any } |
目的IPv6地址 |
指定IPv6 ACL规则的目的IPv6地址信息 |
dest:目的IPv6地址 dest-prefix:前缀长度,取值范围1~128 any:任意目的IPv6地址 |
counting |
统计 |
对规则匹配情况进行统计 |
在ACL组未使能统计情况下,如果基于rule使能了统计功能,则该rule的统计功能生效。 |
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-label flow-label-value |
流标签字段 |
指定IPv6基本报文头中流标签字段的值 |
flow-label-value:流标签字段的值,取值范围为0~1048575 |
logging |
日志操作 |
对符合条件的报文可记录日志信息 |
目前,仅Packet-Filter特性支持此参数 |
vpn-instance vpn-instance-name |
VPN实例 |
对指定VPN实例中的报文有效 |
vpn-instance-name:VPN实例的名称,为1~31个字符的字符串,区分大小写 目前设备不支持此关键字 |
fragment |
报文分片 |
对所有分片报文都进行匹配 |
若未指定该参数,则表示该规则对非分片报文和分片报文均有效 |
time-range time-range-name |
时间段 |
指定规则生效的时间段 |
ime-range-name:时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。 |
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-13所示的规则信息参数。
表1-13 TCP/UDP特有的规则信息参数
参数 |
类别 |
作用 |
说明 |
source-port 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)、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表示携带此标志位)。一条规则中TCP标志位之间的关系是“与”的关系。设备目前不支持此参数 |
established |
TCP连接建立标识 |
定义对TCP连接报文的处理规则 |
TCP协议特有的参数 |
当protocol选择为icmpv6(58)时,用户还可配置如表1-14所示的规则信息参数。
表1-14 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-15所示 |
表1-15 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 |
【描述】
rule命令用来为IPv6高级ACL创建一条规则。undo rule命令用来为IPv6高级ACL删除一条规则或删除规则中的部分内容。
缺省情况下,IPv6高级ACL内不存在任何规则。
需要注意的是:
· EB/EC2类单板工作在ACL标准模式时,不支持IPv6高级ACL。
· 使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
· 新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
· 当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
· 使用undo rule命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
使用undo rule命令时必须指定一个已存在规则的编号,可以使用display acl ipv6 all命令来查看所有已存在的规则。相关配置可参考命令acl ipv6、display ipv6 acl、step和time-range。
【举例】
# 为IPv6高级ACL 3000创建规则如下:允许2030:5060::/64网段内的主机与FE80:5060::/96网段内主机的WWW端口(端口号为80)建立连接,并对符合此条件的行为记录日志。
<Sysname> system-view
[Sysname] acl ipv6 number 3000
[Sysname-acl6-adv-3000] rule permit tcp source 2030:5060::/64 destination fe80:5060::/96 destination-port eq 80 logging
# 为IPv6高级ACL 3001创建规则如下:允许IPv6报文通过,但拒绝发往FE80:5060:1001::/48网段的ICMPv6报文通过。
<Sysname> system-view
[Sysname] acl ipv6 number 3001
[Sysname-acl6-adv-3001] rule deny icmpv6 destination fe80:5060:1001:: 48
[Sysname-acl6-adv-3001] rule permit ipv6# 为IPv6高级ACL 3002创建规则如下:在出、入双方向上都允许建立FTP连接并传输FTP数据。
<Sysname> system-view
[Sysname] acl ipv6 number 3002
[Sysname-acl6-adv-3002] rule permit tcp source-port eq ftp
[Sysname-acl6-adv-3002] rule permit tcp source-port eq ftp-data
[Sysname-acl6-adv-3002] rule permit tcp destination-port eq ftp
[Sysname-acl6-adv-3002] rule permit tcp destination-port eq ftp-data
# 为IPv6高级ACL 3003创建规则如下:在出、入双方向上都允许SNMP报文和SNMP Trap报文通过。
<Sysname> system-view
[Sysname] acl ipv6 number 3003
[Sysname-acl6-adv-3003] rule permit udp source-port eq snmp
[Sysname-acl6-adv-3003] rule permit udp source-port eq snmptrap
[Sysname-acl6-adv-3003] rule permit udp destination-port eq snmp
[Sysname-acl6-adv-3003] rule permit udp destination-port eq snmptrap
【命令】
rule [ rule-id ] { deny | permit } [counting | fragment | logging | source { ipv6-address prefix-length | ipv6-address/prefix-length | any } | time-range time-range-name | vpn-instance vpn-instance-name ] *
undo rule rule-id [counting | fragment | logging | source | time-range | vpn-instance ] *
【视图】
IPv6基本ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:指定IPv6 ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
counting:表示对规则匹配情况进行统计。
fragment:对所有分片报文都进行匹配。若未指定该参数,则表示该规则对非分片报文和分片报文均有效。
logging:对符合条件的报文可记录日志信息。目前,仅Packet-Filter特性支持此参数。
source { ipv6-address prefix-length | ipv6-address/prefix-length | any }:指定规则的源IPv6地址信息。ipv6-address表示报文的源IPv6地址,prefix-length表示源IPv6地址前缀长度,取值范围为1~128。any表示任意源IPv6地址。
time-range time-range-name:指定规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。
vpn-instance vpn-instance-name:表示对指定VPN实例中的报文有效。vpn-instance-name表示VPN实例的名称,为1~31个字符的字符串,区分大小写。若未指定本参数,则表示该规则对所有报文有效。目前设备不支持此关键字。
【描述】
rule命令用来为IPv6基本ACL创建一条规则。undo rule命令用来为IPv6基本ACL删除一条规则或删除规则中的部分内容。
缺省情况下,IPv6基本ACL内不存在任何规则。
需要注意的是:
· EB/EC2类单板工作在ACL标准模式时,不支持IPv6基本ACL。
· 使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
· 新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
· 当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
· 使用undo rule命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
使用undo rule命令时必须指定一个已存在规则的编号,可以使用display acl ipv6 all命令来查看所有已存在的规则。相关配置可参考命令acl ipv6、display ipv6 acl、step和time-range。
【举例】
# 为IPv6基本ACL 2000创建规则如下:仅允许来自1001::/16、3124:1123::/32和FE80:5060:1001::/48网段的报文通过,而拒绝来自所有其它网段的报文通过。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000] rule permit source 1001:: 16
[Sysname-acl6-basic-2000] rule permit source 3124:1123:: 32
[Sysname-acl6-basic-2000] rule permit source fe80:5060:1001:: 48
[Sysname-acl6-basic-2000] rule deny source any
【命令】
rule [ rule-id ] { deny | permit } [ { { ipv4 | ipv6 | l2 | l4 } rule-string rule-mask offset }&<1-8> ] [ counting | time-range time-range-name ] *
undo rule rule-id
【视图】
用户自定义ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:指定用户自定义ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
ipv4:从IPv4报文头+20字节开始偏移。
ipv6:从IPv6报文头+40字节开始偏移。
l2:从L3报文头-2字节开始偏移。
l4:从L4报文头+20字节开始偏移。
rule-string:用户自定义的规则字符串,必须是16进制数组成,字符长度必须是偶数。
rule-mask:规则字符串的掩码,用于和报文作“与”操作,必须是16进制数组成,字符长度必须是偶数,且rule-mask的长度必须和rule-string的长度相同。
offset:偏移量,指定从第几个字节开始进行比较。
&<1-8>:表示前面的参数最多可以输入8次。
counting:表示对规则匹配情况进行统计。
time-range time-range-name:指定规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。
【描述】
rule命令用来为用户自定义ACL创建一条规则。undo rule命令用来为用户自定义ACL删除一条规则。
缺省情况下,用户自定义ACL内不存在任何规则。
需要注意的是:
· EB/EC2类单板工作在ACL标准模式时,不支持用户自定义ACL。
· 使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行覆盖。
· 新创建的规则不能与已有规则的内容完全相同,否则将提示出错,并导致创建失败。
使用undo rule命令时必须指定一个已存在规则的编号,可以使用display acl all命令来查看所有已存在的规则。相关配置可参考命令acl、display acl、step和time-range。
表1-16 自定义ACL使用描述表
命令行关键字 |
偏移开始位置 |
可配置的偏移量长度 |
有效报文 |
||
ACL规则长度为40字节 |
ACL规则长度为48字节 |
ACL规则长度为80字节 |
|||
ipv4 |
IPv4报文头+20字节 |
不支持 |
9 |
12 |
IPv4报文(除IPv4 UDP/TCP外) |
ipv6 |
IPv6报文头+40字节 |
不支持 |
不支持 |
14 |
IPv6报文 |
l2 |
L3报文头-2字节 |
不支持 |
10 |
13 |
非IPv4、非IPv6报文、非MPLS报文 |
l4 |
L4报文头+20字节 |
不支持 |
4 |
12 |
IPv4 UDP/TCP报文 |
对于EC1/EF类单板,配置acl ipv6 enable命令后,才支持自定义ACL。有关该命令的详细介绍,请参见1.1.5 ;对于EB/EC2类单板,仅当工作在ACL高级模式时支持自定义ACL,有关ACL模式配置的详细介绍,请参加1.1.9 ;对于其它单板,无需任何配置,默认支持自定义ACL。
【举例】
# 为用户自定义ACL 5005创建规则如下:允许从IPv4报文头+22字节开始,两个字节的内容为0x0808的报文通过。
<Sysname> system-view
[Sysname] acl number 5005
[Sysname-acl-user-5005] rule 0 permit ipv4 0808 ffff 2
【命令】
rule rule-id comment text
undo rule rule-id comment
【视图】
IPv4基本ACL视图/IPv4高级ACL视图/IPv6基本ACL视图/IPv6高级ACL视图/二层ACL视图/用户自定义ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:指定规则的编号,该规则必须存在。取值范围为0~65534。
text:表示规则的描述信息,为1~127个字符的字符串,区分大小写。
【描述】
rule comment命令用来为指定规则配置描述信息。undo rule comment命令用来删除指定规则的描述信息。
缺省情况下,规则没有任何描述信息。
需要注意的是,使用rule comment命令时,如果指定的规则没有描述信息,则为其添加描述信息,否则修改其描述信息。
相关配置可参考命令display acl和display acl ipv6。
【举例】
# 为IPv4基本ACL 2000配置规则0,并为该规则配置描述信息。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000] rule 0 deny source 1.1.1.1 0
[Sysname-acl-basic-2000] rule 0 comment This rule is used in vlan 2
# 为IPv6基本ACL 2000配置规则0,并为该规则配置描述信息。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000] rule 0 permit source 2030:5060::9050/64
[Sysname-acl6-basic-2000] rule 0 comment This rule is used in vlan 2
【命令】
rule [ rule-id ] remark text
undo rule [ rule-id ] remark [ text ]
【视图】
IPv4基本ACL视图/IPv4高级ACL视图/IPv6基本ACL视图/IPv6高级ACL视图/二层ACL视图/用户自定义ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:指定规则的编号(该编号对应的规则可以存在也可以不存在),取值范围为0~65534。该编号用来确定规则注释信息显示的位置:
· 在配置顺序下:若该编号与现有某规则的编号相同,则该注释信息将紧邻该规则之前显示;否则,将按照编号由小到大显示。
· 在自动排序下:若该编号与现有某规则的编号相同,则该注释信息将紧邻该规则之前显示;否则,将在所有规则的最后显示。
text:表示规则注释信息,为1~63个字符的字符串,区分大小写。
【描述】
rule remark命令用来配置规则注释信息。undo rule remark命令用来删除规则注释信息。
缺省情况下,ACL内没有任何规则注释信息。
需要注意的是:
· 使用rule remark命令时,如果没有指定rule-id参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。
· 使用undo rule remark命令时,如果没有指定rule-id和text参数,将删除所有规则注释信息;如果没有指定rule-id但指定了text参数,则只删除指定内容的规则注释信息。
· 用户可以通过display this和display current-configuration命令查看配置好的规则注释信息。
相关配置可参考“基础配置命令参考/配置文件管理”中的命令display this和display current-configuration。
【举例】
# 在IPv4基本ACL 2000的视图下显示当前生效的配置信息,查看已有的规则。
<Sysname> system-view
[Sysname] acl number 2000
[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 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
#
return
# 假设规则编号为10~25的这四条规则是为VIP用户制订的,为方便后续维护,对这四条规则进行如下注释:开头和结尾分别注释为“Rules for VIP_start”和“Rules for VIP_end”。
[Sysname-acl-basic-2000] rule 10 remark Rules for VIP_start
[Sysname-acl-basic-2000] rule 26 remark Rules for VIP_end
# 再次在该ACL的视图下显示当前生效的配置信息,查看所配置的规则注释信息。
[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
由此可见,在规则编号为10~25的这四条规则的前、后均已插入了相应的注释信息。
【命令】
step step-value
undo step
【视图】
IPv4基本ACL视图/IPv4高级ACL视图/IPv6基本ACL视图/IPv6高级ACL视图/二层ACL视图
【缺省级别】
2:系统级
【参数】
step-value:表示规则编号的步长值,取值范围为1~20。
【描述】
step命令用来配置规则编号的步长。undo step命令用来恢复缺省情况。
缺省情况下,规则编号的步长为5。
相关配置可参考命令display acl和display acl ipv6。
【举例】
# 将基本ACL 2000的规则编号的步长配置为2。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000] step 2
# 将IPv6基本ACL 2000的规则编号的步长配置为2。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000] step 2
【命令】
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 }
undo 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 ]
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
time-range-name:指定时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,时间段的名称不允许使用英文单词all。
start-time to end-time:表示周期时间段的时间范围。start-time和end-time分别表示起始时间和结束时间,格式均为hh:mm,hh的取值范围为0~23,mm的取值范围为0~59,且结束时间必须大于起始时间。
days:指定周期时间段在每周的周几生效。本参数可输入多次,但后输入的值不能与此前输入的值完全重叠(譬如输入6后不允许再输入sat,但允许再输入off-day),系统将取各次输入值的并集作为最终值(譬如依次输入1、wed和working-day之后,最终生效的时间将为每周的工作日)。本参数可输入的形式如下:
· 数字:取值范围为0~6,依次表示周日~周六;
· 周几的英文缩写(从周日到周六依次为sun、mon、tue、wed、thu、fri和sat);
· 工作日(working-day):表示从周一到周五;
· 休息日(off-day):表示周六和周日;
· 每日(daily):表示一周七天。
from time1 date1:指定绝对时间段的起始时间。time1的格式为hh:mm,hh的取值范围为0~23,mm的取值范围为0~59。date1的格式为MM/DD/YYYY或YYYY/MM/DD。MM表示月,取值范围为1~12;DD表示日,取值范围取决于所输入的月份;YYYY表示年,取值范围为1970~2100。若未指定本参数,绝对时间段的起始时间将为系统可表示的最早时间,即1970年1月1日0点0分。
to time2 date2:指定绝对时间段的结束时间。time2的格式为hh:mm,hh的取值范围为0~24,mm的取值范围为0~59。date2的格式为MM/DD/YYYY或YYYY/MM/DD。MM表示月,取值范围为1~12;DD表示日,取值范围取决于所输入的月份;YYYY表示年,取值范围为1970~2100。结束时间必须大于起始时间。若未指定本参数,绝对时间段的结束时间将为系统可表示的最晚时间,即2100年12月31日24点0分。
【描述】
time-range命令用来创建一个时间段,来描述一个特定的时间范围。undo time-range命令用来删除一个时间段。
缺省情况下,不存在任何时间段。
需要注意的是:
· 使用start-time to end-time days这组参数所创建的时间段为周期时间段,它将以一周为周期循环生效;使用from time1 date1和to time2 date2这组参数所创建的时间段为绝对时间段,它将在指定时间范围内生效;而同时使用了上述两组参数所创建的时间段,将取周期时间段和绝对时间段的交集作为生效的时间范围,譬如:创建一个时间段,既定义其在每周一的8点到12点生效,又定义其在2010年全年生效,那么其最终将在2010年全年内每周一的8点到12点生效。
· 用户使用同一名称可以配置内容不同的多条时间段,所配置的各周期时间段之间以及各绝对时间段之间分别取并集之后,各并集的交集将成为最终生效的时间范围。
· 用户最多可以创建256个不同名称的时间段,同一名称下最多可以配置32条周期时间段和12条绝对时间段。
· 相关配置可参考命令display time-range。
【举例】
# 创建名为t1的时间段,其时间范围为每周工作日的8点到18点。
<Sysname> system-view
[Sysname] time-range t1 8:0 to 18:0 working-day
# 创建名为t2的时间段,其时间范围为2010年全年。
<Sysname> system-view
[Sysname] time-range t2 from 0:0 1/1/2010 to 23:59 12/31/2010
# 创建名为t3的时间段,其时间范围为2010年全年内每周休息日的8点到12点。
<Sysname> system-view
[Sysname] time-range t3 8:0 to 12:0 off-day from 0:0 1/1/2010 to 23:59 12/31/2010
# 创建名为t4的时间段,其时间范围为2010年1月和6月内每周一的10点到12点以及每周三的14到16点。
<Sysname> system-view
[Sysname] time-range t4 10:0 to 12:0 1 from 0:0 1/1/2010 to 23:59 1/31/2010
[Sysname] time-range t4 14:0 to 16:0 3 from 0:0 6/1/2010 to 23:59 6/30/2010
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!