• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

08-ACL和QoS命令参考

目录

01-ACL命令

本章节下载 01-ACL命令  (443.45 KB)

01-ACL命令


1 ACL

1.1  ACL配置命令

1.1.1  acl

acl命令用来创建ACL,并进入ACL视图。如果指定的ACL已存在,则直接进入ACL视图。

undo acl命令用来删除指定或全部ACL。

【命令】

指定number创建IPv4 ACL、用户自定义ACL、二层ACL:

acl { name acl-name | number acl-number [ name acl-name ] [ match-order { auto | config } ] }

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

指定number创建IPv6 ACL:

acl ipv6 { name acl-name | number acl-number [ name acl-name ] [ match-order { auto | config } ] }

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

指定关键字创建ACL:

·     指定advancedbasic创建IPv4 ACL

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

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

·     指定advancedbasic创建IPv6 ACL

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

undo acl ipv6 { all | { advanced | basic } { acl-number | name acl-name } }

·     指定mac创建二层ACL

acl mac { acl-number | name acl-name } [ match-order { auto | config } ]

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

·     指定user-defined创建用户自定义ACL

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

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

【缺省情况】

不存在ACL。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

ipv6:指定ACL类型为IPv6 ACL。如果未指定本参数,则表示IPv4 ACL。

basic:指定创建基本ACL。

advanced:指定创建高级ACL。

mac:指定创建二层ACL。

user-defined:指定创建用户自定义ACL。

number acl-number:指定ACL的编号。

acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

name acl-name:指定ACL的名称。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。

match-order { auto | config }:指定规则的匹配顺序,auto表示按照自动排序(即“深度优先”原则)的顺序进行规则匹配,config表示按照配置顺序进行规则匹配。缺省情况下,规则的匹配顺序为配置顺序。用户自定义ACL不支持本参数,其规则匹配顺序只能为配置顺序。

all:指定类型中全部ACL。

【使用指导】

指定number创建的ACL,可以通过如下命令进入其视图:

·     acl [ ipv6 ] number acl-number

·     acl { [ ipv6 ] { advanced | basic } | mac | user-defined } acl-number

通过acl [ ipv6 ] number acl-number name acl-name命令指定numbername创建的ACL,可以使用如下命令进入其视图:

·     acl [ ipv6 ] name acl-name,本命令仅支持进入已创建的基本或高级ACL视图;

·     acl [ ipv6 ] number acl-number [ name acl-name ]

·     acl { [ ipv6 ] { advanced | basic } | mac | user-defined } name acl-name

通过acl { [ ipv6 ] { advanced | basic } | mac | user-defined } name acl-name命令指定name创建的ACL,可以使用如下命令进入其视图:

·     acl [ ipv6 ] name acl-name,本命令仅支持进入已创建的基本或高级ACL视图;

·     acl { [ ipv6 ] { advanced | basic } | mac | user-defined } name acl-name

当ACL内不存在任何规则时,用户可以使用本命令对该ACL的规则匹配顺序进行修改,否则不允许修改。

【举例】

# 创建一个编号为2000的IPv4基本ACL,并进入其视图。

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000]

# 创建一个IPv4基本ACL,指定其名称为flow,并进入其视图。

<Sysname> system-view

[Sysname] acl basic name flow

[Sysname-acl-ipv4-basic-flow]

# 创建一个编号为3000的IPv4高级ACL,并进入其视图。

<Sysname> system-view

[Sysname] acl advanced 3000

[Sysname-acl-ipv4-adv-3000]

# 创建一个编号为2000的IPv6基本ACL,并进入其视图。

<Sysname> system-view

[Sysname] acl ipv6 basic 2000

[Sysname-acl-ipv6-basic-2000]

# 创建一个IPv6基本ACL,其名称为flow,并进入其视图。

<Sysname> system-view

[Sysname] acl ipv6 basic name flow

[Sysname-acl-ipv6-basic-flow]

# 创建一个IPv6高级ACL,其名称为abc,并进入其视图。

<Sysname> system-view

[Sysname] acl ipv6 advanced name abc

[Sysname-acl-ipv6-adv-abc]

# 创建一个编号为4000的二层ACL,并进入其视图。

<Sysname> system-view

[Sysname] acl mac 4000

[Sysname-acl-mac-4000]

# 创建一个二层ACL,其名称为flow,并进入其视图。

<Sysname> system-view

[Sysname] acl mac name flow

[Sysname-acl-mac-flow]

# 创建一个编号为5000的用户自定义ACL,并进入其视图。

<Sysname> system-view

[Sysname] acl user-defined 5000

[Sysname-acl-user-5000]

# 创建一个用户自定义ACL,其名称为flow,并进入其视图。

<Sysname> system-view

[Sysname] acl user-defined name flow

[Sysname-acl-user-flow]

【相关命令】

·     display acl

1.1.2  acl copy

acl copy命令用来复制并生成一个新的ACL。

【命令】

acl [ ipv6 | mac | user-defined ] copy { source-acl-number | name source-acl-name } to { dest-acl-number | name dest-acl-name }

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

ipv6:指定ACL类型为IPv6 ACL。

mac:指定ACL类型为二层ACL。

user-defined:指定ACL类型为用户自定义ACL。

source-acl-number:指定源ACL的编号,该ACL必须存在。本参数的取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

name source-acl-name:指定源ACL的名称,该ACL必须存在。source-acl-name为1~63个字符的字符串,不区分大小写。

dest-acl-number:指定目的ACL的编号,该ACL必须不存在。本参数的取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

name dest-acl-name:指定目的ACL的名称,该ACL必须不存在。dest-acl-name为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。

【使用指导】

目的ACL的类型要与源ACL的类型相同。

当通过编号指定源或目的ACL时:

·     如果编号在2000~3999范围内,对于IPv6 ACL,必须输入ipv6关键字,否则表示IPv4 ACL。

·     如果编号在4000~4999范围内,可以不输入mac关键字,直接指定编号。

·     如果编号在5000~5999范围内,可以不输入user-defined关键字,直接指定编号。

当通过名称指定源或目的ACL时,对于IPv6、二层或用户自定义ACL,必须输入ipv6macuser-defined关键字,否则表示IPv4 ACL。

除了ACL的编号或名称不同外,新生成的ACL(即目的ACL)的匹配顺序、规则匹配软件统计功能的开启情况、规则编号的步长、所包含的规则、规则的描述信息以及ACL的描述信息等都与源ACL的相同。

【举例】

# 通过复制已存在的IPv4基本ACL 2001,来生成一个新的编号为2002的同类型ACL。

<Sysname> system-view

[Sysname] acl copy 2001 to 2002

# 通过复制已存在的IPv4基本ACL test,来生成名为paste的同类型ACL。

<Sysname> system-view

[Sysname] acl copy name test to name paste

1.1.3  acl logging interval

acl logging interval命令用来配置报文过滤日志信息的生成与发送周期。

undo acl logging interval命令用来恢复缺省情况。

【命令】

acl logging interval interval

undo acl logging interval

【缺省情况】

报文过滤日志信息的生成与发送周期为0分钟,即不记录报文过滤的日志。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

interval:报文过滤日志信息的生成与发送周期,取值范围为0~1440,且必须为5的整数倍,0表示不进行记录,单位为分钟。

【使用指导】

系统只支持对应用IPv4基本ACL、IPv4高级ACL、IPv6基本ACL或IPv6高级ACL进行报文过滤的报文过滤日志信息进行记录,且在上述ACL中配置规则时必须指定logging参数。

报文过滤日志的生成与发送周期起始于报文过滤中ACL匹配数据流的第一个数据包,报文过滤日志包括周期内被匹配的报文数量以及所使用的ACL规则。在一个周期内:

·     对于规则匹配数据流的第一个数据包,设备会立即生成报文过滤日志并发送到信息中心;

·     对于规则匹配数据流的其他数据包,设备将在周期结束后生成报文过滤日志并发送到信息中心。

有关信息中心的详细介绍请参见“网络管理和监控配置指导”中的“信息中心”。

【举例】

# 配置IPv4报文过滤日志的生成与发送周期为10分钟。

<Sysname> system-view

[Sysname] acl logging interval 10

【相关命令】

·     rule (IPv4 advanced ACL view)

·     rule (IPv4 basic ACL view)

·     rule (IPv6 advanced ACL view)

·     rule (IPv6 basic ACL view)

1.1.4  acl trap interval

acl trap interval命令用来配置报文过滤告警信息的生成与发送周期。

undo acl trap interval命令用来恢复缺省情况。

【命令】

acl trap interval interval

undo acl trap interval

【缺省情况】

报文过滤告警信息的生成与发送周期为0分钟,即不记录报文过滤的告警信息。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

interval:报文过滤告警信息的生成与发送周期,取值范围为0~1440,且必须为5的整数倍,0表示不进行记录,单位为分钟。

【使用指导】

系统只支持对应用IPv4基本ACL、IPv4高级ACL、IPv6基本ACL或IPv6高级ACL进行报文过滤的报文过滤告警信息进行记录,且在上述ACL中配置规则时必须指定logging参数。

报文过滤告警信息的生成与发送周期起始于报文过滤中ACL匹配数据流的第一个数据包,报文过滤告警信息包括周期内被匹配的报文数量以及所使用的ACL规则。在一个周期内:

·     对于规则匹配数据流的第一个数据包,设备会立即生成报文过滤告警信息并发送到SNMP模块;

·     对于规则匹配数据流的其他数据包,设备将在周期结束后生成报文过滤告警信息并发送到SNMP模块。

有关SNMP的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。

【举例】

# 配置IPv4报文过滤告警信息的生成与发送周期为10分钟。

<Sysname> system-view

[Sysname] acl trap interval 10

【相关命令】

·     rule (IPv4 advanced ACL view)

·     rule (IPv4 basic ACL view)

·     rule (IPv6 advanced ACL view)

·     rule (IPv6 basic ACL view)

1.1.5  description

description命令用来配置ACL的描述信息。

undo description命令用来删除ACL的描述信息。

【命令】

description text

undo description

【缺省情况】

ACL没有任何描述信息。

【视图】

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

IPv6基本ACL视图/IPv6高级ACL视图

二层ACL视图

用户自定义ACL视图

【缺省用户角色】

network-admin

【参数】

text:表示ACL的描述信息,为1~127个字符的字符串,区分大小写。

【举例】

# 为IPv4基本ACL 2000配置描述信息。

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000] description This is an IPv4 basic ACL.

【相关命令】

·     display acl

1.1.6  display acl

display acl命令用来显示ACL的配置和运行情况。

【命令】

display acl [ ipv6 | mac | user-defined ] { acl-number | all | name acl-name }

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

ipv6:指定ACL类型为IPv6 ACL。

mac:指定ACL类型为二层ACL。

user-defined:指定ACL类型为用户自定义ACL。

acl-number:显示指定编号的ACL的配置和运行情况。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

all:显示指定类型中全部ACL的配置和运行情况。

name acl-name:显示指定名称的ACL的配置和运行情况。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。

【使用指导】

