• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

H3C S7500系列以太网交换机 命令手册-RELEASE 3100系列(V1.04)

24-ACL命令

本章节下载  (216.8 KB)

24-ACL命令


第1章  ACL命令

&  说明:

A型业务板指如下业务板:LS81FT48A、LS81FM24A、LS81FS24A、LS81GB8UA、LS81GT8UA、LS81FT48、LS81FM24、LS81FS24、LS81GB8U、LS81GT8U。

 

1.1  ACL命令

1.1.1  acl

【命令】

acl { number acl-number | name acl-name [ advanced | basic | link | user ] } [ match-order { config | auto } ]

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

【视图】

系统视图

【参数】

number acl-number:ACL序号,取值范围为:

l              2000~2999表示基本ACL。

l              3000~3999表示高级ACL(ACL 3998与3999是系统为集群管理预留的编号,用户无法配置)。

l              4000~4999表示二层ACL。

l              5000~5999表示用户自定义ACL。

name acl-name:ACL名字,最多32个字符,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写,不允许使用关键字all

advanced:表示高级ACL。

basic:表示基本ACL。

link:表示二层ACL。

user:表示用户自定义ACL。

config:表示按用户的配置顺序匹配ACL规则。

auto:表示按深度优先顺序匹配ACL规则。

all表示要删除所有的ACL(包括数字标识的和名字标识的)。

【描述】

acl命令用来定义一条数字或名字标识的ACL,并进入相应的ACL视图。undo acl命令用来删除一条数字或名字标识的ACL的所有规则,或者删除全部ACL。

缺省情况下,按用户的配置顺序匹配ACL。

进入相应的ACL视图之后,可以用rule命令增加此命名ACL规则(用quit命令退出ACL视图)。

&  说明:

A型业务板不支持用户自定义的ACL。

 

可以使用match-order指定匹配顺序是按照用户配置的顺序还是按照深度优先顺序(优先匹配范围小的ACL规则),如果不指定则缺省为用户配置顺序。用户一旦指定一条ACL的匹配顺序后,就不能再更改,除非把该ACL的规则全部删除,再重新指定其匹配顺序。注意,ACL的匹配顺序特性只在该ACL被软件引用用作数据过滤和分类时有效。

相关配置可参考命令rule,acl mode

【举例】

# 把ACL 2000的规则匹配顺序指定为深度优先顺序。

<H3C> system-view

System View: return to User View with Ctrl+Z.

[H3C] acl number 2000 match-order auto

1.1.2  acl mode

【命令】

acl mode { ip-based | link-based }

【视图】

系统视图

【参数】

ip-based:基于三层信息进行流分类。

link-based基于二层信息进行流分类。

【描述】

acl mode命令用来设置设备的流分类模式。

缺省情况下,设备基于三层信息进行流分类。

相关配置可参考命令acl

&  说明:

本命令只对A型业务板有效。

 

【举例】

# 指定基于三层信息进行流分类。

<H3C> system-view

System View: return to User View with Ctrl+Z.

[H3C] acl mode ip-based

1.1.3  acl order

【命令】

acl order { auto | first-config-first-match | last-config-first-match }

【视图】

系统视图

【参数】

auto:指定下发的ACL规则按深度优先原则生效。

first-config-first-match:指定下发的ACL规则按下发顺序生效,先下发的先生效。

last-config-first-match指定下发的ACL规则按下发顺序生效,后下发的先生效。

【描述】

acl order命令用来设置下发到硬件的ACL规则生效顺序。

缺省情况下,下发的ACL规则按深度优先原则生效。

acl match-order { config | auto }命令用来在ACL规则下发前预先调整其匹配顺序,而acl order命令用来指定ACL规则下发到硬件后其生效顺序。

【举例】

# 配置下发到硬件的ACL规则生效顺序为先下发的先生效。

<H3C> system-view

System View: return to User View with Ctrl+Z.

[H3C] acl order first-config-first-match

