20-ACL命令
本章节下载: 20-ACL命令 (200.52 KB)
设备支持基本ACL、高级ACL和二层ACL相关的配置。
【命令】
acl number acl-number [ match-order { auto | config } ]
undo acl { all | number acl-number }
【视图】
系统视图
【参数】
all:所有的ACL。
number acl-number:ACL(Access Control List,访问控制列表)序号,取值范围为:
l 2000~2999:表示基本ACL。
l 3000~3999:表示高级ACL(3998与3999是系统为集群管理预留的编号,用户无法配置)。
l 4000~4999:表示二层ACL。
match-order:指定对该ACL规则的匹配顺序,匹配顺序如下:
l auto:按照“深度优先”的顺序进行规则匹配。
l config:按照用户配置规则的先后顺序进行规则匹配。
需要注意的是,在定义二层ACL时没有match-order参数,二层ACL的匹配顺序为config。
【描述】
acl命令用来定义ACL,并进入相应的ACL视图。undo acl命令用来删除指定的ACL,或者删除全部ACL。
缺省情况下,ACL规则的匹配顺序为config。
用户也可以通过本命令修改一个已经存在的ACL的匹配顺序,但必须在ACL中没有规则的时候修改,对已经包含规则的ACL是无法修改其匹配顺序的。
进入相应的ACL视图之后,可以使用rule命令增加此ACL的规则。
相关配置可参考命令rule。
【举例】
# 定义基本ACL 2000,并配置其匹配顺序为“深度优先”。
<device> system-view
System View: return to User View with Ctrl+Z.
[device] acl number 2000 match-order auto
[device-acl-basic-2000]
【命令】
description text
undo description
【视图】
基本ACL视图/高级ACL视图/二层ACL视图
【参数】
text:ACL的描述信息,字符串格式,取值范围为1~127个字符。
【描述】
description命令用来定义ACL的描述信息,描述该ACL的具体用途。undo description命令用来删除ACL的描述信息。
缺省情况下,ACL没有描述信息。
【举例】
# 定义高级ACL 3000的描述信息为“This acl is used in GEth 1/0/1”。
<device> system-view
System View: return to User View with Ctrl+Z.
[device] acl number 3000
[device-acl-adv-3000] description This acl is used in GEth 1/0/1
# 删除高级ACL 3000的描述信息。
[device-acl-adv-3000] undo description
【命令】
display acl { all | acl-number }
【视图】
任意视图
【参数】
all:所有的ACL。
acl-number:指定ACL的序号,取值范围为2000~4999。
【描述】
display acl命令用来显示ACL的详细配置信息。
【举例】
# 显示基本ACL 2000的详细配置信息。
<device> display acl 2000
Basic ACL 2000, 1 rule
Acl's step is 1
rule 0 permit
表1-1 display acl命令显示信息描述表
字段 |
描述 |
Basic ACL 2000 |
这个ACL属于基本ACL,序号为2000 |
1 rule |
这个基本ACL包含1条规则 |
Acl's step is 1 |
这个基本ACL的规则序号的步长值为1 |
【命令】
display acl remaining entry
【视图】
任意视图
【参数】
无
【描述】
display acl remaining entry命令用来显示设备剩余的ACL表项资源。
用户可以根据该命令的输出信息来了解某类型的ACL规则消耗的表项资源数,确认ACL无法下发的原因是否与表项资源耗尽有关。
【举例】
# 显示设备剩余的ACL表项资源。
<device> display acl remaining entry
Resource Total Reserved Configured Remaining Start End
Type Number Number Number Number Port Name Port Name
--------------------------------------------------------------------------
RULE/MASK 1024 64 1 959 GE1/0/1 GE1/0/24
COUNTER 32 0 0 32 GE1/0/1 GE1/0/24
METER 256 0 0 256 GE1/0/1 GE1/0/24
表1-2 display acl remaining entry命令显示信息描述表
字段名 |
描述 |
Resource Type |
ACL表项资源类型 l RULE/MASK:规则资源,即可以下发的rule数量 l CONUTER:流量统计资源,即可以下发的traffic-statistics数量 l METER:流限速资源,即可以下发的traffic-limit数量 |
Total Number |
ACL表项资源的总数 |
Reserved Number |
初始化时系统ACL用去的资源数目 |
Configured Number |
用户定义的ACL占用的资源数目 |
Remaining Number |
剩余的ACL资源数目 |
Start Port Name End Port Name |
该表项所对应的起始端口号和结束端口号 |
【命令】
display packet-filter { global | interface interface-type interface-number | port-group [ group-id ] | unitid unit-id | vlan [ vlan-id ] }
【视图】
任意视图
【参数】
global:表示显示全局包过滤的应用信息。
interface interface-type interface-number:端口类型和端口编号。表示显示指定端口的包过滤的应用信息。
port-group group-id:端口组编号。表示显示指定端口组的包过滤的应用信息。
unitid unit-id:Unit ID,取值只能为1。表示显示设备上的包过滤的应用信息。
vlan vlan-id:VLAN编号。表示显示指定VLAN上的包过滤的应用信息。
【描述】
display packet-filter命令用来显示包过滤的应用信息。
【举例】
# 显示设备上的包过滤的应用信息。
<device> display packet-filter unitid 1
GigabitEthernet1/0/1
Inbound:
Acl 2000 rule 0 running
表1-3 display packet-filter命令显示信息描述表
字段 |
描述 |
GigabitEthernet1/0/1 |
应用包过滤的端口 |
Inbound |
过滤方向为入方向 |
Acl 2000 rule 0 |
过滤规则为基本ACL 2000的0号规则 |
running |
下发状态为激活(not running为非激活) |
【命令】
display time-range { all | time-name }
【视图】
任意视图
【参数】
all:所有的时间段。
time-name:为时间段的名称,以英文字母a~z或A~Z为起始字母的字符串,取值范围为1~32个字符。
【描述】
display time-range命令用来显示时间段的配置和状态,当前处于激活状态的时间段将显示Active,处于非激活状态的时间段将显示Inactive。
相关配置可参考命令time-range。
【举例】
# 显示所有的时间段。
<device> display time-range all
Current time is 14:36:36 Apr/2/2003 Thursday
Time-range : tr ( Active )
12:00 to 18:00 working-day
Time-range : tr1 ( Inactive )
From 08:30 Feb/5/2003 to 18:00 Feb/19/2003
表1-4 display time-range命令显示信息描述表
字段 |
描述 |
Current time is 14:36:36 Apr/3/2003 Thursday |
系统的当前时间 |
Time-range |
时间段的名称 |
Active |
表示该时间段目前处于激活状态(Inactive则表示时间段处于非激活状态) |
12:00 to 18:00 working-day |
周期时间段为工作日的12点到18点 |
From 08:30 Feb/5/2003 to 18:00 Feb/19/2003 |
绝对时间段为2005年2月5日8点30分到2005年2月19日18点 |
【命令】
packet-filter inbound acl-rule
undo packet-filter inbound acl-rule
【视图】
系统视图/以太网端口视图/端口组视图
【参数】
inbound:表示对接收的数据包进行过滤。
acl-rule:应用的ACL规则,可以是多种ACL的组合。组合方式如表1-5所示。
表1-5 组合应用ACL的方式
组合方式 |
acl-rule的形式 |
单独应用一个IP型ACL(基本ACL或高级ACL)中的所有规则 |
ip-group acl-number |
单独应用一个IP型ACL(基本ACL或高级ACL)中的一条规则 |
ip-group acl-number rule rule-id |
单独应用一个二层ACL中的所有规则 |
link-group acl-number |
单独应用一个二层ACL中的一条规则 |
link-group acl-number rule rule-id |
同时应用IP型ACL(基本ACL或高级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。
rule rule-id:ACL规则编号,取值范围为0~65534。如果不指定规则编号则表示ACL中的所有规则。
【描述】
packet-filter命令用来在全局、端口或端口组上下发ACL,对报文进行包过滤。undo packet-filter命令用来取消ACL在全局、端口或端口组上的下发。
【举例】
# 在端口GigabitEthernet1/0/1上下发ACL,对端口接收的报文应用基本ACL 2000进行包过滤。
<device> system-view
System View: return to User View with Ctrl+Z.
[device] interface GigabitEthernet1/0/1
[device-GigabitEthernet1/0/1] packet-filter inbound ip-group 2000
【命令】
packet-filter vlan vlan-id inbound acl-rule
undo packet-filter vlan vlan-id inbound acl-rule
【视图】
系统视图
【参数】
vlan-id:VLAN编号。
inbound:表示对接收的数据包进行过滤。
acl-rule:应用的ACL,可以是多种ACL的组合。组合方式说明如表1-5所示。
【描述】
packet-filter vlan命令用来在VLAN上下发ACL,对所有端口接收的属于指定VLAN的报文进行包过滤。undo packet-filter vlan命令用来取消ACL在VLAN上的下发。
【举例】
# 在VLAN 10下发ACL,对所有端口接收的属于VLAN 10的报文应用基本ACL 2000进行包过滤。
<device> system-view
System View: return to User View with Ctrl+Z.
[device] packet-filter vlan 10 inbound ip-group 2000
【命令】
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规则的源地址部分的信息设置。
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。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当基本ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
【举例】
# 定义基本ACL 2000,禁止源IP地址为192.168.0.1的报文通过。
<device> system-view
System View: return to User View with Ctrl+Z.
[device] acl number 2000
[device-acl-basic-2000] rule deny source 192.168.0.1 0
【命令】
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、icmp、igmp、ip、ipinip、ospf、tcp、udp。
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所示的关键字。
关键字 |
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所示的关键字。
关键字 |
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 |
destination-port operator port1 [ port2 ] |
目的端口 |
定义UDP/TCP报文的目的端口信息 |
|
established |
TCP连接建立标识 |
表示此条规则仅对TCP建立连接的第一个SYN报文有效 |
TCP协议特有的参数 |
当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(139)、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) |
设备在硬件下发高级ACL时,有如下限制:
l 不支持precedence和tos参数。
l 当协议类型选择为TCP或者UDP时,只支持operator操作符取值为eq的情况。
当协议类型选择为ICMP时,用户还可以定义如表1-13所示信息。
表1-13 ICMP特有的ACL规则信息
参数 |
类别 |
作用 |
说明 |
icmp-type icmp-type icmp-code |
ICMP报文的类型和消息码信息 |
定义规则中ICMP报文的类型和消息码信息 |
icmp-type:ICMP消息类型,取值为0~255 icmp-code:ICMP的消息码,取值为0~255 |
当协议类型选择为ICMP时,用户也可以直接在icmp-type参数后输入ICMP的消息名称。常见的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规则的源地址部分的信息设置。
source-port:删除编号对应的ACL规则的源端口部分的信息设置,本参数仅在规则定义的协议是TCP或者UDP的情况下有效。
destination:删除编号对应的ACL规则的目的地址的信息设置。
destination-port:删除编号对应的ACL规则的目的端口部分的信息设置,本参数仅在规则定义的协议是TCP或者UDP的情况下有效。
icmp-type:删除编号对应的ACL规则的ICMP类型和消息码部分的信息设置,本参数仅在规则定义的协议是ICMP的情况下有效。
precedence:删除编号对应的ACL规则的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。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
l 当高级ACL的匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
【举例】
# 定义高级ACL 3000,允许从129.9.0.0/16网段的主机向202.38.160.0/24网段的主机发送的端口号为80的TCP报文通过。
<device> system-view
System View: return to User View with Ctrl+Z.
[device] acl number 3000
[device-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 } [ 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优先级 |
vlan-pri:取值范围为0~7 |
time-range time-name |
时间段信息 |
定义规则生效的时间段 |
time-name:指定规则生效的时间段名称,字符串格式,长度为1~32 |
type protocol-type protocol-mask |
以太网帧的协议类型 |
定义以太网帧的协议类型 |
protocol-type:协议类型 protocol-mask:协议类型掩码 |
设备在硬件下发二层ACL时,不支持配置format-type参数和lsap参数。
【描述】
rule命令用来定义ACL规则。undo rule命令用来删除ACL规则。
在删除一条ACL规则时,需要指定该ACL规则的编号。如果用户不知道ACL规则的编号,可以使用display acl命令来查看。
需要注意的是:
l 用户可以修改二层ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有被修改到的部分仍旧保持原来的状态。
l 在定义一条ACL规则的时候,用户可以不指定规则的编号,设备将自动为这个规则分配一个编号:如果此ACL中没有规则,编号为0;如果此ACL中已有规则,编号为现有规则的最大编号+1。
l 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。
【举例】
# 定义二层ACL 4000,禁止从MAC地址000d-88f5-97ed发送到MAC地址011-4301-991e且802.1p优先级为3的报文通过。
<device> system-view
System View: return to User View with Ctrl+Z.
[device] acl number 4000
[device-acl-ethernetframe-4000] rule deny cos 3 source 000d-88f5-97ed ffff-ffff-ffff dest 0011-4301-991e ffff-ffff-ffff
【命令】
rule rule-id comment text
undo rule rule-id comment
【视图】
高级ACL视图/二层ACL视图
【参数】
rule-id:ACL规则编号,取值范围为0~65534。
text:ACL规则的注释信息,字符串格式,取值范围为1~127个字符。
【描述】
rule comment命令用来定义ACL规则的注释信息。undo rule comment命令用来删除ACL规则的注释信息。
缺省情况下,ACL规则没有注释信息。
需要注意的是,在定义ACL规则的注释信息之前,该ACL规则必须已经存在。
【举例】
# 定义高级ACL 3000的rule 0的注释信息为“test”。
<device> system-view
System View: return to User View with Ctrl+Z.
[device] acl number 3000
[device-acl-adv-3000] rule 0 comment test
【命令】
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 如果一个时间段只定义了周期时间段,则只有系统时钟在该周期时间段内,该时间段才进入激活状态。如果一个时间段下定义了多个周期时间段,则这些周期时间段之间是“或”的关系。
l 如果一个时间段只定义了绝对时间段,则只有系统时钟在该绝对时间段内,该时间段才进入激活状态。如果一个时间段下定义了多个绝对时间段,则这些绝对时间段之间是“或”的关系。
l 如果一个时间段同时定义了绝对时间段和周期时间段,则只有同时满足绝对时间段和周期时间段的定义时,该时间段才进入激活状态。例如,一个时间段定义了绝对时间段:从2004年1月1日零点零分到2004年12月31日23点59分,同时定义了周期时间段:每周三的12:00到14:00。该时间段只有在2004年内每周三的12:00到14:00才进入激活状态。
【举例】
# 定义绝对时间段,从2000年1月1日12:00至2001年1月1日12:00生效。
<device> system-view
System View: return to User View with Ctrl+Z.
[device] time-range test from 12:00 1/1/2000 to 12:00 1/1/2001
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!