09-ACL命令
本章节下载: 09-ACL命令 (250.17 KB)
目 录
1.2.7 rule (basic IPv4 ACL view)
1.2.8 rule (advanced IPv4 ACL view)
1.2.9 rule (Ethernet frame header ACL view)
1.2.10 rule comment (for IPv4)
1.3.7 rule (basic IPv6 ACL view)
1.3.8 rule (advanced IPv6 ACL view)
【命令】
display acl resource [ slot slot-number ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
slot slot-number:显示指定单板上ACL资源使用情况。slot-number表示接口板所在槽位的编号。如果不指定该参数,将显示主控板上ACL资源使用情况。
【描述】
display acl resource命令用来显示交换机ACL资源的使用情况。
需要注意的是:
l 如果命令中指定了单板槽位号,则显示指定单板的ACL资源使用情况;如果不指定单板槽位号,则显示设备上所有在位单板的ACL资源使用情况。
l 如果单板不在位或者在位但未处于正常状态,则不显示任何信息。
【举例】
# 显示交换机6号槽位单板的ACL资源的使用情况。
<Sysname> display acl resource slot 6
Interface:
XGE6/0/1 to XGE6/0/4
--------------------------------------------------------------------------------
Type Total Reserved Configured Remaining
--------------------------------------------------------------------------------
VFP ACL 2048 512 0 1536
IFP ACL 8192 3072 0 5120
IFP Meter 4096 1536 0 2560
IFP Counter 4096 1536 0 2560
EFP ACL 1024 0 0 1024
EFP Meter 512 0 0 512
EFP Counter 512 0 0 512
表1-1 display acl resource命令显示信息描述表
字段 |
描述 |
Interface |
端口名称,由端口类型和端口编号结合在一起组成 |
Type |
资源类型: l ACL表示ACL规则资源 l Meter表示流量监管资源 l Counter表示流量统计资源 l IFP表示入方向的资源数目 l EFP表示出方向的资源数目 l VFP表示二层转发前的,应用于QinQ功能的资源数目 |
Total |
支持的ACL规则总数 |
Reserved |
预留的ACL规则数 |
Configured |
已经配置的ACL规则数 |
Remaining |
剩余的ACL规则数 |
【命令】
display time-range { time-range-name | all }
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
time-range-name:时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,时间段的名字不可以使用英文单词all。
all:所有配置的时间段。
【描述】
display time-range命令用来显示时间段的配置和状态,对于当前处在激活状态的时间段将显示Active,对于非激活状态的时间段将显示Inactive。
【举例】
# 显示时间段trname的配置和状态。
<Sysname> display time-range trname
Current time is 22:20:18 1/5/2006 Thursday
Time-range : trname ( Inactive )
from 15:00 1/28/2006 to 15:00 1/28/2008
表1-2 display time-range命令显示信息描述表
字段 |
描述 |
Current time |
系统当前的时间 |
Time-range |
时间段的配置信息:时间段的名字、时间段所处的状态(状态分为两种:激活和非激活)、时间段的时间范围 |
【命令】
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:一个周期时间范围的开始时间,格式为hh:mm,小时和分钟之间使用“:”分隔,取值范围为00:00~23:59。
end-time:一个周期时间范围的结束时间,格式为hh:mm,小时和分钟之间使用“:”分隔,取值范围为00:00~24:00。结束时间必须大于开始时间。
days:表示配置的时间范围在每周几有效,可以输入多个参数,但是这些参数所代表的时间不能重叠,可以输入的参数如下:
l 数字(0~6,分别代表一周中的其中一天,0代表星期日);
l 星期一到星期日(Mon,Tue,Wed,Thu,Fri,Sat,Sun);
l 工作日(working-day),代表从星期一到星期五;
l 休息日(off-day),代表星期六和星期日;
l 所有日子(daily),代表一周七天。
from time1 date1:表示从某一天某一时间开始。time1的输入格式为hh:mm,取值范围为00:00~23:59。date1的输入格式为MM/DD/YYYY或YYYY/MM/DD。DD代表日,可以输入1~31之间的数字;MM代表月,可以输入1~12之间的数字;YYYY代表年,可以输入1970~2100之间的数字。如果不配置起始时间,则开始时间为系统可表示的最早时间,即1970年1月1日0点0分。
to time2 date2:表示到某一天某一时间结束。time2的输入格式为hh:mm,取值范围为00:00~24:00。date2的输入格式与date1相同。结束时间必须大于起始时间。如果不配置结束时间,则结束时间为系统可表示的最晚时间,即2100年12月31日24点0分。
【描述】
time-range命令用来定义一个时间段,描述一个时间范围。undo time-range命令用来删除一个时间段。
对时间段的配置有如下两种情况:
l 配置周期时间段:采用每个星期固定时间段的形式,例如从星期一至星期五的8:00至18:00。
l 配置绝对时间段:采用从某年某月某日某时某分起至某年某月某日某时某分结束的形式,例如从2000年1月28日15:00起至2004年1月28日15:00结束。
需要注意的是:
l 如果用户通过命令time-range time-range-name start-time to end-time days定义了一个周期时间段,则只有系统时钟在该周期时间段内,该时间段才进入激活状态。
l 如果用户通过命令time-range time-range-name { from time1 date1 [ to time2 date2 ] | to time2 date2 }定义了一个绝对时间段,则只有系统时钟在该绝对时间段内,该时间段才进入激活状态。
l 如果用户通过命令time-range time-range-name start-time to end-time days { from time1 date1 [ to time2 date2 ] | to time2 date2 }同时定义了绝对时间段和周期时间段,则只有系统时钟同时满足绝对时间段和周期时间段的定义时,该时间段才进入激活状态。例如,一个时间段定义了绝对时间段:从2004年1月1日0点0分到2004年12月31日23点59分,同时定义了周期时间段:每周三的12:00到14:00。该时间段只有在2004年内每周三的12:00到14:00才进入激活状态。
l 在同一个名字下可以配置多个时间段,来共同描述一个特殊时间,通过名字来引用该时间。在同一个名字下配置的多个周期时间段之间是“或”的关系,多个绝对时间段之间是“或”的关系,而周期时间段和绝对时间段之间是“与”的关系。
l 最多可以定义256个时间段。
【举例】
# 配置绝对时间段test,从2008年1月1日0:0开始生效。
<Sysname> system-view
[Sysname] time-range test from 0:0 2008/1/1
# 配置周期时间段test,在周一到周五每天8:00到18:00生效。
<Sysname> system-view
[Sysname] time-range test 8:00 to 18:00 working-day
# 配置周期时间段test,在休息日下午14:00到18:00生效。
<Sysname> system-view
[Sysname] time-range test 14:00 to 18:00 off-day
【命令】
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的序号,取值范围为2000~4999。
l 2000~2999:基本IPv4 ACL;
l 3000~3999:高级IPv4 ACL;
l 4000~4999:二层ACL。
name acl-name:指定ACL的名称。acl-name表示IPv4 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv4 ACL的名称不可以使用英文单词all。
match-order:指定规则的匹配顺序。
l auto:按照“深度优先”的顺序进行规则匹配;
l config:按照用户配置规则的先后顺序进行规则匹配。
all:所有的IPv4 ACL。
【描述】
acl命令用来创建IPv4 ACL并进入相应IPv4 ACL视图。undo acl命令用来删除指定的IPv4 ACL。
缺省情况下,IPv4 ACL的匹配顺序为config。
用户也可以通过本命令修改一个已经存在的IPv4 ACL的匹配顺序,但必须在该IPv4 ACL中没有规则的时候修改,对已经有规则的IPv4 ACL是无法修改其匹配顺序的。
需要注意的是:
l 用户只能在创建IPv4 ACL时指定名称,ACL创建后不允许对名称进行修改或者删除。如果在创建时没有命名,则创建后也不能为其添加名称。
l 如果ACL序号所指定的IPv4 ACL不存在,则创建IPv4 ACL并进入IPv4 ACL视图。若命令中同时指定了名称,则指定的IPv4 ACL名称不能与已有IPv4 ACL名称重复,但允许与IPv6 ACL使用相同的名称。
l 如果ACL序号所指定的IPv4 ACL已经存在,则进入该IPv4 ACL视图。若命令中同时指定了名称,则该名称必须与序号所确定的IPv4 ACL名称保持一致。
【举例】
# 创建一个序号为2000的IPv4 ACL,未命名。
<Sysname> system-view
[Sysname] acl number 2000
# 创建一个序号为2002、名称为flow的IPv4 ACL。
<Sysname> system-view
[Sysname] acl number 2002 name flow
[Sysname-acl-basic-2002-flow]
# 使用ACL序号进入一个未命名的IPv4 ACL视图。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000]
# 使用ACL序号进入一个已命名的IPv4 ACL视图。
<Sysname> system-view
[Sysname] acl number 2002
[Sysname-acl-basic-2002-flow]
# 删除一个序号为2000的IPv4 ACL。
<Sysname> system-view
[Sysname] undo acl number 2000
# 删除一个名称为flow的IPv4 ACL。
<Sysname> system-view
[Sysname] undo acl name flow
【命令】
acl copy { source-acl-number | name source-acl-name } to { dest-acl-number | name dest-acl-name }
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
source-acl-number:源IPv4 ACL的序号,该IPv4 ACL必须存在。取值范围为2000~4999。
l 2000~2999:基本IPv4 ACL;
l 3000~3999:高级IPv4 ACL;
l 4000~4999:二层ACL。
source-acl-name:源IPv4 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv4 ACL的名称不可以使用英文单词all。
dest-acl-number:目的IPv4 ACL的序号,该IPv4 ACL必须不存在。取值范围为2000~4999。
l 2000~2999:基本IPv4 ACL;
l 3000~3999:高级IPv4 ACL;
l 4000~4999:二层ACL。
dest-acl-name:目的IPv4 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv4 ACL的名称不可以使用英文单词all。由于目的IPv4 ACL的名称没有对应的ACL序号,系统将自动为之分配一个与源IPv4 ACL序号属于同一类型的、可用的、最小的ACL序号。
【描述】
acl copy命令用来拷贝生成一个新的同类型的IPv4 ACL。生成的新的IPv4 ACL的匹配顺序、包含的匹配规则、步长以及描述信息都和源IPv4 ACL相同。
需要注意的是:
l 源IPv4 ACL和目的IPv4 ACL的类型必须相同。
l 源IPv4 ACL的名称不会拷贝到目的IPv4 ACL。
【举例】
# 将基本IPv4 ACL 2008拷贝生成基本IPv4 ACL 2009。
<Sysname> system-view
[Sysname] acl copy 2008 to 2009
【命令】
acl name acl-name
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
acl-name:IPv4 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv4 ACL的名称不可以使用英文单词all。
【描述】
acl name命令用来进入指定名称的IPv4 ACL视图。
需要注意的是,名称所指定的IPv4 ACL必须存在。
【举例】
# 使用ACL名称进入一个已命名的IPv4 ACL视图。
<Sysname> system-view
[Sysname] acl name flow
[Sysname-acl-basic-2002-flow]
【命令】
description text
undo description
【视图】
基本IPv4 ACL视图/高级IPv4 ACL视图/二层ACL视图
【缺省级别】
2:系统级
【参数】
text:IPv4 ACL的描述信息,为1~127个字符的字符串,区分大小写。
【描述】
description命令用来定义IPv4 ACL的描述信息,描述该IPv4 ACL的具体用途。undo description命令用来删除IPv4 ACL的描述信息。
缺省情况下,IPv4 ACL没有描述信息。
【举例】
# 定义基本IPv4 ACL 2000的描述信息。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000] description This acl is used in eth 2/0/1
# 定义高级IPv4 ACL 3000的描述信息。
<Sysname> system-view
[Sysname] acl number 3000
[Sysname-acl-adv-3000] description This acl is used in eth 2/0/1
# 定义二层ACL 4000的描述信息。
<Sysname> system-view
[Sysname] acl number 4000
[Sysname-acl-ethernetframe-4000] description This acl is used in eth 2/0/1
【命令】
display acl { acl-number | all | name acl-name } [ slot slot-number ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
acl-number:ACL的序号,取值范围为2000~4999。
l 2000~2999:基本IPv4 ACL;
l 3000~3999:高级IPv4 ACL;
l 4000~4999:二层ACL。
all:所有的IPv4 ACL。
name acl-name:指定ACL的名称。acl-name表示IPv4 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv4 ACL的名称不可以使用英文单词all。
slot slot-number:显示指定单板上IPv4 ACL的运行情况。slot-number表示单板的槽位号,如果不指定该参数,将显示设备整体的IPv4 ACL配置情况。
【描述】
display acl命令用来显示IPv4 ACL的配置信息。
本命令会按照实际的匹配顺序显示IPv4 ACL的规则。
【举例】
# 显示基本IPv4 ACL 2001的内容。
<Sysname> display acl 2001
Basic ACL 2001, named flow, 1 rule,
ACL's step is 5
rule 5 permit source 1.1.1.1 0 (5 times matched)
rule 5 comment This rule is used in eth 2/0/1
表1-3 display acl命令显示信息描述表
字段 |
描述 |
Basic ACL 2001 |
该ACL属于基本IPv4 ACL,序号为2001 |
named flow |
该ACL的名称为flow |
1 rule |
该ACL包含1条规则 |
ACL's step is 5 |
该ACL的规则序号的步长值为5 |
5 times matched |
该规则匹配的次数为5,仅统计基于软件应用的IPv4 ACL的匹配次数 当匹配次数为0时,将不显示该字段 |
rule 5 comment This rule is used in eth 2/0/1 |
ACL规则5的描述信息为This rule is used in eth 2/0/1 |
【命令】
reset acl counter { acl-number | all | name acl-name }
【视图】
用户视图
【缺省级别】
2:系统级
【参数】
acl-number:ACL的序号,取值范围为2000~4999。
l 2000~2999:基本IPv4 ACL;
l 3000~3999:高级IPv4 ACL;
l 4000~4999:二层ACL。
all:所有的IPv4 ACL。
name acl-name:指定ACL的名称。acl-name表示IPv4 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv4 ACL的名称不可以使用英文单词all。
【描述】
reset acl counter命令用来清除基于软件应用的IPv4 ACL的统计信息。
【举例】
# 清除基于软件应用的IPv4 ACL 2001的统计信息。
<Sysname> reset acl counter 2001
# 清除基于软件应用的IPv4 ACL flow的统计信息。
<Sysname> reset acl counter name flow
【命令】
rule [ rule-id ] { deny | permit } [ fragment | logging | source { sour-addr sour-wildcard | any } | time-range time-range-name | vpn-instance vpn-instance-name ]*
undo rule rule-id [ fragment | logging | source | time-range | vpn-instance ]*
【视图】
基本IPv4 ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:基本IPv4 ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的报文。
permit:表示允许符合条件的报文通过。
fragment:定义规则仅对分片报文有效。需要注意的是,在SC和SD单板上应用的fragment参数匹配非首片分片报文。关于单板类型的详细介绍请参见安装手册。
logging:对符合条件的报文可记录日志信息。
source { sour-addr sour-wildcard | any }:指定规则的源地址信息。sour-addr表示报文的源IP地址,sour-wildcard表示反掩码(当反掩码为0时代表主机地址),例如,如果用户想指定子网掩码255.255.0.0,则需要输入0.0.255.255。any表示任意源IP地址。
time-range time-range-name:指定规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头,为避免混淆,时间段的名字不可以使用英文单词all。
vpn-instance vpn-instance-name:指定VPN实例信息。vpn-instance-name表示VPN实例的名称,为1~31个字符的字符串,区分大小写。如果规则没有指定本参数,表示该规则仅对非VPN报文生效。
【描述】
rule命令用来定义一个基本IPv4 ACL规则。undo rule命令用来删除一个基本IPv4 ACL规则或者规则的某些属性信息。
在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl命令来查看。如果undo rule命令后不指定参数,将删除整个IPv4 ACL规则,否则,将只删除IPv4 ACL规则相应的属性信息。
需要注意的是:
l 当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 在定义一条ACL规则的时候,用户可以不指定规则编号,这时,系统会从0开始,按照一定的编号步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
当基本IPv4 ACL被QoS策略引用对报文进行流分类时,不支持配置logging和vpn-instance参数。
【举例】
# 定义一条基本IPv4 ACL规则,禁止源地址为1.1.1.1的报文通过。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000] rule deny source 1.1.1.1 0
【命令】
rule [ rule-id ] { deny | permit } protocol [ { established | { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * } | destination { dest-addr dest-wildcard | any } | destination-port operator port1 [ port2 ] | dscp dscp | fragment | icmp-type { icmp-type icmp-code | icmp-message } | logging | precedence precedence | reflective | source { sour-addr sour-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-range-name | tos tos | vpn-instance vpn-instance-name ] *
undo rule rule-id [ { established | { ack | fin | psh | rst | syn | urg } * } | destination | destination-port | dscp | fragment | icmp-type | logging | precedence | reflective | source | source-port | time-range | tos | vpn-instance ] *
【视图】
高级IPv4 ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:高级IPv4 ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的报文。
permit:表示允许符合条件的报文通过。
protocol:IP承载的协议类型。用数字表示时,取值范围为0~255;用名字表示时,可以选取gre(47)、icmp(1)、igmp(2)、ip、ipinip(4)、ospf(89)、tcp(6)、udp(17)。
protocol后可以配置的规则信息参数如下表所示。
表1-4 规则信息
参数 |
类别 |
作用 |
说明 |
source { sour-addr sour-wildcard | any } |
源地址信息 |
指定ACL规则的源地址信息 |
sour-addr sour-wildcard用来确定报文的源IP地址,点分十进制表示,sour-wildcard表示反掩码,当反掩码为0时代表主机地址;any代表任意源IP地址 |
destination { dest-addr dest-wildcard | any } |
目的地址信息 |
指定ACL规则的目的地址信息 |
dest-addr dest-wildcard用来确定报文的目的IP地址,点分十进制表示,dest-wildcard表示反掩码,当反掩码为0时代表主机地址;any代表任意目的IP地址 |
precedence precedence |
报文优先级 |
IP优先级 |
precedence用数字表示时,取值范围为0~7;用文字表示时,分别对应routine(0)、priority(1)、immediate(2)、flash(3)、flash-override(4)、critical(5)、internet(6)、network(7) |
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) |
logging |
日志操作 |
对符合条件的报文可记录日志信息 |
该功能需要使用该ACL的模块支持日志记录功能 |
fragment |
分片信息 |
定义规则仅对分片报文有效 |
在SC和SD单板上应用的fragment参数匹配非首片分片报文 |
time-range time-range-name |
时间段信息 |
指定规则生效的时间段 |
time-range-name:指定规则生效的时间段名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头,为避免混淆,时间段的名字不可以使用英文单词all |
vpn-instance vpn-instance-name |
VPN实例 |
指定规则的VPN实例信息 |
vpn-instance-name:VPN实例的名称,为1~31个字符的字符串,区分大小写 如果规则没有指定本参数,表示该规则仅对非VPN报文生效 |
当protocol选择为tcp或者udp时,用户还可以定义如下信息。
表1-5 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) 操作符为range时,port2的取值不需要一定大于port1的取值,交换机会自动识别取值范围;当port1和port2的取值相同时,交换机会将操作符range转换为eq 另外需要注意的是,当用户配置操作符为lt 1或gt 65534时,交换机会将其转换为eq 0或eq 65535 |
destination-port operator port1 [ port2 ] |
目的端口 |
定义TCP/UDP报文的目的端口信息 |
|
reflective |
自反标志 |
配置规则具有自反属性 |
动作类型只支持permit |
{ ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * |
TCP报文标识 |
定义对携带不同标志位的TCP报文的处理规则 |
TCP协议特有的参数。定义规则匹配携带不同标志位的TCP报文,各value值的取值范围都为0~1 如果在一条规则中设置了多个TCP标志位的匹配值,则这些匹配条件之间的关系为“与” |
established |
TCP报文标识 |
定义TCP报文的ACK和RST标志位匹配规则 |
该参数用于定义TCP报文中ACK或RST标志位为1的报文 |
当protocol选择为icmp时,用户还可以定义如下信息。
表1-6 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-7所示 |
reflective |
自反标志 |
配置规则具有自反属性 |
动作类型只支持permit |
表1-7 ICMP消息名称与消息类型和消息码的对应关系
名称 |
ICMP TYPE |
ICMP CODE |
echo |
Type=8 |
Code=0 |
echo-reply |
Type=0 |
Code=0 |
fragmentneed-DFset |
Type=3 |
Code=4 |
host-redirect |
Type=5 |
Code=1 |
host-tos-redirect |
Type=5 |
Code=3 |
host-unreachable |
Type=3 |
Code=1 |
information-reply |
Type=16 |
Code=0 |
information-request |
Type=15 |
Code=0 |
net-redirect |
Type=5 |
Code=0 |
net-tos-redirect |
Type=5 |
Code=2 |
net-unreachable |
Type=3 |
Code=0 |
parameter-problem |
Type=12 |
Code=0 |
port-unreachable |
Type=3 |
Code=3 |
protocol-unreachable |
Type=3 |
Code=2 |
reassembly-timeout |
Type=11 |
Code=1 |
source-quench |
Type=4 |
Code=0 |
source-route-failed |
Type=3 |
Code=5 |
timestamp-reply |
Type=14 |
Code=0 |
timestamp-request |
Type=13 |
Code=0 |
ttl-exceeded |
Type=11 |
Code=0 |
【描述】
rule命令用来定义一个高级IPv4 ACL规则。undo rule命令用来删除一个高级IPv4 ACL规则或者规则的某些属性信息。
在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl命令来查看。如果undo rule命令后不指定参数,将删除整个IPv4 ACL规则,否则,将只删除IPv4 ACL规则相应的属性信息。
需要注意的是:
l 当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 在定义一条ACL规则的时候,用户可以不指定规则编号,这时,系统会从0开始,按照一定的编号步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
当高级IPv4 ACL被QoS策略引用对报文进行流分类时,请遵循如下约束:
l 当QoS策略应用于入方向(inbound)时,不支持配置logging、reflective和vpn-instance参数;不支持配置操作符operator取值为neq。
l 当QoS策略应用于出方向(outbound)时,不支持配置logging、reflective和vpn-instance参数;不支持配置操作符operator取值为gt、lt、neq和range。
【举例】
# 定义一条高级IPv4 ACL规则,允许从129.9.0.0网段的主机向202.38.160.0网段的主机发送的端口号为80的TCP报文通过。
<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
【命令】
rule [ rule-id ] { deny | permit } [ cos vlan-pri | dest-mac dest-addr dest-mask | lsap lsap-code lsap-wildcard | source-mac sour-addr source-mask | time-range time-range-name | type type-code type-wildcard ]*
undo rule rule-id
【视图】
二层ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:二层ACL规则编号,取值范围为0~65534。
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。
dest-mac dest-addr dest-mask:定义规则的目的MAC地址范围。dest-addr表示目的MAC地址,格式为xxxx-xxxx-xxxx。dest-mask表示目的MAC地址的掩码,格式为xxxx-xxxx-xxxx。
lsap lsap-code lsap-wildcard:定义规则中LLC封装中的DSAP字段和SSAP字段。lsap-code表示数据帧的封装格式,16比特的十六进制数。lsap-wildcard表示lsap值的掩码,16比特的十六进制数,用于指定屏蔽位。
source-mac sour-addr source-mask:定义规则的源MAC地址范围。sour-addr表示源MAC地址,格式为xxxx-xxxx-xxxx。sour-mask表示源MAC地址的掩码,格式为xxxx-xxxx-xxxx。
time-range time-range-name:指定规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头,为避免混淆,时间段的名字不可以使用英文单词all。
type type-code type-wildcard:定义规则中的链路层协议类型。type-code表示16比特的十六进制数表征的数据帧的类型,对应Ethernet_II类型和Ethernet_SNAP类型帧中的type-code域。type-wildcard表示类型掩码,是一个16比特的十六进制数,用于指定屏蔽位。
【描述】
rule命令用来定义一个二层ACL规则。undo rule命令用来删除一个二层ACL规则。
在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl命令来查看。
需要注意的是:
l 当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 在定义一条ACL规则的时候,用户可以不指定规则编号,这时,系统会从0开始,按照一定的编号步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
当二层ACL被QoS策略引用对报文进行流分类时,不支持配置lsap参数。
【举例】
# 定义一条二层ACL规则,禁止802.1p优先级为3的报文通过。
<Sysname> system-view
[Sysname] acl number 4000
[Sysname-acl-ethernetframe-4000] rule deny cos 3
【命令】
rule rule-id comment text
undo rule rule-id comment
【视图】
基本IPv4 ACL视图/高级IPv4 ACL视图/二层ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:IPv4 ACL规则编号,取值范围为0~65534。
text:IPv4 ACL规则的描述信息,为1~127个字符的字符串,区分大小写。
【描述】
rule comment命令用来定义IPv4 ACL规则的描述信息,描述该规则的用途、属性等提示信息。undo rule comment命令用来删除IPv4 ACL规则的描述信息。
缺省情况下,规则没有描述信息。
需要注意的是:
l 在使用rule comment命令为规则定义描述信息时,该规则必须存在。
l 在使用rule comment命令时,如果指定规则没有描述信息,则为其添加描述信息;如果指定规则已经存在描述信息,则修改其描述信息。
【举例】
# 为基本IPv4 ACL 2000定义一条规则,并为规则定义一个描述信息。
<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 eth 2/0/1
# 为高级IPv4 ACL 3000定义一条规则,并为规则定义一个描述信息。
<Sysname> system-view
[Sysname] acl number 3000
[Sysname-acl-adv-3000] rule 0 permit ip source 1.1.1.1 0
[Sysname-acl-adv-3000] rule 0 comment This rule is used in eth 2/0/1
# 为二层ACL 4000定义一条规则,并为规则定义一个描述信息。
<Sysname> system-view
[Sysname] acl number 4000
[Sysname-acl-ethernetframe-4000] rule 0 deny cos 3
[Sysname-acl-ethernetframe-4000] rule 0 comment This rule is used in eth 2/0/1
【命令】
step step-value
undo step
【视图】
基本IPv4 ACL视图/高级IPv4 ACL视图/二层ACL视图
【缺省级别】
2:系统级
【参数】
step-value:IPv4 ACL规则编号的步长值,取值范围为1~20。
【描述】
step命令用来为一个IPv4 ACL规则组中的规则序号指定一个步长。undo step命令用来把步长恢复为缺省值。
缺省情况下,步长为5。
【举例】
# 把基本IPv4 ACL 2000的步长改为2。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000] step 2
# 把高级IPv4 ACL 3000的步长改为2。
<Sysname> system-view
[Sysname] acl number 3000
[Sysname-acl-adv-3000] step 2
# 把二层ACL 4000的步长改为2。
<Sysname> system-view
[Sysname] acl number 4000
[Sysname-acl-ethernetframe-4000] step 2
【命令】
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:指定ACL的序号。acl6-number表示ACL的序号,取值范围为2000~3999。
l 2000~2999:基本IPv6 ACL;
l 3000~3999:高级IPv6 ACL。
name acl6-name:指定ACL的名称。acl6-name表示IPv6 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv6 ACL的名称不可以使用英文单词all。
match-order:指定规则的匹配顺序。
l auto:按照“深度优先”的顺序进行规则匹配;
l config:按照用户配置规则的先后顺序进行规则匹配。
all:所有的IPv6 ACL。
【描述】
acl ipv6命令用来创建IPv6 ACL并进入相应IPv6 ACL视图。undo acl ipv6命令用来删除指定的IPv6 ACL。
缺省情况下,IPv6 ACL的匹配顺序为config。
用户也可以通过本命令修改一个已经存在的IPv6 ACL的匹配顺序,但必须在该IPv6 ACL中没有规则的时候修改,对已经有规则的IPv6 ACL是无法修改其匹配顺序的。
需要注意的是:
l 用户只能在创建IPv6 ACL时指定名称,ACL创建后不允许对名称进行修改或者删除。如果在创建时没有命名,则创建后也不能为其添加名称。
l 如果ACL序号所指定的IPv6 ACL不存在,则创建IPv6 ACL并进入IPv6 ACL视图。若命令中同时指定了名称,则指定的IPv6 ACL名称不能与已有IPv6 ACL名称重复,但允许与IPv4 ACL使用相同的名称。
l 如果ACL序号所指定的IPv6 ACL已经存在,则进入该IPv6 ACL视图。若命令中同时指定了名称,则该名称必须与序号所确定的IPv6 ACL名称保持一致。
【举例】
# 创建一个序号为2000的基本IPv6 ACL,未命名。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
# 创建一个序号为2002、名称为flow的基本IPv6 ACL。
<Sysname> system-view
[Sysname] acl ipv6 number 2002 name flow
[Sysname-acl6-basic-2002-flow]
# 使用ACL序号进入一个未命名的基本IPv6 ACL视图。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000]
# 使用ACL序号进入一个已命名的基本IPv6 ACL视图。
<Sysname> system-view
[Sysname] acl ipv6 number 2002
[Sysname-acl6-basic-2002-flow]
# 删除一个序号为2000的基本IPv6 ACL。
<Sysname> system-view
[Sysname] undo acl ipv6 number 2000
# 删除一个名称为flow的IPv6 ACL。
<Sysname> system-view
[Sysname] undo acl ipv6 name 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的序号,该IPv6 ACL必须存在。取值范围为2000~3999。
l 2000~2999:基本IPv6 ACL;
l 3000~3999:高级IPv6 ACL。
source-acl6-name:源IPv6 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv6 ACL的名称不可以使用英文单词all。
dest-acl6-number:目的IPv6 ACL的序号,该IPv6 ACL必须不存在。取值范围为2000~3999。
l 2000~2999:基本IPv6 ACL;
l 3000~3999:高级IPv6 ACL。
dest-acl6-name:目的IPv6 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv6 ACL的名称不可以使用英文单词all。由于目的IPv6 ACL的名称没有对应的ACL序号,系统将自动为之分配一个与源IPv6 ACL序号属于同一类型的、可用的、最小的ACL序号。
【描述】
acl ipv6 copy命令用来拷贝生成一个新的同类型的IPv6 ACL。生成的新的IPv6 ACL的匹配顺序、包含的规则、步长以及描述信息都和源IPv6 ACL相同。
需要注意的是:
l 源IPv6 ACL和目的IPv6 ACL的类型必须相同。
l 源IPv6 ACL的名称不会拷贝到目的IPv6 ACL。
【举例】
# 将基本IPv6 ACL 2008拷贝生成基本IPv6 ACL 2009。
<Sysname> system-view
[Sysname] acl ipv6 copy 2008 to 2009
【命令】
acl ipv6 name acl6-name
【视图】
系统视图
【缺省级别】
2:系统级
【参数】
acl6-name:IPv6 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv6 ACL的名称不可以使用英文单词all。
【描述】
acl ipv6 name命令用来进入指定名称的IPv6 ACL视图。
需要注意的是,名称所指定的IPv6 ACL必须存在。
【举例】
# 使用ACL名称进入一个已命名的IPv6 ACL视图。
<Sysname> system-view
[Sysname] acl ipv6 name flow
[Sysname-acl6-basic-2002-flow]
【命令】
description text
undo description
【视图】
基本IPv6 ACL视图/高级IPv6 ACL视图
【缺省级别】
2:系统级
【参数】
text:IPv6 ACL的描述信息,长度为1~127个字符的字符串,区分大小写
【描述】
description命令用来定义IPv6 ACL的描述信息,描述该IPv6 ACL的具体用途。undo description命令用来删除IPv6 ACL的描述信息。
缺省情况下,IPv6 ACL没有描述信息。
【举例】
# 定义基本IPv6 ACL 2000的描述信息。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000] description This acl is used in eth 2/0/1
# 定义高级IPv6 ACL 3000的描述信息。
<Sysname> system-view
[Sysname] acl ipv6 number 3000
[Sysname-acl6-adv-3000] description This acl is used in eth 2/0/1
【命令】
display acl ipv6 { acl6-number | all | name acl6-name } [ slot slot-number ]
【视图】
任意视图
【缺省级别】
1:监控级
【参数】
acl6-number:IPv6 ACL的序号,取值范围为2000~3999。
l 2000~2999:基本IPv6 ACL;
l 3000~3999:高级IPv6 ACL;
all:所有的IPv6 ACL。
name acl6-name:指定ACL的名称。acl6-name表示IPv6 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv6 ACL的名称不可以使用英文单词all。
slot slot-number:显示指定单板上IPv6 ACL的运行情况。slot-number表示单板的槽位号,如果不指定该参数,将显示设备整体的IPv6 ACL配置情况。
【描述】
display acl ipv6命令用来显示配置的IPv6 ACL的信息。
本命令会按照实际的匹配顺序显示IPv6 ACL的规则。
【举例】
# 显示基本IPv6 ACL 2001的内容。
<Sysname> display acl ipv6 2001
Basic IPv6 ACL 2001, named flow, 1 rule,
ACL's step is 5
rule 0 permit source 1::2/128 (5 times matched)
rule 0 comment This rule is used in eth 2/0/1
表1-8 display acl ipv6命令显示信息描述表
字段 |
描述 |
Basic IPv6 ACL 2001 |
该ACL属于基本IPv6 ACL,序号为2001 |
named flow |
该ACL的名称为flow |
1 rule |
该ACL包含1条规则 |
ACL's step is 5 |
该ACL的规则序号的步长值为5 |
5 times matched |
该规则匹配的次数为5,仅统计基于软件应用时IPv6 ACL的匹配次数 当匹配次数为0时,将不显示该字段 |
rule 0 comment This rule is used in eth 2/0/1 |
ACL规则0的描述信息为This rule is used in eth 2/0/1 |
【命令】
reset acl ipv6 counter { acl6-number | all | name acl6-name }
【视图】
用户视图
【缺省级别】
2:系统级
【参数】
acl6-number:IPv6 ACL的序号,取值范围为2000~3999。
l 2000~2999:基本IPv6 ACL;
l 3000~3999:高级IPv6 ACL。
all:所有基本和高级IPv6 ACL。
name acl6-name:指定ACL的名称。acl6-name表示IPv6 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv6 ACL的名称不可以使用英文单词all。
【描述】
reset acl ipv6 counter命令用来清除基于软件应用的IPv6 ACL的统计信息。
【举例】
# 清除基于软件应用的IPv6 ACL 2001的统计信息。
<Sysname> reset acl ipv6 counter 2001
# 清除基于软件应用的IPv6 ACL flow的统计信息。
<Sysname> reset acl ipv6 counter name flow
【命令】
rule [ rule-id ] { deny | permit } [ fragment | logging | source { ipv6-address prefix-length | ipv6-address/prefix-length | any } | time-range time-range-name ]*
undo rule rule-id [ fragment | logging | source | time-range ]*
【视图】
基本IPv6 ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:IPv6 ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的报文。
permit:表示允许符合条件的报文通过。
fragment:定义规则仅对分片报文有效。
logging:对符合条件的报文可记录日志信息。
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开头,为避免混淆,时间段的名字不可以使用英文单词all。
【描述】
rule命令用来定义一个IPv6 ACL规则。undo rule命令用来删除一个IPv6 ACL规则或者规则的某些属性信息。
在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl ipv6命令来查看。如果undo rule命令后不指定参数,将删除整个IPv6 ACL规则,否则,将只删除IPv6 ACL规则相应的属性信息。
需要注意的是:
l 当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 在定义一条ACL规则的时候,用户可以不指定规则编号,这时,系统会从0开始,按照一定的编号步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
当基本IPv6 ACL被QoS策略引用对报文进行流分类时,不支持配置logging和fragment参数。
【举例】
# 定义一条基本IPv6 ACL规则,允许源地址为2030:5060::9050/64的报文通过。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000] rule permit source 2030:5060::9050/64
【命令】
rule [ rule-id ] { deny | permit } protocol [ { established | { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * } | destination { dest dest-prefix | dest/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | fragment | 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 ] *
undo rule rule-id [ { established | { ack | fin | psh | rst | syn | urg } * } | destination | destination-port | dscp | fragment | icmpv6-type | logging | source | source-port | time-range ] *
【视图】
高级IPv6 ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:IPv6 ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的报文。
permit:表示允许符合条件的报文通过。
protocol:IPv6承载的协议类型。用数字表示时,取值范围为0~255;用名字表示时,可以选取gre(47)、icmpv6(58)、ipv6、ipv6-ah(51)、ipv6-esp(50)、ospf(89)、tcp(6)、udp(17)。
protocol后可以配置的规则信息参数如下表所示。
参数 |
类别 |
作用 |
说明 |
source { source source-prefix | source/source-prefix | any } |
源IPv6地址信息 |
指定IPv6 ACL规则的源IPv6地址信息 |
source:报文的源IPv6地址 source-prefix:源IPv6地址前缀长度,取值范围1~128 any:代表任意源IPv6地址 |
destination { dest dest-prefix | dest/dest-prefix | any } |
目的IPv6地址信息 |
指定IPv6 ACL规则的目的IPv6地址信息 |
dest:报文的目的IPv6地址 dest-prefix:目的IPv6地址前缀长度,取值范围1~128 any:代表任意目的IPv6地址 |
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 |
日志操作 |
对符合条件的报文可记录日志信息。 |
- |
fragment |
分片信息 |
定义规则仅对分片报文有效 |
- |
time-range time-range-name |
时间段信息 |
指定规则生效的时间段 |
time-range-name:时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,时间段的名字不可以使用英文单词all |
当protocol选择为tcp或者udp时,用户还可以定义如下信息。
表1-10 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) 操作符为range时,port2的取值不需要一定大于port1的取值,交换机会自动识别取值范围;当port1和port2的取值相同时,交换机会将操作符range转换为eq 另外需要注意的是,当用户配置操作符为lt 1或gt 65534时,交换机会将其转换为eq 0或eq 65535 |
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报文标识 |
定义对携带不同标志位的TCP报文的处理规则 |
TCP协议特有的参数。定义规则匹配携带不同标志位的TCP报文,各value值的取值范围都为0~1 如果在一条规则中设置了多个TCP标志位的匹配值,则这些匹配条件之间的关系为“与” |
established |
TCP报文标识 |
定义TCP报文的ACK和RST标志位匹配规则 |
该参数用于定义TCP报文中ACK或RST标志位为1的报文 |
当protocol选择为icmpv6时,用户还可以定义如下信息。
表1-11 ICMPv6特有的规则信息
参数 |
类别 |
作用 |
说明 |
icmpv6-type { icmpv6-type icmpv6-code | icmpv6-message } |
ICMPv6报文的消息类型和消息码信息 |
指定规则的ICMPv6报文的消息类型和消息码信息 |
icmpv6-type:ICMPv6消息类型,取值范围为0~255 icmpv6-code:ICMPv6的消息码,取值范围为0~255 icmpv6-message:ICMPv6消息的名称,可以输入的ICMPv6消息名称,及其与消息类型和消息码的对应关系如表1-12所示 |
表1-12 ICMPv6消息名称与消息类型和消息码的对应关系
名称 |
ICMPv6 TYPE |
ICMPv6 CODE |
redirect |
Type=137 |
Code=0 |
echo-request |
Type=128 |
Code=0 |
echo-reply |
Type=129 |
Code=0 |
err-Header-field |
Type=4 |
Code=0 |
frag-time-exceeded |
Type=3 |
Code=1 |
hop-limit-exceeded |
Type=3 |
Code=0 |
host-admin-prohib |
Type=1 |
Code=1 |
host-unreachable |
Type=1 |
Code=3 |
neighbor-advertisement |
Type=136 |
Code=0 |
neighbor-solicitation |
Type=135 |
Code=0 |
network-unreachable |
Type=1 |
Code=0 |
packet-too-big |
Type=2 |
Code=0 |
port-unreachable |
Type=1 |
Code=4 |
router-advertisement |
Type=134 |
Code=0 |
router-solicitation |
Type=133 |
Code=0 |
unknown-ipv6-opt |
Type=4 |
Code=2 |
unknown-next-hdr |
Type=4 |
Code=1 |
【描述】
rule命令用来定义一个IPv6 ACL规则。undo rule命令用来删除一个IPv6 ACL规则或者规则的某些属性信息。
在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl ipv6命令来查看。如果undo rule命令后不指定参数,将删除整个IPv6 ACL规则,否则,将只删除IPv6 ACL规则相应的属性信息。
需要注意的是:
l 当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。
l 在定义一条ACL规则的时候,用户可以不指定规则编号,这时,系统会从0开始,按照一定的编号步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
当高级IPv6 ACL被QoS策略引用对报文进行流分类时,请遵循如下约束:
l 当QoS策略应用于入方向(inbound)时,不支持配置fragment和logging参数;不支持配置操作符operator取值为neq。
l 当QoS策略应用于出方向(outbound)时,不支持配置fragment和logging参数;不支持配置操作符operator取值为gt、lt、neq和range。
【举例】
# 定义一条高级IPv6 ACL规则,允许源IPv6地址为2030:5060::9050/64的TCP报文通过。
<Sysname> system-view
[Sysname] acl ipv6 number 3000
[Sysname-acl6-adv-3000] rule permit tcp source 2030:5060::9050/64
【命令】
rule rule-id comment text
undo rule rule-id comment
【视图】
基本IPv6 ACL视图/高级IPv6 ACL视图
【缺省级别】
2:系统级
【参数】
rule-id:IPv6 ACL规则编号,取值范围为0~65534。
text:IPv6 ACL规则的描述信息,为1~127个字符的字符串,区分大小写。
【描述】
rule comment命令用来定义IPv6 ACL规则的描述信息,描述该规则的用途、属性等提示信息。undo rule comment命令用来删除IPv6 ACL规则的描述信息。
缺省情况下,规则没有描述信息。
需要注意的是:
l 在使用rule comment命令为规则定义描述信息时,该规则必须存在。
l 在使用rule comment命令时,如果指定规则没有描述信息,则为其添加描述信息;如果指定规则已经存在描述信息,则修改其描述信息。
【举例】
# 为基本IPv6 ACL 2000定义一条规则,并为规则定义一个描述信息。
<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 eth 2/0/1
# 为高级IPv6 ACL 3000定义一条规则,并为规则定义一个描述信息。
<Sysname> system-view
[Sysname] acl ipv6 number 3000
[Sysname-acl6-adv-3000] rule 0 permit tcp source 2030:5060::9050/64
[Sysname-acl6-adv-3000] rule 0 comment This rule is used in eth 2/0/1
【命令】
step step-value
undo step
【视图】
基本IPv6 ACL视图/高级IPv6 ACL视图
【缺省级别】
2:系统级
【参数】
step-value:IPv6 ACL规则序号的步长值,取值范围为1~20。
【描述】
step命令用来为一个IPv6 ACL规则组中的规则序号指定一个步长。undo step命令用来把步长值恢复为缺省值。
缺省情况下,步长为5。
【举例】
# 把基本IPv6 ACL 2000的步长改为2。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000] step 2
# 把高级IPv6 ACL 3000的步长改为2。
<Sysname> system-view
[Sysname] acl ipv6 number 3000
[Sysname-acl6-adv-3000] step 2
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!