1.1.4  display acl config

【命令】

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

【视图】

任意视图

【参数】

all:显示所有的ACL(包括数字标识的和名字标识的)。

acl-number:ACL序号,2000到5999之间的一个数值。

acl-name:ACL名字,最多32个字符,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写,不允许使用关键字all

【描述】

display acl config命令用来显示ACL的详细配置信息,包括ACL类型、序号、ACL规则数、ACL规则的内容、该ACL规则匹配数据包的次数。

本命令显示信息中的匹配次数是软件匹配次数,即需要经过交换机CPU处理的ACL匹配次数。traffic-statistic命令统计数据包转发过程中的硬件匹配次数,用户可以使用display qos-interface traffic-statistic命令查看统计结果。关于traffic-statisticdisplay qos-interface traffic-statistic命令请参见本手册“QoS”模块。

【举例】

# 显示所有ACL的配置信息。

<H3C> display acl config all

Basic ACL  2000, 1 rule,

 rule 0 permit source 1.1.1.1 0 (0 times matched)

1.1.5  display acl config statistics

【命令】

display acl config statistics

【视图】

任意视图

【参数】

【描述】

display acl config statistics命令用来显示当前配置的访问控制列表规则统计信息,包括基本、高级、二层以及用户自定义的访问控制列表规则数目,以及系统配置的访问控制列表规则总数。

【举例】

# 显示当前配置的访问控制列表规则统计信息。

<H3C> display acl config statistics

 The configured rule statistics:

 Basic rule(s): 5

 Advanced rule(s): 132

 Link rule(s): 4

 User rule(s): 2

 

 Total 143 rule(s) configured

1.1.6  display acl mode

【命令】

display acl mode

【视图】

任意视图

【参数】

【描述】

display acl mode命令用来显示设备的流分类规则模式。

【举例】

# 显示设备的流分类规则模式。

<H3C> display acl mode

The current acl mode: ip-based.

1.1.7  display acl order

【命令】

display acl order

【视图】

任意视图

【参数】

【描述】

display acl order命令用来显示下发的ACL规则生效顺序。

【举例】

# 显示下发的ACL规则生效顺序。

<H3C> display acl order

the current order is auto

1.1.8  display acl remaining entry

【命令】

display acl remaining entry slot slot-number

【视图】

任意视图

【参数】

slot-number:指定槽位,0表示主控板。

【描述】

display acl remaining entry slot命令用来显示指定槽位的剩余ACL资源。显示内容包括资源类型、表项资源的总数、初始化时系统ACL用去的资源数目、用户定义的ACL占用的资源数目、剩余的资源数目、该表项所对应的起始端口号和该表项所对应的结束端口号。

【举例】

# 显示Slot 3的剩余资源。

<H3C> display acl remaining entry slot 3

  Slot: 3

  Resource  Total   Reserved  Configured  Remaining   Start       End

    Type    Number   Number     Number      Number   Port Name  Port Name

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

    MASK      16        6          1           9       GE3/0/1    GE3/0/1

    RULE     128       17          1         110       GE3/0/1    GE3/0/1

   METER     128       11          1         116       GE3/0/1    GE3/0/1

 COUNTER     128       14          1         113       GE3/0/1    GE3/0/1

    MASK      16        6          1           9       GE3/0/2    GE3/0/2

    RULE     128       17          1         110       GE3/0/2    GE3/0/2

   METER     128       11          1         116       GE3/0/2    GE3/0/2

 COUNTER     128       14          1         113       GE3/0/2    GE3/0/2

表1-1 display acl remaining entry slot命令显示信息描述表

字段

描述

ResouceType

表项资源类型

Total Number

表项资源的总数

Reserved Number

初始化时系统ACL用去的资源数目

Configured Number

用户定义的ACL占用的资源数目

Remaining Number

剩余的资源数目

Start PortName

该表项所对应的起始端口号

End PortName

该表项所对应的结束端口号

 

1.1.9  display acl running-packet-filter

