https://www.h3c.com/cn/d_200711/317555_30005_0.htm
第1章 IPv4 ACL命令
1.1 时间段配置命令
1.1.1 display time-range
【命令】
display time-range { all | time-name }
【视图】
任意视图
【参数】
time-name:时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,时间段的名字不可以使用英文单词all。
all:所有配置的时间段。
【描述】
display time-range命令用来显示当前时间段的配置信息和状态,对于当前处在激活状态的时间段将显示Active,对于非激活状态的时间段将显示Inactive。
【举例】
# 显示时间段trname的配置信息和状态。
<Sysname> display time-range trname
Current time is 10:45:15 4/14/2005 Thursday
Time-range : trname ( Inactive )
from 08:00 12/1/2005 to 23:59 12/31/2100
表1-1 display time-range命令显示信息描述表
字段 | 描述 |
Current time | 系统当前的时间 |
Time-range | 时间段的配置信息:时间段的名字、时间段所处的状态(状态分为两种:激活和非激活)、时间段的时间范围 |
1.1.2 time-range
【命令】
time-range time-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-name [ start-time to end-time days [ from time1 date1 ] [ to time2 date2 ] | from time1 date1 [ to time2 date2 ] | to time2 date2 ]
【视图】
系统视图
【参数】
time-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:表示从某一天某一时间开始,与to time2 date2结合使用,用来定义绝对周期时间段。time1的输入格式为hh:mm,取值范围为00:00~23:59。date1的输入格式为MM/DD/YYYY或YYYY/MM/DD。DD代表日,可以输入1~31之间的数字,MM代表月,可以输入1~12之间的数字,YYYY可以输入1970~2100之间的数字。如果不配置起始时间,则开始时间为系统可表示的最早时间。
to time2 date2:表示到某一天某一时间结束。其中time2和date2的输入格式与起始时间相同,结束时间必须大于起始时间。如果不配置结束时间,则结束时间为系统可表示的最大时间。
【描述】
time-range命令用来定义一个时间段,描述一个时间范围。undo time-range命令用来删除一个时间段。
对时间段的配置有如下两种情况:
l 配置周期时间段:采用每个星期固定时间段的形式;
l 配置绝对时间段:采用从某年某月某日某时起至某年某月某日某时结束的形式。
需要注意的是:
l 如果用户通过命令time-range time-name start-time to end-time days定义了一个周期时间段,则只有系统时钟在该周期时间段内,该时间段才进入激活状态。
l 如果用户通过命令time-range time-name { from time1 date1 [ to time2 date2 ] | to time2 date2 }定义了一个绝对时间段,则只有系统时钟在该绝对时间段内,该时间段才进入激活状态。
l 如果用户通过命令time-range time-name start-time to end-time days { from time1 date1 [ to time2 date2 ] | to time2 date2 }同时定义了绝对时间段和周期时间段,则只有系统时钟同时满足绝对时间段和周期时间段的定义时,该时间段才进入激活状态。例如,一个时间段定义了绝对时间段:从2004年1月1日0点0分到2004年12月31日24点0分,同时定义了周期时间段:每周三的12:00到14:00。该时间段只有在2004年内每周三的12:00到14:00才进入激活状态。
l 在同一个名字下可以配置多个时间段,来共同描述一个特殊时间,通过名字来引用该时间。在同一个名字下配置的多个周期时间段之间是“或”的关系,多个绝对时间段之间是“或”的关系,而周期时间段和绝对时间段之间是“与”的关系。
l 如果不配置开始日期,时间段就是从系统可表示的最早时间起到结束日期为止。如果不配置结束日期,时间段就是从配置生效之日起到系统可以表示的最大时间为止。
l 最多可以定义256个时间段。
【举例】
# 配置绝对时间段test,在2003年1月1日0:0生效,并在系统支持的最大时间内有效。
<Sysname> system-view
[Sysname] time-range test from 0:0 2003/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
1.2 IPv4 ACL命令
1.2.1 acl
【命令】
acl number acl-number [ match-order { config | auto } ]
undo acl { number acl-number | all }
【视图】
系统视图
【参数】
acl-number:IPv4 ACL的序号,取值范围为2000~4999。
l 2000~2999:基本IPv4 ACL;
l 3000~3999:高级IPv4 ACL;
l 4000~4999:二层IPv4 ACL。
match-order:指定规则的匹配顺序。
l config:按照用户的配置顺序进行规则匹配;
l auto:按照“深度优先”顺序进行规则匹配。
all:所有的IPv4 ACL。
【描述】
acl命令用来创建IPv4 ACL并进入相应视图。undo acl命令用来删除指定的IPv4 ACL。
缺省情况下,IPv4 ACL的匹配顺序为config。
用户也可以通过本命令修改一个已经存在的IPv4 ACL的匹配顺序,但必须在该IPv4 ACL中没有规则的时候修改,对已经有规则的IPv4 ACL是无法修改其匹配顺序的。
【举例】
# 创建并进入IPv4 ACL 2000视图。
<Sysname> system-view
[Sysname] acl number 2000
[Sysname-acl-basic-2000]
1.2.2 description (for IPv4)
【命令】
description text
undo description
【视图】
基本IPv4 ACL视图/高级IPv4 ACL视图/二层IPv4 ACL视图
【参数】
text:IPv4 ACL的描述信息,为1~127个字符的字符串,区分大小写。
【描述】
description命令用来定义IPv4 ACL的描述信息,描述该IPv4 ACL的具体用途。undo description命令用来删除IPv4 ACL的描述信息。
缺省情况下,IPv4 ACL没有描述信息。
【举例】
# 定义IPv4 ACL 3100的描述信息。
<Sysname> system-view
[Sysname] acl number 3100
[Sysname-acl-adv-3100] description This acl is used in gigabiteth 0
# 删除IPv4 ACL 3100的描述信息。
[Sysname-acl-adv-3100] undo description
1.2.3 display acl
【命令】
display acl { all | acl-number }
【视图】
任意视图
【参数】
acl-number:IPv4 ACL的序号,取值范围为2000~4999。
all:所有的IPv4 ACL。
【描述】
display acl命令用来显示配置的IPv4 ACL的信息。
本命令会按照匹配顺序显示IPv4 ACL的规则。
【举例】
# 显示IPv4 ACL 2001的内容。
<Sysname> display acl 2001
Basic ACL 2001, 1 rule,
ACL's step is 5
rule 5 permit source 1.1.1.1 0 (0 times matched)
rule 5 comment This rule is used in gigabiteth 1
表1-2 display acl命令显示信息描述表
字段 | 描述 |
Basic ACL 2001 | 这个ACL属于基本IPv4 ACL,序号为2001 |
1 rule | 这个IPv4 ACL包含1条规则 |
ACL's step is 5 | 这个IPv4 ACL的规则序号的步长值为5 |
0 times matched | 这个规则匹配的次数为0,仅统计软件IPv4 ACL的匹配次数 |
rule 5 comment This rule is used in gigabiteth 1 | IPv4 ACL规则5的描述信息为This rule is used in gigabiteth 1 |
1.2.4 reset acl counter
【命令】
reset acl counter { all | acl-number }
【视图】
用户视图
【参数】
acl-number:IPv4 ACL的序号,取值范围2000~4999。
all:所有的IPv4 ACL。
【描述】
reset acl counter命令用来清除IPv4 ACL的统计信息。
【举例】
# 清除IPv4 ACL 2001的统计信息。
<Sysname> reset acl counter 2001
1.2.5 rule (basic ACL)
【命令】
rule [ rule-id ] { permit | deny } [ rule-string ]
undo rule rule-id [ fragment | logging | source | time-range ]*
【视图】
基本IPv4 ACL视图
【参数】
1. rule命令的参数说明
rule-id:IPv4 ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的报文。
permit:表示允许符合条件的报文通过。
rule-string:规则信息,可以由表1-3中的参数组合而成。
表1-3 规则信息
参数 | 类别 | 作用 | 说明 |
fragment | 分片信息 | 定义规则仅对非首片分片报文有效 | - |
logging | 日志操作 | 对符合条件的报文记录日志 | 日志内容包括: l IPv4 ACL规则的序号 l 报文通过或被丢弃 l IP承载的上层协议类型 l 源/目的地址 l 源/目的端口号 l 报文的数目 |
source { sour-addr sour-wildcard | any } | 源地址信息 | 指定基本IPv4 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。
2. undo rule命令的参数说明
rule-id:IPv4 ACL规则编号,必须是一个已经存在的IPv4 ACL规则编号。如果不指定其他参数,设备将这个IPv4 ACL规则完全删除。否则设备只删除该IPv4 ACL规则相应的信息。
fragment:删除编号对应的规则的对非首片分片报文有效的设置。
logging:删除编号对应的规则的日志设置。
source:删除编号对应的规则的源地址部分的信息设置。
time-range:删除编号对应的规则的时间段设置。
& 说明:
S5500-SI系列以太网交换机目前不支持配置logging参数。
【描述】
rule命令用来定义一个IPv4 ACL规则。undo rule命令用来删除一个IPv4 ACL规则或者规则的某些属性信息。
在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl命令来查看。如果undo rule rule-id命令后不指定参数,将删除整个IPv4 ACL规则,否则,将只删除指定IPv4 ACL规则中相应的属性信息。
需要注意的是:
l 当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。
l 在定义规则的时候,用户可以不指定规则编号,这时系统会从0开始,按照指定的步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30。
l 新创建或用户编辑后的规则不能和已经存在的规则相同,否则创建或编辑不成功,系统提示该规则已经存在。
l 当匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
【举例】
# 定义一个基本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
1.2.6 rule (advanced ACL)
【命令】
rule [ rule-id ] { permit | deny } protocol [ rule-string ]
undo rule rule-id [ destination | destination-port | dscp | fragment | icmp-type | logging | precedence | reflective | source | source-port | time-range | tos ]*
【视图】
高级IPv4 ACL视图
【参数】
1. rule命令的参数说明
rule-id:IPv4 ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的报文。
permit:表示允许符合条件的报文通过。
protocol:IP承载的协议类型。用数字表示时,取值范围为0~255;用名字表示时,可以选取gre、icmp、igmp、ip、ipinip、ospf、tcp、udp。
rule-string:规则信息,可以由下表中的参数组合而成,具体参数说明如表1-4所示。
表1-4 规则信息
参数 | 类别 | 作用 | 说明 |
destination { dest-addr dest-wildcard | any } | 目的地址信息 | 指定高级IPv4 ACL规则的目的地址信息 | dest-addr dest-wildcard用来确定报文的目的IP地址,采用点分十进制表示,dest-wildcard也可以为0,代表主机地址;为any代表任意目的IP地址 |
dscp dscp | 报文优先级 | DSCP优先级 | dscp用数字表示时,取值范围为0~63;用文字表示时,可以选取af11、af12、af13、af21、af22、af23、af31、af32、af33、af41、af42、af43、cs1、cs2、cs3、cs4、cs5、cs6、cs7、default、ef |
fragment | 分片信息 | 定义规则仅对非首片分片报文有效 | - |
logging | 日志操作 | 对符合条件的报文记录日志 | 日志内容包括: l IPv4 ACL规则的序号 l 报文通过或被丢弃 l IP承载的上层协议类型 l 源/目的地址 l 源/目的端口号 l 报文的数目 |
precedence precedence | 报文优先级 | IP优先级 | precedence用数字表示时,取值范围为0~7;用文字表示时,可以选取critical、flash、flash-override、internet、immediate、network、priority、routine |
source { sour-addr sour-wildcard | any } | 源地址信息 | 指定高级IPv4 ACL规则的源地址信息 | sour-addr sour-wildcard用来确定报文的源IP地址,采用点分十进制表示,sour-wildcard也可以为0,代表主机地址;为any代表任意源IP地址 |
time-range time-name | 时间段信息 | 指定规则生效的时间段 | time-name:指定规则生效的时间段名称,字符串格式,长度为1~32 |
tos tos | 报文优先级 | ToS优先级 | tos用数字表示时,取值范围为0~15;用文字表示时,可以选取max-reliability、max-throughput、min-delay、min-monetary-cost、normal |
& 说明:
sour-wildcard与dest-wildcard为目标子网掩码的反码,采用点分十进制表示。例如,如果用户想指定子网掩码255.255.0.0,则需要输入0.0.255.255。
当协议类型选择为TCP或者UDP时,用户还可以定义如下信息。
表1-5 TCP/UDP特有的规则信息
参数 | 类别 | 作用 | 说明 |
destination-port operator port1 [ port2 ] | 目的端口 | 定义UDP/TCP报文的目的端口信息 | operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。只有操作符range需要两个端口号做操作数,其他的只需要一个端口号做操作数 port1、port2:TCP或UDP的端口号,用名字或数字表示,数字的取值范围为0~65535 |
source-port operator port1 [ port2 ] | 源端口 | 定义UDP/TCP报文的源端口信息 | |
established | TCP连接建立标识 | 定义对TCP连接报文的处理规则 | TCP协议特有的参数 |
reflective | 自反标志 | 配置规则具有自反属性 | 动作类型只支持permit |
当TCP或UDP的端口号用名字表示时,用户还可以定义如下信息。
表1-6 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) |
当协议类型选择为ICMP时,用户还可以定义如下信息。
表1-7 ICMP特有的规则信息
参数 | 类别 | 作用 | 说明 |
icmp-type icmp-type icmp-code | ICMP报文的消息类型和消息码信息 | 指定规则的ICMP报文的消息类型和消息码信息 | icmp-type:ICMP消息类型,取值范围为0~255 icmp-code:ICMP的消息码,取值范围为0~255 |
reflective | 自反标志 | 配置规则具有自反属性 | 动作类型只支持permit |
几种常见的ICMP消息如表1-8所示。
名称 | 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 |
2. undo rule命令的参数说明
rule-id:IPv4 ACL规则编号,必须是一个已经存在的IPv4 ACL规则编号。如果不指定其他参数,设备将这个IPv4 ACL规则完全删除。否则设备只删除该IPv4 ACL规则相应的信息。
destination:删除编号对应的规则的目的地址的信息设置。
destination-port:删除编号对应的规则的目的端口部分的信息设置,本参数仅在规则定义的协议是TCP或者UDP的情况下有效。
dscp:删除编号对应的规则的DSCP的相关设置。
fragment:删除编号对应的规则的对非首片分片报文有效的设置。
icmp-type:删除编号对应的规则的ICMP消息类型和消息码部分的信息设置,本参数仅在规则定义的协议是ICMP的情况下有效。
logging:删除编号对应的规则的日志设置。
precedence:删除编号对应的规则的precedence的相关设置。
reflective:删除编号对应的规则的自反属性。
source:删除编号对应的规则的源地址部分的信息设置。
source-port:删除编号对应的规则的源端口部分的信息设置,本参数仅在规则定义的协议是TCP或者UDP的情况下有效。
time-range:删除编号对应的规则的时间段设置。
tos:删除编号对应的规则的ToS的相关设置。
& 说明:
l S5500-SI系列以太网交换机目前不支持配置logging参数、reflective参数和established参数。
l 当协议类型选择为TCP或者UDP时,不支持operator取值为neq(不等于)的情况。
【描述】
rule命令用来定义一个IPv4 ACL规则。undo rule命令用来删除一个IPv4 ACL规则或者规则的某些属性信息。
在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl命令来查看。如果undo rule rule-id命令后不指定参数,将删除整个IPv4 ACL规则,否则,将只删除指定IPv4 ACL规则中相应的属性信息。
需要注意的是:
l 当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。
l 在定义规则的时候,用户可以不指定规则编号,这时系统会从0开始,按照指定的步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30。
l 新创建或用户编辑后的规则不能和已经存在的规则相同,否则创建或编辑不成功,系统提示该规则已经存在。
l 当匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
【举例】
# 定义一条规则,允许从129.9.0.0网段的主机向202.38.160.0网段的主机发送的端口号为80的TCP报文通过。
<Sysname> system-view
[Sysname] acl number 3101
[Sysname-acl-adv-3101] 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
1.2.7 rule (Ethernet frame header ACL)
【命令】
rule [ rule-id ] { permit | deny } [ rule-string ]
undo rule rule-id
【视图】
二层IPv4 ACL视图
【参数】
1. rule命令的参数说明
rule-id:IPv4 ACL的规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的报文。
permit:表示允许符合条件的报文通过。
rule-string:规则信息,可以由下表中的参数组合而成,具体参数说明如表1-9所示。
表1-9 规则信息
参数 | 类别 | 作用 | 说明 |
type type-code type-wildcard | 链路层协议类型 | 定义规则中的链路层协议类型 | type-code:16比特的十六进制数表征的数据帧的类型,对应Ethernet_II类型和Ethernet_SNAP类型帧中的type-code域 type-wildcard:类型掩码,是一个16比特的十六进制数,用于指定屏蔽位 |
lsap lsap-code lsap-wildcard | LLC封装中的DSAP字段和SSAP字段 | 定义规则中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 |
dest-mac dest-addr dest-mask | 目的信息 | 定义规则的目的MAC地址范围 | dest-addr:目的MAC地址,格式为xxxx-xxxx-xxxx dest-mask:目的MAC地址的掩码,格式为xxxx-xxxx-xxxx |
cos vlan-pri | 优先级 | 定义规则的802.1p优先级 | vlan-pri:802.1p优先级值,取值范围为0~7 |
time-range time-name | 时间段信息 | 指定规则生效的时间段 | time-name:指定规则生效的时间段名称,字符串格式,长度为1~32 |
& 说明:
S5500-SI系列以太网交换机目前不支持配置lsap参数。
2. undo rule命令的参数说明
rule-id:IPv4 ACL规则编号,必须是一个已经存在的IPv4 ACL规则编号。
【描述】
rule命令用来定义一个IPv4 ACL规则。undo rule命令用来删除一个IPv4 ACL规则。
在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl命令来查看。
需要注意的是:
l 当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。
l 在定义规则的时候,用户可以不指定规则编号,这时系统会从0开始,按照指定的步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30。
l 新创建或用户编辑后的规则不能和已经存在的规则相同,否则创建或编辑不成功,系统提示该规则已经存在。
l 当匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
【举例】
# 定义一个规则,禁止802.1p优先级为3的报文通过。
<Sysname> system-view
[Sysname] acl number 4000
[Sysname-acl-ethernetframe-4000] rule deny cos 3
1.2.8 rule comment (for IPv4)
【命令】
rule rule-id comment text
undo rule rule-id comment
【视图】
基本IPv4 ACL视图/高级IPv4 ACL视图/二层IPv4 ACL视图
【参数】
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命令时,如果指定规则没有描述信息,则为其添加描述信息;如果指定规则已经存在描述信息,则修改其为新的描述信息。
【举例】
# 定义一条规则,并为其定义一个描述信息“This rule is used in gigabieth 1”。
<Sysname> system-view
[Sysname] acl number 3101
[Sysname-acl-adv-3101] rule 0 permit source 1.1.1.1 0
[Sysname-acl-adv-3101] rule 0 comment This rule is used in gigabieth 1
1.2.9 step (for IPv4)
【命令】
step step-value
undo step
【视图】
基本IPv4 ACL视图/高级IPv4 ACL视图/二层IPv4 ACL视图
【参数】
step-value:IPv4 ACL规则编号的步长值,取值范围为1~20。
【描述】
step命令用来为一个IPv4 ACL规则组中的规则序号配置步长。undo step命令用来把步长值恢复为缺省值。
缺省情况下,步长为5。
步长的含义是:设备自动为IPv4 ACL规则分配编号的时候,每个相邻规则编号之间的差值。例如如果步长设定为5,规则编号分配是按照0、5、10、15…这样的规律分配的。
当步长改变后,IPv4 ACL规则组的规则编号会自动重新排列。例如,原来规则编号为0、5、10、15,当通过命令step 2把步长改为2后,则规则编号变成0、2、4、6。
使用undo step命令将步长恢复为缺省值后,设备将立刻按照缺省步长调整IPv4 ACL规则的编号。例如:IPv4 ACL 3001,步长为5,用户在0号规则和5号规则之间插入了1号规则和3号规则,4个规则的编号为0、1、3、5。如果此时使用undo step命令将步长恢复为缺省值,则IPv4 ACL规则编号变成0、5、10、15,步长仍然为5。
使用步长设定的好处是用户可以方便在规则之间插入新的规则。例如配置好了4个规则,规则编号为:0、5、10、15。此时如果用户希望能在第一条规则之后插入一条规则,则可以使用rule 1 xxxx命令在0和5之间插入一条编号为1的规则。
【举例】
# 把IPv4 ACL 3101的步长改为2。
<Sysname> system-view
[Sysname] acl number 3101
[Sysname-acl-adv-3101] step 2
第2章 IPv6 ACL命令
2.1 IPv6 ACL命令
2.1.1 acl ipv6
【命令】
acl ipv6 number acl6-number [ match-order { config | auto } ]
undo acl ipv6 { number acl6-number | all }
【视图】
系统视图
【参数】
acl6-number:IPv6 ACL的序号,取值范围为2000~3999。
l 2000~2999:基本IPv6 ACL;
l 3000~3999:高级IPv6 ACL。
match-order:指定规则的匹配顺序。
l config:按照用户的配置顺序进行规则匹配;
l auto:按照“深度优先”顺序进行规则匹配。
all:所有的IPv6 ACL。
【描述】
acl ipv6命令用来创建一个IPv6 ACL并进入相应视图。undo acl ipv6命令用来删除指定的IPv6 ACL。
缺省情况下,IPv6 ACL的匹配顺序为config。
【举例】
# 创建一个序号为2000的IPv6 ACL。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000]
2.1.2 description (for IPv6)
【命令】
description text
undo description
【视图】
基本IPv6 ACL视图/高级IPv6 ACL视图
【参数】
text:ACL的描述信息,长度为1~127个字符的字符串,区分大小写。
【描述】
description命令用来定义IPv6 ACL的描述信息,描述该IPv6 ACL的具体用途。undo description命令用来删除IPv6 ACL的描述信息。
【举例】
# 定义IPv6 ACL 3100的描述信息。
<Sysname> system-view
[Sysname] acl ipv6 number 3100
[Sysname-acl6-adv-3100] description This acl is used in eth 0
# 删除IPv6 ACL 3100的描述信息。
[Sysname-acl6-adv-3100] undo description
2.1.3 display acl ipv6
【命令】
display acl ipv6 { all | acl6-number }
【视图】
任意视图
【参数】
acl6-number:IPv6 ACL的序号。取值范围为2000~3999。
all:所有的IPv6 ACL。
【描述】
display acl ipv6命令用来显示配置的IPv6 ACL的信息。
本命令会按照匹配顺序显示IPv6 ACL的规则。
【举例】
# 显示IPv6 ACL 2001的内容。
<Sysname> display acl ipv6 2001
Basic IPv6 ACL 2001, 1 rule,
ACL's step is 5
rule 0 permit source 1::2/128 (0 times matched)
rule 0 comment This rule is used in gigabiteth 1
表2-1 display acl ipv6命令显示信息描述表
字段 | 描述 |
Basic IPv6 ACL 2001 | 这个ACL属于基本IPv6 ACL,序号为2001 |
1 rule | 这个IPv6 ACL包含1条规则 |
ACL's step is 5 | 这个IPv6 ACL的规则序号的步长值为5 |
0 times matched | 这个规则匹配的次数为0,仅统计软件IPv6 ACL的匹配次数 |
rule 0 comment This rule is used in gigabiteth 1 | IPv6 ACL规则0的描述信息为This rule is used in gigabiteth 1 |
2.1.4 reset acl ipv6 counter
【命令】
reset acl ipv6 counter { all | acl6-number }
【视图】
用户视图
【参数】
acl6-number:IPv6 ACL的序号,取值范围是2000~3999。
all:所有IPv6 ACL。
【描述】
reset acl ipv6 counter命令用来清除IPv6 ACL的统计信息。
【举例】
# 清除IPv6 ACL 2001的统计信息。
<Sysname> reset acl ipv6 counter 2001
2.1.5 rule (basic IPv6 ACL)
【命令】
rule [ rule-id ] { permit | deny } [ rule-string ]
undo rule rule-id [ fragment | logging | source | time-range ]*
【视图】
基本IPv6 ACL视图
【参数】
1. rule命令的参数说明
rule-id:IPv6 ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的报文。
permit:表示允许符合条件的报文通过。
rule-string:规则信息,可以由下表中的参数组合而成,具体参数说明如表2-2所示。
表2-2 规则信息
参数 | 类别 | 作用 | 说明 |
source { ipv6-address prefix-length | ipv6-address/prefix-length | any } | 源地址信息 | 指定基本IPv6 ACL规则的源地址信息 | ipv6-address:报文的IPv6源地址 prefix-length:IPv6源地址前缀长度,取值范围1~128 any:代表任何源地址 |
logging | 日志操作 | 对符合条件的报文记录日志 | 日志内容包括: l IPv6 ACL规则的序号 l 报文通过或被丢弃 l IP承载的上层协议类型 l 源/目的地址 l 源/目的端口号 l 报文的数目 |
fragment | 分片信息 | 定义规则仅对非首片分片报文有效 | - |
time-range time-name | 时间段信息 | 指定规则生效的时间段 | time-name:指定规则生效的时间段名称,字符串格式,长度为1~32 |
2. undo rule命令的参数说明
rule-id:IPv6 ACL规则编号,必须是一个已经存在的IPv6 ACL规则编号。如果不指定其他的参数,设备将这个IPv6 ACL规则完全删除。否则设备只删除该IPv6 ACL规则相应的信息。
fragment:删除编号对应的IPv6 ACL规则的对非首片分片报文有效的设置。
logging:删除编号对应的IPv6 ACL规则的日志设置。
source:删除编号对应的IPv6 ACL规则的源地址部分的信息设置。
time-range:删除编号对应的IPv6 ACL规则的时间段设置。
& 说明:
S5500-SI系列以太网交换机目前不支持配置logging与fragment参数。
【描述】
rule命令用来定义一个IPv6 ACL规则。undo rule命令用来删除一个IPv6 ACL规则或者规则的某些属性信息。
在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl ipv6命令来查看。如果undo rule rule-id命令后不指定参数,将删除整个IPv6 ACL规则,否则,将只删除指定IPv6 ACL规则中相应的属性信息。
需要注意的是:
l 当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。
l 在定义规则的时候,用户可以不指定规则编号,这时系统会从0开始,按照指定的步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30。
l 新创建或用户编辑后的规则不能和已经存在的规则相同,否则创建或编辑不成功,系统提示该规则已经存在。
l 当匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
【举例】
# 创建匹配顺序为config的IPv6 ACL 2000,并配置该ACL的规则。
<Sysname> system-view
[Sysname] acl ipv6 number 2000
[Sysname-acl6-basic-2000] rule permit source 2030:5060::9050/64
[Sysname-acl6-basic-2000] rule 8 deny source fe80:5060::8050/96
2.1.6 rule (advanced IPv6 ACL)
【命令】
rule [ rule-id ] { permit | deny } protocol [ rule-string ]
undo rule rule-id [ destination | destination-port | fragment | icmpv6-type | logging | source | source-port | time-range | dscp ]*
【视图】
高级IPv6 ACL视图
【参数】
1. rule命令的参数说明
rule-id:IPv6 ACL规则编号,取值范围为0~65534。
deny:表示丢弃符合条件的报文。
permit:表示允许符合条件的报文通过。
protocol:IP承载的协议类型。用数字表示时,取值范围为0~255;用名字表示时,可以选取gre、icmpv6、ipv6、ipv6-ah、ipv6-esp、ospf、tcp、udp。
rule-string:规则信息,可以由下表中的参数组合而成,具体参数说明如表2-3所示。
表2-3 规则信息
参数 | 类别 | 作用 | 说明 |
source { source source-prefix | source/source-prefix | any } | 源地址信息 | 指定高级IPv6 ACL规则的源地址信息 | source:报文的IPv6源地址 source-prefix:IPv6源地址前缀长度,取值范围1~128 any:代表任意IPv6源地址 |
destination { dest dest-prefix | dest/dest-prefix | any } | 目的地址信息 | 指定高级IPv6 ACL规则的目的地址信息 | dest:报文的IPv6目的地址 dest-prefix:IPv6目的地址前缀长度,取值范围1~128 any:代表任意IPv6目的地址 |
dscp dscp | 报文优先级 | Dscp优先级 | dscp的取值范围为0~63,用文字表示时,可以选取af11、af12、af13、af21、af22、af23、af31、af32、af33、af41、af42、af43、cs1、cs2、cs3、cs4、cs5、cs6、cs7、default、ef |
logging | 日志操作 | 对符合条件的报文记录日志 | 日志内容包括: l IPv6 ACL规则的序号 l 报文通过或被丢弃 l IP承载的上层协议类型 l 源/目的地址 l 源/目的端口号 l 报文的数目 |
fragment | 分片信息 | 定义规则仅对非首片分片报文有效 | - |
time-range time-name | 时间段信息 | 指定规则生效的时间段 | time-name:指定规则生效的时间段名称,字符串格式,长度为1~32 |
当协议类型选择为TCP或者UDP时,用户还可以定义如下信息。
表2-4 TCP/UDP特有的规则信息
参数 | 类别 | 作用 | 说明 |
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报文的目的端口信息 |
当TCP或UDP的端口号用名字表示时,用户还可以定义如下信息。
表2-5 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) |
当协议类型选择为ICMP时,用户还可以定义如下信息。
表2-6 ICMP特有的规则信息
参数 | 类别 | 作用 | 说明 |
icmpv6-type icmp-type icmp-code | ICMP报文的消息类型和消息码信息 | 指定规则的ICMP报文的消息类型和消息码信息 | icmp-type:ICMP消息类型,取值范围为0~255 icmp-code:ICMP的消息码,取值范围为0~255 |
几种常见的ICMP消息如表2-7所示。
名称 | ICMP TYPE | ICMP 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 |
2. undo rule命令的参数说明
rule-id:IPv6 ACL规则编号,必须是一个已经存在的IPv6 ACL规则编号。如果不指定其他参数,设备将这个IPv6 ACL规则完全删除。否则设备只删除该IPv6 ACL规则相应的信息。
destination:删除编号对应的IPv6 ACL规则的目的地址的信息设置。
destination-port:删除编号对应的IPv6 ACL规则的目的端口部分的信息设置,本参数仅在规则定义的协议是TCP或者UDP的情况下有效。
fragment:删除编号对应的IPv6 ACL规则的对非首片分片报文有效的设置。
icmpv6-type:删除编号对应的IPv6 ACL规则的ICMP消息类型和消息码部分的信息设置,本参数仅在规则定义的协议是ICMP的情况下有效。
logging:删除编号对应的IPv6 ACL规则的日志设置。
source:删除编号对应的IPv6 ACL规则的源地址部分的信息设置。
source-port:删除编号对应的IPv6 ACL规则的源端口部分的信息设置,本参数仅在规则定义的协议是TCP或者UDP的情况下有效。
time-range:删除编号对应的IPv6 ACL规则的时间段设置。
dscp:删除编号对应的IPv6 ACL规则的DSCP的相关设置。
& 说明:
l S5500-SI系列以太网交换机目前不支持配置dscp参数、fragment参数和logging参数。
l 当协议类型选择为TCP或者UDP时,只支持operator取值为eq(等于)的情况。
【描述】
rule命令用来定义一个IPv6 ACL规则。undo rule命令用来删除一个IPv6 ACL规则或者规则的某些属性信息。
在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl ipv6命令来查看。如果undo rule rule-id命令后不指定参数,将删除整个IPv6 ACL规则,否则,将只删除指定IPv6 ACL规则中相应的属性信息。
需要注意的是:
l 当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。
l 在定义规则的时候,用户可以不指定规则编号,这时系统会从0开始,按照指定的步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30。
l 新创建或用户编辑后的规则不能和已经存在的规则相同,否则创建或编辑不成功,系统提示该规则已经存在。
l 当匹配顺序为auto时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。
【举例】
# 创建IPv6 ACL 3000,允许源地址为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
2.1.7 rule comment (for IPv6)
【命令】
rule rule-id comment text
undo rule rule-id comment
【视图】
基本IPv6 ACL视图/高级IPv6 ACL视图
【参数】
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规则,并为其定义一个描述信息。
<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 gigabiteth 1
2.1.8 step (for IPv6)
【命令】
step step-value
undo step
【视图】
基本IPv6 ACL视图/高级IPv6 ACL视图
【参数】
step-value:IPv6 ACL规则序号的步长值,取值范围为1~20。
【描述】
step命令用来为一个IPv6 ACL规则组中的规则序号配置步长。undo step命令用来把步长值恢复为缺省值。
缺省情况下,步长为5。
步长的含义是:设备自动为IPv6 ACL规则分配编号的时候,各个IPv6 ACL的规则编号之间的差值。例如如果步长设定为5,规则编号分配是按照0、5、10、15……这样的规律分配的。
当步长改变后,IPv6 ACL下面的规则编号会自动重新排列。例如,原来规则编号为0、5、10、15,当通过命令step 2把步长改为2后,则规则编号变成0、2、4、6。
使用undo step命令将步长恢复为缺省值后,设备将立刻按照缺省步长调整IPv6 ACL规则的编号。例如:IPv6 ACL 3001,步长为5,用户在0号规则和5号规则之间插入了1号规则和3号规则,4个规则的编号为0、1、3、5。如果此时使用undo step命令将步长恢复为缺省值,则IPv6 ACL规则编号变成0、5、10、15,步长仍然为5。
使用步长设定的好处是用户可以方便在规则之间插入新的规则。例如配置好了4个规则,规则编号为:0、5、10、15。此时如果用户希望能在第一条规则之后插入一条规则,则可以使用rule 1 xxxx命令在0和5之间插入一条编号为1的规则。
【举例】
# 把IPv6 ACL 3101的步长改为2。
<Sysname> system-view
[Sysname] acl ipv6 number 3101
[Sysname-acl6-adv-3101] step 2
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://sg.hqyman.cn/post/4655.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~