选择区域语言: EN CN HK

07-安全分册

07-ACL命令

本章节下载  (221.39 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/SR_Router/SR6600/Command/Command_Manual/H3C_SR6600_CM-R2315(V1.11)/07/201212/765440_30005_0.htm

07-ACL命令


1 ACL配置命令

1.1  公共配置命令

1.1.1  display time-range

【命令】

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 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-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              星期一到星期日(MonTueWedThuFriSatSun);

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              配置周期时间段:采用每周的周几的形式;

l              配置绝对时间段:采用从起始时间到结束时间的形式。

需要注意的是:

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,从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 [ name acl-name ] [ match-order { auto | config } ]

undo acl { all | name acl-name | number acl-number }

【视图】

系统视图

【缺省级别】

2:系统级

【参数】

number acl-number:指定ACL的序号。acl-number表示ACL的序号,取值范围如下:

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

[Sysname-acl-basic-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

1.2.2  acl accelerate

【命令】

acl accelerate number acl-number

undo acl accelerate number acl-number

【视图】

系统视图

【缺省级别】

2:系统级

【参数】

number acl-number:指定ACL的序号。acl-number表示ACL的序号,取值范围如下:

l              2000~2999:基本IPv4 ACL;

l              3000~3999:高级IPv4 ACL。

【描述】

acl accelerate number命令用来使能指定ACL的加速功能。undo acl accelerate number命令用来去使能指定ACL的加速功能。

需要注意的是:

l              仅在配置了大量ACL规则的情况下才有必要启用ACL的加速功能。

l              如果用户在使能ACL加速功能后又修改了ACL的配置,ACL加速功能仍按修改前的配置进行报文匹配,建议在ACL启用加速功能后不再对ACL的配置做修改,否则无法保证报文正确匹配。

相关配置可参考命令display acl accelerate

【举例】

# 使能ACL 3000的加速功能。

<Sysname> system-view

[Sysname] acl accelerate number 3000

1.2.3  acl copy

【命令】

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必须存在。取值范围如下:。

l              2000~2999:基本IPv4 ACL;

l              3000~3999:高级IPv4 ACL;

l              4000~4999:二层ACL。

name source-acl-name:源IPv4 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv4 ACL的名称不可以使用英文单词all。

dest-acl-number:目的IPv4 ACL的序号,该IPv4 ACL必须不存在。取值范围如下:

l              2000~2999:基本IPv4 ACL;

l              3000~3999:高级IPv4 ACL;

l              4000~4999:二层ACL。

name 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。

【举例】

# 将ACL 2008拷贝生成ACL 2009。

<Sysname> system-view

[Sysname] acl copy 2008 to 2009

1.2.4  acl name

【命令】

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]

1.2.5  description (for IPv4)

【命令】

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 0

# 定义IPv4 ACL 3000的描述信息。

<Sysname> system-view

[Sysname] acl number 3000

[Sysname-acl-adv-3000] description This acl is used in eth 0

# 定义ACL 4000的描述信息。

<Sysname> system-view

[Sysname] acl number 4000

[Sysname-acl-ethernetframe-4000] description This acl is used in eth 0

1.2.6  display acl

【命令】

display acl { acl-number | all | name acl-name }

【视图】

任意视图

【缺省级别】

1:监控级

【参数】

acl-number:指定ACL的序号,取值范围如下:。

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。

【描述】

display acl命令用来显示配置的IPv4 ACL的信息。

本命令会按照实际的匹配顺序显示IPv4 ACL的规则。

【举例】

# 显示IPv4 ACL 2001的内容。

<Sysname> display acl 2001

Basic ACL  2001, named flow, 1 rule(s),

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 gigabiteth 1/1

表1-2 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 gigabiteth 1/1

ACL规则5的描述信息为This rule is used in gigabiteth 1/1

 

1.2.7  display acl accelerate

【命令】

display acl accelerate { acl-number | all }

【视图】

任意视图

【缺省级别】

1:监控级

【参数】

acl-number:指定ACL的序号,取值范围如下:

l              2000~2999:基本IPv4 ACL;

l              3000~3999:高级IPv4 ACL。

all:指定所有的IPv4 ACL。

【描述】

display acl accelerate命令用来显示IPv4 ACL加速功能的相关信息。

相关配置可参考命令acl accelerate

【举例】

# 显示所有IPv4 ACL上加速功能的相关信息。

<Sysname> display acl accelerate all

Status: UTD -- up to date,    OOD -- out of date

Accelerate:  ACC -- accelerated,    UNACC -- unaccelerated

 

Group            Accelerate            Status

-------------------------------------------------------

2000              ACC                    UTD

3000              ACC                    OOD

3001              ACC                    UTD

3002              UNACC                  UTD

表1-3 display acl accelerate命令显示信息描述表

字段

描述

Group

ACL序号

Accelerate

ACL加速标志,显示内容及其含义如下:

l      ACC:表示该ACL已加速

l      UNACC:表示该ACL未加速

Status

ACL加速快速查找库的状态信息,显示内容及其含义如下:

l      UTD:表示该ACL的快速查找库信息已更新

l      OOD:表示该ACL的快速查找库未更新

如果用户在配置ACL后使能该ACL的加速功能,则此字段将显示为UTD;如果用户在使能ACL加速功能后又修改了ACL的配置,则此字段将显示为OOD,此时ACL加速功能仍按修改前的配置进行报文匹配,在这种情况下,建议用户先关闭、然后重新使能该ACL的加速功能,以保证报文的正确匹配

 

1.2.8  reset acl counter

【命令】

reset acl counter { acl-number | all | name acl-name }

【视图】

用户视图

【缺省级别】

2:系统级

【参数】

acl-number:指定ACL的序号,取值范围如下:

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

1.2.9  rule (basic IPv4 ACL view)

【命令】

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:定义规则仅对非首片分片报文有效,而对非分片报文和首片分片报文无效。不包含此关键字的配置规则项对非分片报文和分片报文均有效。

logging:对符合条件的报文可记录日志信息。该功能需要使用该ACL的模块支持日志记录功能,例如防火墙。

source { sour-addr sour-wildcard | any }:指定规则的源地址信息。sour-addr表示报文的源IP地址,sour-wildcard表示反掩码(当反掩码为0时代表主机地址),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时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。

【举例】

# 定义一个规则,禁止源地址为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.10  rule (advanced IPv4 ACL view)

【命令】

rule [ rule-id ] { deny | permit } protocol [ { 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 | established | fragment | icmp-type { icmp-type icmp-code | icmp-message } | logging | precedence precedence | reflective | source { sour-addr sour-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-range-name | tos tos | vpn-instance vpn-instance-name ] *

undo rule rule-id [ { ack | fin | psh | rst | syn | urg } * | destination | destination-port | dscp | established | 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)、ipipinip(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;用文字表示时,分别对应routinepriorityimmediateflashflash-overridecriticalinternetnetwork

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的模块支持日志记录功能,例如防火墙

reflective

自反标志

设置规则具有自反属性

具有自反属性的ACL规则仅支持TCP、UDP、ICMP三种协议类型;动作类型只支持permit

vpn-instance vpn-instance-name

VPN实例

指定VPN实例信息

vpn-instance-name:VPN实例的名称,为1~31个字符的字符串,区分大小写

如果规则没有指定本参数,表示该规则仅对非VPN报文生效

time-range time-range-name

时间段信息

指定规则生效的时间段

time-range-name :指定规则生效的时间段名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头,为避免混淆,时间段的名字不可以使用英文单词all

 

protocol选择为tcp或者udp时,用户还可以定义如下信息。

表1-5 TCP/UDP特有的规则信息

参数

类别

作用

说明

source-port operator port1 [ port2 ]

源端口

定义TCP/UDP报文的源端口信息

operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。只有操作符range需要两个端口号做操作数,其它的只需要一个端口号做操作数

port1port2:TCP或UDP的端口号,用数字表示时,取值范围为0~65535;用文字表示时,TCP端口号可以选取chargen(19)、bgp(179)、cmd(514)、daytime(13)、discard(9)、domain(53)、echo (7)、exec (512)、finger(79)、ftp(21)、ftp-data(20)、gopher(70)、hostname(101)、irc(194)、klogin(543)、kshell(544)、login(513)、lpd(515)、nntp(119)、pop2(109)、pop3(110)、smtp(25)、sunrpc(111)、tacacs(49)、talk(517)、telnet(23)、time(37)、uucp(540)、whois(43)、www(80);UDP端口号可以选取biff(512)、bootpc(68)、bootps(67)、discard(9)、dns(53)、dnsix(90)、echo (7)、mobilip-ag(434)、mobilip-mn(435)、nameserver(42)、netbios-dgm(138)、netbios-ns(137)、netbios-ssn(139)、ntp(123)、rip(520)、snmp(161)、snmptrap(162)、sunrpc(111)、syslog(514)、tacacs-ds(65)、talk(517)、tftp(69)、time(37)、who(513)、xdmcp(177)

destination-port operator port1 [ port2 ]

目的端口

定义TCP/UDP报文的目的端口信息

{ ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } *

TCP连接建立报文标识

定义对携带不同标志位的TCP连接报文的处理规则

TCP协议特有的参数。定义规则匹配携带不同标志位的TCP报文,各value值的取值范围都为0~1:取0表示该标志位置0有效,取1则表示该标志位置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所示

 

表1-7 ICMP消息名称与消息类型和消息码的对应关系

名称

ICMP TYPE

ICMP CODE

echo

Type=8

Code=0

echo-reply

Type=0

Code=0

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时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。

【举例】

# 定义一条规则,允许从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.11  rule (Ethernet frame header ACL view)

【命令】

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-effortbackgroundspareexcellent-effortcontrolled-loadvideovoicenetwork-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时,新创建的规则将按照“深度优先”的原则插入到已有的规则中,但是所有规则对应的编号不会改变。

【举例】

# 定义一个规则,禁止802.1p优先级为3的报文通过。

<Sysname> system-view

[Sysname] acl number 4000

[Sysname-acl-ethernetframe-4000] rule deny cos 3

1.2.12  rule comment (for IPv4)

【命令】

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命令时,如果指定规则没有描述信息,则为其添加描述信息;如果指定规则已经存在描述信息,则修改其描述信息。

【举例】

# 为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 gigabiteth 1/1

# 为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 gigabiteth 1/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 gigabiteth 1/1

1.2.13  step (for IPv4)

【命令】

step step-value

undo step

【视图】

基本IPv4 ACL视图/高级IPv4 ACL视图/二层ACL视图

【缺省级别】

2:系统级

【参数】

step-value:IPv4 ACL规则编号的步长值,取值范围为1~20。

【描述】

step命令用来为一个IPv4 ACL规则组中的规则序号指定一个步长。undo step命令用来把步长恢复为缺省值。

缺省情况下,步长为5。

【举例】

# 把ACL 2000的步长改为2。

<Sysname> system-view

[Sysname] acl number 2000

[Sysname-acl-basic-2000] step 2

# 把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

1.3  IPv6 ACL命令

1.3.1  acl ipv6

【命令】

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的序号,取值范围如下:

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

[Sysname-acl6-basic-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

1.3.2  acl ipv6 copy

【命令】

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必须存在。取值范围如下:

l              2000~2999:基本IPv6 ACL;

l              3000~3999:高级IPv6 ACL。

name source-acl6-name:源IPv6 ACL的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv6 ACL的名称不可以使用英文单词all。

dest-acl6-number:目的IPv6 ACL的序号,该IPv6 ACL必须不存在。取值范围如下:

l              2000~2999:基本IPv6 ACL;

l              3000~3999:高级IPv6 ACL。

name 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。

l              简单型IPv6 ACL不支持拷贝操作。

【举例】

# 将ACL 2008拷贝生成ACL 2009。

<Sysname> system-view

[Sysname] acl ipv6 copy 2008 to 2009

1.3.3  acl ipv6 name

【命令】

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]

1.3.4  description (for IPv6)

【命令】

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 0

# 定义IPv6 ACL 3000的描述信息。

<Sysname> system-view

[Sysname] acl ipv6 number 3000

[Sysname-acl6-adv-3000] description This acl is used in eth 0

1.3.5  display acl ipv6

【命令】

display acl ipv6 { acl6-number | all | name acl6-name }

【视图】

任意视图

【缺省级别】

1:监控级

【参数】

acl6-number:指定IPv6 ACL的序号,取值范围如下:

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。

【描述】

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 gigabiteth 1/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,仅统计软件ACL的匹配次数

当匹配次数为0时,将不显示该字段

rule 0 comment This rule is used in gigabiteth 1/1

ACL规则0的描述信息为This rule is used in gigabiteth 1/1

 

1.3.6  reset acl ipv6 counter

【命令】

reset acl ipv6 counter { acl6-number | all | name acl6-name }

【视图】

用户视图

【缺省级别】

2:系统级

【参数】

acl6-number:指定IPv6 ACL的序号,取值范围如下:

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

1.3.7  rule (basic IPv6 ACL view)

【命令】

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:对符合条件的报文可记录日志信息。该功能需要使用该ACL的模块支持日志记录功能,例如防火墙。

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 2000,并配置规则。

<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

1.3.8  rule (advanced IPv6 ACL view)

【命令】

rule [ rule-id ] { deny | permit } protocol [ destination { dest dest-prefix | dest/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | fragment | icmpv6-type { icmpv6-type icmpv6-code | icmpv6-message } | logging | source { source source-prefix | source/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-range-name ] *

undo rule rule-id [ 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)、ipv6ipv6-ah(51)、ipv6-esp(50)、ospf(89)、tcp(6)、udp(17)。

protocol后可以配置的规则信息参数如下表所示。

表1-9 规则信息

参数

类别

作用

说明

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

日志操作

对符合条件的报文可记录日志信息

该功能需要使用该ACL的模块支持日志记录功能,例如防火墙

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)

destination-port operator port1 [ port2 ]

目的端口

定义TCP/UDP报文的目的端口信息

 

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 3000,允许源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

1.3.9  rule comment (for IPv6)

【命令】

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 gigabiteth 1/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 gigabiteth 1/1

1.3.10  step (for IPv6)

【命令】

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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!