【命令】

display acl running-packet-filter { all | interface  interface-type interface-number }

【视图】

任意视图

【参数】

all:表示要显示所有的ACL(包括数字标识的和名字标识的)。

interface interface-type interface-number:交换机的端口。

【描述】

display acl running-packet-filter命令用来显示ACL的下发信息,包括下发端口、下发方向、ACL名(或序号)、ACL规则序号和下发状态。

【举例】

# 显示所有接口的ACL下发应用信息。

<H3C> display acl running-packet-filter all

Ethernet3/0/1

 Inbound:

 Acl 2000 rule 0  running

1.1.10  display time-range

【命令】

display time-range { all | time-name }

【视图】

任意视图

【参数】

all:显示所有的时间段。

name:时间段名称,最多32个字符,必须以英文字母(即[a-z,A-Z])开始。

【描述】

display time-range命令用来显示当前时间段的配置和状态,对于当前处在激活状态的时间段将显示active,对于非激活状态显示inactive。

注意,由于系统更新ACL状态有一个延时,大约1分钟,而display time-range会采用当前时间对时间段进行判断,所以有可能出现display time-range看到一个时间段已经激活,而引用它的ACL没有激活。这种情况是正常的。

相关配置可参考命令time-range

【举例】

# 显示所有时间段。

<H3C> display time-range all

Current time is 14:36:36 4-3-2003 Thursday

 

Time-range : hhy ( Inactive )

 from 08:30 2-5-2005 to 18:00 2-19-2005

 

Time-range : hhy1 ( Inactive )

 from 08:30 2-5-2003 to 18:00 2-19-2003

表1-2 display time-range命令显示信息描述表

字段

描述

Current time is 14:36:36 4-3-2003 Thursday

系统的当前时间。

Time-range : hhy ( Inactive )

 from 08:30 2-5-2005 to 18:00 2-19-2005

时间段hhy,Inactive表示该时间段目前处于非活动状态(active则反之),时间段为从2005年2月5日8点30分到2005年2月19日18点。

下面的显示信息类似,不再一一介绍。

 

# 显示名字为tm1的时间段。

<H3C> display time-range tm1

Current time is 14:37:31 4-3-2003 Thursday

 

Time-range : tm1 ( Inactive )

 from 08:30 2-5-2005 to 18:00 2-19-2005

表1-3 display time-range命令显示信息描述表

字段

描述

Current time is 14:36:36 4-3-2003 Thursday

系统的当前时间。

Time-range : tm1 ( Inactive )

 from 08:30 2-5-2005 to 18:00 2-19-2005

时间段tm1,Inactive表示该时间段目前处于非活动状态(active则反之),时间段为从2005年2月5日8点30分到2005年2月19日18点。

下面的显示信息类似,不再一一介绍。

 

1.1.11  packet-filter

【命令】

1. A型业务板的命令行

packet-filter { inbound | outbound } acl-rule [ system-index ] [ not-care-for-interface ]

undo packet-filter { inbound | outbound } acl-rule [ not-care-for-interface ]

2. 非A型业务板的命令行

packet-filter inbound acl-rule [ system-index ]

undo packet-filter inbound acl-rule

&  说明:

非A型业务板支持IP型ACL和link型ACL组合应用,但是IP型和link型ACL的规则所定义字段的字符数之和不能超过32个字符,否则不能应用成功。

 

【视图】

QoS视图

【参数】

inbound:表示对端口接收的报文进行过滤。

outbound:表示对端口发送的报文进行过滤。

acl-rule:应用的ACL,可以是多种ACL的组合。A型业务板的组合方式及相应参数说明如表1-4表1-6;非A型业务板的组合方式及相应参数说明如表1-5表1-6

表1-4 A型业务板的组合应用ACL方式

组合方式

acl-rule的形式

单独应用一个IP型ACL中所有规则

ip-group { acl-number | acl-name }

单独应用一个IP型ACL中一条规则

