01-ACL命令
本章节下载: 01-ACL命令 (493.58 KB)
目 录
1.1.8 display packet-filter statistics
1.1.9 display packet-filter statistics sum
1.1.10 display packet-filter verbose
1.1.11 display qos-acl resource
1.1.12 packet-filter (Ethernet service instance view)
1.1.13 packet-filter (interface view)
1.1.14 packet-filter default deny
1.1.15 packet-filter default hardware-count
1.1.17 packet-filter permit-flag ignore
1.1.18 packet-filter vlan-interface
1.1.19 qos-acl resource hardware-mode
1.1.20 qos-acl resource share-mode
1.1.22 reset packet-filter statistics
1.1.23 rule (IPv4 advanced ACL view)
1.1.24 rule (IPv4 basic ACL view)
1.1.25 rule (IPv6 advanced ACL view)
1.1.26 rule (IPv6 basic ACL view)
1.1.27 rule (Layer 2 ACL view)
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:
· 指定advanced或basic创建IPv4 ACL
acl { advanced | basic } { acl-number | name acl-name } [ match-order { auto | config } ]
undo acl { all | { advanced | basic } { acl-number | name acl-name } }
· 指定advanced或basic创建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命令指定number和name创建的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的规则匹配顺序进行修改,否则不允许修改。
如果ACL规则的匹配项中包含了除IP五元组(源IP地址、源端口号、目的IP地址、目的端口号、传输层协议)、ICMP报文或ICMPv6报文的消息类型和消息码信息、VPN实例、日志操作和时间段之外的其它匹配项,则设备转发ACL匹配的这类报文时会启用慢转发流程。慢转发时设备会将报文上送控制平面,计算报文相应的表项信息。执行慢转发流程时,设备的转发能力将会有所降低。
【举例】
# 创建一个编号为2000的IPv4基本ACL,并进入其视图。
[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
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,必须输入ipv6、mac或user-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
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)
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)
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个字符的字符串,区分大小写。
【举例】
<Sysname> system-view
[Sysname] acl basic 2000
[Sysname-acl-ipv4-basic-2000] description This is an IPv4 basic ACL.
【相关命令】
· 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的规则匹配顺序为自动排序时,各规则将按照“深度优先”原则由深到浅排列。
如果未指定ipv6、mac或user-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 Twenty-FiveGigE1/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 Twenty-FiveGigE1/0/1. |
规则5的描述信息 |
display packet-filter命令用来显示ACL在报文过滤中的应用情况。
【命令】
display packet-filter { interface [ interface-type interface-number ] | l2vpn-ac [ interface interface-type interface-number [ service-instance instance-id ] ] | vlan-interface } [ inbound | outbound ] [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
interface [ interface-type interface-number ]:显示指定接口上ACL在报文过滤中的应用情况。interface-type interface-number表示接口类型和接口编号。若未指定接口类型和接口编号,将显示所有接口上ACL在报文过滤中的应用情况。当接口类型为以太网接口时,不需要指定slot参数。
l2vpn-ac [ interface interface-type interface-number [ service-instance instance-id ] ]:显示指定以太网服务实例上ACL在报文过滤中的应用情况。interface interface-type interface-number [ service-instance instance-id ]表示指定接口上的指定以太网服务实例,其中:
· interface-type interface-number表示接口类型和接口编号。
· instance-id表示以太网服务实例的ID,取值范围为1~4096。
· 若未指定interface interface-type interface-number [ service-instance instance-id ],将显示设备上所有以太网服务实例上ACL在报文过滤中的应用情况。
· 若仅指定了interface interface-type interface-number未指定service-instance instance-id,将显示指定接口上所有以太网服务实例上ACL在报文过滤中的应用情况。
vlan-interface:显示VLAN接口列表上ACL在报文过滤中的应用情况。
inbound:显示入方向上ACL在报文过滤中的应用情况。
outbound:显示出方向上ACL在报文过滤中的应用情况。
slot slot-number:显示指定成员设备上ACL在报文过滤中的应用情况,slot-number表示设备在IRF中的成员编号。若未指定本参数,将显示主用设备上ACL在报文过滤中的应用情况。
【使用指导】
如果未指定inbound和outbound参数,将同时显示出、入方向上ACL在报文过滤中的应用情况。
【举例】
# 显示接口Twenty-FiveGigE1/0/1入方向上ACL在报文过滤中的应用情况。
<Sysname> display packet-filter interface twenty-fivegige 1/0/1 inbound
Interface: Twenty-FiveGigE1/0/1
Inbound policy:
IPv4 ACL 2001 Vxlan-inner, Share-mode
IPv6 ACL 2002 (Failed)
MAC ACL 4003
# 显示VLAN接口列表上ACL在报文过滤中的应用情况。
<Sysname> display packet-filter vlan-interface
VLAN interface : 2 to 5
Inbound policy:
IPv4 ACL 2001
IPv4 default action: Deny (Failed)
VLAN interface : 2 to 5
Outbound policy:
MAC ACL 4001, Hardware-count
MAC default action: Deny
# 显示接口Twenty-FiveGigE1/0/1下以太网服务实例1入方向上ACL在报文过滤中的应用情况。
<Sysname> display packet-filter l2vpn-ac interface twenty-fivegige 1/0/1 service-instance 1 inbound
Interface: twenty-fivegige 1/0/1 Service Instance ID: 1
Inbound policy:
IPv4 ACL 2001
IPv6 ACL 2002 (Failed)
MAC ACL 4003, Hardware-count (Failed)
表1-2 display packet-filter命令显示信息描述表
字段 |
描述 |
Interface |
ACL在指定接口上的应用情况 |
VLAN interface |
ACL在VLAN接口列表上的应用情况 |
Interface: Twenty-FiveGigE1/0/1 Service Instance ID: 1 |
ACL在以太网服务实例1上的应用情况,Twenty-FiveGigE1/0/1为以太网服务实例所在的接口 |
Inbound policy |
ACL在入方向上的应用情况 |
Outbound policy |
ACL在出方向上的应用情况 |
IPv4 ACL 2001 |
IPv4基本ACL 2001应用成功 |
IPv6 ACL 2002 (Failed) |
IPv6基本ACL 2002应用失败 |
Vxlan-inner |
指定ACL规则匹配VXLAN报文内层字段 |
Share-mode |
QoS和ACL资源的共享模式,当应用报文过滤时携带了share-mode关键字,显示信息中才会出现该字段 |
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):规则匹配硬件统计功能应用失败 |
display packet-filter statistics命令用来显示ACL在报文过滤中应用的统计信息。
【命令】
display packet-filter statistics { interface interface-type interface-number | l2vpn-ac interface interface-type interface-number service-instance instance-id | vlan-interface } { inbound | outbound } [ default | [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] [ brief ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
interface interface-type interface-number:显示指定接口上的统计信息。interface-type interface-number表示接口类型和接口编号。
l2vpn-ac interface interface-type interface-number service-instance instance-id:显示指定以太网服务实例上的统计信息。interface-type interface-number表示接口类型和接口编号。instance-id表示以太网服务实例的ID,取值范围为1~4096。
vlan-interface:显示VLAN接口列表上应用ACL的统计信息。
inbound:显示入方向上的统计信息。
outbound:显示出方向上的统计信息。
default:显示报文过滤缺省动作的统计信息。
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:显示简要统计信息。
【使用指导】
如果未指定default、acl-number、name acl-name和ACL类型(ipv6、mac、user-defined)参数,将显示全部ACL在报文过滤中应用的统计信息。
【举例】
# 显示接口Twenty-FiveGigE1/0/1入方向上全部ACL在报文过滤中应用的统计信息。
<Sysname> display packet-filter statistics interface twenty-fivegige 1/0/1 inbound
Interface: Twenty-FiveGigE1/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
# 显示VLAN接口列表入方向上IPv4高级ACL 3000在报文过滤中应用的统计信息。
<Sysname> display packet-filter statistics vlan-interface inbound 3000
VLAN interface: 2 to 10
Inbound policy:
IPv4 ACL 3000, Hardware-count (Failed)
From 2011-06-04 10:25:34 to 2011-06-04 10:35:57
rule 0 permit source 2.2.2.2 0
rule 5 permit source 1.1.1.1 0 counting (2 packets)
rule 10 permit vpn-instance test
Totally 2 packets permitted, 0 packets denied
Totally 100% permitted, 0% denied
# 显示接口Twenty-FiveGigE1/0/1上以太网服务实例1入方向上全部ACL在报文过滤中应用的统计信息。
<Sysname> display packet-filter statistics l2vpn-ac interface twenty-fivegige 1/0/1 service-instance 1 inbound
Interface: Twenty-FiveGigE1/0/1 Service Instance ID: 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
MAC ACL 4000
From 2011-06-04 10:25:34 to 2011-06-04 10:35:57
rule 0 permit
IPv6 ACL 2000
表1-3 display packet-filter statistics命令显示信息描述表
字段 |
描述 |
Interface |
在指定接口上应用的统计信息 |
VLAN interface |
在VLAN接口列表上应用的统计信息 |
Interface: Twenty-FiveGigE1/0/1 Service Instance ID: 1 |
ACL在以太网服务实例1上的统计信息,Twenty-FiveGigE1/0/1为以太网服务实例所在的接口 |
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
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在报文过滤中应用的简要累加统计信息。
【使用指导】
如果未指定ipv6、mac或user-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
display packet-filter verbose命令用来显示ACL在报文过滤中的详细应用情况。
【命令】
display packet-filter verbose { interface interface-type interface-number | l2vpn-ac interface interface-type interface-number service-instance instance-id | vlan-interface } { inbound | outbound } [ [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
interface interface-type interface-number:显示指定接口上ACL在报文过滤中的详细应用情况。interface-type interface-number表示接口类型和接口编号。当接口类型为以太网接口时,不需要指定slot参数。
l2vpn-ac interface interface-type interface-number service-instance instance-id:显示指定以太网服务实例上ACL在报文过滤中的详细应用情况。interface-type interface-number表示接口类型和接口编号。instance-id表示以太网服务实例的ID,取值范围为1~4096。
vlan-interface:显示VLAN接口列表上ACL在报文过滤中的详细应用情况。
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-number、name acl-name和ACL类型(ipv6、mac、user-defined)参数,将显示全部IPv4 ACL在报文过滤中的详细应用情况。
【举例】
# 显示接口Twenty-FiveGigE1/0/1入方向上全部ACL在报文过滤中的详细应用情况。
<Sysname> display packet-filter verbose interface twenty-fivegige 1/0/1 inbound
Interface: Twenty-FiveGigE1/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
IPv6 default action: Deny, Hardware-count (Failed)
MAC default action: Deny
# 显示VLAN接口列表入方向上ACL在报文过滤中的详细应用情况。
<Sysname> display packet-filter verbose vlan-interface inbound
VLAN interface: 2 to 10
Inbound policy:
IPv4 ACL 2001, Hardware-count
rule 0 permit
rule 5 permit source 1.1.1.1 0
rule 10 permit vpn-instance test
# 显示接口Twenty-FiveGigE1/0/1上以太网服务实例1入方向上ACL在报文过滤中的详细应用情况。
<Sysname> display packet-filter verbose l2vpn-ac interface twenty-fivegige 1/0/1 service-instance 1 inbound
Interface: Twenty-FiveGigE1/0/1 Service Instance ID: 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
IPv6 default action: Deny
MAC default action: Deny
表1-5 display packet-filter verbose命令显示信息描述表
字段 |
描述 |
Interface |
ACL在指定接口上的详细应用情况 |
VLAN interface |
ACL在VLAN接口列表上的详细应用情况 |
Interface: Twenty-FiveGigE1/0/1 Service Instance ID: 1 |
ACL在以太网服务实例1上的详细应用情况,Twenty-FiveGigE1/0/1为以太网服务实例所在的接口 |
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):规则匹配硬件统计功能应用失败 |
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资源的使用情况。
设备支持通过switch-mode命令模式工作切换,不同工作模式下QoS和ACL资源的大小会有所不同,具体QoS和ACL资源的可用个数,可通过display qos-acl resource命令进行查看。关于switch-mode命令的详细介绍,请参见“基础配置命令参考”中的“设备管理”。
【举例】
# 以普通模式显示QoS和ACL资源的使用情况。
<Sysname> display qos-acl resource
Interfaces: WGE1/0/1 to WGE1/0/24, HGE1/0/25 to HGE1/0/28 (slot 1)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 1024 257 1 766 25%
IFP ACL 18432 9220 2 9210 50%
IFP Meter 3072 97 1 2974 3%
IFP Counter 9216 4610 1 4605 50%
EFP ACL 2048 0 0 2048 0%
EFP Meter 1024 0 0 1024 0%
EFP Counter 1024 0 0 1024 0%
Interfaces: HGE1/0/29 to HGE1/0/32, WGE1/0/33 to WGE1/0/56
GE1/0/57 to GE1/0/58 (slot 1)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 1024 257 1 766 25%
IFP ACL 18432 9220 2 9210 50%
IFP Meter 3072 106 1 2965 3%
IFP Counter 9216 4610 1 4605 50%
EFP ACL 2048 0 0 2048 0%
EFP Meter 1024 0 0 1024 0%
EFP Counter 1024 0 0 1024 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: WGE2/0/1 to WGE2/0/24, HGE2/0/25 to HGE2/0/28 (slot 2)
---------------------------------------------------------------------
Stage Slice Total Configured Remaining Usage
---------------------------------------------------------------------
IFP 0 1536 0 1536 0%
IFP 1 1536 0 1536 0%
IFP 2 1536 0 1536 0%
IFP 3 1536 0 1536 0%
IFP 4 1536 0 1536 0%
IFP 5 1536 0 1536 0%
IFP 6 768 104 664 13%
IFP 7 768 104 664 13%
IFP 8 768 104 664 13%
IFP 9 768 37 731 4%
IFP 10 768 37 731 4%
IFP 11 768 1 767 0%
VFP 0 256 16 240 6%
VFP 1 256 0 256 0%
VFP 2 256 0 256 0%
VFP 3 256 0 256 0%
EFP 0 512 0 512 0%
EFP 1 512 0 512 0%
EFP 2 512 0 512 0%
EFP 3 512 0 512 0%
Interfaces: HGE2/0/29 to HGE2/0/32, WGE2/0/33 to WGE2/0/56, GE2/0/57 to GE2/0/5
8 (slot 2)
---------------------------------------------------------------------
Stage Slice Total Configured Remaining Usage
---------------------------------------------------------------------
IFP 0 1536 0 1536 0%
IFP 1 1536 0 1536 0%
IFP 2 1536 0 1536 0%
IFP 3 1536 0 1536 0%
IFP 4 1536 0 1536 0%
IFP 5 1536 0 1536 0%
IFP 6 768 104 664 13%
IFP 7 768 104 664 13%
IFP 8 768 104 664 13%
IFP 9 768 41 727 5%
IFP 10 768 41 727 5%
IFP 11 768 1 767 0%
VFP 0 256 16 240 6%
VFP 1 256 0 256 0%
VFP 2 256 0 256 0%
VFP 3 256 0 256 0%
EFP 0 512 0 512 0%
EFP 1 512 0 512 0%
EFP 2 512 0 512 0%
EFP 3 512 0 512 0%
表1-7 display qos-acl resource advanced-mode命令显示信息描述表
字段 |
描述 |
Interfaces |
资源应用的接口 |
Stage |
处理阶段: · VFP:表示二层转发阶段 · IFP:表示接收阶段 · EFP:表示发送阶段 |
Slice |
ACL资源的Slice索引 |
Total |
资源总数 |
Configured |
已经使用的资源数 |
Remaining |
剩余可用的资源数 |
Usage |
已配置的资源数占资源总数的百分比,分子按实际计算结果的整数部分显示,例如实际计算结果为50.8%,此处显示为50% |
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 }
【缺省情况】
以太网服务实例不对报文进行过滤。
【视图】
以太网服务实例视图
【缺省用户角色】
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:表示开启规则匹配硬件统计功能,缺省为关闭。
【使用指导】
关于以太网服务实例的相关配置,请参见“VXLAN配置指导”。
通过编号引用ACL,请遵循如下规则:
· 当需要引用IPv4类型ACL时,请直接指定acl-number。
· 当需要引用IPv6类型ACL时,必须首先指定ipv6关键字,再指定acl-number。
· 当需要引用二层或用户自定义类型ACL时,可首先指定mac或user-defined关键字再指定acl-number,或直接指定acl-number。
通过名称引用ACL,请遵循如下规则:
· 当需要引用IPv4类型ACL时,请直接指定name acl-name。
· 当需要引用IPv6、二层或用户自定义类型ACL时,必须首先指定ipv6、mac或user-defined关键字,再指定name acl-name。
本命令中的hardware-count关键字用于开启指定ACL内所有规则的规则匹配硬件统计功能,而rule命令中的counting关键字则用于开启当前规则的匹配统计功能。
如果设备资源不足,必须先执行undo packet-filter命令取消报文过滤,然后再配置不携带hardware-count关键字的报文过滤,以此关闭规则匹配硬件统计功能。
如果设备资源充足,可通过不携带hardware-count关键字重新配置报文过滤,以此关闭规则匹配硬件统计功能。
【举例】
# 应用IPv4高级ACL 3001对以太网服务实例收到的报文进行过滤,并开启规则匹配硬件统计功能。
<Sysname> system-view
[Sysname] interface twenty-fivegige 1/0/1
[Sysname-Twenty-FiveGigE1/0/1] service-instance 200
[Sysname-Twenty-FiveGigE1/0/1-srv200] packet-filter 3001 inbound hardware-count
【相关命令】
· display packet-filter
· display packet-filter statistics
· display packet-filter verbose
packet-filter命令用来在接口上应用ACL进行报文过滤。
undo packet-filter命令用来取消在接口上应用ACL进行报文过滤。
【命令】
packet-filter [ ipv6 | mac | user-defined ] { acl-number | name acl-name } { inbound | outbound } [ hardware-count ] [ share-mode ] [ vxlan-inner ]
undo packet-filter [ ipv6 | mac | user-defined ] { acl-number | name acl-name } { inbound | outbound }
【缺省情况】
接口不对报文进行过滤。
【视图】
二层以太网接口视图/二层聚合接口视图/三层以太网接口视图/三层以太网子接口视图/三层聚合接口视图/VLAN接口视图/VSI虚接口视图
【缺省用户角色】
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:表示开启规则匹配硬件统计功能,缺省为关闭。
share-mode:对二层以太网接口、三层以太网接口和VSI虚接口应用ACL配置共享QoS和ACL资源模式的报文过滤。该模式下,同一单板或成员设备接口出入方向所有应用了相同ACL进行报文过滤的接口共享一份QoS和ACL资源。
vxlan-inner:指定ACL规则匹配VXLAN报文内层字段。
【使用指导】
通过编号引用ACL,请遵循如下规则:
· 当需要引用IPv4类型ACL时,请直接指定acl-number。
· 当需要引用IPv6类型ACL时,必须首先指定ipv6关键字,再指定acl-number。
· 当需要引用二层或用户自定义类型ACL时,可首先指定mac或user-defined关键字再指定acl-number,或直接指定acl-number。
通过名称引用ACL,请遵循如下规则:
· 当需要引用IPv4类型ACL时,请直接指定name acl-name。
· 当需要引用IPv6、二层或用户自定义类型ACL时,必须首先指定ipv6、mac或user-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。
对于同一VLAN接口的同一个方向,可以在VLAN接口视图下配置packet-filter命令实现报文过滤功能,也可以在系统视图下配置packet-filter vlan-interface命令实现报文过滤功能,但二者不可同时配置。
在VXLAN组网环境中,可以通过配置vxlan-inner关键字指定ACL规则匹配VXLAN报文内层字段,以此过滤接口收到的VXLAN报文。例如,IPv4高级ACL 3000中存在rule permit ip source 10.0.0.0 0.255.255.255这样的匹配规则,接口入方向引用该ACL配置报文过滤时:
· 如果指定了vxlan-inner关键字,则ACL规则中的10.0.0.0/24表示的是VXLAN报文内层源IP。
· 如果未指定vxlan-inner关键字,则ACL规则中的10.0.0.0/24表示的是未封装报文的源IP或封装后报文外层源IP。
配置vxlan-inner关键字时需要注意的是:
· 仅接口应用IPv4基本ACL、IPv4高级ACL或二层ACL时支持配置vxlan-inner关键字;
· 如需取消ACL规则匹配VXLAN报文内层字段的配置,请先取消接口上引用了该ACL规则的报文过滤应用,然后在接口上重新配置并应用不携带vxlan-inner关键字的报文过滤。
缺省情况下,在VLAN接口上应用ACL进行报文过滤无法匹配Untagged报文。如果希望匹配Untagged报文,请使用qos-acl resource hardware-mode命令将QoS和ACL资源的硬件模式配置为outbound-vlan-enhanced模式。
如需在聚合接口出方向应用ACL进行报文过滤,请先配置qos-acl resource share-mode outbound pfilter-agg-exclusive命令,否则报文过滤配置失败。
【举例】
# 应用IPv4基本ACL 2001对接口Twenty-FiveGigE1/0/1收到的报文进行过滤,并开启规则匹配硬件统计功能。
<Sysname> system-view
[Sysname] interface twenty-fivegige 1/0/1
[Sysname-Twenty-FiveGigE1/0/1] packet-filter 2001 inbound hardware-count
# 以共享QoS和ACL资源模式应用IPv4基本ACL 2001对接口Twenty-FiveGigE1/0/1发送的报文进行过滤。
<Sysname> system-view
[Sysname] interface twenty-fivegige 1/0/1
[Sysname-Twenty-FiveGigE1/0/1] packet-filter 2001 outbound share-mode
· display packet-filter
· display packet-filter statistics
· display packet-filter verbose
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
packet-filter default hardware-count命令用来在接口上开启报文过滤缺省动作硬件统计功能。
undo packet-filter default hardware-count命令用来在接口上关闭报文过滤缺省动作硬件统计功能。
【命令】
packet-filter default { inbound | outbound } hardware-count
undo packet-filter default { inbound | outbound } hardware-count
【缺省情况】
报文过滤缺省动作统计功能处于关闭状态。
【视图】
以太网服务实例视图/二层以太网接口视图/二层聚合接口视图/三层以太网接口视图/三层以太网子接口视图/三层聚合接口视图/VLAN接口视图/VSI虚接口视图
【缺省用户角色】
network-admin
【参数】
inbound:表示入方向。
outbound:表示出方向。基于二层聚合接口、三层聚合接口和VSI虚接口应用ACL进行报文过滤时,不支持在出方向开启报文过滤缺省动作硬件统计功能。
【使用指导】
在接口上只有应用了ACL进行报文过滤,才允许开启报文过滤缺省动作统计功能。
【举例】
# 配置报文过滤的缺省动作为Deny,在接口Twenty-FiveGigE1/0/1上对收到的报文应用IPv4基本ACL 2001进行过滤,并开启报文过滤缺省动作统计功能。
<Sysname> system-view
[Sysname] packet-filter default deny
[Sysname] interface twenty-fivegige 1/0/1
[Sysname-Twenty-FiveGigE1/0/1] packet-filter 2001 inbound
[Sysname-Twenty-FiveGigE1/0/1] packet-filter default inbound hardware-count
【相关命令】
· packet-filter
· packet-filter default deny
· display packet-filter
· display packet-filter statistics
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
packet-filter permit-flag ignore命令用来配置忽略报文过滤功能添加的Permit标记。
undo packet-filter permit-flag ignore命令用来恢复缺省情况。
【命令】
packet-filter permit-flag ignore
undo packet-filter permit-flag ignore
【缺省情况】
不会忽略报文过滤功能添加的Permit标记。
【视图】
系统视图
【缺省用户角色】
network-admin
【使用指导】
报文过滤功能通过引用ACL实现。当ACL规则中的动作为Permit时,命中该规则的报文将被允许通过,并为这类报文添加Permit标记。携带Permit标记的报文即使匹配了QoS策略的丢弃动作(例如,CAR中的Discard动作),也不会被丢弃。
配置本命令后,设备会忽略报文过滤功能为报文添加的Permit标记,该报文可以被QoS策略的丢弃动作处理。
Permit标记仅在本设备上生效。
【举例】
# 配置忽略报文过滤功能添加的Permit标记。
<Sysname> system-view
[Sysname] packet-filter permit-flag ignore
【相关命令】
· car(ACL和QoS命令参考/QoS)
· filter(ACL和QoS命令参考/QoS)
· packet-filter (Ethernet service instance view)
· packet-filter (interface view)
· packet-filter vlan-interface
packet-filter vlan-interface命令用来在VLAN接口列表上应用ACL进行报文过滤。
undo packet-filter vlan-interface命令用来取消在VLAN接口列表上应用ACL进行报文过滤。
【命令】
packet-filter [ ipv6 | mac | user-defined ] { acl-number | name acl-name } vlan-interface vlan-interface-list { inbound | outbound } [ hardware-count ]
undo packet-filter [ ipv6 | mac | user-defined ] { acl-number | name acl-name } vlan-interface vlan-interface-list { 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个字符的字符串,不区分大小写。
vlan-interface vlan-interface-list:指定VLAN接口列表。vlan-interface-list为VLAN接口列表,表示一个或多个VLAN接口。表示方式为vlan-interface-list = { vlan-interface-id [ to vlan-interface-id ] }&<1-8>。其中,vlan-interface-id为VLAN接口的编号。&<1-8>表示前面的参数最多可以输入8次。
inbound:对收到的报文进行过滤。
outbound:对发出的报文进行过滤。
hardware-count:表示开启规则匹配硬件统计功能,缺省为关闭。
【使用指导】
通过编号引用ACL,请遵循如下规则:
· 当需要引用IPv4类型ACL时,请直接指定acl-number。
· 当需要引用IPv6类型ACL时,必须首先指定ipv6关键字,再指定acl-number。
· 当需要引用二层或用户自定义类型ACL时,可首先指定mac或user-defined关键字再指定acl-number,或直接指定acl-number。
通过名称引用ACL,请遵循如下规则:
· 当需要引用IPv4类型ACL时,请直接指定name acl-name。
· 当需要引用IPv6、二层或用户自定义类型ACL时,必须首先指定ipv6、mac或user-defined关键字,再指定name acl-name。
对于同一VLAN接口的同一个方向,可以在VLAN接口视图下配置packet-filter命令实现报文过滤功能,也可以在系统视图下配置packet-filter vlan-interface命令实现报文过滤功能,但二者不可同时配置。
配置本命令时,同一方向上只能应用1个ACL进行报文过滤。
hardware-count关键字用于开启指定ACL内所有规则的规则匹配硬件统计功能,而rule命令中的counting关键字则用于开启当前规则的匹配统计功能。
通过hardware-count关键字修改匹配统计功能时,必须指定与当前配置相同的VLAN接口列表。
在同一方向上应用相同ACL配置VLAN接口列表的报文过滤功能时,多次执行本命令会向VLAN接口列表中添加新的VLAN接口:
· 如果初始配置时携带了hardware-count关键字,则向VLAN接口列表中添加VLAN接口时,必须携带该参数。
· 如果初始配置时未携带hardware-count关键字,则向VLAN接口列表中添加VLAN接口时,不能携带该参数。
一个VLAN接口列表中最多可以包含8段VLAN接口,其中每段中至少包含1个VLAN接口,执行undo packet-filter vlan-interface命令时:
· 可以指定与当前配置相同的VLAN接口列表,取消当前配置的所有VLAN接口的报文过滤功能;
· 可以指定VLAN接口列表中一个或多个段的VLAN接口,取消该段中所有VLAN接口的报文过滤功能,但不能在包含多个VLAN接口的段中指定部分VLAN接口,取消该段中部分接口的报文过滤功能。
如果设备资源不足,必须先执行undo packet-filter命令取消报文过滤,然后再配置不携带hardware-count关键字的报文过滤,以此关闭规则匹配硬件统计功能。
如果设备资源充足,可通过不携带hardware-count关键字重新配置报文过滤,以此关闭规则匹配硬件统计功能。
使用本命令在VLAN接口列表出方向上应用ACL进行报文过滤时,需保证未配置qos-acl resource hardware-mode outbound-vlan-enhanced命令,否则本命令下发失败。
【举例】
# 在VLAN接口3到10上应用IPv4基本ACL 2003对入方向收到的报文进行过滤,并开启规则匹配硬件统计功能。
<Sysname> system-view
[Sysname] packet-filter 2003 vlan-interface 3 to 10 inbound hardware-count
【相关命令】
· display packet-filter
· display packet-filter statistics
· display packet-filter verbose
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
【缺省情况】
未配置QoS和ACL资源的硬件模式。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
hardware-mode-value:QoS和ACL资源的硬件模式,取值如下:
· outbound-vlan-enhanced:表示当ACL应用在VLAN或者VLAN接口上时,出方向可以匹配Untagged报文。
· inbound-portrange-enhanced:表示对以范围方式(lt、gt、range、neq)匹配四层端口号的ACL规则,应用在入方向时进行增强处理。仅Release 6635及以上版本支持本参数。
【使用指导】
本命令配置后不会立即生效,必须在保存配置重启设备后才会生效。
配置outbound-vlan-enhanced模式后,在VLAN或者VLAN接口上应用ACL时会占用更多资源。
配置inbound-portrange-enhanced模式后,对于以范围方式匹配四层端口号的ACL规则,下发后设备会使用掩码对其进行拆分,以减少对QoS和ACL资源位宽的占用。
【举例】
# 配置QoS和ACL资源的硬件模式为出方向支持匹配Untagged报文。
<Sysname> system-view
[Sysname] qos-acl resource hardware-mode outbound-vlan-enhanced
Please save the running configuration and reboot the device to activate the settings.
qos-acl resource share-mode命令用来配置QoS和ACL资源的共享模式。
undo qos-acl resource share-mode命令用来恢复缺省情况。
【命令】
qos-acl resource share-mode { inbound | outbound } share-mode
undo qos-acl resource share-mode { inbound | outbound }
【缺省情况】
未配置任何QoS和ACL资源的共享模式。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
inbound:配置入方向QoS和ACL资源的共享模式。
outbound:配置出方向QoS和ACL资源的共享模式。
share-mode:QoS和ACL资源的共享模式。取值为:
· pfilter-agg-exclusive:此模式下,仅支持在聚合接口的指定方向上以共享模式应用ACL进行报文过滤。需要注意的是,QoS策略、策略路由和非聚合接口上应用ACL进行报文过滤的共享模式将无法使用。仅出方向支持配置本模式。
· preemtion:此模式下,如果希望在接口上应用的各个QoS策略都按照共享模式生效,则应用时必需指定share-mode关键字。需要注意的是,策略路由和接口上应用ACL进行报文过滤的共享模式将不受影响。仅入方向支持配置本模式。
【使用指导】
共享模式(即在应用QoS策略、报文过滤或策略路由时指定share-mode关键字)指的是在同一单板或成员设备的多个接口上应用同一个QoS策略、报文过滤或策略路由时,所有应用将共享一份QoS和ACL资源。而非共享模式时,每个位置的应用都会独占一份QoS和ACL资源。所以共享模式能极大的节省QoS和ACL资源。
在未配置本命令中的任何QoS和ACL资源共享模式的情况下:
· 接口相同方向上仅支持以共享模式应用一个QoS策略。
· 接口相同方向上仅支持以共享模式应用一个策略路由。
· 如果已经以共享模式应用了一个QoS策略,则此位置上将不能再以共享模式应用ACL进行报文过滤,反之亦然。
· 不支持在聚合接口上应用ACL进行报文过滤。
有关QoS策略及其共享模式的详细介绍,请参见“ACL和QoS命令参考”中的“QoS”;有关策略路由及其共享模式的详细介绍,请参见“三层技术-IP路由命令参考”中的“策略路由”。
preemtion模式仅对执行qos-acl resource share-mode命令后新应用的QoS策略生效,如果希望对执行命令前已经应用的QoS策略也生效,请选择如下方式之一操作:
· 执行save命令保存当前配置,然后重启设备。
· 执行本命令前,取消已应用的QoS策略,并在执行本命令后重新应用。
【举例】
# 配置入方向QoS和ACL资源的共享模式为preemtion。
<Sysname> system-view
[Sysname] qos-acl resource share-mode inbound preemtion
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,必须输入ipv6、mac或user-defined关键字,否则表示IPv4 ACL。
【举例】
# 清除IPv4基本ACL 2001的统计信息。
<Sysname> reset acl counter 2001
【相关命令】
· display acl
reset packet-filter statistics命令用来清除ACL在报文过滤中应用的统计信息。
【命令】
reset packet-filter statistics { interface [ interface-type interface-number ] | l2vpn-ac [ interface interface-type interface-number service-instance instance-id ] | vlan-interface } { inbound | outbound } [ default | [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ]
【视图】
用户视图
【缺省用户角色】
network-admin
【参数】
interface [ interface-type interface-number ]:清除指定接口上的统计信息。interface-type interface-number表示接口类型和接口编号。若未指定接口类型和接口编号,将清除所有接口上的统计信息。
l2vpn-ac [ interface interface-type interface-number service-instance instance-id ]:清除指定以太网服务实例上的统计信息。interface-type interface-number表示接口类型和接口编号。instance-id表示以太网服务实例的ID,取值范围为1~4096。若未指定interface interface-type interface-number service-instance instance-id参数,将清除所有以太网服务实例上的统计信息。
vlan-interface:清除VLAN接口列表上的统计信息。
inbound:清除入方向上的统计信息。
outbound:清除出方向上的统计信息。
default:清除缺省动作在报文过滤中应用的统计信息。
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个字符的字符串,不区分大小写。
【使用指导】
如果未指定default、acl-number、name acl-name和ACL类型(ipv6、mac、user-defined)参数,将清除全部ACL在报文过滤中应用的统计信息。
如果未指定ipv6、mac或user-defined参数,则表示IPv4 ACL。
【举例】
# 清除在接口Twenty-FiveGigE1/0/1入方向上IPv4基本ACL 2001在报文过滤中应用的统计信息。
<Sysname> reset packet-filter statistics interface twenty-fivegige 1/0/1 inbound 2001
# 清除在VLAN接口列表入方向上IPv4基本ACL 2001在报文过滤中应用的统计信息。
<Sysname> reset packet-filter statistics vlan-interface inbound 2001
# 清除接口Twenty-FiveGigE1/0/1上以太网服务实例1入方向上IPv4基本ACL 2001在报文过滤中应用的统计信息。
<Sysname> reset packet-filter statistics l2vpn-ac interface twenty-fivegige 1/0/1
【相关命令】
· display packet-filter statistics
· display packet-filter statistics sum
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 { microsegment microsegment-id | dest-address dest-wildcard | any } | destination-port operator port1 [ port2 ] | { { precedence precedence | tos tos } * | { precedence precedence | ecn ecn } * | { dscp dscp | ecn ecn } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | logging | qos-local-id local-id-value | source { microsegment microsegment-id | 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-source-port operator port1 [ port2 ] | logging | time-range time-range-name ] *
undo rule rule-id [ { { ack | fin | psh | rst | syn | urg } * | established } | counting | destination | destination-port | { { precedence | tos } * | { precedence | ecn } * | { dscp | ecn } * } | fragment | icmp-type | inner-destination | inner-destination-port | inner-established | inner-source | inner-source-port | logging | qos-local-id | 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 { microsegment microsegment-id | dest-address dest-wildcard | any } | destination-port operator port1 [ port2 ] | { { precedence precedence | tos tos } * | { precedence precedence | ecn ecn } * | { dscp dscp | ecn ecn } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | logging | qos-local-id | source { microsegment microsegment-id | 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 ] | 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)或关键字。
数字 |
关键字 |
说明 |
- |
ip |
匹配IP协议报文 |
1 |
icmp |
匹配ICMP协议报文 |
2 |
igmp |
匹配IGMP协议报文 |
4 |
ipinip |
匹配IPinIP协议报文 |
6 |
tcp |
匹配TCP协议报文 |
17 |
udp |
匹配UDP协议报文 |
47 |
gre |
匹配GRE协议报文 |
89 |
ospf |
匹配OSPF协议报文 |
protocol之后可配置如表1-9所示的规则信息参数。
参数 |
类别 |
作用 |
说明 |
source { microsegment microsegment-id | source-address source-wildcard | any } |
源地址信息 |
指定ACL规则的源地址信息 |
microsegment-id:微分段的ID,取值范围为0~65535,ID为0的微分段为预定义微分段,不在用户自定义微分段中的、但却在路由中的IP地址属于微分段0。通过QoS策略、策略路由或者报文过滤功能匹配源微分段时,需要先开启uRPF功能。开启uRPF功能后,路由表容量减少一半。有关微分段的详细介绍,请参见“安全配置指导”中的“微分段”。有关uRPF的详细介绍,请参见“安全配置指导”中的“uRPF”。仅Release 6616及以上版本支持microsegment microsegment-id参数 source-address:源IP地址 source-wildcard:源IP地址的通配符掩码(为0表示主机地址) any:任意源IP地址 |
destination { microsegment microsegment-id | dest-address dest-wildcard | any } |
目的地址信息 |
指定ACL规则的目的地址信息 |
microsegment-id:微分段的ID,取值范围为0~65535,ID为0的微分段为预定义微分段,不在用户自定义微分段中的、但却在路由中的IP地址属于微分段0。有关微分段的详细介绍,请参见“安全配置指导”中的“微分段”。仅Release 6616及以上版本支持microsegment microsegment-id参数 dest-address:目的IP地址 dest-wildcard:目的IP地址的通配符掩码(为0表示主机地址) any:任意目的IP地址 |
counting |
统计 |
开启规则匹配软件统计功能,缺省为关闭 |
本参数用于开启本规则的匹配统计功能,而packet-filter命令中的hardware-count关键字则用于开启指定ACL内所有规则的规则匹配硬件统计功能 |
precedence precedence |
报文优先级 |
指定IP优先级 |
precedence用数字表示时,取值范围为0~7;用字符表示时,分别对应routine、priority、immediate、flash、flash-override、critical、internet、network |
tos tos |
报文优先级 |
指定ToS优先级 |
tos用数字表示时,取值范围为0~15;用字符表示时,可以选取max-reliability(2)、max-throughput(4)、min-delay(8)、min-monetary-cost(1)、normal(0) |
ecn ecn |
ECN通知信息 |
指定ECN标志 |
ecn取值范围为0~3,对应IP报文头部DS域的最后两个比特为00~11 有关DS域以及ECN功能的详细介绍,请参见“ACL和QoS配置指导”中的“QoS” |
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 |
分片信息 |
仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效 |
若未指定本参数,则表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效 |
logging |
日志操作 |
表示记录规则匹配报文的日志信息,包括匹配报文的规则和匹配报文的个数 |
该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤 |
time-range time-range-name |
时间段 |
指定本规则生效的时间段 |
time-range-name:时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“ACL和QoS配置指导”中的“时间段” |
qos-local-id local-id-value |
QoS本地ID值 |
指定ACL规则的QoS本地ID值 |
local-id-value:QoS本地ID值,取值范围为1~4095 |
vpn-instance vpn-instance-name |
VPN实例 |
对指定VPN实例中的报文有效 |
vpn-instance-name:MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写 若未指定VPN实例,表示该规则对非VPN报文和VPN报文均有效 |
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-10所示的规则信息参数。
表1-10 TCP/UDP特有的规则信息参数
参数 |
类别 |
作用 |
说明 |
source-port operator port1 [ port2 ] |
源端口 |
定义TCP/UDP报文的源端口信息 |
operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。只有操作符range需要两个端口号做操作数,其它的只需要一个端口号做操作数 port1、port2:TCP或UDP的端口号,用数字表示时,取值范围为0~65535;用字符表示时,TCP端口号可以选取chargen(19)、bgp(179)、cmd(514)、daytime(13)、discard(9)、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的报文 |
当protocol为icmp(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)、ip、ipinip(4)、ospf(89)、tcp(6)或udp(17)。
inner-protocol之后可配置如表1-9所示的规则信息参数。
表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报文的处理规则 |
仅Release 6635及以上版本支持本参数 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-protocol为tcp(6)或udp(17)时,用户还可配置如表1-10所示的规则信息参数。
表1-14 TCP/UDP特有的规则信息参数
参数 |
类别 |
作用 |
说明 |
inner-source-port operator port1 [ port2 ] |
内层源端口 |
定义内层TCP/UDP报文的源端口信息 |
operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。只有操作符range需要两个端口号做操作数,其它的只需要一个端口号做操作数 port1、port2:TCP或UDP的端口号,用数字表示时,取值范围为0~65535;用字符表示时,TCP端口号可以选取chargen(19)、bgp(179)、cmd(514)、daytime(13)、discard(9)、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 }命令时,必须输入已存在规则的完整形式。
配置rule vxlan命令且指定了“inner-xxx”关键字用来匹配VXLAN报文内层报文特征时,如果将含有此规则的ACL(通过报文过滤或QoS策略下发)应用在接口入方向,由于此时ACL作用于Tunnel转发至AC的解封装报文上,所以该ACL无法成功匹配目标报文。如需匹配这部分报文,使用rule vxlan命令并指定非“inner-xxx”关键字用来匹配解封装报文的报文特征即可。
【举例】
# 为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
# 为IPv4高级ACL 3005创建规则如下:匹配源IP为微分段1成员、目的IP为微分段2成员的IP报文。
<Sysname> system-view
[Sysname] acl advanced 3005
[Sysname-acl-adv-3005] rule permit ip source microsegment 1 destination microsegment 2
【相关命令】
· acl
· acl logging interval
· display acl
· microsegment(安全命令参考/微分段)
· step
· time-range(ACL和QoS命令参考/时间段)
rule命令用来为IPv4基本ACL创建一条规则。
undo rule命令用来为IPv4基本ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } [ counting | fragment | logging | source { source-address source-wildcard | any } | time-range time-range-name | vpn-instance vpn-instance-name ] *
undo rule rule-id [ counting | fragment | logging | source | time-range | vpn-instance ] *
undo rule { deny | permit } [ counting | fragment | 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:表示仅对非首片分片报文有效,而对非分片报文和首片分片报文无效。若未指定本参数,表示该规则对非分片报文和分片报文均有效。
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个字符的字符串,区分大小写。若未指定VPN实例,表示该规则对非VPN报文和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命令参考/时间段)
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 { microsegment microsegment-id | dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port operator port1 [ port2 ] | { dscp dscp | ecn ecn } * | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | logging | qos-local-id local-id-value | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { microsegment microsegment-id | 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 rule-id [ { { ack | fin | psh | rst | syn | urg } * | established } | counting | destination | destination-port | { dscp | ecn } * | flow-label | fragment | icmp6-type | logging | qos-local-id | routing | hop-by-hop | 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 { microsegment microsegment-id | dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port operator port1 [ port2 ] | { dscp dscp | ecn ecn } * | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | logging | qos-local-id | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { microsegment microsegment-id | source-address source-prefix | source-address/source-prefix | any } | source-port operator port1 [ port2 ] | 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:表示允许符合条件的报文。
protocol:表示IPv6承载的协议类型,可输入如表1-15所示的数字(取值范围为0~255)或关键字。
数字 |
关键字 |
说明 |
- |
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所示的规则信息参数。
参数 |
类别 |
作用 |
说明 |
source { microsegment microsegment-id | source-address source-prefix | source-address/source-prefix | any } |
源IPv6地址 |
指定ACL规则的源IPv6地址信息 |
microsegment-id:微分段的ID,取值范围为0~65535,ID为0的微分段为预定义微分段,不在用户自定义微分段中的、但却在路由中的IP地址属于微分段0。通过QoS策略、策略路由或者报文过滤功能匹配源微分段时,需要先开启uRPF功能。开启uRPF功能后,路由表容量减少一半。有关微分段的详细介绍,请参见“安全配置指导”中的“微分段”。有关uRPF的详细介绍,请参见“安全配置指导”中的“uRPF”。仅Release 6616及以上版本支持microsegment microsegment-id参数 source-address:源IPv6地址 source-prefix:源IPv6地址的前缀长度,取值范围1~128 any:任意源IPv6地址 |
destination { microsegment microsegment-id | dest-address dest-prefix | dest-address/dest-prefix | any } |
目的IPv6地址 |
指定ACL规则的目的IPv6地址信息 |
microsegment-id:微分段的ID,取值范围为0~65535,ID为0的微分段为预定义微分段,不在用户自定义微分段中的、但却在路由中的IP地址属于微分段0。有关微分段的详细介绍,请参见“安全配置指导”中的“微分段”。仅Release 6616及以上版本支持microsegment microsegment-id参数 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) |
ecn ecn |
ECN通知信息 |
指定ECN标志 |
ecn的取值范围为0~3,对应IP报文头部DS域的最后两个比特位的取值(00~11) 有关DS域以及ECN功能的详细介绍,请参见“ACL和QoS配置指导”中的“QoS” |
flow-label flow-label-value |
流标签字段 |
指定IPv6基本报文头中流标签字段的值 |
flow-label-value:流标签字段的值,取值范围为0~1048575 |
fragment |
报文分片 |
仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效 |
若未指定本参数,表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效 |
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配置指导”中的“时间段” |
qos-local-id local-id-value |
QoS本地ID值 |
指定ACL规则的QoS本地ID值 |
local-id-value:QoS本地ID值,取值范围为1~4095 |
vpn-instance vpn-instance-name |
VPN实例 |
对指定VPN实例中的报文有效 |
vpn-instance-name:MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写 若未指定VPN实例,表示该规则对非VPN报文和VPN报文均有效 |
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-17所示的规则信息参数。
表1-17 TCP/UDP特有的规则信息参数
参数 |
类别 |
作用 |
说明 |
source-port operator port1 [ port2 ] |
源端口 |
定义TCP/UDP报文的源端口信息 |
operator:操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。只有range操作符需要两个端口号做操作数,其它操作符只需要一个端口号做操作数 port1、port2:TCP或UDP的端口号,用数字表示时,取值范围为0~65535;用名称表示时,TCP端口号可选取chargen(19)、bgp(179)、cmd(514)、daytime(13)、discard(9)、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的报文 |
当protocol为icmpv6(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 |
【使用指导】
当ACL用于QoS策略的流分类或报文过滤功能时:
· 规则不支持配置fragment参数。
· 规则中操作符operator取值不能为neq。
· 如果QoS策略或报文过滤功能应用于出方向,规则不支持配置vpn-instance、routing、hop-by-hop、flow-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
# 为IPv6高级ACL 3006创建规则如下:匹配源IP为微分段1的成员,目的IP为微分段2成员的IPv6报文。
<Sysname> system-view
[Sysname] acl ipv6 advanced 3006
[Sysname-acl-ipv6-adv-3006] rule permit ipv6 source microsegment 1 destination microsegment 2
【相关命令】
· acl
· acl logging interval
· display acl
· microsegment(安全命令参考/微分段)
· step
· time-range(ACL和QoS命令参考/时间段)
rule命令用来为IPv6基本ACL创建一条规则。
undo rule命令用来为IPv6基本ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } [ counting | fragment | 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 | logging | routing | source | time-range | vpn-instance ] *
undo rule { deny | permit } [ counting | fragment | 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:表示仅对非首片分片报文有效,而对非分片报文和首片分片报文无效。若未指定本参数,表示该规则对非分片报文和分片报文均有效。
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个字符的字符串,区分大小写。若未指定VPN实例,表示该规则对非VPN报文和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命令参考/时间段)
rule命令用来为二层ACL创建一条规则。
undo rule命令用来为二层ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } [ cos dot1p | counting | dest-mac dest-address dest-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 | 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-effort、background、spare、excellent-effort、controlled-load、video、voice和network-management,依次对应于数字0~7。
counting:表示开启规则匹配软件统计功能,缺省为关闭。
dest-mac dest-address dest-mask:指定目的MAC地址范围。dest-address表示目的MAC地址,格式为H-H-H。dest-mask表示目的MAC地址的掩码,格式为H-H-H。
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内所有规则的规则匹配硬件统计功能。
若出方向匹配对象为IPv6报文时,source-mac、dest-mac、cos须配合type关键字使用,且protocol-type的取值为86dd。
【举例】
# 为二层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命令参考/时间段)
rule命令用来为用户自定义ACL创建一条规则。
undo rule命令用来为用户自定义ACL删除一条规则。
【命令】
命令形式一
rule [ rule-id ] { deny | permit } [ { { ipv4 | l2 | l4 }rule-string rule-mask offset }&<1-8> ] [ counting | time-range time-range-name ] *
undo rule rule-id
undo rule { deny | permit } [ { { ipv4 | l2 | l4 } rule-string rule-mask offset }&<1-8> ] [ counting | time-range time-range-name ] *
命令形式二
rule [ rule-id ] { deny | permit } [ ipv6-protocol ] protocol [ destination { dest-address dest-wildcard | any } | destination-port { operator port1 [ port2 ] } | dscp dscp | source { source-address source-wildcard | any } | source-port { operator port1 [ port2 ] } | udf-format ] * [ { { ipv4 | l2 | l4 | l5 } rule-string rule-mask offset }&<1-8> ] [ counting | time-range time-range-name ] *
undo rule rule-id [ ipv6-protocol ] [ destination | destination-port | dscp | source | source-port | udf-format | ipv4 | l2 | l4 | l5 | counting | time-range ] *
undo rule { deny | permit } [ ipv6-protocol ] protocol [ destination { dest-address dest-wildcard | any } | destination-port { operator port1 [ port2 ] } | dscp dscp | source { source-address source-wildcard | any } | source-port { operator port1 [ port2 ] } | udf-format ] * [ { { ipv4| l2 | l4 | l5 } rule-string rule-mask offset }&<1-8> ] [ counting | time-range time-range-name ] *
【缺省情况】
用户自定义ACL内不存在任何规则。
【视图】
用户自定义ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定用户自定义ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长为5从0开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
ipv4:表示从IPv4报文头开始偏移。
l2:表示从L2帧头开始偏移。
l4:表示从L4报文头开始偏移。
l5:表示从L5报文头开始偏移。
rule-string:指定用户自定义的规则字符串,必须是16进制数组成,字符长度必须是偶数。
rule-mask:指定规则字符串的掩码,用于和报文作“与”操作,必须是16进制数组成,字符长度必须是偶数,且必须与rule-string的长度相同。
offset:指定偏移量,它以用户指定的报文头部为基准,指定从第几个字节开始进行比较,取值范围为0~64。
&<1-8>:表示前面的参数最多可以输入8次。
counting:表示开启规则匹配软件统计功能,缺省为关闭。
time-range time-range-name:指定本规则生效的时间段。time-range-name表示时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“ACL和QoS配置指导”中的“时间段”。
ipv6-protocol:指定匹配IPv6报文。
· 若选择本参数,表示匹配IPv6报文,此时请不要再选择后续偏移量中的ipv4。
· 若不选择本参数,表示匹配IPv4报文,此时请不要再选择后续偏移量中的ipv6。
protocol:表示网络层承载的协议类型,可输入的形式如下:
· 对于IPv4:
¡ 数字:取值范围为0~255;
¡ 名称(括号内为对应的数字):可选取gre(47)、icmp(1)、igmp(2)、ip、ipinip(4)、ospf(89)、tcp(6)或udp(17)。ip表示所有协议类型。
· 对于IPv6:
¡ 数字:取值范围为0~255;
¡ 名称(括号内为对应的数字):可选取gre(47)、icmpv6(58)、ipv6、ipv6-ah(51)、ipv6-esp(50)、ospf(89)、tcp(6)或udp(17)。ipv6表示所有协议类型。
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)。
source { source-address source-wildcard | any }:指定规则的源IP地址信息。source-address表示报文的源IP地址,source-wildcard表示源IP地址的通配符掩码(为0表示主机地址),any表示任意源IP地址。
destination { dest-address dest-wildcard | any }:指定规则的目的IP地址信息。dest-address表示报文的目的IP地址,dest-wildcard表示目的IP地址的通配符掩码(为0表示主机地址),any表示任意目的IP地址。
source-port { operator port1 [ port2 ] }:指定规则的源端口信息。其中:
· operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。
· port1、port2表示TCP或UDP的端口号,取值范围为0~65535。当使用range操作符时,必须指定port2参数,使用其它操作符时,不需要指定port2参数。
destination-port { operator port1 [ port2 ] }:指定规则的目的端口信息。其中:
· operator为操作符,取值可以为lt(小于)、gt(大于)、eq(等于)、neq(不等于)或者range(在范围内,包括边界值)。只有操作符range需要两个端口号做操作数,其它的只需要一个端口号做操作数。
· port1、port2表示TCP或UDP的端口号,取值范围为0~65535。当使用range操作符时,必须指定port2参数,使用其它操作符时,不需要指定port2参数。
udf-format:用户自定义ACL规则匹配的报文格式,取值为:
· ifa时表示匹配INT报文。
· raw_ip:对于IPv4,表示匹配protocol中除gre、icmp、igmp、ipinip、ospf、tcp或udp协议类型以外的报文;对于IPv6,表示匹配protocol中除gre、icmpv6、ipv6、ipv6-ah、ipv6-esp、ospf、tcp或udp协议类型以外的报文。
· vxlan:表示匹配VXLAN报文。
· 匹配携带指定标志位的GRE报文。取值如下:
¡ gre-c0r0k1:匹配c=0、r=0、k=1的GRE报文。
¡ gre-c1r0k1:匹配c=1、r=0、k=1的GRE报文。
¡ gre-k1r1:匹配k=1、r=1的GRE报文。
c表示校验和标志位,r表示路由标志位,k表示密钥标志位。通过本功能去匹配c、r、k标志位的GRE报文时,需遵循如下配置规则:
a. protocol必须指定为gre,
b. udf-format请按需指定为gre-c0r0k1、gre-c1r0k1或gre-k1r1,
c. 还需要再通过偏移方式去配置待匹配的c、k、r位。
例如,希望匹配c=0、r=0、k=1的GRE报文时:
¡ 如果是GRE in IPv4报文,下发的命令应为rule permit gre gre-c0r0k1 l4 20 e0 0,其中l4表示从报文四层头的起始位置开始偏移,20表示匹配的字符串,即高3位(c、r、k位)为001,e0表示掩码,即只关注高3位,0表示不偏移,
¡ 如果是GRE in IPv6报文,下发的命令应为rule permit ipv6-protocol gre gre-c0r0k1 l4 20 e0 0,偏移字段的含义同GRE in IPv4。
【使用指导】
新创建的规则不能与已有规则的内容完全相同,否则将提示出错,并导致创建失败。
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在:
· 对于命令形式一,则对旧规则进行覆盖,即新配置的命令生效。
· 对于命令形式二,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
· 当旧规则通过QoS策略、packet-filter或者策略路由等方式被应用在多个接口下时,请先删除旧规则,再下发新的规则,否则可能导致系统资源不足。
undo rule { deny | permit }命令可在不指定rule-id情况下删除整条规则,但无法删除规则中的部分内容;使用其删除整条规则时,必须输入已存在规则的完整形式;本命令适用于删除通过脚本文件在未指定rule-id情况下创建的规则。
对于命令形式二:
· 创建的规则除可以通过用户自定义的字符串对报文进行匹配外,还可以通过源地址、目的地址、端口号及承载的协议类型等条件对报文进行匹配。
· 使用rule命令对INT报文进行匹配时,请遵循如下规则:
¡ 若报文为TCP协议报文,则protocol需配置为tcp。
¡ 若报文为UDP协议报文,则protocol需配置为udp。
¡ udf-format配置为ifa,且必须从L5报文头开始偏移。
· 使用rule命令对TCP报文进行匹配时,protocol需配置为tcp,且必须从L5报文头开始偏移。
· 使用rule命令对UDP报文进行匹配时,protocol需配置为udp,且必须从L4或L5报文头开始偏移。
· 使用rule命令对IP报文进行匹配时,protocol需配置为ip,且必须从L4报文头开始偏移。
· 使用rule命令对VXLAN报文进行匹配时,protocol需配置为udp,udf-format需配置为vxlan。
· 当protocol指定为gre或ipinip时,由于该规则匹配的是隧道报文,所以规则中l4或l5的含义与匹配普通IP报文时有所不同。例如,当我们需要匹配IPinIP报文中的TCP源端口号为1000时,规则应配置为rule permit ipinip l4 03e8 ffff 20,通过偏移量20将第二个IP头偏移过去,此时才是TCP头。
· 使用undo rule rule-id命令即可以删除整条规则,也可以删除指定规则中的部分内容。
· 请勿在一条规则中同时配置匹配IPv4及IPv6属性,否则该规则将不生效。
· 配置rule udp vxlan命令且通过偏移量去匹配VXLAN报文内层报文特征时,如果将含有此规则的ACL(通过报文过滤或QoS策略下发)应用在接口入方向,由于此时ACL作用于Tunnel转发至AC的解封装报文上,所以该ACL无法成功匹配目标报文。如需匹配这部分报文,使用rule udp vxlan命令并通过偏移量去匹配解封装报文的报文特征即可。
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 5006创建规则如下:允许129.9.0.0/16网段内的主机与202.38.160.0/24网段内的主机的HTTP服务端口(端口号为80)建立连接。
<Sysname> system-view
[Sysname] acl user-defined 5006
[Sysname-acl-user-5006] rule permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255
# 为用户自定义ACL 5007创建规则如下:允许2030:5060::/64网段内的主机与FE80:5060::/96网段内主机的HTTP服务端口(端口号为80)建立连接。
<Sysname> system-view
[Sysname] acl user-defined 5007
[Sysname-acl-user-5007] rule permit ipv6-protocol tcp source 2030:5060::/64 destination fe80:5060::/96
# 为用户自定义ACL 5008创建规则如下:匹配VXLAN报文。
<Sysname> system-view
[Sysname] acl user-defined 5008
[Sysname-acl-user-5008] rule permit udp vxlan
【相关命令】
· acl
· display acl
· time-range(ACL和QoS命令参考/时间段)
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 twenty-fivegige 1/0/1.
【相关命令】
· display acl
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-id和text参数,将删除所有规则注释信息;如果没有指定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
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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!