23-ACL命令
本章节下载 (266.5 KB)
ACL命令新增“IPv6 ACL”特性,请参见1.1.13 rule(IPv6 ACL)。
【命令】
acl number acl-number [ match-order { auto | config } ]
undo acl { all | number acl-number }
【视图】
系统视图
【参数】
all:所有的ACL(Access Control List,访问控制列表)。
number acl-number:ACL序号,取值范围为:
l 2000~2999:表示基本ACL。
l 3000~3999:表示高级ACL(3998与3999是系统为集群管理预留的编号,用户无法配置)。
l 4000~4999:表示二层ACL。
l 5000~5999:表示用户自定义ACL或IPv6 ACL。
match-order:指定对该ACL规则的匹配顺序,匹配顺序如下:
l auto:按照“深度优先”的顺序进行规则匹配。
l config:按照用户配置规则的先后顺序进行规则匹配。
关于auto和config这两种匹配顺序的详细介绍请参见“ACL操作”中的描述。
需要注意的是,在定义二层ACL、用户自定义ACL及IPv6 ACL时没有match-order参数,二层ACL、用户自定义ACL及IPv6 ACL的匹配顺序为config。
【描述】
acl命令用来定义ACL,并进入相应的ACL视图。undo acl命令用来删除指定的ACL,或者删除全部ACL。
缺省情况下,ACL规则的匹配顺序为config。
用户也可以通过本命令修改一个已经存在的ACL的匹配顺序,但必须在ACL中没有规则的时候修改,对已经包含规则的ACL是无法修改其匹配顺序的。
进入相应的ACL视图之后,可以用rule命令增加此ACL的规则。
相关配置可参考命令rule。
【举例】
# 定义基本ACL 2000,并配置其匹配顺序为“深度优先”。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 2000 match-order auto
# 为基本ACL 2000创建三条源IP地址范围(反掩码中“0”位的数量)不同的规则。
[Sysname-acl-basic-2000] rule 1 permit source 1.1.1.1 0.255.255.255
[Sysname-acl-basic-2000] rule 2 permit source 2.2.2.2 0.0.255.255
[Sysname-acl-basic-2000] rule 3 permit source 3.3.3.3 0.0.0.255
# 使用display acl命令查看基本ACL 2000的配置信息。
[Sysname-acl-basic-2000] display acl 2000
Basic ACL 2000, 3 rules, match-order is auto
Acl's step is 1
rule 3 permit source 3.3.3.0 0.0.0.255
rule 2 permit source 2.2.0.0 0.0.255.255
rule 1 permit source 1.0.0.0 0.255.255.255
以上信息表明,交换机按照“深度优先”的原则对基本ACL 2000内的规则进行排序,即按照规则反掩码中“0”位的数量由多到少的顺序排列。
【命令】
description text
undo description
【视图】
基本ACL视图/高级ACL视图/二层ACL视图/用户自定义ACL视图(IPv6 ACL视图)
【参数】
text:ACL的描述信息,取值范围为1~127个字符,可以包含空格和特殊字符。
【描述】
description命令用来定义ACL的描述信息,描述该ACL的具体用途、应用于哪些端口等信息,方便用户对ACL进行区分和识别。undo description命令用来删除ACL的描述信息。
缺省情况下,ACL没有描述信息。
【举例】
# 定义高级ACL 3000的描述信息为“This acl is used for filtering all HTTP packets”。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 3000
[Sysname-acl-adv-3000] description This acl is used for filtering all HTTP packets
# 使用display acl命令查看高级ACL 3000的配置信息。
[Sysname-acl-adv-3000] display acl 3000
Advanced ACL 3000, 0 rule
This acl is used for filtering all HTTP packets
Acl's step is 1
# 删除高级ACL 3000的描述信息。
[Sysname-acl-adv-3000] undo description
【命令】
display acl { all | acl-number }
【视图】
任意视图
【参数】
all:所有的ACL。
acl-number:指定ACL的序号,取值范围为2000~5999。
【描述】
display acl命令用来显示ACL的配置信息。
需要注意的是,如果用户在配置ACL的时候指定了match-order参数,则在使用display acl命令时,显示的是交换机按照auto(深度优先)或config(配置顺序)对ACL中的规则进行排序后的结果。
【举例】
# 显示基本ACL 2000的配置信息。
<Sysname> display acl 2000
Basic ACL 2000, 3 rules, match-order is auto
This acl is used in eth 1/0/1
Acl's step is 1
rule 3 permit source 3.3.3.0 0.0.0.255
rule 2 permit source 2.2.0.0 0.0.255.255
rule 1 permit source 1.0.0.0 0.255.255.255
表1-1 display acl命令显示信息描述表
字段 |
描述 |
Basic ACL 2000 |
该ACL属于基本ACL,序号为2000 |
3 rules |
该基本ACL包含3条规则 |
match-order is auto |
该基本ACL的匹配顺序为“深度优先”,如果不显示此字段,则表示匹配顺序为config(配置顺序) |
This acl is used in eth 1/0/1 |
该基本ACL的描述信息 |
Acl's step is 1 |
该基本ACL的规则序号的步长值为1 |
rule 3 permit source 3.3.3.0 0.0.0.255 |
该基本ACL包含的规则的详细信息 |
【命令】
display drv qacl_resource
【视图】
任意视图
【参数】
无
【描述】
display drv qacl_resource命令用来显示交换机上ACL资源的使用情况。
用户可以根据该命令的输出信息来了解ACL规则消耗的资源数目,确认ACL无法下发的原因是否与资源耗尽有关。
【举例】
# 显示当前交换机的ACL资源使用情况。
<Sysname> display drv qacl_resource
block used-mask used-rule spare-mask spare-rule
0 7 45 9 211
1 7 45 9 211
2 7 45 9 211
6 8 128 8 0
7 7 17 9 111
8 7 17 9 111
9 7 17 9 111
表1-2 display drv qacl_resource命令显示信息描述表
字段 |
描述 |
block |
l 对于百兆以太网端口,从交换机前面板左侧开始,每4列为一个block(8个百兆以太网端口),从0开始编号,即0表示Ethernet1/0/1~Ethernet1/0/8,1表示Ethernet1/0/9~Ethernet1/0/16,2表示Ethernet1/0/17~Ethernet1/0/24 l 对于千兆以太网端口,每个端口为一个block,从6开始编号,即6表示GigabitEthernet1/1/1,7表示GigabitEthernet1/1/2,8表示GigabitEthernet1/1/3,9表示GigabitEthernet1/1/4 |
used-mask |
已经使用的MASK资源数目 |
used-rule |
已经使用的RULE资源数目 |
spare-mask |
剩余的MASK资源数目 |
spare-rule |
剩余的RULE资源数目 |
# 在端口GigabitEthernet 1/1/1上下发基本ACL 2001。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] interface GigabitEthernet 1/1/1
[Sysname-GigabitEthernet1/1/1] packet-filter inbound ip-group 2001
Applying Acl 2001 rule 0 failed! Reason: Resource unavailable!(GigabitEthernet1/1/1)
以上显示信息表明,因为端口GigabitEthernet 1/1/1上剩余的可用RULE数量为0,所以规则下发失败。
【命令】
display packet-filter { interface interface-type interface-number | unitid unit-id }
【视图】
任意视图
【参数】
interface interface-type interface-number:端口类型和端口编号。
unitid unit-id:Unit ID,取值只能为1,表示显示交换机上所有端口的包过滤的应用信息。
【描述】
display packet-filter命令用来显示包过滤的应用信息。
【举例】
# 显示当前交换机所有端口上包过滤的应用信息。
<Sysname> display packet-filter unitid 1
Ethernet1/0/1
Inbound:
Acl 2000 rule 0 running
Ethernet1/0/2
Outbound:
Acl 2001 rule 0 not running
表1-3 display packet-filter命令显示信息描述表
字段 |
描述 |
Ethernet1/0/1 |
应用包过滤的端口 |
Inbound |
应用包过滤的方向,包含以下两种: l Inbound:表示入方向 l Outbound:表示出方向 |
Acl 2000 rule 0 |
过滤规则为基本ACL 2000的0号规则 |
running |
规则的下发状态,包含以下两种: l running:表示激活 l not running:表示没有激活,通常是由于此规则引用的时间段不生效所致 |
【命令】
display time-range { all | time-name }
【视图】
任意视图
【参数】
all:所有的时间段。
time-name:为时间段的名称,以英文字母a~z或A~Z为起始字母的字符串,取值范围为1~32个字符。
【描述】
display time-range命令用来显示时间段的配置和状态,当前处于激活状态的时间段将显示Active,处于非激活状态的时间段将显示Inactive。
相关配置可参考命令time-range。
【举例】
# 显示所有的时间段。
<Sysname> display time-range all
Current time is 17:01:34 May/21/2007 Monday
Time-range : tr ( Active )
12:00 to 18:00 working-day
Time-range : tr1 ( Inactive )
From 12:00 Jan/1/2008 to 12:00 Jun/1/2008
表1-4 display time-range命令显示信息描述表
字段 |
描述 |
Current time is 17:01:34 May/21/2007 Monday |
系统的当前时间 |
Time-range |
时间段的名称 |
Active |
时间段的状态,包含以下两种: l Active:表示此时间段处于激活状态,已经生效 l Inactive:表示此时间段处于非激活状态,没有生效 |
12:00 to 18:00 working-day |
周期时间段,范围为工作日的12点到18点 |
From 12:00 Jan/1/2008 to 12:00 Jun/1/2008 |
绝对时间段,范围为2008年1月1日12点到2008年6月1日12点 |
【命令】
packet-filter { inbound | outbound } acl-rule
undo packet-filter { inbound | outbound } acl-rule
【视图】
以太网端口视图
【参数】
inbound:表示对端口接收的数据包进行过滤。
outbound:表示对端口发送的数据包进行过滤。
acl-rule:应用的ACL规则,可以是多种ACL的组合。组合方式如表1-5所示。
表1-5 组合应用ACL的方式
组合方式 |
acl-rule的形式 |
单独应用一个IP型ACL(基本ACL或高级ACL)中的所有规则 |
ip-group acl-number |
单独应用一个IP型ACL中的一条规则 |
ip-group acl-number rule rule-id |
单独应用一个二层ACL中的所有规则 |
link-group acl-number |
单独应用一个二层ACL中的一条规则 |
link-group acl-number rule rule-id |
单独应用一个用户自定义ACL或IPv6 ACL中的所有规则 |
user-group acl-number |
单独应用一个用户自定义ACL或IPv6 ACL中的一条规则 |
user-group acl-number rule rule-id |
同时应用IP型ACL中一条规则和二层型ACL的一条规则 |
ip-group acl-number rule rule-id link-group acl-number rule rule-id |
ip-group acl-number:表示基本或高级ACL序号,取值范围为2000~3999。
link-group acl-number:表示二层ACL序号,取值范围为4000~4999。
user-group acl-number:表示用户自定义ACL或IPv6 ACL序号,取值范围为5000~5999。
rule rule-id:ACL规则编号,取值范围为0~65534。如果不指定规则编号则表示ACL中的所有规则。
【描述】
packet-filter命令用来在端口上应用ACL,对数据包进行过滤。undo packet-filter命令用来取消ACL在端口上的应用。
【举例】
# 在端口Ethernet 1/0/1上应用基本ACL 2000中的所有规则,对端口接收的数据包进行过滤。假设基本ACL 2000已经创建并且相关规则已经存在。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] interface Ethernet 1/0/1
[Sysname-Ethernet1/0/1] packet-filter inbound ip-group 2000
[Sysname-Ethernet1/0/1] quit
# 在端口Ethernet 1/0/2上应用二层ACL 4000中的规则1,对端口发送的数据包进行过滤。假设二层ACL 4000已经创建并且相关规则已经存在。
[Sysname] interface Ethernet 1/0/2
[Sysname-Ethernet1/0/2] packet-filter outbound link-group 4000 rule 1
[Sysname-Ethernet1/0/2] quit
# 在端口Ethernet 1/0/3上应用用户自定义ACL 5000中的规则2,对端口接收的数据包进行过滤。假设用户自定义ACL 5000已经创建并且相关规则已经存在。
[Sysname] interface Ethernet 1/0/3
[Sysname-Ethernet1/0/3] packet-filter inbound user-group 5000 rule 2
[Sysname-Ethernet1/0/3] quit
# 在端口Ethernet 1/0/4上应用高级ACL 3000中的规则1和二层ACL 4000中的规则2,对端口接收的数据包进行过滤。假设高级ACL 3000和二层ACL 4000已经创建并且相关规则已经存在。
[Sysname] interface Ethernet 1/0/4
[Sysname-Ethernet1/0/4] packet-filter inbound ip-group 3000 rule 1 link-group 4000 rule 2
完成上述配置后,用户可以使用display packet-filter命令来查看包过滤的应用信息。
【命令】
packet-filter vlan vlan-id { inbound | outbound } acl-rule
undo packet-filter vlan vlan-id { inbound | outbound } acl-rule
【视图】
系统视图
【参数】
vlan-id:VLAN编号。
inbound:表示对VLAN内所有端口接收的数据包进行过滤。
outbound:表示对VLAN内所有端口发送的数据包进行过滤。
acl-rule:应用的ACL,可以是多种ACL的组合。组合方式说明如表1-5所示。
【描述】
packet-filter vlan命令用来在当前VLAN中所有端口上应用ACL,对VLAN中的所有端口上的数据包进行过滤。undo packet-filter vlan命令用来取消ACL在当前VLAN中所有端口上的应用。
当用户需要在某一个VLAN内的所有端口上应用同一条ACL时,可以使用packet-filter vlan命令来批量下发ACL,减少配置的工作量。
【举例】
# 在VLAN 10上应用基本ACL 2000中的所有规则,对VLAN 10中的所有端口接收的数据包进行过滤。假设VLAN 10和基本ACL 2000已经创建并且相关规则已经存在。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] packet-filter vlan 10 inbound ip-group 2000
# 在VLAN 20上应用二层ACL 4000中的规则1,对VLAN 20中的所有端口发送的数据包进行过滤。假设VLAN 20和二层ACL 4000已经创建并且相关规则已经存在。
[Sysname] packet-filter vlan 20 outbound link-group 4000 rule 1
# 在VLAN 30上应用用户自定义ACL 5000中的规则2,对VLAN 30中的所有端口接收的数据包进行过滤。假设VLAN 30和用户自定义ACL 5000已经创建并且相关规则已经存在。
[Sysname] packet-filter vlan 30 inbound user-group 5000 rule 2
# 在VLAN 40上应用高级ACL 3000中的规则1和二层ACL 4000中的规则2,对VLAN 40中的所有端口接收的数据包进行过滤。假设VLAN 40、高级ACL 3000和二层ACL 4000已经创建并且相关规则已经存在。
[Sysname] packet-filter vlan 40 inbound ip-group 3000 rule 1 link-group 4000 rule 2
完成上述配置后,用户可以使用display packet-filter命令来查看包过滤的应用信息。
【命令】
rule [ rule-id ] { deny | permit } [ rule-string ]
undo rule rule-id [ fragment | source | time-range ]*
【视图】
基本ACL视图
【参数】
rule-id:ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的数据包。
permit:表示允许符合条件的数据包通过。
rule-string:ACL规则信息,具体参数说明如表1-6所示。
表1-6 基本ACL规则信息
参数 |
类别 |
作用 |
说明 |
fragment |
分片信息 |
定义规则仅对非尾片分片报文有效 |
- |
source { sour-addr sour-wildcard | any } |
源地址信息 |
定义基本ACL规则的源地址信息 |
sour-addr为指定源IP地址,采用点分十进制表示;sour-wildcard为目标子网掩码的反码,采用点分十进制表示;sour-wildcard可以为0,代表主机地址 any代表任意源IP地址 |
time-range time-name |
时间段信息 |
定义规则生效的时间段 |
time-name:指定规则生效的时间段名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头,为避免混淆,时间段的名字不可以使用英文单词all |
sour-wildcard为目标子网掩码的反码,采用点分十进制表示。例如,如果用户想指定子网掩码255.255.0.0,则需要输入0.0.255.255。
rule-id:ACL规则编号,必须是一个已经存在的ACL规则编号。如果用户不知道ACL规则的编号,可以使用display acl命令来查看。
fragment:删除编号对应的ACL规则的对非尾片分片报文有效的设置。
source:删除编号对应的ACL规则的源IP地址的设置。
time-range:删除编号对应的ACL规则的时间段的设置。
【描述】
rule命令用来定义ACL规则。undo rule命令用来删除ACL规则或者规则中的某些属性信息。
在删除一条ACL规则时,如果不指定其他参数,交换机将这个ACL规则完全删除;否则交换机只删除该ACL规则中相应的属性信息。
需要注意的是:
l 当基本ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当基本ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示无法修改该规则。
l 在创建一条ACL规则的时候,用户可以不指定规则的编号,交换机将自动为这个规则分配一个编号:如果此ACL中没有规则,编号为0;如果此ACL中已有规则,编号为现有规则的最大编号+1;如果此ACL中现有规则的最大编号为65534,则系统会提示无法创建该规则,此时用户必须指定规则的编号才能创建成功。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当基本ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
【举例】
# 创建基本ACL 2000,定义规则1,禁止源IP地址为192.168.0.1的报文通过。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 2000
[Sysname-acl-basic-2000] rule 1 deny source 192.168.0.1 0
[Sysname-acl-basic-2000] quit
# 创建基本ACL 2001,定义规则1,禁止非尾片分片报文通过。
[Sysname] acl number 2001
[Sysname-acl-basic-2001] rule 1 deny fragment
[Sysname-acl-basic-2001] quit
# 创建基本ACL 2002,定义规则1,禁止所有报文在时间段trname所表示的时间范围内通过。
[Sysname] acl number 2002
[Sysname-acl-basic-2002] rule 1 deny time-range trname
完成上述配置后,用户可以使用display acl命令查看ACL的配置信息。
【命令】
rule [ rule-id ] { deny | permit } protocol [ rule-string ]
undo rule rule-id [ destination | destination-port | dscp | fragment | icmp-type | precedence | source | source-port | time-range | tos ]*
【视图】
高级ACL视图
【参数】
rule-id:ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的数据包。
permit:表示允许符合条件的数据包通过。
protocol:IP承载的协议类型。用数字表示时,取值范围为1~255;用名字表示时,可以选取gre(47)、icmp(1)、igmp(2)、ip、ipinip(4)、ospf(89)、tcp(6)、udp(17)。
rule-string:ACL规则信息,具体参数说明如表1-7所示。
表1-7 高级ACL规则信息
参数 |
类别 |
作用 |
说明 |
source { sour-addr sour-wildcard | any } |
源地址信息 |
定义ACL规则的源地址信息 |
sour-addr sour-wildcard用来确定数据包的源地址,点分十进制表示;sour-wildcard可以为0,表示主机地址 any代表任意源地址 |
destination { dest-addr dest-wildcard | any } |
目的地址信息 |
定义ACL规则的目的地址信息 |
dest-addr dest-wildcard用来确定数据包的目的地址,点分十进制表示;dest-wildcard可以为0,表示主机地址 any代表任意目的地址 |
precedence precedence |
报文优先级 |
IP优先级 |
用数字表示时,取值范围为0~7 |
tos tos |
报文优先级 |
ToS优先级 |
用数字表示时,取值范围为0~15 |
dscp dscp |
报文优先级 |
DSCP优先级 |
用数字表示时,取值范围为0~63 |
fragment |
分片信息 |
定义规则仅对非尾片分片报文有效 |
- |
time-range time-name |
时间段信息 |
定义规则生效的时间段 |
time-name:指定规则生效的时间段名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头,为避免混淆,时间段的名字不可以使用英文单词all |
sour-wildcard与dest-wildcard为目标子网掩码的反码,点分十进制表示。例如,如果用户想指定子网掩码255.255.0.0,则需要输入0.0.255.255。
如果选择dscp关键字,除了直接输入数值0~63外,用户也可输入如表1-8所示的关键字。
表1-8 DSCP值说明
关键字 |
DSCP值(十进制) |
DSCP值(二进制) |
af11 |
10 |
001010 |
af12 |
12 |
001100 |
af13 |
14 |
001110 |
af21 |
18 |
010010 |
af22 |
20 |
010100 |
af23 |
22 |
010110 |
af31 |
26 |
011010 |
af32 |
28 |
011100 |
af33 |
30 |
011110 |
af41 |
34 |
100010 |
af42 |
36 |
100100 |
af43 |
38 |
100110 |
be |
0 |
000000 |
cs1 |
8 |
001000 |
cs2 |
16 |
010000 |
cs3 |
24 |
011000 |
cs4 |
32 |
100000 |
cs5 |
40 |
101000 |
cs6 |
48 |
110000 |
cs7 |
56 |
111000 |
ef |
46 |
101110 |
如果选择precedence关键字,除了直接输入数值0~7外,用户也可输入如表1-9所示的关键字。
关键字 |
IP Precedence(十进制) |
IP Precedence(二进制) |
routine |
0 |
000 |
priority |
1 |
001 |
immediate |
2 |
010 |
flash |
3 |
011 |
flash-override |
4 |
100 |
critical |
5 |
101 |
internet |
6 |
110 |
network |
7 |
111 |
如果选择tos关键字,除了直接输入数值0~15外,用户也可输入如表1-10所示的关键字。
表1-10 ToS值说明
关键字 |
ToS(十进制) |
ToS(二进制) |
normal |
0 |
0000 |
min-monetary-cost |
1 |
0001 |
max-reliability |
2 |
0010 |
max-throughput |
4 |
0100 |
min-delay |
8 |
1000 |
当协议类型选择为TCP或者UDP时,用户还可以定义如表1-11所示信息。
表1-11 TCP/UDP特有的ACL规则信息
参数 |
类别 |
作用 |
说明 |
source-port operator port1 [ port2 ] |
源端口 |
定义UDP/TCP报文的源端口信息 |
operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在指定范围内);只有操作符range需要两个端口号做操作数,其他的只需要一个端口号做操作数 port1、port2:TCP或UDP的端口号,用名字或数字表示,数字的取值范围为0~65535 配置操作符为range时,port2的取值不需要一定大于port1的取值,交换机会自动识别取值范围;当port1和port2的取值相同时,交换机会将操作符range转换为eq 另外需要注意的是,当用户配置操作符为lt 1或gt 65534时,交换机会将其转换为eq 0或eq 65535 |
destination-port operator port1 [ port2 ] |
目的端口 |
定义UDP/TCP报文的目的端口信息 |
|
established |
TCP连接建立标识 |
表示此条规则仅对TCP建立连接的第一个SYN报文有效 |
TCP协议特有的参数 |
H3C E152以太网交换机在端口或VLAN上应用高级ACL时,如果ACL规则中包含TCP/UDP的端口信息,则operator操作符的取值只能为eq(等于)。
当TCP或UDP的端口号用名字表示时,用户还可以定义如表1-12所示信息。
表1-12 TCP或UDP端口取值信息
协议类型 |
取值信息 |
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) |
当协议类型选择为ICMP时,用户还可以定义如表1-13所示信息。
表1-13 ICMP特有的规则信息
参数 |
类别 |
作用 |
说明 |
icmp-type icmp-type icmp-code |
ICMP报文的类型和消息码信息 |
定义规则中ICMP报文的类型和消息码信息 |
icmp-type:ICMP消息类型,取值为0~255 icmp-code:ICMP的消息码,取值为0~255 |
当协议类型选择为ICMP时,用户也可以直接在icmp-type参数后输入ICMP的消息名称,如表1-14所示。
名称 |
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-id:ACL规则编号,必须是一个已经存在的ACL规则编号。如果用户不知道ACL规则的编号,可以使用display acl命令来查看。
source:删除编号对应的ACL规则的源IP地址的设置。
source-port:删除编号对应的ACL规则的源端口的设置,本参数仅在规则定义的协议是TCP或者UDP的情况下有效。
destination:删除编号对应的ACL规则的目的IP地址的设置。
destination-port:删除编号对应的ACL规则的目的端口的设置,本参数仅在规则定义的协议是TCP或者UDP的情况下有效。
icmp-type:删除编号对应的ACL规则的ICMP类型和消息码的设置,本参数仅在规则定义的协议是ICMP的情况下有效。
precedence:删除编号对应的ACL规则的IP Precedence的设置。
tos:删除编号对应的ACL规则的ToS的设置。
dscp:删除编号对应的ACL规则的DSCP的设置。
time-range:删除编号对应的ACL规则的时间段的设置。
fragment:删除编号对应的ACL规则的对非尾片分片报文有效的设置。
【描述】
rule命令用来定义ACL规则。undo rule命令用来删除ACL规则或者ACL规则中的某些属性信息。
在删除一条ACL规则时,如果不指定其他参数,交换机将这个ACL规则完全删除;否则交换机只删除该ACL规则中相应的属性信息。
需要注意的是:
l 当高级ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当高级ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示无法修改该规则。
l 在创建一条ACL规则的时候,用户可以不指定规则的编号,交换机将自动为这个规则分配一个编号:如果此ACL中没有规则,编号为0;如果此ACL中已有规则,编号为现有规则的最大编号+1;如果此ACL中现有规则的最大编号为65534,则系统会提示无法创建该规则,此时用户必须指定规则的编号才能创建成功。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当高级ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
【举例】
# 创建高级ACL 3000,定义规则1,拒绝源IP地址为192.168.0.1并且DSCP优先级为46的IP报文通过。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 3000
[Sysname-acl-adv-3000] rule 1 deny ip source 192.168.0.1 0 dscp 46
[Sysname-acl-adv-3000] quit
# 创建高级ACL 3001,定义规则1,允许从129.9.0.0/16网段的主机向202.38.160.0/24网段的主机发送的目的端口号为80的TCP报文通过。
[Sysname] acl number 3001
[Sysname-acl-adv-3001] rule 1 permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255 destination-port eq 80
完成上述配置后,用户可以使用display acl命令查看ACL的配置信息。
【命令】
rule [ rule-id ] { deny | permit } [ rule-string ]
undo rule rule-id
【视图】
二层ACL视图
【参数】
rule-id:ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的数据包。
permit:表示允许符合条件的数据包通过。
rule-string:ACL规则信息,具体参数说明如表1-15所示。
表1-15 二层ACL规则信息
参数 |
类别 |
作用 |
说明 |
format-type |
链路层封装类型 |
定义规则中的链路层封装类型 |
format-type:取值可以为802.3/802.2、802.3、ether_ii、snap |
lsap lsap-code lsap-wildcard |
LSAP字段 |
定义规则的LSAP字段 |
lsap-code:数据帧的封装格式,16比特的十六进制数 lsap-wildcard:lsap值的掩码, 16比特的十六进制数,用于指定屏蔽位 |
source { source-mac-addr source-mac-mask | vlan-id }* |
源MAC信息或源VLAN信息 |
定义规则的源MAC地址范围或源VLAN ID |
source-mac-addr:源MAC地址,格式为H-H-H source-mac-mask:源MAC地址的掩码,格式为H-H-H vlan-id:源VLAN ID,取值范围为1~4094 |
dest dest-mac-addr dest-mac-mask |
目的MAC信息 |
定义规则的目的MAC地址范围 |
dest-mac-addr:目的MAC地址,格式为H-H-H dest-mac-mask:目的MAC地址的掩码,格式为H-H-H |
cos vlan-pri |
802.1p优先级 |
定义规则的802.1p优先级 |
vlan-pri:取值范围为0~7 |
c-tag-vlan c-tag-vlan-begin [ to c-tag-vlan-end ] |
内层VLAN信息 |
定义规则的内层VLAN信息 |
c-tag-vlan-begin,c-tag-vlan-end:VLAN ID,取值范围为1~4094 c-tag-vlan参数通常与QinQ功能配合使用,关于QinQ功能的详细介绍请参见“VLAN-VPN”部分 |
time-range time-name |
时间段信息 |
定义规则生效的时间段 |
time-name:指定规则生效的时间段名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头,为避免混淆,时间段的名字不可以使用英文单词all |
type protocol-type protocol-mask |
以太网帧的协议类型 |
定义以太网帧的协议类型 |
protocol-type:协议类型 protocol-mask:协议类型掩码 |
H3C E152以太网交换机在端口或VLAN上应用二层ACL时,不支持配置format-type和lsap参数。
【描述】
rule命令用来定义ACL规则。undo rule命令用来删除ACL规则。
在删除一条ACL规则时,需要指定该ACL规则的编号。如果用户不知道ACL规则的编号,可以使用display acl命令来查看。
需要注意的是:
l 用户可以修改二层ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态。
l 在创建一条ACL规则的时候,用户可以不指定规则的编号,交换机将自动为这个规则分配一个编号:如果此ACL中没有规则,编号为0;如果此ACL中已有规则,编号为现有规则的最大编号+1;如果此ACL中现有规则的最大编号为65534,则系统会提示无法创建该规则,此时用户必须指定规则的编号才能创建成功。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
【举例】
# 创建二层ACL 4000,定义规则1,禁止从MAC地址000d-88f5-97ed发送到MAC地址0011-4301-991e且802.1p优先级为3的报文通过。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 4000
[Sysname-acl-ethernetframe-4000] rule 1 deny cos 3 source 000d-88f5-97ed ffff-ffff-ffff dest 0011-4301-991e ffff-ffff-ffff
[Sysname-acl-ethernetframe-4000] quit
# 创建二层ACL 4001,定义规则1,允许内层VLAN编号为2~10的报文通过。
[Sysname] acl number 4001
[Sysname-acl-ethernetframe-4001] rule 1 permit c-tag-vlan 2 to 10
完成上述配置后,用户可以使用display acl命令查看ACL的配置信息。
【命令】
rule [ rule-id ] { deny | permit } [ rule-string rule-mask offset ] &<1-8> [ time-range time-name ]
undo rule rule-id
【视图】
用户自定义ACL视图
【参数】
rule-id:ACL规则编号,取值范围为0~65534。
rule-string:用户自定义的规则字符串,取值范围为2~160个16进制数,且长度个数必须为偶数。
rule-mask:用户自定义的规则掩码,用于和数据包作“与”操作,取值范围为2~160个16进制数,个数必须为偶数,且必须与rule-string的长度相同。
offset:规则掩码的偏移量,它指定以数据包的头部为基准,从第几个字节开始与掩码进行“与”操作,取值范围为0~79字节。
l rule-string的长度每增加两个16进制数,规则掩码偏移量的最大值减小1字节。例如,如果定义了包含两个16进制数的rule-string,规则掩码偏移量的最大值为79字节;如果定义了包含四个16进制数的rule-string,规则掩码偏移量的最大值为78字节;以此类推。
l 规则掩码偏移量的有效长度为128个16进制数(64个字节)。例如,用户定义了规则字符串为aa,偏移量取值为2,当用户继续定义规则字符串bb时,其偏移量取值范围只能为3~65字节;如果规则字符串aa的偏移量取值为3,则规则字符串bb的偏移量取值范围为4~66字节;以此类推。但是规则字符串bb的偏移量取值范围最大不能超过79个字节。
l 如表1-16中所示,E152以太网交换机的硬件规则将用户自定义字符串的规则掩码偏移量从逻辑上划分成了若干个偏移量单元,每个偏移量单元为4个字节。这些规则掩码偏移量单元被划分为8个组,编号为Offset1~Offset8。
l 在下发用户自定义ACL时,E152的硬件限定了交换机支持用户自定义规则字符串的最大长度为32个字节(这32字节可以是连续的字符串、也可以是多个不连续的字符串),但这32个字节的字符串最多能占用8个规则掩码偏移量单元,且任意两个偏移量单元不能属于同一个Offset组。
偏移量所占用的单元 |
|||||||
Offset1 |
Offset2 |
Offset3 |
Offset4 |
Offset5 |
Offset6 |
Offset7 |
Offset8 |
0~3 |
4~7 |
8~11 |
12~15 |
16~19 |
20~23 |
24~27 |
28~31 |
2~5 |
6~9 |
10~13 |
14~17 |
18~21 |
22~25 |
26~29 |
30~33 |
6~9 |
10~13 |
14~17 |
18~21 |
22~25 |
26~29 |
30~33 |
34~37 |
12~15 |
16~19 |
20~23 |
24~27 |
28~31 |
32~35 |
36~39 |
40~43 |
20~23 |
24~27 |
28~31 |
32~35 |
36~39 |
40~43 |
44~47 |
48~51 |
30~33 |
34~37 |
38~41 |
42~45 |
46~49 |
50~53 |
54~57 |
58~61 |
42~45 |
46~49 |
50~53 |
54~57 |
58~61 |
62~65 |
66~69 |
70~73 |
56~59 |
60~63 |
64~67 |
68~71 |
72~75 |
76~79 |
0~3 |
4~7 |
&<1-8>:表示一次最多可以定义8个这样的规则。
time-range time-name:这条ACL规则在该时间段内有效。
【描述】
rule命令用来定义ACL规则。undo rule命令用来删除ACL规则。
在删除一条ACL规则时,需要指定该ACL规则的编号。如果用户不知道ACL规则的编号,可以使用display acl命令来查看。
需要注意的是:
l 用户可以修改用户自定义ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,如果用户的修改只涉及动作或时间段部分,则该规则中没有修改到的部分仍旧保持原来的状态;如果用户修改了自定义字符串部分的内容,则修改后的自定义字符串会覆盖原有的自定义字符串。
l 在创建一条ACL规则的时候,用户可以不指定规则的编号,交换机将自动为这个规则分配一个编号:如果此ACL中没有规则,编号为0;如果此ACL中已有规则,编号为现有规则的最大编号+1;如果此ACL中现有规则的最大编号为65534,则系统会提示无法创建该规则,此时用户必须指定规则的编号才能创建成功。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
在使用用户自定义ACL匹配报文的特定字段时,偏移量的取值一定要考虑如下情况:
l 如果没有端口开启VLAN-VPN功能,交换机内部处理的报文都带有1层VLAN tag,1层VLAN tag占4个字节。
l 如果某一端口上开启了VLAN-VPN功能,交换机内部处理的报文都带有2层VLAN tag,2层VLAN tag占8个字节。
常用的协议类型以及其所使用的偏移量如下表所示。
协议类型 |
协议号(十六进制) |
没有端口开启VLAN-VPN功能时的偏移量 |
端口开启VLAN-VPN功能后的偏移量 |
ARP |
0x0806 |
16 |
20 |
RARP |
0x8035 |
16 |
20 |
IP |
0x0800 |
16 |
20 |
IPX |
0x8137 |
16 |
20 |
AppleTalk |
0x809B |
16 |
20 |
ICMP |
0x01 |
27 |
31 |
IGMP |
0x02 |
27 |
31 |
TCP |
0x06 |
27 |
31 |
UDP |
0x11 |
27 |
31 |
【举例】
# 创建用户自定义ACL 5000,定义规则1,禁止所有的TCP报文通过(假设没有端口开启VLAN-VPN功能)。其中06为TCP的协议号,ff为规则的掩码,27为交换机内部处理的IP报文中协议字段的偏移量。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 5000
[Sysname-acl-user-5000] rule 1 deny 06 ff 27
[Sysname-acl-user-5000] quit
# 创建用户自定义ACL 5001,定义规则1,禁止源IP地址为192.168.0.1的ARP报文通过(假设没有端口启动VLAN-VPN功能)。其中0806为ARP协议号,16为交换机内部处理的以太网报文中协议类型字段的偏移量,c0a80001为192.168.0.1的十六进制形式,32为交换机内部处理的ARP报文中源IP地址字段的偏移量。
[Sysname] acl number 5001
[Sysname-acl-user-5001] rule 1 deny 0806 ffff 16 c0a80001 ffffffff 32
[Sysname-acl-user-5001] quit
完成上述配置后,用户可以使用display acl命令查看ACL的配置信息。
# 创建用户自定义ACL 5002,定义规则1,字符串长度为32字节,规则掩码为全F,偏移量取值为4,在端口Ethernet 1/0/1上下发。
[Sysname] acl number 5002
[Sysname-acl-user-5002] rule 1 deny 1234567890123456789012345678901234567890123456789012345678901234 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 4
[Sysname-acl-user-5002] quit
[Sysname] interface Ethernet 1/0/1
[Sysname-Ethernet1/0/1] packet-filter inbound user-group 5002
这种情况下,32个字节的字符串占用了表1-16中4~7(Offset2)、8~11(Offset3)、12~15(Offset4)、16~19(Offset5)、20~23(Offset1)、24~27(Offset7)、28~31(Offse8)和32~35(Offset6)共8个单元,此时可以下发成功。
# 创建用户自定义ACL 5003,定义规则1,字符串长度为32字节,规则掩码为全F,偏移量取值为24,在端口Ethernet 1/0/2上下发。
[Sysname] acl number 5003
[Sysname-acl-user-5003] rule 1 deny 1234567890123456789012345678901234567890123456789012345678901234 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff 24
[Sysname-acl-user-5003] quit
[Sysname] interface Ethernet 1/0/2
[Sysname-Ethernet1/0/2] packet-filter inbound user-group 5003
Applying Acl 5003 rule 1 failed!
Reason: This type of ACL rule is not supported by the command which is attempting to use the ACL!(Ethernet1/0/2)
这种情况下,32个字节的字符串所占用的偏移量单元不符合前文提到的“最多能占用8个规则掩码偏移量单元,且任意两个偏移量单元不能属于同一个Offset”的要求,此时不能下发成功。
【命令】
rule [ rule-id ] { deny | permit } [ cos rule-string rule-mask ] [ dest-ip ipv6-address prefix-length ] [ dest-mac rule-string rule-mask ] [ double-tag ] [ dscp rule-string rule-mask ] [ ip-protocol rule-string rule-mask ] [ ipv6-type ] [ src-ip ipv6-address prefix-length ] [ src-mac rule-string rule-mask ] [ vlan rule-string rule-mask ] [ [ src-port rule-string rule-mask | dest-port rule-string rule-mask ] * | [ icmpv6-type rule-string rule-mask | icmpv6-code rule-string rule-mask ] * ] [ time-range time-name ]
undo rule rule-id
【视图】
用户自定义ACL视图(IPv6 ACL视图)
【参数】
rule-id:ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的数据包。
permit:表示允许符合条件的数据包通过。
cos rule-string rule-mask:定义规则为匹配IPv6报文的CoS信息。rule-string和rule-mask为内容字符串和掩码字符串,长度取值为2,且必须为16进制数。
dest-ip ipv6-address prefix-length:定义规则为匹配IPv6报文的目的IP地址信息。ipv6-address prefix-length为IPv6地址和前缀长度,其中prefix-length取值范围为1~128。
dest-mac rule-string rule-mask:定义规则为匹配IPv6报文的目的MAC地址信息。rule-string为目的MAC地址、rule-mask为地址掩码,长度取值为12,且必须为16进制数。
double-tag:定义规则为匹配具有双Tag头的IPv6报文。
dscp rule-string rule-mask:定义规则为匹配IPv6报文的流量类型(Traffic-class)信息。rule-string和rule-mask为内容字符串和掩码字符串,长度取值为2,且必须为16进制数。
ip-protocol rule-string rule-mask:定义规则为匹配IPv6报文的下一报头信息。rule-string和rule-mask为内容字符串和掩码字符串,长度取值为2,且必须为16进制数。
ipv6-type:定义规则为匹配二层协议类型为IPv6的报文。
src-ip ipv6-address prefix-length:定义规则为匹配IPv6报文的源IP地址信息。ipv6-address prefix-length为IPv6地址和前缀长度,其中prefix-length取值范围为1~128。
src-mac rule-string rule-mask:定义规则为匹配IPv6报文的源MAC地址信息。rule-string为源MAC地址、rule-mask为地址掩码,长度取值为12,且必须为16进制数。
vlan rule-string rule-mask: 定义规则为匹配IPv6报文的VLAN Tag信息。rule-string和rule-mask为内容字符串和掩码字符串,长度取值为4,且必须为16进制数。
src-port rule-string rule-mask:定义规则为匹配IPv6报文的TCP或UDP协议源端口信息。rule-string和rule-mask为内容字符串和掩码字符串,长度取值为4,且必须为16进制数。
dest-port rule-string rule-mask:定义规则为匹配IPv6报文的TCP或UDP协议目的端口信息。rule-string和rule-mask为内容字符串和掩码字符串,长度取值为4,且必须为16进制数。
icmpv6-type rule-string rule-mask:定义规则为匹配IPv6报文的ICMP协议消息类型信息。rule-string和rule-mask为内容字符串和掩码字符串,长度取值为2,且必须为16进制数。
icmpv6-code rule-string rule-mask:定义规则为匹配IPv6报文的ICMP协议消息码信息。rule-string和rule-mask为内容字符串和掩码字符串,长度取值为2,且必须为16进制数。
time-range time-name:定义规则生效的时间段信息。time-name为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头,为避免混淆,时间段的名字不可以使用英文单词all。
【描述】
rule命令用来定义ACL规则。undo rule命令用来删除ACL规则。
在删除一条ACL规则时,需要指定该ACL规则的编号。如果用户不知道ACL规则的编号,可以使用display acl命令来查看。
需要注意的是:
l 用户可以修改IPv6 ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,如果用户的修改只涉及动作或时间段部分,则该规则中没有修改到的部分仍旧保持原来的状态;如果用户修改了自定义字符串部分的内容,则修改后的自定义字符串会覆盖原有的自定义字符串。
l 在创建一条ACL规则的时候,用户可以不指定规则的编号,交换机将自动为这个规则分配一个编号:如果此ACL中没有规则,编号为0;如果此ACL中已有规则,编号为现有规则的最大编号+1;如果此ACL中现有规则的最大编号为65534,则系统会提示无法创建该规则,此时用户必须指定规则的编号才能创建成功。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 在定义规则时,如果用户需要配置src-port/dest-port,则必须配置ip-protocol为TCP或UDP,即0x06或0x11;如果用户需要配置icmpv6-type/ icmpv6-code,则必须配置ip-protocol为ICMPv6,即0x3a。
E152以太网交换机在配置IPv6 ACL时,有如下限制:当一条rule规则要定义多个字段时,要确保一条rule定义的字段对应的字节总数不能超过32字节、否则该rule规则配置不能成功。例如:如果rule 1中同时配置了src-ip(128个bit位,占用16个字节)和dest-ip字段(128个bit位,占用16个字节),一个IPv6报文仅对src-ip字段和dest-ip字段进行匹配、就已经需要匹配32个字节,因此该rule 1中不能再定义其它字段了,否则配置不能成功。
【举例】
# 配置IPv6 ACL 5000,禁止从源IPv6地址3001::1/64发送到目的IPv6地址3002::1/64的报文通过。
<Sysname> system-view
[Sysname] acl number 5000
[Sysname-acl-user-5000] rule deny src-ip 3001::1 64 dest-ip 3002::1 64
【命令】
rule rule-id comment text
undo rule rule-id comment
【视图】
高级ACL视图/二层ACL视图/用户自定义ACL视图(IPv6 ACL视图)
【参数】
rule-id:ACL规则编号,取值范围为0~65534。
text:ACL规则的注释信息,取值范围为1~127个字符,可以包含空格和特殊字符。
【描述】
rule comment命令用来定义ACL规则的注释信息。undo rule comment命令用来删除ACL规则的注释信息。
用户可以使用rule comment命令来描述ACL规则的具体用途、应用于哪些端口等信息,方便用户对ACL规则进行区分和识别。
缺省情况下,ACL规则没有注释信息。
需要注意的是,在定义ACL规则的注释信息之前,该ACL规则必须已经存在。
【举例】
# 定义高级ACL 3001的rule 0的注释信息为“This rule is to be applied to eth 1/0/1”。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] acl number 3001
[Sysname-acl-adv-3001] rule 0 comment This rule is to be applied to eth 1/0/1
# 使用display acl命令查看高级ACL 3001的配置信息。
[Sysname-acl-adv-3001] display acl 3001
Advanced ACL 3001, 1 rule
Acl's step is 1
rule 0 deny IP source 1.1.1.1 0 destination 2.2.2.2 0
rule 0 comment This rule is to be applied to eth 1/0/1
【命令】
time-range time-name { start-time to end-time days-of-the-week [ from start-time start-date ] [ to end-time end-date ] | from start-time start-date [ to end-time end-date ] | to end-time end-date }
undo time-range { all | name time-name [ start-time to end-time days-of-the-week [ from start-time start-date ] [ to end-time end-date ] | from start-time start-date [ to end-time end-date ] | to end-time end-date ] }
【视图】
系统视图
【参数】
all:所有的时间段。
time-name:时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,时间段的名字不能使用英文单词all。
start-time:可选参数,周期时间段的开始时间,表示形式为hh:mm。
end-time:可选参数,周期时间段的结束时间,表示形式为hh:mm。结束时间必须大于起始时间。
days-of-the-week:可选参数,参数表示该周期时间在每周几有效。可以输入如下参数及其组合:
l 数字(0~6);
l 星期一到星期日(Mon,Tue,Wed,Thu,Fri,Sat,Sun);
l 工作日(working-day),包括从星期一到星期五五天;
l 休息日(off-day),包括星期六和星期日;
l 每一天(daily),一个星期中的每一天。
from start-time start-date:可选参数,绝对时间段的开始日期,和end-time end-date共同表示该绝对时间在某一段日期中生效,表示形式为hh:mm MM/DD/YYYY或hh:mm YYYY/MM/DD。如果不指定开始日期,则开始日期为1970年1月1日0点0分。
to end-time end-date:可选参数,绝对时间段的结束日期,和start-time start-date共同表示该绝对时间在某一段日期中生效,表示形式为hh:mm MM/DD/YYYY或hh:mm YYYY/MM/DD。如果不指定结束日期,则结束日期为2100年12月31日23点59分。
【描述】
time-range命令用来配置一个时间段。undo time-range命令用来删除一个时间段或删除所有的时间段。
需要注意的是:
l 交换机最多支持配置256个时间段,一个时间段下最多可以配置32个周期时间段和12个绝对时间段。
l 如果一个时间段只定义了周期时间段,则只有系统时钟在该周期时间段内,该时间段才进入激活状态。如果一个时间段下定义了多个周期时间段,则这些周期时间段之间是“或”的关系。
l 如果一个时间段只定义了绝对时间段,则只有系统时钟在该绝对时间段内,该时间段才进入激活状态。如果一个时间段下定义了多个绝对时间段,则这些绝对时间段之间是“或”的关系。
l 如果一个时间段同时定义了绝对时间段和周期时间段,则只有同时满足绝对时间段和周期时间段的定义时,该时间段才进入激活状态。例如,一个时间段定义了绝对时间段:从2004年1月1日零点零分到2004年12月31日23点59分,同时定义了周期时间段:每周三的12:00到14:00。该时间段只有在2004年内每周三的12:00到14:00才进入激活状态。
【举例】
# 定义周期时间段,时间范围为每周一到周五的08:00至12:00。
<Sysname> system-view
System View: return to User View with Ctrl+Z.
[Sysname] time-range tr1 08:00 to 12:00 working-day
# 定义绝对时间段,时间范围为2008年1月1日12:00至2008年6月1日12:00。
[Sysname] time-range tr2 from 12:00 1/1/2008 to 12:00 6/1/2008
# 显示时间段的配置信息。
[Sysname] display time-range all
Current time is 17:37:23 Nov/27/2007 Tuesday
Time-range : tr1 ( Inactive )
08:00 to 12:00 working-day
Time-range : tr2 ( Inactive )
From 12:00 Jan/1/2008 to 12:00 Jun/1/2008
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!