ip-group { acl-number | acl-name } rule rule-id

单独应用一个Link型ACL中所有规则

link-group { acl-number | acl-name }

单独应用一个Link型ACL中一条规则

link-group { acl-number | acl-name } rule rule-id

 

表1-5 非A型业务板的组合应用ACL方式

组合方式

acl-rule的形式

单独应用一个IP型ACL中所有规则

ip-group { acl-number | acl-name }

单独应用一个IP型ACL中一条规则

ip-group { acl-number | acl-name } rule rule-id

单独应用一个Link型ACL中所有规则

link-group { acl-number | acl-name }

单独应用一个Link型ACL中一条规则

link-group { acl-number | acl-name } rule rule-id

单独应用一个用户自定义ACL中所有规则

user-group { acl-number | acl-name }

单独应用一个用户自定义ACL中一条规则

user-group { acl-number | acl-name } rule rule-id

同时应用IP型ACL中一条规则和一个Link型ACL的一条规则

ip-group { acl-number | acl-name } rule rule-id link-group { acl-number | acl-name } rule rule-id

 

表1-6 ACL组合方式参数说明

参数

说明

ip-group { acl-number | acl-name }

基本及高级ACL。acl-number:ACL序号,2000到3999之间的一个数值。acl-name:ACL名字,最多32个字符,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写。

link-group { acl-number | acl-name }

二层ACL,acl-number:ACL序号,4000到4999之间的一个数值。acl-name:ACL名字,最多32个字符,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写。

user-group { acl-number | acl-name }

用户自定义的ACL,acl-number:ACL序号,5000到5999之间的一个数值。acl-name:ACL名字,最多32个字符,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写。

rule-id

ACL规则序号,取值范围为0~127。如果不指定则表示ACL中的所有规则。

 

system-index:ACL规则应用到端口时内部使用的一个索引取值,取值范围为0~4294967295。该参数只有在命令中指定了ACL规则序号才可选。

not-care-for-interface:对于非48端口的A型业务板,使用本参数后,包过滤功能将在当前端口所在的业务板上都生效。对于48端口的A型业务板,使用本参数后,如果当前端口是1~24端口范围内的端口,包过滤功能将在在当前业务板的1~24端口上都生效;如果当前端口是25~48端口范围内的端口,包过滤功能将在在当前业务板的25~48端口上都生效。

【描述】

packet-filter命令用来激活ACL。undo packet-filter命令用来取消激活。

【举例】

# 在Ethernet 3/0/1端口上应用ACL2000。

<H3C> system-view

System View: return to User View with Ctrl+Z.

[H3C] interface Ethernet3/0/1

[H3C-Ethernet3/0/1] qos

[H3C-qoss-Ethernet3/0/1] packet-filter inbound ip-group 2000

1.1.12  reset acl counter

【命令】

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

【视图】

用户视图

【参数】

all:表示所有的ACL(包括数字标识的和名字标识的)。

acl-number:ACL序号,2000到3999之间的一个数值。

acl-name:ACL名字,最多32个字符,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写,不允许使用关键字all

【描述】

reset acl counter命令用来清除对软件处理的报文过滤和流分类的ACL的统计信息。

表1-7 统计信息的reset命令的比较

命令

功能

reset acl counter

清除ACL的统计信息。本命令适用于对软件处理的报文过滤和流分类的ACL。ACL被软件引用的情况包括:路由策略引用ACL、对登录用户进行控制时引用ACL等。

reset traffic-statistic

清除流量统计信息。本命令适用于直接下发到交换机的硬件中用于数据转发过程中的过滤和流分类的ACL。一般情况下,本命令用于将命令traffic-statistic统计的信息清除。

关于reset traffic-statistictraffic-statistic命令请参见本手册“QoS”模块

 

【举例】

# 清除ACL 2000的统计信息。

<H3C> reset acl counter 2000

1.1.13  rule (基本ACL)

【命令】