本命令将按照实际匹配顺序来排列ACL内的规则,即:当ACL的规则匹配顺序为配置顺序时,各规则将按照编号由小到大排列;当ACL的规则匹配顺序为自动排序时,各规则将按照“深度优先”原则由深到浅排列。

如果未指定ipv6macuser-defined参数,则表示IPv4 ACL。

【举例】

# 显示IPv4基本ACL 2001的配置和运行情况。

<Sysname> display acl 2001

Basic IPv4 ACL 2001, 1 rule, match-order is auto,

This is an IPv4 basic ACL.

ACL's step is 5, start ID is 0

 rule 5 permit source 1.1.1.1 0

 rule 5 comment This rule is used on GigabitEthernet1/0/1.

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

字段

描述

Basic IPv4 ACL 2001

该ACL的类型和编号

1 rule

该ACL内包含的规则数量

match-order is auto

该ACL的规则匹配顺序为自动排序(匹配顺序为配置顺序时不显示本字段)

This is an IPv4 basic ACL.

该ACL的描述信息

ACL's step is 5

该ACL的规则编号的步长值为5

start ID is 0

该ACL的规则编号的起始值为0

rule 5 permit source 1.1.1.1 0

规则5的具体内容,源地址为具体地址

rule 5 comment This rule is used on GigabitEthernet1/0/1.

规则5的描述信息

 

1.1.7  display packet-filter

display packet-filter命令用来显示ACL在报文过滤中的应用情况。

【命令】