rule [ rule-id ] { permit | deny } [ source { source-addr wildcard | any } | fragment | time-range time-name ]*

undo rule rule-id [ source | fragment | time-range ]*

【视图】

基本ACL视图

【参数】

rule-id:ACL规则编号,范围为0~127。

deny:表示丢弃符合条件的数据包。

permit:表示允许符合条件的数据包通过。

fragment:指定该ACL规则仅对非首片分片报文有效。如果不选择本参数则表示本ACL规则不以报文是否分片作为依据对报文进行过滤。

source { sour-addr sour-wildcard | any }:指定ACL规则的源地址信息。如果不配置,表示匹配报文的任何源地址。sour-addr指定源IP地址,点分十进制表示。sour-wildcard用来为目标子网掩码的反码,点分十进制表示。例如,如果用户想指定子网掩码255.255.0.0,则需要输入0.0.255.255。sour-wildcard可以为0,表示主机地址。any代表任意地址。

time-range time-name:该ACL规则在指定时间段内有效。如果不选择本参数则表示本ACL规则不以时间段作为依据对报文进行过滤。

【描述】

rule命令用来定义ACL规则。undo rule命令用来删除一个ACL规则或者ACL规则的属性信息。

在删除一条ACL规则时,需要指定该ACL规则的编号。如果用户不知道ACL规则的编号,可以使用命令display acl config来查看。

对于在定义ACL规则时指定编号的情况:

l              当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。

l              如果指定编号对应的ACL规则不存在,用户将创建并定义一个新的ACL规则。

l              编辑后或新创建的ACL规则不能和已经存在的ACL规则内容完全相同,否则会导致编辑或创建不成功,系统会提示该ACL规则已经存在。

在定义ACL规则时如果不指定编号,用户将创建并定义一个新ACL规则,设备将自动为这个ACL规则分配一个编号。

&  说明:

A型业务板不支持配置了fragment参数的ACL规则下发到硬件。

 

【举例】

# 定义一个ACL规则,禁止源地址为1.1.1.1的报文通过。

<H3C> system-view

System View: return to User View with Ctrl+Z.

[H3C] acl number 2000

[H3C-acl-basic-2000] rule deny source 1.1.1.1 0

1.1.14  rule (高级ACL)

【命令】

rule [ rule-id ] { permit | deny } rule-string

undo rule rule-id [ source | destination | source-port | destination-port | icmp-type | precedence | tos | dscp | fragment | time-range ]*

【视图】

高级ACL视图

【参数】

rule-id:ACL规则编号,范围为0~127。

deny:表示丢弃符合条件的数据包。

permit:表示允许符合条件的数据包通过。

rule-string:ACL规则信息,可以由表1-8中的参数组合而成,具体参数说明如表1-8所示。ACL规则信息中必须首先配置protocol参数,然后才能配置其他参数。

表1-8 ACL规则信息

参数

类别

作用

说明

protocol

协议类型

IP承载的协议类型

用数字表示时取值范围为1~255

用名字表示时,可以选取GRE、ICMP、IGMP、IP、IPinIP、OSPF、TCP、UDP

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

分片信息

定义ACL规则仅对非首片分片报文有效

-

time-range time-name

时间段信息

指定ACL规则生效的时间段

-

 

&  说明:

sour-wildcarddest-wildcard为目标子网掩码的反码,点分十进制表示。例如,如果用户想指定子网掩码255.255.0.0,则需要输入0.0.255.255。可以为0,表示主机地址。

 

如果选择dscp关键字,除了直接输入数值0~63外,用户也可输入如表1-9所示的关键字。

表1-9 DSCP值说明

关键字

DSCP值(十进制)

DSCP值(二进制)

ef

46

101110

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

cs1

8

001000

cs2

16

010000

cs3

24

011000

cs4

32

100000

cs5

40

101000

cs6

48

110000

cs7

56

111000

be (default)

0

000000

 

如果选择precedence关键字,除了直接输入数值0~7外,用户也可输入如表1-10所示的关键字。

表1-10 IP precedence值说明

关键字

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-11所示的关键字。

表1-11 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-12所示信息。

表1-12 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协议特有的参数

 

&  说明:

只有A型业务板支持对TCP/UDP端口的range操作。

 

当协议类型选择为ICMP时,用户还可以定义如表1-13所示信息。

表1-13 ICMP特有的ACL规则信息

参数

类别

作用

说明

icmp-type icmp-type icmp-code

ICMP报文的类型和消息码信息

指定ACL规则中ICMP报文的类型和消息码信息

icmp-type:ICMP消息类型,取值为0~255

icmp-code:ICMP的消息码,取值为0~255

 

当协议类型选择为ICMP时,用户也可以直接在icmp-type参数后输入ICMP的消息名称。在几种常见的ICMP消息如表1-14所示。

表1-14 ICMP消息

名称

ICMP TYPE

ICMP CODE

echo

Type=8

Code=0

echo-reply

Type=0

Code=0

fragmentneed-DFset

Type=3

Code=4

host-redirect

Type=5

Code=1

host-tos-redirect

Type=5

Code=3

host-unreachable

Type=3

Code=1

information-reply

Type=16

Code=0

information-request

Type=15

Code=0

net-redirect

Type=5

Code=0

net-tos-redirect

Type=5

Code=2

net-unreachable

Type=3

Code=0

parameter-problem

Type=12

Code=0

port-unreachable

Type=3

Code=3

protocol-unreachable

Type=3

Code=2

reassembly-timeout

Type=11

Code=1

source-quench

Type=4

Code=0

source-route-failed

Type=3

Code=5

timestamp-reply

Type=14

Code=0

timestamp-request

Type=13

Code=0

ttl-exceeded

Type=11

Code=0

 

【描述】

rule命令用来定义ACL规则。undo rule命令用来删除一个ACL规则或者ACL规则的属性信息。

在删除一条ACL规则时,需要指定该ACL规则的编号。如果用户不知道ACL规则的编号,可以使用命令display acl config来查看。

对于在定义ACL规则时指定编号的情况:

l              当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。

l              如果指定编号对应的ACL规则不存在,用户将创建并定义一个新的ACL规则。

l              编辑后或新创建的ACL规则不能和已经存在的ACL规则内容完全相同,否则会导致编辑或创建不成功,系统会提示该ACL规则已经存在。

在定义ACL规则时如果不指定编号,用户将创建并定义一个新ACL规则,设备将自动为这个ACL规则分配一个编号。

&  说明:

A型业务板不支持配置了tos tos、fragment参数的ACL规则下发到硬件。

 

【举例】

# 定义一条ACL规则,允许从129.9.0.0网段的主机向202.38.160.0网段的主机发送的端口号为80的TCP报文通过。

<H3C> system-view

System View: return to User View with Ctrl+Z.

[H3C] acl number 3101