display packet-filter { global | interface [ interface-type interface-number ] } [ inbound | outbound ] [ slot slot-number ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

global:显示ACL在报文过滤中的全局(即所有物理接口)应用情况。

interface [ interface-type interface-number ]:显示指定接口上ACL在报文过滤中的应用情况。interface-type interface-number表示接口类型和接口编号。若未指定接口类型和接口编号,将显示所有接口上ACL在报文过滤中的应用情况。当接口类型为以太网接口时,不需要指定slot参数。

inbound:显示入方向上ACL在报文过滤中的应用情况。

outbound:显示出方向上ACL在报文过滤中的应用情况。

slot slot-number:显示指定成员设备上ACL在报文过滤中的应用情况,slot-number表示设备在IRF中的成员编号。若未指定本参数,将显示主用设备上ACL在报文过滤中的应用情况。

【使用指导】

如果未指定inboundoutbound参数,将同时显示出、入方向上ACL在报文过滤中的应用情况。

【举例】

# 显示接口GigabitEthernet1/0/1入方向上ACL在报文过滤中的应用情况。

<Sysname> display packet-filter interface gigabitethernet 1/0/1 inbound

Interface: GigabitEthernet1/0/1

 Inbound policy:

  IPv4 ACL 2001

  IPv6 ACL 2002 (Failed)

  MAC ACL 4003

# 显示出、入方向上ACL在报文过滤中的全局应用情况。

<Sysname> display packet-filter global

Global:

 Inbound policy:

  IPv4 ACL 2001

  IPv6 ACL 2001

  MAC ACL 4001

  IPv4 default action: Deny (Failed)

  IPv6 default action: Deny (Failed)

  MAC default action: Deny

 Outbound policy:

  MAC ACL 4001

  MAC default action: Deny

表1-2 display packet-filter命令显示信息描述表

字段

描述

Interface

ACL在指定接口上的应用情况

Global

ACL的全局(即所有物理接口)应用情况

Inbound policy

ACL在入方向上的应用情况

Outbound policy

ACL在出方向上的应用情况

IPv4 ACL 2001

IPv4基本ACL 2001应用成功

IPv6 ACL 2002 (Failed)

IPv6基本ACL 2002应用失败

Hardware-count

规则匹配硬件统计功能应用成功

Hardware-count (Failed)

规则匹配硬件统计功能应用失败

IPv4 default action

报文过滤的缺省动作,包括:

·     Deny:报文过滤缺省动作为Deny应用成功

·     Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit

·     Permit:报文过滤缺省动作为Permit

·     Hardware-count:规则匹配硬件统计功能应用成功

·     Hardware-count (Failed):规则匹配硬件统计功能应用失败

IPv6 default action

报文过滤的缺省动作,包括:

·     Deny:报文过滤缺省动作为Deny应用成功

·     Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit

·     Permit:报文过滤缺省动作为Permit

·     Hardware-count:规则匹配硬件统计功能应用成功

·     Hardware-count (Failed):规则匹配硬件统计功能应用失败

MAC default action

报文过滤的缺省动作,包括:

·     Deny:报文过滤缺省动作为Deny应用成功

·     Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit

·     Permit:报文过滤缺省动作为Permit

·     Hardware-count:规则匹配硬件统计功能应用成功

·     Hardware-count (Failed):规则匹配硬件统计功能应用失败

1.1.8  display packet-filter statistics

display packet-filter statistics命令用来显示ACL在报文过滤中应用的统计信息。

【命令】

display packet-filter statistics { global | interface interface-type interface-number } { inbound | outbound } [ [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] [ brief ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

global:显示全局(即所有物理接口)统计信息。

interface interface-type interface-number:显示指定接口上的统计信息。interface-type interface-number表示接口类型和接口编号。

inbound:显示入方向上的统计信息。

outbound:显示出方向上的统计信息。

ipv6:指定ACL类型为IPv6 ACL。

mac:指定ACL类型为二层ACL。

user-defined:指定ACL类型为用户自定义ACL。

acl-number:显示指定编号ACL在报文过滤中应用的统计信息。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

name acl-name:显示指定名称ACL在报文过滤中应用的统计信息。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。

brief:显示简要统计信息。

【使用指导】

如果未指定任何可选参数,将显示全部ACL在报文过滤中应用的统计信息。

【举例】

# 显示接口GigabitEthernet1/0/1入方向上全部ACL在报文过滤中应用的统计信息。

<Sysname> display packet-filter statistics interface gigabitethernet 1/0/1 inbound

Interface: GigabitEthernet1/0/1

 Inbound policy:

  IPv4 ACL 2001, Hardware-count

   From 2011-06-04 10:25:21 to 2011-06-04 10:35:57

   rule 0 permit source 2.2.2.2 0 (2 packets)

   rule 5 permit source 1.1.1.1 0 (Failed)

   rule 10 permit vpn-instance test (No resource)

   Totally 2 packets permitted, 0 packets denied

   Totally 100% permitted, 0% denied

 

  IPv6 ACL 2000

 

  MAC ACL 4000

   rule 0 permit

 

  IPv4 default action: Deny

   From 2011-06-04 10:25:21 to 2011-06-04 10:35:57

   Totally 7 packets

 

  IPv6 default action: Deny

   From 2011-06-04 10:25:41 to 2011-06-04 10:35:57

   Totally 0 packets

  MAC default action: Deny

   From 2011-06-04 10:25:34 to 2011-06-04 10:35:57

   Totally 0 packets

表1-3 display packet-filter statistics命令显示信息描述表

字段

描述

Interface

在指定接口上应用的统计信息

Global

在全局应用的统计信息

Inbound policy

在入方向上应用的统计信息

Outbound policy

在出方向上应用的统计信息

IPv4 ACL 2001

IPv4基本ACL 2001应用成功

IPv4 ACL 2002 (Failed)

IPv4基本ACL 2002应用失败

Hardware-count

规则匹配硬件统计功能应用成功

Hardware-count (Failed)

规则匹配硬件统计功能应用失败

From 2011-06-04 10:25:21 to 2011-06-04 10:35:57

硬件统计的起始和终止时间(起始时间为报文过滤在本成员设备的下发时间)

2 packets

该规则匹配了2个包(当匹配的包个数为0时不显示本字段)

No resource

该规则对应的统计资源不足。在显示统计信息时,若该规则的统计资源不足,便会显示本字段

rule 5 permit source 1.1.1.1 0 (Failed)

规则5应用失败

Totally 2 packets permitted, 0 packets denied

该ACL允许和拒绝符合条件报文的个数

Totally 100% permitted, 0% denied

该ACL允许符合条件报文的通过率和拒绝符合条件报文的丢弃率

IPv4 default action

报文过滤的缺省动作,包括:

·     Deny:报文过滤缺省动作为Deny应用成功

·     Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit

·     Permit:报文过滤缺省动作为Permit

·     Hardware-count:规则匹配硬件统计功能应用成功

·     Hardware-count (Failed):规则匹配硬件统计功能应用失败

IPv6 default action

报文过滤的缺省动作,包括:

·     Deny:报文过滤缺省动作为Deny应用成功

·     Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit

·     Permit:报文过滤缺省动作为Permit

·     Hardware-count:规则匹配硬件统计功能应用成功

·     Hardware-count (Failed):规则匹配硬件统计功能应用失败

MAC default action

报文过滤的缺省动作,包括:

·     Deny:报文过滤缺省动作为Deny应用成功

·     Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit

·     Permit:报文过滤缺省动作为Permit

·     Hardware-count:规则匹配硬件统计功能应用成功

·     Hardware-count (Failed):规则匹配硬件统计功能应用失败

Totally 7 packets

报文过滤缺省动作的硬件统计功能执行次数

【相关命令】

·     reset packet-filter statistics

1.1.9  display packet-filter statistics sum

display packet-filter statistics sum命令用来显示ACL在报文过滤中应用的累加统计信息。

【命令】

display packet-filter statistics sum { inbound | outbound } [ ipv6 | mac | user-defined ] { acl-number | name acl-name } [ brief ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

inbound:显示入方向上ACL在报文过滤中应用的累加统计信息。

outbound:显示出方向上ACL在报文过滤中应用的累加统计信息。

ipv6:指定ACL类型为IPv6 ACL。

mac:指定ACL类型为二层ACL。

user-defined:指定ACL类型为用户自定义ACL。

acl-number:显示指定编号ACL在报文过滤中应用的累加统计信息。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

name acl-name:显示指定名称ACL在报文过滤中应用的累加统计信息。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。

brief:显示ACL在报文过滤中应用的简要累加统计信息。

【使用指导】

如果未指定ipv6macuser-defined参数,则表示IPv4 ACL。

【举例】

# 显示入方向上IPv4基本ACL 2001在报文过滤中应用的累加统计信息。

<Sysname> display packet-filter statistics sum inbound 2001

Sum:

 Inbound policy:

  IPv4 ACL 2001

   rule 0 permit source 2.2.2.2 0 (2 packets)

   rule 5 permit source 1.1.1.1 0

   rule 10 permit vpn-instance test

   Totally 2 packets permitted, 0 packets denied

   Totally 100% permitted, 0% denied

# 显示入方向上IPv4基本ACL 2000在报文过滤中应用的简要累加统计信息。

<Sysname> display packet-filter statistics sum inbound 2000 brief

Sum:

 Inbound policy:

  IPv4 ACL 2000

   Totally 2 packets permitted, 0 packets denied

   Totally 100% permitted, 0% denied

表1-4 display packet-filter statistics sum命令显示信息描述表

字段

描述

Sum

ACL在报文过滤中应用的累加统计信息

Inbound policy

ACL在入方向上应用的累加统计信息

Outbound policy

ACL在出方向上应用的累加统计信息

IPv4 ACL 2001

IPv4基本ACL 2001应用的累加统计信息

2 packets

该规则匹配了2个包(当匹配的包个数为0时不显示本字段)

Totally 2 packets permitted, 0 packets denied

该ACL允许和拒绝符合条件报文的个数

Totally 100% permitted, 0% denied

该ACL允许符合条件报文的通过率和拒绝符合条件报文的丢弃率

 

【相关命令】

·     reset packet-filter statistics

1.1.10  display packet-filter verbose

display packet-filter verbose命令用来显示ACL在报文过滤中的详细应用情况。

【命令】

display packet-filter verbose { global | interface interface-type interface-number } { inbound | outbound } [ [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] [ slot slot-number ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

global:显示ACL在报文过滤中的全局(即所有物理接口)详细应用情况。

interface interface-type interface-number:显示指定接口上ACL在报文过滤中的详细应用情况。interface-type interface-number表示接口类型和接口编号。当接口类型为以太网接口时,不需要指定slot参数。

inbound:显示入方向上ACL在报文过滤中的详细应用情况。

outbound:显示出方向上ACL在报文过滤中的详细应用情况。

ipv6:指定ACL类型为IPv6 ACL。

mac:指定ACL类型为二层ACL。

user-defined:指定ACL类型为用户自定义ACL。

acl-number:显示指定编号ACL在报文过滤中的详细应用情况。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

name acl-name:显示指定名称ACL在报文过滤中的详细应用情况。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。

slot slot-number:显示指定成员设备上ACL在报文过滤中的详细应用情况,slot-number表示设备在IRF中的成员编号。若未指定本参数,将显示主用设备上ACL在报文过滤中的详细应用情况。

【使用指导】

若未指定acl-numbername acl-name和ACL类型(ipv6macuser-defined)参数,将显示全部IPv4 ACL在报文过滤中的详细应用情况。

【举例】

# 显示接口GigabitEthernet1/0/1入方向上全部ACL在报文过滤中的详细应用情况。

<Sysname> display packet-filter verbose interface gigabitethernet 1/0/1 inbound

Interface: GigabitEthernet1/0/1

 Inbound policy:

  IPv4 ACL 2001

   rule 0 permit

   rule 5 permit source 1.1.1.1 0 (Failed)

   rule 10 permit vpn-instance test (Failed)

 

  IPv6 ACL 2000

   rule 0 permit

 

  MAC ACL 4000

 

  IPv4 default action: Deny

 

  MAC default action: Deny

# 显示入方向上全部ACL在报文过滤中的全局详细应用情况。

<Sysname> display packet-filter verbose global inbound

Global:

 Inbound policy:

  IPv4 ACL 2001

   rule 0 permit

   rule 5 permit source 1.1.1.1 0 (Failed)

   rule 10 permit vpn-instance test (Failed)

 

  IPv4 ACL 2002 (Failed)

 

  IPv6 ACL 2000, Hardware-count

 

  MAC ACL 4000, Hardware-count

   rule 0 permit

 

  IPv4 default action: Deny

 

  IPv6 default action: Deny

 

  MAC default action: Deny

表1-5 display packet-filter verbose命令显示信息描述表

字段

描述

Interface

ACL在指定接口上的详细应用情况

Global

ACL的全局(即所有物理接口)详细应用情况

Inbound policy

ACL在入方向上的详细应用情况

Outbound policy

ACL在出方向上的详细应用情况

IPv4 ACL 2001

IPv4基本ACL 2001应用成功

IPv4 ACL 2002 (Failed)

IPv4基本ACL 2002应用失败

Hardware-count

规则匹配硬件统计功能应用成功

Hardware-count (Failed)

规则匹配硬件统计功能应用失败

rule 5 permit source 1.1.1.1 0 (Failed)

规则5应用失败

IPv4 default action

报文过滤的缺省动作,包括:

·     Deny:报文过滤缺省动作为Deny应用成功

·     Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit

·     Permit:报文过滤缺省动作为Permit

·     Hardware-count:规则匹配硬件统计功能应用成功

·     Hardware-count (Failed):规则匹配硬件统计功能应用失败

IPv6 default action

报文过滤的缺省动作,包括:

·     Deny:报文过滤缺省动作为Deny应用成功

·     Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit

·     Permit:报文过滤缺省动作为Permit

·     Hardware-count:规则匹配硬件统计功能应用成功

·     Hardware-count (Failed):规则匹配硬件统计功能应用失败

MAC default action

报文过滤的缺省动作,包括:

·     Deny:报文过滤缺省动作为Deny应用成功

·     Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit

·     Permit:报文过滤缺省动作为Permit

·     Hardware-count:规则匹配硬件统计功能应用成功

·     Hardware-count (Failed):规则匹配硬件统计功能应用失败

1.1.11  display qos-acl resource

display qos-acl resource命令用来显示QoS和ACL资源的使用情况。

【命令】

display qos-acl resource [ advanced-mode ] [ slot slot-number ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

advanced-mode:以高级模式显示QoS和ACL资源的使用情况。未指定本关键字,则以普通模式显示QoS和ACL资源的使用情况。

slot slot-number:显示指定成员设备上QoS和ACL资源的使用情况,slot-number表示设备在IRF中的成员编号。若未指定本参数,将显示IRF中所有成员设备上QoS和ACL资源的使用情况。

【使用指导】

如果指定的设备不支持统计QoS和ACL资源,将不会显示该设备上QoS和ACL资源的使用情况。

【举例】

# 显示QoS和ACL资源的使用情况。

<Sysname> display qos-acl resource

Interfaces: GE1/0/1 to GE1/0/48, XGE1/0/49 to XGE1/0/52

            FGE1/0/53, XGE1/0/54:1 to XGE1/0/54:4 (slot 1)

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

 Type             Total      Reserved   Configured Remaining  Usage

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

 VFP ACL          2048       1024       0          1024       50%

 IFP ACL          18432      7168       51         11213      39%

 IFP Meter        3072       1152       1          1919       37%

 IFP Counter      6638       3584       0          3054       53%

 EFP ACL          1024       0          1          1023       0%

 EFP Meter        512        0          0          512        0%

 EFP Counter      512        0          0          512        0%

表1-6 display qos-acl resource命令显示信息描述表

字段

描述

Interfaces

资源对应的接口范围

Type

资源类型:

·     VFP ACL表示二层转发前的,用于重标记QoS本地ID值功能的ACL资源

·     IFP ACL表示入方向的ACL资源

·     IFP Meter表示入方向的流量监管资源

·     IFP Counter表示入方向的流量统计资源

·     EFP ACL表示出方向的ACL资源

·     EFP Meter表示出方向的流量监管资源

·     EFP Counter表示出方向的流量统计资源

Total

资源总数

Reserved

预留的资源数

Configured

已经使用的资源数

Remaining

剩余可用的资源数

Usage

预留的资源数与已配置的资源数之和占资源总数的百分比,分子按实际计算结果的整数部分显示,例如实际计算结果为50.8%,此处显示为50%。

 

# 以高级模式显示QoS和ACL资源的使用情况。

<Sysname> display qos-acl resource advanced-mode

Interfaces:  GE1/0/1 to GE1/0/48, XGE1/0/49 to XGE1/0/52, FGE1/0/53 to FGE1/0/54

 (slot 1)

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

 Stage    Slice    Total    Configured   Remaining    Usage

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

 IFP       0        512       45           467         8%

 IFP       1        512       45           467         8%

 IFP       2        512       45           467         8%

 IFP       3        512       24           488         4%

 IFP       4        512       24           488         4%

 IFP       5        1024      1            1023        0%

 IFP       6        1024      0            1024        0%

 IFP       7        1024      0            1024        0%

 IFP       8        1024      0            1024        0%

 IFP       9        1024      0            1024        0%

 IFP       10       1024      0            1024        0%

 IFP       11       1024      0            1024        0%

 IFP       12       1024      0            1024        0%

 IFP       13       1024      0            1024        0%

 IFP       14       1024      0            1024        0%

 IFP       15       1024      0            1024        0%

 IFP       16       1024      0            1024        0%

 IFP       17       1024      0            1024        0%

 VFP       0        512       18           494         3%

 VFP       1        512       0            512         0%

 VFP       2        512       0            512         0%

 VFP       3        512       0            512         0%

 EFP       0        256       0            256         0%

 EFP       1        256       0            256         0%

 EFP       2        256       0            256         0%

 EFP       3        256       0            256         0%

表1-7 display qos-acl resource advanced-mode命令显示信息描述表

字段

描述

Interfaces

资源应用的接口

Stage

处理阶段:

·     IFP:表示接收阶段

·     VFP:表示二层转发阶段

·     EFP:表示发送阶段

Slice

ACL资源的Slice索引

Total

资源总数

Configured

已经使用的资源数

Remaining

剩余可用的资源数

Usage

已配置的资源数占资源总数的百分比,分子按实际计算结果的整数部分显示,例如实际计算结果为50.8%,此处显示为50%

1.1.12  packet-filter

packet-filter命令用来在接口上应用ACL进行报文过滤。

undo packet-filter命令用来取消在接口上应用ACL进行报文过滤。

【命令】

packet-filter [ ipv6 | mac | user-defined ] { acl-number | name acl-name } { inbound | outbound } [ hardware-count ]

undo packet-filter [ ipv6 | mac | user-defined ] { acl-number | name acl-name } { inbound | outbound }

【缺省情况】

接口不对报文进行过滤。

【视图】

二层以太网接口视图/三层以太网接口视图/三层以太网子接口视图/VLAN接口视图

【缺省用户角色】

network-admin

【参数】

ipv6:指定ACL类型为IPv6 ACL。

mac:指定ACL类型为二层ACL。

user-defined:指定ACL类型为用户自定义ACL。

acl-number:指定ACL的编号,取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

name acl-name:指定ACL的名称。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。

inbound:对收到的报文进行过滤。

outbound:对发出的报文进行过滤。

hardware-count:表示开启规则匹配硬件统计功能,缺省为关闭。

【使用指导】

通过编号引用ACL,请遵循如下规则:

·     当需要引用IPv4类型ACL时,请直接指定acl-number

·     当需要引用IPv6类型ACL时,必须首先指定ipv6关键字,再指定acl-number

·     当需要引用二层或用户自定义类型ACL时,可首先指定macuser-defined关键字再指定acl-number,或直接指定acl-number

通过名称引用ACL,请遵循如下规则:

·     当需要引用IPv4类型ACL时,请直接指定name acl-name

·     当需要引用IPv6、二层或用户自定义类型ACL时,必须首先指定ipv6macuser-defined关键字,再指定name acl-name

本命令中的hardware-count关键字用于开启指定ACL内所有规则的规则匹配硬件统计功能,而rule命令中的counting关键字则用于开启当前规则的匹配统计功能。

如果设备资源不足,必须先执行undo packet-filter命令取消报文过滤,然后再配置不携带hardware-count关键字的报文过滤,以此关闭规则匹配硬件统计功能。

如果设备资源充足,可通过不携带hardware-count关键字重新配置报文过滤,以此关闭规则匹配硬件统计功能。

一个接口在一个方向上最多可应用4个ACL进行报文过滤,包括一个IPv4 ACL(IPv4基本ACL或IPv4高级ACL)、一个IPv6 ACL(IPv6基本ACL或IPv6高级ACL)、一个二层ACL以及一个用户自定义ACL。

【举例】

# 应用IPv4基本ACL 2001对接口GigabitEthernet1/0/1收到的报文进行过滤,并开启规则匹配硬件统计功能。

<Sysname> system-view

[Sysname] interface gigabitethernet 1/0/1

[Sysname-GigabitEthernet1/0/1] packet-filter 2001 inbound hardware-count

【相关命令】

·     display packet-filter

·     display packet-filter statistics

·     display packet-filter verbose

1.1.13  packet-filter default deny

packet-filter default deny命令用来配置报文过滤的缺省动作为Deny,即禁止未匹配上ACL规则的报文通过。

undo packet-filter default deny命令用来恢复缺省情况。

【命令】

packet-filter default deny

undo packet-filter default deny

【缺省情况】

报文过滤的缺省动作为Permit,即允许未匹配上ACL规则的报文通过。

【视图】

系统视图

【缺省用户角色】

network-admin

【使用指导】

配置报文过滤的缺省动作会在所有的应用对象下添加一个缺省动作应用,该应用也会像其它应用的ACL一样显示。

【举例】

# 配置报文过滤的缺省动作为Deny。

<Sysname> system-view

[Sysname] packet-filter default deny

【相关命令】

·     display packet-filter

·     display packet-filter statistics

·     display packet-filter verbose

1.1.14  packet-filter filter

packet-filter filter命令用来配置报文过滤在VLAN接口的生效范围。

undo packet-filter filter命令用来恢复默认情况。

【命令】

packet-filter filter { route | all }

undo packet-filter filter

【缺省情况】

报文过滤仅对通过VLAN接口进行三层转发的报文生效。

【视图】

VLAN接口视图

【缺省用户角色】

network-admin

【参数】

route:表示报文过滤仅对通过VLAN接口进行三层转发的报文生效。

all:表示报文过滤对所有报文(包括通过VLAN接口进行三层转发的报文和通过VLAN接口对应的物理接口进行二层转发的报文)均生效。

【举例】

# 配置VLAN接口2上的报文过滤方式为route,即报文过滤仅对通过VLAN接口2进行三层转发的报文生效。

<Sysname> system-view

[Sysname] interface vlan-interface 2

[Sysname-Vlan-interface2] packet-filter filter route

1.1.15  packet-filter global

packet-filter global命令用来全局应用ACL进行报文过滤。

undo packet-filter global命令用来取消全局应用ACL进行报文过滤。

【命令】

packet-filter [ ipv6 | mac | user-defined ] { acl-number | name acl-name } global { inbound | outbound } [ hardware-count ]

undo packet-filter [ ipv6 | mac | user-defined ] { acl-number | name acl-name } global { inbound | outbound }

【缺省情况】

全局不对报文进行过滤。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

ipv6:指定ACL类型为IPv6 ACL。

mac:指定ACL类型为二层ACL。

user-defined:指定ACL类型为用户自定义ACL。

acl-number:指定ACL的编号,取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

name acl-name:指定ACL的名称。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。

global:表示全局(即所有物理接口)配置。

inbound:对收到的报文进行过滤。

outbound:对发出的报文进行过滤。

hardware-count:表示开启规则匹配硬件统计功能,缺省为关闭。

【使用指导】

通过编号引用ACL,请遵循如下规则:

·     当需要引用IPv4类型ACL时,请直接指定acl-number

·     当需要引用IPv6类型ACL时,必须首先指定ipv6关键字,再指定acl-number

·     当需要引用二层或用户自定义类型ACL时,可首先指定macuser-defined关键字再指定acl-number,或直接指定acl-number

通过名称引用ACL,请遵循如下规则:

·     当需要引用IPv4类型ACL时,请直接指定name acl-name

·     当需要引用IPv6、二层或用户自定义类型ACL时,必须首先指定ipv6macuser-defined关键字,再指定name acl-name

hardware-count关键字用于开启指定ACL内所有规则的规则匹配硬件统计功能,而rule命令中的counting关键字则用于开启当前规则的匹配统计功能。

如果设备资源不足,必须先执行undo packet-filter命令取消报文过滤,然后再配置不携带hardware-count关键字的报文过滤,以此关闭规则匹配硬件统计功能。

如果设备资源充足,可通过不携带hardware-count关键字重新配置报文过滤,以此关闭规则匹配硬件统计功能。

【举例】

# 全局应用IPv4基本ACL 2001对收到的报文进行过滤,并开启规则匹配硬件统计功能。

<Sysname> system-view

[Sysname] packet-filter 2001 global inbound hardware-count

【相关命令】

·     display packet-filter

·     display packet-filter statistics

·     display packet-filter verbose

1.1.16  qos-acl resource hardware-mode

qos-acl resource hardware-mode命令用来配置QoS和ACL资源的硬件模式。

undo qos-acl resource hardware-mode命令用来恢复缺省情况。

【命令】

qos-acl resource hardware-mode hardware-mode-value

undo qos-acl resource hardware-mode hardware-mode-value

【缺省情况】

未配置QoS和ACL资源的硬件模式。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

hardware-mode-value:QoS和ACL资源的硬件模式,目前仅支持取值为inbound-portrange-enhanced,表示对以范围方式(ltgtrange)匹配四层端口号的ACL规则,应用在入方向时进行增强处理。

【使用指导】

inbound-portrange-enhanced模式仅对执行qos-acl resource hardware-mode命令后新应用的QoS策略生效,如果希望对执行命令前已经应用的QoS策略也生效,请选择如下方式之一操作:

·     执行save命令保存当前配置,然后重启设备。

·     执行本命令前,取消已应用的QoS策略,并在执行本命令后重新应用。

配置inbound-portrange-enhanced模式后,对于以范围方式匹配四层端口号的ACL规则,下发后设备会使用掩码对其进行拆分,以减少对QoS和ACL资源位宽的占用。

【举例】

# 配置QoS和ACL资源的硬件模式为入方向支持对以范围方式(lt、gt、range)匹配四层端口号的ACL规则进行增强处理。

<Sysname> system-view

[Sysname] qos-acl resource hardware-mode inbound-portrange-enhanced

Please save the running configuration and reboot the device to activate the settings.

1.1.17  reset acl counter

reset acl counter命令用来清除ACL的统计信息。

【命令】

reset acl [ ipv6 | mac | user-defined ] counter { acl-number | all | name acl-name }

【视图】

用户视图

【缺省用户角色】

network-admin

【参数】

ipv6:指定ACL类型为IPv6 ACL。

mac:指定ACL类型为二层ACL。

user-defined:指定ACL类型为用户自定义ACL。

acl-number:清除指定编号ACL的统计信息。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

all:清除指定类型中全部ACL的统计信息。

name acl-name:清除指定名称ACL的统计信息。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。

【使用指导】

当通过acl-number指定ACL时:

·     如果acl-number在2000~3999范围内,对于IPv6 ACL,必须输入ipv6关键字,否则表示IPv4 ACL。

·     如果acl-number在4000~4999范围内,可以不输入mac关键字,直接指定acl-number

·     如果acl-number在5000~5999范围内,可以不输入user-defined关键字,直接指定acl-number

当通过acl-name指定ACL时,对于IPv6、二层或用户自定义ACL,必须输入ipv6macuser-defined关键字,否则表示IPv4 ACL。

【举例】

# 清除IPv4基本ACL 2001的统计信息。

<Sysname> reset acl counter 2001

【相关命令】

·     display acl

1.1.18  reset packet-filter statistics

reset packet-filter statistics命令用来清除ACL在报文过滤中应用的统计信息。

【命令】

reset packet-filter statistics { global | interface [ interface-type interface-number ] } { inbound | outbound } [ [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ]

【视图】

用户视图

【缺省用户角色】

network-admin

【参数】

global:清除全局(即所有物理接口)统计信息。

interface [ interface-type interface-number ]:清除指定接口上的统计信息。interface-type interface-number表示接口类型和接口编号。若未指定接口类型和接口编号,将清除所有接口上的统计信息。

inbound:清除入方向上的统计信息。

outbound:清除出方向上的统计信息。

ipv6:指定ACL类型为IPv6 ACL。

mac:指定ACL类型为二层ACL。

user-defined:指定ACL类型为用户自定义ACL。

acl-number:清除指定编号ACL在报文过滤中应用的统计信息。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

·     4000~4999:表示二层ACL。

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

name acl-name:清除指定名称ACL在报文过滤中应用的统计信息。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。

【使用指导】

如果未指定acl-numbername acl-name和ACL类型(ipv6macuser-defined)参数,将清除全部ACL在报文过滤中应用的统计信息。

如果未指定ipv6macuser-defined参数,则表示IPv4 ACL。

【举例】

# 清除在接口GigabitEthernet1/0/1入方向上IPv4基本ACL 2001在报文过滤中应用的统计信息。

<Sysname> reset packet-filter statistics interface gigabitethernet 1/0/1 inbound 2001

【相关命令】

·     display packet-filter statistics

·     display packet-filter statistics sum

1.1.19  rule (IPv4 advanced ACL view)

rule命令用来为IPv4高级ACL创建一条规则。

undo rule命令用来为IPv4高级ACL删除一条规则或删除规则中的部分内容。

【命令】

rule [ rule-id ] { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-address dest-wildcard | any } | destination-port operator port1 [ port2 ] | { dscp dscp | { precedence precedence | tos tos } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | [ flow-logging | logging ] | source { source-address source-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-range-name | vpn-instance vpn-instance-name ] *

rule [ rule-id ] { deny | permit } vxlan [ destination { dest-address dest-wildcard | any } | source { source-address source-wildcard | any } | source-port operator port1 [ port2 ] | vxlan-id vxlan-id ] * inner-protocol inner-protocol [ counting | inner-destination { dest-address dest-wildcard | any } | inner-destination-port operator port1 [ port2 ] | { { inner-ack inner-ack-value | inner-fin inner-fin-value | inner-psh inner-psh-value | inner-rst inner-rst-value | inner-syn inner-syn-value | inner-urg inner-urg-value } * | inner-established } | inner-source { source-address source-wildcard | any } | { { inner-dscp inner-dscp | inner-ecn inner-ecn } * | { inner-ecn inner-ecn | inner-precedence inner-precedence } * | { inner-precedence inner-precedence | inner-tos inner-tos } * } | inner-source-port operator port1 [ port2 ] | [ flow-logging | logging ] | time-range time-range-name ] *

undo rule rule-id [ { { ack | fin | psh | rst | syn | urg } * | established } | counting | destination | destination-port | { dscp | { precedence | tos } * } | fragment | icmp-type | inner-destination | inner-destination-port | { { inner-ack | inner-fin | inner-psh | inner-rst | inner-syn | inner-urg } * | inner-established } | inner-source | inner-source-port | { { inner-dscp | inner-ecn } * | { inner-ecn | inner-precedence } * | { inner-precedence |inner-tos } * } | [ flow-logging | logging ] | source | source-port | time-range | vpn-instance  ] *

undo rule { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-address dest-wildcard | any } | destination-port operator port1 [ port2 ] | { dscp dscp | { precedence precedence | tos tos } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | [ flow-logging | logging ] | source { source-address source-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-range-name | vpn-instance vpn-instance-name ] *

undo rule { deny | permit } vxlan [ destination { dest-address dest-wildcard | any } | source { source-address source-wildcard | any } | source-port operator port1 [ port2 ] | vxlan-id vxlan-id ] * inner-protocol inner-protocol [ counting | inner-destination { dest-address dest-wildcard | any } | inner-destination-port operator port1 [ port2 ] | { { inner-ack inner-ack-value | inner-fin inner-fin-value | inner-psh inner-psh-value | inner-rst inner-rst-value | inner-syn inner-syn-value | inner-urg inner-urg-value } * | inner-established } | inner-source { source-address source-wildcard | any } | inner-source-port operator port1 [ port2 ] | { { inner-dscp inner-dscp | inner-ecn inner-ecn } * | { inner-ecn inner-ecn | inner-precedence inner-precedence } * | { inner-precedence inner-precedence | inner-tos inner-tos } * } | [ flow-logging | logging ] | time-range time-range-name ] *

【缺省情况】

IPv4高级ACL内不存在任何规则。

【视图】

IPv4高级ACL视图

【缺省用户角色】

network-admin

【参数】

rule-id:指定IPv4高级ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。

deny:表示拒绝符合条件的报文。

permit:表示允许符合条件的报文。

protocol:表示IPv4承载的协议类型,可输入如表1-8所示的数字(取值范围为0~255)或关键字。

表1-8 协议类型参数

数字

关键字

说明

-

ip

匹配IP协议报文

1

icmp

匹配ICMP协议报文

2

igmp

匹配IGMP协议报文

4

ipinip

匹配IPinIP协议报文

6

tcp

匹配TCP协议报文

17

udp

匹配UDP协议报文

47

gre

匹配GRE协议报文

有关GRE的详细介绍请参见“三层技术-IP业务配置指导”中的“GRE”

89

ospf

匹配OSPF协议报文

 

protocol之后可配置如表1-9所示的规则信息参数。

表1-9 规则信息参数

参数

类别

作用

说明

source { source-address source-wildcard | any }

源地址信息

指定ACL规则的源地址信息

source-address:源IP地址

source-wildcard:源IP地址的通配符掩码(为0表示主机地址)

any:任意源IP地址

destination { dest-address dest-wildcard | any }

目的地址信息

指定ACL规则的目的地址信息

dest-address:目的IP地址

dest-wildcard:目的IP地址的通配符掩码(为0表示主机地址)

any:任意目的IP地址

counting

统计

开启规则匹配软件统计功能,缺省为关闭

本参数用于开启本规则的匹配统计功能,而packet-filter命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能

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)

fragment

分片信息

仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效

若未指定本参数,则表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效

flow-logging

流日志操作

记录规则匹配报文的流日志信息,包括匹配报文的规则、匹配报文的个数、源IP、目的IP、源端口号和目的端口号

该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤

logging

日志操作

表示记录规则匹配报文的日志信息,包括匹配报文的规则和匹配报文的个数

该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤

time-range time-range-name

时间段

指定本规则生效的时间段

time-range-name:时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“ACL和QoS配置指导”中的“时间段”

vpn-instance vpn-instance-name

VPN实例

对指定VPN实例中的报文有效

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

应用ACL规则进行报文匹配时,ACL规则中未指定VPN实例时,该规则对非VPN报文和VPN报文均有效

其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明

 

protocoltcp(6)或udp(17)时,用户还可配置如表1-10所示的规则信息参数。

表1-10 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)、dns(53)、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报文标识

定义对携带不同标志位(包括ACK、FIN、PSH、RST、SYN和URG六种)的TCP报文的处理规则

TCP协议特有的参数。表示匹配携带不同标志位的TCP报文,各value的取值可为0或1(0表示不携带此标志位,1表示携带此标志位)

如果在一条规则中设置了多个TCP标志位的匹配值,则这些匹配条件之间的关系为“与”。譬如:当配置为ack 0 psh 1时,表示匹配不携带ACK且携带PSH标志位的TCP报文

established

TCP连接建立标识

定义对TCP连接报文的处理规则

TCP协议特有的参数

用于定义TCP报文中ACK或RST标志位为1的报文

 

protocolicmp(1)时,用户还可配置如表1-11所示的规则信息参数。

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

 

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

ICMP消息名称

ICMP消息类型

ICMP消息码

echo

8

0

echo-reply

0

0

fragmentneed-DFset

3

4

host-redirect

5

1

host-tos-redirect

5

3

host-unreachable

3

1

information-reply

16

0

information-request

15

0

net-redirect

5

0

net-tos-redirect

5

2

net-unreachable

3

0

parameter-problem

12

0

port-unreachable

3

3

protocol-unreachable

3

2

reassembly-timeout

11

1

source-quench

4

0

source-route-failed

3

5

timestamp-reply

14

0

timestamp-request

13

0

ttl-exceeded

11

0

 

vxlan:表示报文是VXLAN封装。配置本参数后才可指定vxlan-id vxlan-id

vxlan-id vxlan-id:VXLAN ID,取值范围为0~16777215。

inner-protocol:表示IPv4承载的内层协议类型,可输入的形式如下:

·     数字:取值范围为0~255;

·     名称(括号内为对应的数字):可选取gre(47)、icmp(1)、igmp(2)、ipipinip(4)、ospf(89)、tcp(6)或udp(17)。

inner-protocol之后可配置如表1-13所示的规则信息参数。

表1-13 规则信息参数

参数

类别

作用

说明

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

VXLAN报文内层TCP标识

定义对携带不同标志位(包括ACK、FIN、PSH、RST、SYN和URG六种)的TCP报文的处理规则

TCP协议特有的参数。表示匹配携带不同标志位的TCP报文,各value的取值可为0或1(0表示不携带此标志位,1表示携带此标志位)

如果在一条规则中设置了多个TCP标志位的匹配值,则这些匹配条件之间的关系为“与”。譬如:当配置为ack 0 psh 1时,表示匹配不携带ACK且携带PSH标志位的TCP报文

inner-established

内层TCP连接建立标识

定义对内层TCP连接报文的处理规则

内层TCP协议特有的参数,用于定义TCP报文中ACK或RST标志位为1的报文

inner-source { source-address source-wildcard | any }

内层源地址信息

指定ACL规则的内层源地址信息

source-address:内层源IP地址

source-wildcard:内层源IP地址的通配符掩码(为0表示主机地址)

any:任意源IP地址

inner-destination { dest-address dest-wildcard | any }

内层目的地址信息

指定ACL规则的内层目的地址信息

dest-address:内层目的IP地址

dest-wildcard:内层目的IP地址的通配符掩码(为0表示主机地址)

any:任意目的IP地址

inner-precedence inner-precedence

内层报文优先级

指定内层报文的IP优先级

inner-precedence用数字表示时,取值范围为0~7;用字符表示时,分别对应routine(0)、priority(1)、immediate(2)、flash(3)、flash-override(4)、critical(5)、internet(6)、network(7)

inner-tos inner-tos

内层报文优先级

指定内层报文的ToS优先级

inner-tos用数字表示时,取值范围为0~15;用字符表示时,可以选取max-reliability(2)、max-throughput(4)、min-delay(8)、min-monetary-cost(1)、normal(0)

inner-ecn inner-ecn

内层报文ECN通知信息

指定内层报文的ECN标志

inner-ecn取值范围为0~3,对应IP报文头部DS域的最后两个比特为(00~11)

有关DS域以及ECN功能的详细介绍,请参见“ACL和QoS配置指导”中的“QoS”

inner-dscp inner-dscp

内层报文优先级

指定内层报文的DSCP优先级

inner-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)

 

inner-protocoltcp(6)或udp(17)时,用户还可配置如表1-14所示的规则信息参数。

表1-14 TCP/UDP特有的规则信息参数

参数

类别

作用

说明

inner-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)、dns(53)、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)

如果使用domain关键字来指定TCP端口号,在配置文件中保存时关键字将显示为dns

inner-destination-port operator port1 [ port2 ]

内层目的端口

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

 

【使用指导】

使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。

新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。

当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。

display acl all命令可以查看所有已存在的IPv4高级ACL规则和IPv4基本ACL规则。

删除规则时需要注意的是:

·     使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。

·     undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。

【举例】

# 为IPv4高级ACL 3000创建规则如下:允许129.9.0.0/16网段内的主机与202.38.160.0/24网段内主机的WWW端口(端口号为80)建立连接。

<Sysname> system-view

[Sysname] acl advanced 3000

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

# 为IPv4高级ACL 3001创建规则如下:允许IP报文通过,但拒绝发往192.168.1.0/24网段的ICMP报文通过。

<Sysname> system-view

[Sysname] acl advanced 3001

[Sysname-acl-ipv4-adv-3001] rule deny icmp destination 192.168.1.0 0.0.0.255

[Sysname-acl-ipv4-adv-3001] rule permit ip

# 为IPv4高级ACL 3002创建规则如下:在出、入双方向上都允许建立FTP连接并传输FTP数据。

<Sysname> system-view

[Sysname] acl advanced 3002

[Sysname-acl-ipv4-adv-3002] rule permit tcp source-port eq ftp

[Sysname-acl-ipv4-adv-3002] rule permit tcp source-port eq ftp-data

[Sysname-acl-ipv4-adv-3002] rule permit tcp destination-port eq ftp

[Sysname-acl-ipv4-adv-3002] rule permit tcp destination-port eq ftp-data

# 为IPv4高级ACL 3003创建规则如下:在出、入双方向上都允许SNMP报文和SNMP Trap报文通过。

<Sysname> system-view

[Sysname] acl advanced 3003

[Sysname-acl-ipv4-adv-3003] rule permit udp source-port eq snmp

[Sysname-acl-ipv4-adv-3003] rule permit udp source-port eq snmptrap

[Sysname-acl-ipv4-adv-3003] rule permit udp destination-port eq snmp

[Sysname-acl-ipv4-adv-3003] rule permit udp destination-port eq snmptrap

# 为IPv4高级ACL 3004创建规则如下:允许来自内层源IP为192.168.1.0/24网段的VXLAN报文通过。

<Sysname> system-view

[Sysname] acl number 3004

[Sysname-acl-adv-3004] rule permit vxlan inner-protocol ip inner-source 192.168.1.0 0.0.0.255

【相关命令】

·     acl

·     acl logging interval

·     display acl

·     step

·     time-range(ACL和QoS命令参考/时间段)

1.1.20  rule (IPv4 basic ACL view)

rule命令用来为IPv4基本ACL创建一条规则。

undo rule命令用来为IPv4基本ACL删除一条规则或删除规则中的部分内容。

【命令】

rule [ rule-id ] { deny | permit } [ counting | fragment | [ flow-logging | logging ] | source { source-address source-wildcard | any } | time-range time-range-name | vpn-instance vpn-instance-name ] *

undo rule rule-id [ counting | fragment | [ flow-logging | logging ] | source | time-range | vpn-instance ] *

undo rule { deny | permit } [ counting | fragment | [ flow-logging | logging ] | source { source-address source-wildcard | any } | time-range time-range-name | vpn-instance vpn-instance-name ] *

【缺省情况】

IPv4基本ACL内不存在任何规则。

【视图】

IPv4基本ACL视图

【缺省用户角色】

network-admin

【参数】

rule-id:指定IPv4基本ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。

deny:表示拒绝符合条件的报文。

permit:表示允许符合条件的报文。

counting:表示开启规则匹配软件统计功能,缺省为关闭。

fragment:表示仅对非首片分片报文有效,而对非分片报文和首片分片报文无效。若未指定本参数,表示该规则对非分片报文和分片报文均有效。

flow-logging:表示对符合条件的报文记录流日志信息,包括匹配报文的规则、匹配报文的个数、源IP和目的IP。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。

logging:表示记录规则匹配报文的日志信息,包括匹配报文的规则和匹配报文的个数。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。

source { source-address source-wildcard | any }:指定规则的源IP地址信息。source-address表示报文的源IP地址,source-wildcard表示源IP地址的通配符掩码(为0表示主机地址),any表示任意源IP地址。

time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“ACL和QoS配置指导”中的“时间段”。

vpn-instance vpn-instance-name:表示对指定VPN实例中的报文有效。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。应用ACL进行报文过滤,ACL规则中未指定VPN实例时,表示该规则对非VPN报文和VPN报文均有效;其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明。

【使用指导】

使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。

新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。

当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。

display acl all命令可以查看所有已存在的IPv4高级ACL规则和IPv4基本ACL规则。

删除规则时需要注意的是:

·     使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。

·     undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。

counting关键字用于开启本规则的匹配统计功能,而packet-filter命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能。

【举例】

# 为IPv4基本ACL 2000创建规则如下:仅允许来自10.0.0.0/8、172.17.0.0/16和192.168.1.0/24网段的报文通过,而拒绝来自所有其它网段的报文通过。

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000] rule permit source 10.0.0.0 0.255.255.255

[Sysname-acl-ipv4-basic-2000] rule permit source 172.17.0.0 0.0.255.255

[Sysname-acl-ipv4-basic-2000] rule permit source 192.168.1.0 0.0.0.255

[Sysname-acl-ipv4-basic-2000] rule deny source any

【相关命令】

·     acl

·     acl logging interval

·     display acl

·     step

·     time-range(ACL和QoS命令参考/时间段)

1.1.21  rule (IPv6 advanced ACL view)

rule命令用来为IPv6高级ACL创建一条规则。

undo rule命令用来为IPv6高级ACL删除一条规则或删除规则中的部分内容。

【命令】

rule [ rule-id ] { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | [ flow-logging | logging ] | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { source-address source-prefix | source-address/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-range-name | vpn-instance vpn-instance-name ] *

rule [ rule-id ] { deny | permit } vxlan [ vxlan-id vxlan-id ] inner-protocol inner-protocol [ counting | inner-destination { dest-address dest-prefix | dest-address/dest-prefix | any } | inner-destination-port operator port1 [ port2 ] | { { inner-ack inner-ack-value | inner-fin inner-fin-value | inner-psh inner-psh-value | inner-rst inner-rst-value | inner-syn inner-syn-value | inner-urg inner-urg-value } * | inner-established } | inner-source { source-address source-prefix | source-address/source-prefix | any } | inner-source-port operator port1 [ port2 ] | { inner-dscp inner-dscp | inner-ecn inner-ecn } * | [ flow-logging | logging ] | time-range time-range-name ] *

undo rule rule-id [ { { ack | fin | psh | rst | syn | urg } * | established } | counting | destination | destination-port | dscp | flow-label | fragment | icmp6-type | inner-destination | inner-destination-port | { { inner-ack | inner-fin | inner-psh | inner-rst | inner-syn | inner-urg } * | inner-established } | inner-source | inner-source-port | { inner-dscp | inner-ecn } * | [ flow-logging | logging ] | routing | hop-by-hop | source | source-port | time-range | vpn-instance | vxlan-id ] *

undo rule { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | [ flow-logging | logging ] | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { source-address source-prefix | source-address/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-range-name | vpn-instance vpn-instance-name ] *

undo rule { deny | permit } vxlan [ vxlan-id vxlan-id ] inner-protocol inner-protocol [ counting | inner-destination { dest-address dest-prefix | dest-address/dest-prefix | any } | inner-destination-port operator port1 [ port2 ] | { { inner-ack inner-ack-value | inner-fin inner-fin-value | inner-psh inner-psh-value | inner-rst inner-rst-value | inner-syn inner-syn-value | inner-urg inner-urg-value } * | inner-established } | inner-source { source-address source-prefix | source-address/source-prefix | any } | inner-source-port operator port1 [ port2 ] | { inner-dscp inner-dscp | inner-ecn inner-ecn } * | [ flow-logging | logging ] | time-range time-range-name ] *

【缺省情况】

IPv6高级ACL内不存在任何规则。

【视图】

IPv6高级ACL视图

【缺省用户角色】

network-admin

【参数】

rule-id:指定IPv6高级ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。

deny:表示拒绝符合条件的报文。

permit:表示允许符合条件的报文。

protocol:表示IPv6承载的协议类型,可输入如表1-15所示的数字(取值范围为0~255)或关键字。

表1-15 协议类型参数

数字

关键字

说明

-

ipv6

匹配IPv6协议报文

1

icmpv6

匹配ICMPv6协议报文

6

tcp

匹配TCP协议报文

17

udp

匹配UDP协议报文

47

gre

匹配GRE协议报文

有关GRE的详细介绍请参见“三层技术-IP业务”中的“GRE”

50

ipv6-esp

匹配IPv6-esp协议报文

51

ipv6-ah

匹配IPv6-ah协议报文

89

ospf

匹配OSPF协议报文

 

protocol之后可配置如表1-16所示的规则信息参数。

表1-16 规则信息参数

参数

类别

作用

说明

source { source-address source-prefix | source-address/source-prefix | any }

源IPv6地址

指定ACL规则的源IPv6地址信息

source-address:源IPv6地址

source-prefix:源IPv6地址的前缀长度,取值范围1~128

any:任意源IPv6地址

destination { dest-address dest-prefix | dest-address/dest-prefix | any }

目的IPv6地址

指定ACL规则的目的IPv6地址信息

dest-address:目的IPv6地址

dest-prefix:目的IPv6地址的前缀长度,取值范围1~128

any:任意目的IPv6地址

counting

统计

开启规则匹配软件统计功能,缺省为关闭

本参数用于开启本规则的匹配统计功能,而packet-filter ipv6命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能

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)

flow-label flow-label-value

流标签字段

指定IPv6基本报文头中流标签字段的值

flow-label-value:流标签字段的值,取值范围为0~1048575

fragment

报文分片

仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效

若未指定本参数,表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效

flow-logging

流日志操作

记录规则匹配报文的流日志信息,包括匹配报文的规则、匹配报文的个数、源IP、目的IP、源端口号和目的端口号

该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤

logging

日志操作

表示记录规则匹配报文的日志信息,包括匹配报文的规则和匹配报文的个数

该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤

routing [ type routing-type ]

路由头

指定路由头的类型

routing-type:路由头类型的值,取值范围为0~255

若指定了type routing-type参数,表示仅对指定类型的路由头有效;否则,表示对IPv6所有类型的路由头都有效

hop-by-hop [ type hop-type ]

逐跳头

指定逐跳头的类型

hop-type:逐跳头类型的值,取值范围为0~255

若指定了type hop-type参数,表示仅对指定类型的逐跳头有效;否则,表示对IPv6所有类型的逐跳头都有效

time-range time-range-name

时间段

指定本规则生效的时间段

time-range-name:时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“ACL和QoS配置指导”中的“时间段”

vpn-instance vpn-instance-name

VPN实例

对指定VPN实例中的报文有效

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

应用ACL进行报文匹配时,ACL规则中未指定VPN实例时,该规则对非VPN报文和VPN报文均有效

其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明

 

protocoltcp(6)或udp(17)时,用户还可配置如表1-17所示的规则信息参数。

表1-17 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)、dns(53)、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报文标识

定义对携带不同标志位(包括ACK、FIN、PSH、RST、SYN和URG六种)的TCP报文的处理规则

TCP协议特有的参数。表示匹配携带不同标志位的TCP报文,各value的取值可为0或1(0表示不携带此标志位,1表示携带此标志位)

如果在一条规则中设置了多个TCP标志位的匹配值,则这些匹配条件之间的关系为“与”。譬如:当配置为ack 0 psh 1时,表示匹配不携带ACK且携带PSH标志位的TCP报文

established

TCP连接建立标识

定义对TCP连接报文的处理规则

TCP协议特有的参数

用于定义TCP报文中ACK或RST标志位为1的报文

 

protocolicmpv6(58)时,用户还可配置如表1-18所示的规则信息参数。

表1-18 ICMPv6特有的规则信息参数

参数

类别

作用

说明

icmp6-type { icmp6-type icmp6-code | icmp6-message }

ICMPv6报文的消息类型和消息码

指定本规则中ICMPv6报文的消息类型和消息码信息

icmp6-type:ICMPv6消息类型,取值范围为0~255

icmp6-code:ICMPv6消息码,取值范围为0~255

icmp6-message:ICMPv6消息名称。可以输入的ICMPv6消息名称,及其与消息类型和消息码的对应关系如表1-19所示

 

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

ICMPv6消息名称

ICMPv6消息类型

ICMPv6消息码

echo-reply

129

0

echo-request

128

0

err-Header-field

4

0

frag-time-exceeded

3

1

hop-limit-exceeded

3

0

host-admin-prohib

1

1

host-unreachable

1

3

neighbor-advertisement

136

0

neighbor-solicitation

135

0

network-unreachable

1

0

packet-too-big

2

0

port-unreachable

1

4

redirect

137

0

router-advertisement

134

0

router-solicitation

133

0

unknown-ipv6-opt

4

2

unknown-next-hdr

4

1

 

vxlan:表示报文是IPv4 VXLAN封装。此类型的ACL规则不支持配置外层五元组相关信息。

vxlan-id vxlan-id:VXLAN ID,取值范围为0~16777215。

inner-protocol:表示IPv6承载的内层协议类型,可输入的形式如下:

·     数字:取值范围为0~255;

·     名称(括号内为对应的数字):可选取gre(47)、icmpv6(58)、ipv6ospf(89)、tcp(6)或udp(17)。

inner-protocol之后可配置如表1-20所示的规则信息参数。

表1-20 规则信息参数

参数

类别

作用

说明

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

VXLAN报文内层TCP标识

定义对携带不同标志位(包括ACK、FIN、PSH、RST、SYN和URG六种)的TCP报文的处理规则

TCP协议特有的参数。表示匹配携带不同标志位的TCP报文,各value的取值可为0或1(0表示不携带此标志位,1表示携带此标志位)

如果在一条规则中设置了多个TCP标志位的匹配值,则这些匹配条件之间的关系为“与”。譬如:当配置为ack 0 psh 1时,表示匹配不携带ACK且携带PSH标志位的TCP报文

inner-established

VXLAN报文内层TCP连接建立标识

定义对内层TCP连接报文的处理规则

TCP协议特有的参数,用于定义TCP报文中ACK或RST标志位为1的报文

inner-source { source-address source-prefix | any }

VXLAN报文内层源地址信息

指定ACL规则的内层源地址信息

source-address:源IPv6地址

source-prefix:源IPv6地址的前缀长度,取值范围1~128

any:任意源IPv6地址

inner-destination { dest-address dest-prefix | any }

VXLAN报文内层目的地址信息

指定ACL规则的内层目的地址信息

dest-address:目的IPv6地址

dest-prefix:目的IPv6地址的前缀长度,取值范围1~128

any:任意目的IP地址

inner-dscp inner-dscp

VXLAN报文内层报文优先级

指定DSCP优先级

inner-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)

inner-ecn inner-ecn

VXLAN报文内层ECN通知信息

指定ECN标志

inner-ecn的取值范围为0~3,对应IP报文头部DS域的最后两个比特位的取值(00~11)

有关DS域以及ECN功能的详细介绍,请参见“ACL和QoS配置指导”中的“QoS”

inner-protocoltcp(6)或udp(17)时,用户还可配置如表1-21所示的规则信息参数。

表1-21 TCP/UDP特有的规则信息参数

参数

类别

作用

说明

inner-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)、dns(53)、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)

如果使用domain关键字来指定TCP端口号,在配置文件中保存时关键字将显示为dns

inner-destination-port operator port1 [ port2 ]

内层目的端口

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

【使用指导】

当ACL用于QoS策略的流分类或报文过滤功能时:

·     规则不支持配置fragment参数。

·     规则中操作符operator取值不能为neq

·     如果QoS策略或报文过滤功能应用于出方向,规则不支持配置vpn-instanceroutinghop-by-hopflow-label参数。

使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。

新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。

当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。

display acl ipv6 all命令可以查看所有已存在的IPv6高级ACL规则和IPv6基本ACL规则。

删除规则时需要注意的是:

·     使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。

·     undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。

【举例】

# 为IPv6高级ACL 3000创建规则如下:允许2030:5060::/64网段内的主机与FE80:5060::/96网段内主机的WWW端口(端口号为80)建立连接。

<Sysname> system-view

[Sysname] acl ipv6 advanced 3000

[Sysname-acl-ipv6-adv-3000] rule permit tcp source 2030:5060::/64 destination fe80:5060::/96 destination-port eq 80

# 为IPv6高级ACL 3001创建规则如下:允许IPv6报文通过,但拒绝发往FE80:5060:1001::/48网段的ICMPv6报文通过。

<Sysname> system-view

[Sysname] acl ipv6 advanced 3001

[Sysname-acl-ipv6-adv-3001] rule deny icmpv6 destination fe80:5060:1001:: 48

[Sysname-acl-ipv6-adv-3001] rule permit ipv6

# 为IPv6高级ACL 3002创建规则如下:在出、入双方向上都允许建立FTP连接并传输FTP数据。

<Sysname> system-view

[Sysname] acl ipv6 advanced 3002

[Sysname-acl-ipv6-adv-3002] rule permit tcp source-port eq ftp

[Sysname-acl-ipv6-adv-3002] rule permit tcp source-port eq ftp-data

[Sysname-acl-ipv6-adv-3002] rule permit tcp destination-port eq ftp

[Sysname-acl-ipv6-adv-3002] rule permit tcp destination-port eq ftp-data

# 为IPv6高级ACL 3003创建规则如下:在出、入双方向上都允许SNMP报文和SNMP Trap报文通过。

<Sysname> system-view

[Sysname] acl ipv6 advanced 3003

[Sysname-acl-ipv6-adv-3003] rule permit udp source-port eq snmp

[Sysname-acl-ipv6-adv-3003] rule permit udp source-port eq snmptrap

[Sysname-acl-ipv6-adv-3003] rule permit udp destination-port eq snmp

[Sysname-acl-ipv6-adv-3003] rule permit udp destination-port eq snmptrap

# 为IPv6高级ACL 3004创建规则如下:在含有逐跳头的报文中,只允许转发含有MLD选项(Type=5)的报文,丢弃其他报文。

<Sysname> system-view

[Sysname] acl ipv6 advanced 3004

[Sysname-acl-ipv6-adv-3004] rule permit ipv6 hop-by-hop type 5

[Sysname-acl-ipv6-adv-3004] rule deny ipv6 hop-by-hop

【相关命令】

·     acl

·     acl logging interval

·     display acl

·     step

·     time-range(ACL和QoS命令参考/时间段)

1.1.22  rule (IPv6 basic ACL view)

rule命令用来为IPv6基本ACL创建一条规则。

undo rule命令用来为IPv6基本ACL删除一条规则或删除规则中的部分内容。

【命令】

rule [ rule-id ] { deny | permit } [ counting | fragment | [ flow-logging | logging ] | routing [ type routing-type ] | source { source-address source-prefix | source-address/source-prefix | any } | time-range time-range-name | vpn-instance vpn-instance-name ] *

undo rule rule-id [ counting | fragment | [ flow-logging | logging ] | routing | source | time-range | vpn-instance ] *

undo rule { deny | permit } [ counting | fragment | [ flow-logging | logging ] | routing [ type routing-type ] | source { source-address source-prefix | source-address/source-prefix | any } | time-range time-range-name | vpn-instance vpn-instance-name ] *

【缺省情况】

IPv6基本ACL内不存在任何规则。

【视图】

IPv6基本ACL视图

【缺省用户角色】

network-admin

【参数】

rule-id:指定IPv6基本ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。

deny:表示拒绝符合条件的报文。

permit:表示允许符合条件的报文。

counting:表示开启规则匹配软件统计功能,缺省为关闭。

fragment:表示仅对非首片分片报文有效,而对非分片报文和首片分片报文无效。若未指定本参数,表示该规则对非分片报文和分片报文均有效。

flow-logging:表示对符合条件的报文记录流日志信息,包括匹配报文的规则、匹配报文的个数、源IP和目的IP。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。

logging:表示记录规则匹配报文的日志信息,包括匹配报文的规则和匹配报文的个数。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。

routing [ type routing-type ]:表示对所有或指定类型的路由头有效,routing-type表示路由头类型的值,取值范围为0~255。若指定了type routing-type参数,表示仅对指定类型的路由头有效;否则,表示对IPv6所有类型的路由头都有效。

source { source-address source-prefix | source-address/source-prefix | any }:指定规则的源IPv6地址信息。source-address表示报文的源IPv6地址,source-prefix表示源IPv6地址的前缀长度,取值范围为1~128,any表示任意源IPv6地址。

time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“ACL和QoS配置指导”中的“时间段”。

vpn-instance vpn-instance-name:表示对指定VPN实例中的报文有效。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。应用ACL进行报文过滤,ACL规则中未指定VPN实例时,表示该规则对非VPN报文和VPN报文均有效;其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明。

【使用指导】

使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。

新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。

当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。

display acl ipv6 all命令可以查看所有已存在的IPv6高级ACL规则和IPv6基本ACL规则。

删除规则时需要注意的是:

·     使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。

·     undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。

counting关键字用于开启本规则的匹配统计功能,而packet-filter ipv6命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能。

【举例】

# 为IPv6基本ACL 2000创建规则如下:仅允许来自1001::/16、3124:1123::/32和FE80:5060:1001::/48网段的报文通过,而拒绝来自所有其它网段的报文通过。

<Sysname> system-view

[Sysname] acl ipv6 basic 2000

[Sysname-acl-ipv6-basic-2000] rule permit source 1001:: 16

[Sysname-acl-ipv6-basic-2000] rule permit source 3124:1123:: 32

[Sysname-acl-ipv6-basic-2000] rule permit source fe80:5060:1001:: 48

[Sysname-acl-ipv6-basic-2000] rule deny source any

【相关命令】

·     acl

·     acl logging interval

·     display acl

·     step

·     time-range(ACL和QoS命令参考/时间段)

1.1.23  rule (Layer 2 ACL view)

rule命令用来为二层ACL创建一条规则。

undo rule命令用来为二层ACL删除一条规则或删除规则中的部分内容。

【命令】

rule [ rule-id ] { deny | permit } [ cos dot1p | counting | dest-mac dest-address dest-mask | { lsap lsap-type lsap-type-mask | type protocol-type protocol-type-mask } | source-mac source-address source-mask | time-range time-range-name ] *

rule [ rule-id ] { deny | permit } vxlan [ counting | dest-mac dest-address dest-mask | inner-dest-mac inner-dest-address inner-dest-mask | inner-source-mac inner-source-address inner-source-mask | inner-type inner-protocol-type inner-protocol-type-mask | source-mac source-address source-mask | time-range time-range-name | type protocol-type protocol-type-mask | vxlan-id vxlan-id ] *

undo rule rule-id [ counting | time-range ] *

undo rule { deny | permit } [ cos dot1p | counting | dest-mac dest-address dest-mask | { lsap lsap-type lsap-type-mask | type protocol-type protocol-type-mask } | source-mac source-address source-mask | time-range time-range-name ] *

undo rule { deny | permit } vxlan [ counting | dest-mac dest-address dest-mask | inner-dest-mac inner-dest-address inner-dest-mask | inner-source-mac inner-source-address inner-source-mask | inner-type inner-protocol-type inner-protocol-type-mask | source-mac source-address source-mask | time-range time-range-name | type protocol-type protocol-type-mask | vxlan-id vxlan-id ] *

【缺省情况】

二层ACL内不存在任何规则。

【视图】

二层ACL视图

【缺省用户角色】

network-admin

【参数】

rule-id:指定二层ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。

deny:表示拒绝符合条件的报文。

permit:表示允许符合条件的报文。

cos dot1p:指定802.1p优先级。dot1p表示802.1p优先级,可输入的形式如下:

·     数字:取值范围为0~7;

·     名称:best-effortbackgroundspareexcellent-effortcontrolled-loadvideovoicenetwork-management,依次对应于数字0~7。

counting:表示开启规则匹配软件统计功能,缺省为关闭。

dest-mac dest-address dest-mask:指定目的MAC地址范围。dest-address表示目的MAC地址,格式为H-H-H。dest-mask表示目的MAC地址的掩码,格式为H-H-H。

lsap lsap-type lsap-type-mask:指定LLC封装中的DSAP字段和SSAP字段。lsap-type表示数据帧的封装格式,取值范围为十六进制数0~ffff。lsap-type-mask表示LSAP的类型掩码,用于指定屏蔽位,取值范围为十六进制数0~ffff。

type protocol-type protocol-type-mask:指定链路层协议类型。protocol-type表示数据帧类型,对应Ethernet_II类型和Ethernet_SNAP类型帧中的type域,取值范围为十六进制数0~ffff。protocol-type-mask表示类型掩码,用于指定屏蔽位,取值范围为十六进制数0~ffff。

source-mac source-address source-mask:指定源MAC地址范围。source-address表示源MAC地址,格式为H-H-H。source-mask表示源MAC地址的掩码,格式为H-H-H。

time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“ACL和QoS配置指导”中的“时间段”。

vxlan:表示报文是VXLAN封装。

vxlan-id vxlan-id:VXLAN ID,取值范围为0~16777215。

inner-type inner-protocol-type inner-protocol-type-mask:指定内层链路层协议类型。inner-protocol-type表示16比特的十六进制数表征的内层数据帧类型,对应Ethernet_II类型和Ethernet_SNAP类型帧中的type域。inner-protocol-type-mask表示类型掩码,为16比特的十六进制数,用于指定屏蔽位。

inner-source-mac inner-source-mac-address inner-source-mask:指定内层源MAC地址范围。inner-source-mac-address表示内层源MAC地址,格式为H-H-H。inner-source-mask表示内层源MAC地址的掩码,格式为H-H-H。

inner-dest-mac inner-dest-mac-address inner-dest-mask:指定内层目的MAC地址范围。inner-dest-mac-address表示内层目的MAC地址,格式为H-H-H。inner-dest-mask表示内层目的MAC地址的掩码,格式为H-H-H。

【使用指导】

使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。

新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。

当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。

display acl mac all命令可以查看所有已存在的二层ACL规则。

删除规则时需要注意的是:

·     使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。

·     undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。

counting关键字用于开启本规则的匹配统计功能,而packet-filter命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能。

【举例】

# 为二层ACL 4000创建规则如下:允许ARP报文通过,但拒绝RARP报文通过。

<Sysname> system-view

[Sysname] acl mac 4000

[Sysname-acl-mac-4000] rule permit type 0806 ffff

[Sysname-acl-mac-4000] rule deny type 8035 ffff

# 为二层ACL 4001创建规则如下:允许VXLAN ID为300的VXLAN报文通过。

<Sysname> system-view

[Sysname] acl mac 4001

[Sysname-acl-ethernetframe-4001] rule permit vxlan vxlan-id 300

【相关命令】

·     acl

·     display acl

·     step

·     time-range(ACL和QoS命令参考/时间段)

1.1.24  rule (user-defined ACL view)

rule命令用来为用户自定义ACL创建一条规则。

undo rule命令用来为用户自定义ACL删除一条规则。

【命令】

命令形式一

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

undo rule rule-id

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

命令形式二

rule [ rule-id ] { deny | permit } dual-stack { tcp | udp } [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | destination any | destination-port { operator port1 [ port2 ] } | source any | source-port { operator port1 [ port2 ] } | vpn-instance vpn-instance-name ] * [ counting | time-range time-range-name ] *

undo rule [ rule-id ] { deny | permit } dual-stack { tcp | udp } [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | destination any | destination-port { operator port1 [ port2 ] } | source any | source-port { operator port1 [ port2 ] } | vpn-instance vpn-instance-name ] * [ counting | time-range time-range-name ] *

【缺省情况】

用户自定义ACL内不存在任何规则。

【视图】

用户自定义ACL视图

【缺省用户角色】

network-admin

【参数】

rule-id:指定用户自定义ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长为5从0开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。

deny:表示拒绝符合条件的报文。

permit:表示允许符合条件的报文。

l2:表示从L2帧头开始偏移。

rule-string:指定用户自定义的规则字符串,必须是16进制数组成,字符长度必须是偶数。

rule-mask:指定规则字符串的掩码,用于和报文作“与”操作,必须是16进制数组成,字符长度必须是偶数,且必须与rule-string的长度相同。

offset:指定偏移量,它以用户指定的报文头部为基准,指定从第几个字节开始进行比较。

&<1-8>:表示前面的参数最多可以输入8次。

counting:表示开启规则匹配软件统计功能,缺省为关闭。

time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“ACL和QoS配置指导”中的“时间段”。

当配置为tcp(6)时,用户还可配置如表1-22所示的规则信息参数。

表1-22 TCP特有规则信息参数

参数

说明

ack ack-value

匹配是否携带对应标志位的TCP报文

value为0时表示不携带此标志位,为1时表示携带此标志位

如果在一条规则中设置了多个TCP标志位的匹配值,则这些匹配条件之间的关系为“与”。譬如:当配置为ack 0 psh 1时,表示匹配不携带ACK且携带PSH标志位的TCP报文

fin fin-value

psh psh-value

rst rst-value

syn syn-value

urg urg-value

established

匹配TCP连接报文

用于定义TCP报文中ACK或RST标志位为1的报文

 

source any:指定规则的源IP地址信息。any表示任意源IP地址。

destination any:指定规则的目的IP地址信息。any表示任意目的IP地址。

source-port { operator port1 [ port2 ] }:指定规则的源端口信息。其中:

·     operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。

·     port1port2表示TCP或UDP的端口号,取值范围为0~65535。当使用range操作符时,必须指定port2参数,使用其它操作符时,不需要指定port2参数。

destination-port { operator port1 [ port2 ] }:指定规则的目的端口信息。其中:

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

·     port1port2表示TCP或UDP的端口号,取值范围为0~65535。当使用range操作符时,必须指定port2参数,使用其它操作符时,不需要指定port2参数。

vpn-instance vpn-instance-name:MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。应用ACL进行报文过滤,ACL规则中未指定VPN实例时,表示该规则非VPN报文和VPN报文均有效。其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明。

【使用指导】

新创建的规则不能与已有规则的内容完全相同,否则将提示出错,并导致创建失败。

使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行覆盖,即新配置的命令生效。

undo rule { deny | permit }命令可在不指定rule-id情况下删除整条规则,但无法删除规则中的部分内容;使用其删除整条规则时,必须输入已存在规则的完整形式;本命令适用于删除通过脚本文件在未指定rule-id情况下创建的规则。

counting关键字用于开启本规则的匹配统计功能,而packet-filter命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能。

display acl user-defined all命令可以查看所有已存在的用户自定义ACL规则。

【举例】

# 为用户自定义ACL 5005创建规则如下:允许从L2帧头的0字节开始算起第12、13两字节的内容为0x0806的报文(即ARP报文)通过。

<Sysname> system-view

[Sysname] acl user-defined 5005

[Sysname-acl-user-5005] rule permit l2 0806 ffff 12

# 为用户自定义ACL 5010创建规则如下:允许UDP源端口号为100的IPv4和IPv6报文通过。

<Sysname> system-view

[Sysname] acl user-defined 5010

[Sysname-acl-user-5010] rule permit dual-stack udp source-port eq 100

【相关命令】

·     acl

·     display acl

·     time-range(ACL和QoS命令参考/时间段)

1.1.25  rule comment

rule comment命令用来为规则配置描述信息。

undo rule comment命令用来删除指定规则的描述信息。

【命令】

rule rule-id comment text

undo rule rule-id comment

【缺省情况】

规则没有描述信息。

【视图】

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

IPv6基本ACL视图/IPv6高级ACL视图

二层ACL视图

用户自定义ACL视图

【缺省用户角色】

network-admin

【参数】

rule-id:指定规则的编号,该规则必须存在。取值范围为0~65534。

text:表示规则的描述信息,为1~127个字符的字符串,区分大小写。

【使用指导】

使用rule comment命令时,如果指定的规则没有描述信息,则为其添加描述信息,否则修改其描述信息。

【举例】

# 为IPv4基本ACL 2000配置规则0,并为该规则配置描述信息。

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000] rule 0 deny source 1.1.1.1 0