[H3C-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.1.15  rule (二层ACL)

【命令】

rule [ rule-id ] { permit | deny } [ rule-string ]

undo rule rule-id

【视图】

二层ACL视图

【参数】

rule-idACL规则编号,取值范围为0~127。

deny:表示丢弃符合条件的数据包。

permit:表示允许符合条件的数据包通过。

rule-string:ACL规则信息,可以由表1-15中的参数组合而成,具体参数说明如表1-15所示。

表1-15 ACL规则信息

参数

类别

作用

说明

protocol-type

协议类型

以太网帧承载的协议类型

protocol-type:取值可以为ip、arp、rarp、ipx、nbx、pppoe-control、pppoe-data

当用户选择协议类型为arp时,不能匹配目的MAC地址为交换机三层接口的MAC地址的ARP报文

format-type

链路层封装类型

定义ACL规则中的链路层封装类型

format-type取值可以为802.3/802.2、802.3、ether_ii、snap

ingress { { source-vlan-id | source-mac-addr [ source-mac-mask ] }* | any }

源MAC信息

定义ACL规则的源MAC地址范围

source-mac-addr:源MAC地址,格式为H-H-H

source-mac-mask:源MAC地址的掩码,格式为H-H-H,缺省为全f

source-vlan-id:源VLAN ID,取值范围1~4094

any表示从所有端口接收到的所有报文

egress { dest-mac-addr [ dest-mac-mask ] | any }

目的MAC信息

定义ACL规则的目的MAC地址范围

dest-mac-addr:目的MAC地址,格式为H-H-H

dest-mac-mask:目的MAC地址的掩码,格式为H-H-H,缺省为全f

any表示从所有端口转发的所有报文

cos cos

优先级

定义ACL规则的802.1p优先级

cos:取值范围为0~7

time-range time-name

时间段信息

指定ACL规则生效的时间段

time-name:指定ACL规则生效的时间段名称,字符串格式,长度为1~32

 

&  说明:

source-mac-maskdest-mac-mask为MAC地址的掩码。例如,如果用户想指定MAC地址范围为0011-0011-0000至0011-0011-00ff,则需要输入ffff-ffff-ff00。掩码可以为全f,表示主机地址。

 

如果选择cos关键字,除了直接输入数值0~7外,用户也可输入如表1-16所示的关键字。

表1-16 CoS值说明

关键字

CoS(十进制)

CoS(二进制)

best-effort

0

000

background

1

001

spare

2

010

excellent-effort

3

011

controlled-load

4

100

video

5

101

voice

6

110

network-management

7

111

 

【描述】

rule命令用来定义ACL规则。undo rule命令用来删除一个ACL规则。

在删除一条ACL规则时,需要指定该ACL规则的编号。如果用户不知道ACL规则的编号,可以使用命令display acl config来查看。

对于在定义ACL规则时指定编号的情况:

l              当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。

l              如果指定编号对应的ACL规则不存在,用户将创建并定义一个新的ACL规则。

l              编辑后或新创建的ACL规则不能和已经存在的ACL规则内容完全相同,否则会导致编辑或创建不成功,系统会提示该ACL规则已经存在。

如果在定义ACL规则时不指定编号,用户将创建并定义一个新的ACL规则,设备将自动为这个ACL规则分配一个编号。

【举例】

# 定义一个ACL规则,禁止从MAC地址000d-88f5-97ed发送到MAC地址011-4301-991e且802.1p优先级为3的报文通过。

<H3C> system-view

System View: return to User View with Ctrl+Z.

[H3C] acl number 4000

[H3C-acl-link-4000] rule deny cos 3 source 000d-88f5-97ed ffff-ffff-ffff dest 0011-4301-991e ffff-ffff-ffff

1.1.16  rule (用户自定义ACL)

【命令】

rule [ rule-id ] { permit | deny } { rule-string rule-mask offset } &<1-8> [ time-range time-name ]

undo rule rule-id

【视图】

用户自定义ACL视图

【参数】

rule-id:ACL规则编号,范围为0~127。

deny:表示丢弃符合条件的数据包。

permit:表示允许符合条件的数据包通过。

rule-string:用户自定义的ACL规则字符串,必须是16进制数组成。长度范围为2~20个字符,字符长度必须是偶数。

rule-mask:用户自定义的ACL规则掩码,用于和数据包作“与”操作,必须是16进制数组成。长度范围为2~20个字符,必须是偶数,且必须与rule-string长度相同。

offset:ACL规则掩码的offset是偏移量,它指定以数据包的头部为基准,指定从第几个字节开始进行“与”操作。取值范围为0~79字节,rule-string (及rule-mask)的长度每增加两个字符,其最大值减小1字节。即,如果定义了包含两个字符的rule-stringrule-mask,其最大值为79字节;如果定义了包含四个字符的rule-stringrule-mask,其最大值为78字节;以此类推。rule-mask offset共同作用,将从报文提取出来的字符串和用户定义的rule-string比较,找到匹配的报文,然后进行相应的处理。

&<1-8>:表示一次最多可以定义8个这样的ACL规则。

time-range time-name:ACL规则在该时间段内有效。

【描述】

rule命令用来定义ACL规则。undo rule命令用来删除一个ACL规则或者ACL规则的属性信息。

在删除一条ACL规则时,需要指定该ACL规则的编号。如果用户不知道ACL规则的编号,可以使用命令display acl config来查看。

对于在定义ACL规则时指定编号的情况:

l              当匹配顺序为config时,如果指定编号对应的规则已经存在,系统将编辑该规则,没有编辑的部分仍旧保持原来的状态;当匹配顺序为auto时,用户不能编辑任何一个已经存在的规则,否则系统会提示错误信息。

l              如果指定编号对应的ACL规则不存在,用户将创建并定义一个新的ACL规则。

l              编辑后或新创建的ACL规则不能和已经存在的ACL规则内容完全相同,否则会导致编辑或创建不成功,系统会提示该ACL规则已经存在。

在定义ACL规则时如果不指定编号,用户将创建并定义一个新ACL规则,设备将自动为这个ACL规则分配一个编号。

&  说明:

只有非A型业务板支持用户自定义ACL。

 

【举例】

# 定义一个用户自定义ACL规则,禁止所有的TCP报文通过。

<H3C> system-view

System View: return to User View with Ctrl+Z.

[H3C] time-range t1 18:00 to 23:00 sat

[H3C] acl number 5001

[H3C-acl-user-5001] rule 25 deny 06 ff 27 time-range t1

1.1.17  time-range

【命令】

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 { 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定义时间段的名字,作为一个引用的标识。

start-time可选参数,周期时间段的开始时间,表示形式为hh:mm。

end-time可选参数,周期时间段的结束时间,表示形式为hh:mm。

days-of-the-week:可选参数,参数表示该周期时间在每周几有效。可以输入如下参数及其组合:

l              数字(0-6);

l              星期一到星期日(Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday);

l              工作日(working-day),包括从星期一到星期五五天;

l              休息日(off-day),包括星期六和星期天;

l              每一天(daily),一星期中的每一天。

from start-time start-date:可选参数,绝对时间段的开始日期,和end-time end-date共同表示该绝对时间在某一段日期中生效,表示形式为hh:mm YYYY/MM/DD。如果不指定开始日期,则开始日期为系统可表示的最早时间。

to end-time end-date:可选参数,绝对时间段的结束日期,和start-time start-date共同表示该绝对时间在某一段日期中生效,表示形式为hh:mm YYYY/MM/DD。如果不指定结束日期,则结束日期为2100/12/31 23:59。

all:删除所有时间段。

【描述】

time-range命令用来配置一个时间段。undo time-range命令用来删除一个时间段。

如果一个时间段只定义了周期时间段,则只有系统时钟在该周期时间段内,该时间段才进入激活状态。如果一个时间段下定义了多个周期时间段,则这些周期时间段之间是“或”的关系。

如果一个时间段只定义了绝对时间段,则只有系统时钟在该绝对时间段内,该时间段才进入激活状态。如果一个时间段下定义了多个绝对时间段,则这些绝对时间段之间是“或”的关系。

如果一个时间段同时定义了绝对时间段和周期时间段,则只有同时满足绝对时间段和周期时间段的定义时,该时间段才进入激活状态。例如,一个时间段定义了绝对时间段:从2004年1月1日零点零分到2004年12月31日23点59分,同时定义了周期时间段:每周三的12:00到14:00。该时间段只有在2004年内每周三的12:00到14:00才进入激活状态。

如果用户在使用undo time-range命令时输入了参数,系统将只删除该时间段中参数对应的内容。

【举例】

# 定义绝对时间段test,从2000年1月1日0:0生效。

<H3C> system-view

System View: return to User View with Ctrl+Z.

[H3C] time-range test from 0:0 2000/1/1

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们