[Sysname-acl-ipv4-basic-2000] rule 0 comment This rule is used on gigabitethernet 1/0/1.

【相关命令】

·     display acl

1.1.26  rule remark

rule remark命令用来创建一条规则注释信息。

undo rule remark命令用来删除一条或多条规则注释信息。

【命令】

rule [ rule-id ] remark text

undo rule [ rule-id ] remark [ text ]

【缺省情况】

ACL内没有任何规则注释信息。

【视图】

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

IPv6基本ACL视图/IPv6高级ACL视图

二层ACL视图

用户自定义ACL视图

【缺省用户角色】

network-admin

【参数】

rule-id:指定规则的编号(该编号对应的规则可以存在也可以不存在),取值范围为0~65534。该编号用来确定规则注释信息显示的位置:

·     在配置顺序下:若该编号与现有某规则的编号相同,则该注释信息将紧邻该规则之前显示;否则,将按照编号由小到大显示。

·     在自动排序下:若该编号与现有某规则的编号相同,则该注释信息将紧邻该规则之前显示;否则,将在所有规则的最后显示。

text:表示规则注释信息,为1~127个字符的字符串,区分大小写。

【使用指导】

需要注意的是:

·     使用rule remark命令时,如果没有指定rule-id参数,系统将按照步长从0开始,自动分配一个大于现有规则中最大编号的最小编号。

·     使用undo rule remark命令时,如果没有指定rule-idtext参数,将删除所有规则注释信息;如果没有指定rule-id但指定了text参数,则只删除指定内容的规则注释信息。

【举例】

# 假设规则编号为10~25的这四条规则是为VIP用户制订的,为方便后续维护,对这四条规则进行如下注释:开头和结尾分别注释为“Rules for VIP_start”和“Rules for VIP_end”。

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-basic-2000] rule 10 remark Rules for VIP_start

[Sysname-acl-basic-2000] rule 26 remark Rules for VIP_end

[Sysname-acl-basic-2000] display this

#

acl number 2000

 rule 0 permit source 14.1.1.0 0.0.0.255

 rule 5 permit source 10.1.1.1 0 time-range work-time

 rule 10 remark Rules for VIP_start

 rule 10 permit source 192.168.0.0 0.0.0.255

 rule 15 permit source 1.1.1.1 0

 rule 20 permit source 10.1.1.1 0

 rule 25 permit counting

 rule 26 remark Rules for VIP_end

#

return

【相关命令】

·     display acl

1.1.27  step

step命令用来配置规则编号的步长。

undo step命令用来恢复缺省情况。

【命令】

step step-value [ start start-value ]

undo step

【缺省情况】

规则编号的步长为5,起始值为0。

【视图】

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

IPv6基本ACL视图/IPv6高级ACL视图

二层ACL视图

【缺省用户角色】

network-admin

【参数】

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

start-value:表示规则编号的起始值。取值范围为0~20

【使用指导】

系统为规则自动分配编号的方式如下:系统从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数的编号。譬如原有编号为0、5、9、10和12的五条规则,步长为5,此时如果创建一条规则且不指定编号,那么系统将自动为其分配编号15。

如果步长或规则编号的起始值发生了改变,ACL内原有全部规则的编号都将自动从规则编号的起始值开始按步长重新排列。譬如,某ACL内原有编号为0、5、9、10和15的五条规则,当修改步长为2之后,这些规则的编号将依次变为0、2、4、6和8。

【举例】

# 将IPv4基本ACL 2000的规则编号的步长配置为2。

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000] step 2

【相关命令】

·     display acl

 

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

新华三官网
联系我们