01-ACL命令
本章节下载: 01-ACL命令 (475.63 KB)
目 录
1.1.3 acl-outbound-enhance enable
1.1.5 acl resource log interval
1.1.6 acl resource threshold percent
1.1.11 display packet-filter statistics
1.1.12 display packet-filter statistics sum
1.1.13 display packet-filter verbose
1.1.14 display qos-acl resource
1.1.16 packet-filter continuous enable
1.1.17 packet-filter default deny
1.1.19 packet-filter vlan-interface
1.1.21 reset packet-filter statistics
1.1.22 rule (IPv4 advanced ACL view)
1.1.23 rule (IPv4 basic ACL view)
1.1.24 rule (IPv6 advanced ACL view)
1.1.25 rule (IPv6 basic ACL view)
1.1.26 rule (Layer 2 ACL view)
acl命令用来创建ACL,并进入ACL视图。如果指定的ACL已存在,则直接进入ACL视图。
undo acl命令用来删除指定或全部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 [ ipv6 ] { advanced | basic } { acl-number | name acl-name } [ match-order { auto | config } ]
acl mac { acl-number | name acl-name } [ match-order { auto | config } ]
acl user-defined { acl-number | name acl-name }
undo acl [ ipv6 ] { all | { advanced | basic } { acl-number | name acl-name } }
undo acl mac { all | acl-number | name acl-name }
undo acl user-defined { all | acl-number | name acl-name }
【缺省情况】
不存在ACL。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
ipv6:指定ACL类型为IPv6 ACL。如果未指定本参数,则表示IPv4 ACL。
basic:指定创建基本ACL。
advanced:指定创建高级ACL。
mac:指定创建二层ACL。
user-defined:指定创建用户自定义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个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。
match-order { auto | config }:指定规则的匹配顺序,auto表示按照自动排序(即“深度优先”原则)的顺序进行规则匹配,config表示按照配置顺序进行规则匹配。缺省情况下,规则的匹配顺序为配置顺序。用户自定义ACL不支持本参数,其规则匹配顺序只能为配置顺序。
all:指定类型中全部ACL。
【使用指导】
通过编号创建的ACL,可以通过如下命令进入其视图:
· acl [ ipv6 ] number acl-number;
· acl { [ ipv6 ] { advanced | basic } | mac | user-defined } acl-number。
通过acl [ ipv6 ] number acl-number name acl-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命令指定名称创建的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
mdc-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-outbound-enhance enable命令用来开启ACL规则出方向匹配TCP连接建立标识的功能。
undo acl-outbound-enhance enable命令用来恢复缺省情况。
【命令】
acl-outbound-enhance enable
undo acl-outbound-enhance enable
【缺省情况】
ACL规则出方向匹配TCP连接建立标识的功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【使用指导】
如果使用packet-filter命令过滤接口发出的ACK或RST标志位为1的TCP报文,则必须先开启ACL规则出方向匹配TCP连接建立标识的功能。
当前本命令仅支持在IPv4网络环境下使用
【举例】
# 开启ACL规则出方向匹配TCP连接建立标识的功能。
<Sysname> system-view
[Sysname] acl-outbound-enhance enable
【相关命令】
· acl
· packet-filter
· rule (IPv4 advanced ACL view)
packet-filter
acl logging interval命令用来配置报文过滤日志信息的生成与发送周期。
undo acl logging interval命令用来恢复缺省情况。
【命令】
acl logging interval interval
undo acl logging interval
【缺省情况】
报文过滤日志信息的生成与发送周期为0分钟,即不记录报文过滤的日志。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-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 resource log interval命令用来配置设备检测TCAM资源使用率的周期。
undo acl resource log interval命令用来恢复缺省情况。
【命令】
acl resource log interval interval
undo acl resource log interval
【缺省情况】
设备检测TCAM资源使用率的周期为5分钟。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
interval:设备检测TCAM资源使用率的周期,取值范围为1~60,单位为分钟。
【使用指导】
设备将按检测周期对TCAM资源使用率进行定期检测,当检测到TCAM资源使用率达到或超过设定的告警阈值时,将立刻发送日志信息和告警信息。
【举例】
# 配置设备检测TCAM资源使用率的周期为10分钟。
<Sysname> system-view
[Sysname] acl resource log interval 10
【相关命令】
· acl resource threshold percent
acl resource threshold percent命令用来设置TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)资源使用率告警阈值。
undo acl resource threshold percent命令用来恢复缺省情况。
【命令】
acl resource threshold percent percent
undo acl resource threshold percent
【缺省情况】
TCAM资源使用率的告警阈值为0,即TCAM资源使用率告警功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
percent:以百分比的形式指定TCAM资源使用率的告警阈值,取值范围为1~100。
【使用指导】
在设置告警阈值后,设备将定期检测TCAM资源使用率,如果检测到使用率达到或超过告警阈值,将同时生成日志信息和告警信息,并发送给信息中心。当告警阈值发生变化时,设备将以变化发生的时间为基准,重新开始按检测周期检测资源使用率。
【举例】
# 设置TCAM资源使用率的告警阈值为50%。
<Sysname> system-view
[Sysname] acl resource threshold percent 50
【相关命令】
acl resource log interval
acl trap interval命令用来配置报文过滤告警信息的生成与发送周期。
undo acl trap interval命令用来恢复缺省情况。
【命令】
acl trap interval interval
undo acl trap interval
【缺省情况】
报文过滤告警信息的生成与发送周期为0分钟,即不记录报文过滤的告警信息。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-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
mdc-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
mdc-admin
mdc-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 FortyGigE1/0/1.
# 显示IPv4高级ACL acl1_L3_IN的配置和运行情况。
<Sysname> display acl name acl1_L3_IN
Advanced IPv4 ACL named acl1_L3_IN, 1 rule
ACL's step is 5, start ID is 0
rule 0 permit tcp (Stateful)
# 显示IPv4高级ACL acl1_L3_OUT的配置和运行情况。
<Sysname> display acl name acl1_L3_OUT
Advanced IPv4 ACL named acl1_L3_OUT, 1 rule
ACL's step is 5, start ID is 0
rule 0 permit tcp source 2.2.2.2 0 destination 1.1.1.1 0 source-port eq 1000 destination-port eq 2000 (Dynamic)
表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 FortyGigE1/0/1. |
规则5的描述信息 |
Stateful |
该规则由控制器下发 控制器下发Stateful类型的ACL后,设备接口自动应用该ACL实现报文过滤,允许Stateful类型ACL规则匹配到的报文通过。控制器下发Stateful类型的ACL后,当有报文匹配ACL规则时,设备将提取报文的源IP、源端口号、目的IP和目的端口号,据此生成Dynamic类型的ACL,其中Dynamic类型的ACL规则中源IP、源端口号、目的IP和目的端口号分别对应Stateful类型ACL规则匹配报文的目的IP、目的端口号、源IP和源端口号。设备接口在相反方向自动应用Dynamic类型ACL实现报文过滤,允许Dynamic类型ACL规则匹配到的报文通过。设备在接口应用Stateful类型ACL和Dynamic类型ACL后,可实现网络实体间的双向通信 |
Dynamic |
该规则由应用模块动态添加 |
display packet-filter命令用来显示ACL在报文过滤中的应用情况。
【命令】
(独立运行模式)
display packet-filter { global | interface [ interface-type interface-number ] | vlan-interface } [ inbound | outbound ] [ slot slot-number ]
(IRF模式)
display packet-filter { global | interface [ interface-type interface-number ] | vlan-interface } [ inbound | outbound ] [ chassis chassis-number slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
mdc-admin
mdc-operator
【参数】
global:显示ACL在报文过滤中的全局(即所有物理接口)应用情况。
interface [ interface-type interface-number ]:显示指定接口上ACL在报文过滤中的应用情况。interface-type interface-number表示接口类型和接口编号。若未指定接口类型和接口编号,将显示所有接口上ACL在报文过滤中的应用情况。当接口类型为以太网接口时,不需要指定chassis和slot参数。
vlan-interface:显示VLAN接口列表上ACL在报文过滤中的应用情况。
inbound:显示入方向上ACL在报文过滤中的应用情况。
outbound:显示出方向上ACL在报文过滤中的应用情况。
slot slot-number:显示指定单板上ACL在报文过滤中的应用情况,slot-number表示单板所在的槽位号。若未指定本参数,将显示主用主控板上ACL在报文过滤中的应用情况。(独立运行模式)
chassis chassis-number slot slot-number:显示指定成员设备指定单板上ACL在报文过滤中的应用情况,chassis-number表示设备在IRF中的成员编号,slot-number表示单板所在的槽位号。若未指定本参数,将显示全局主用主控板上ACL在报文过滤中的应用情况。(IRF模式)
【使用指导】
如果未指定inbound和outbound参数,将同时显示出、入方向上ACL在报文过滤中的应用情况。
【举例】
# 显示接口FortyGigE1/0/1入方向上ACL在报文过滤中的应用情况。
<Sysname> display packet-filter interface fortygige 1/0/1 inbound
Interface: FortyGigE1/0/1
Inbound policy:
IPv4 ACL 2001 Vxlan-inner, Share-mode
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
# 显示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
表1-2 display packet-filter命令显示信息描述表
字段 |
描述 |
Interface |
ACL在指定接口上的应用情况 |
Global |
ACL的全局(即所有物理接口)应用情况 |
VLAN interface |
ACL在VLAN接口列表上的应用情况 |
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 |
IPv6 default action |
报文过滤的缺省动作,包括: · Deny:报文过滤缺省动作为Deny应用成功 · Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit · Permit:报文过滤缺省动作为Permit |
MAC default action |
报文过滤的缺省动作,包括: · Deny:报文过滤缺省动作为Deny应用成功 · Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit · Permit:报文过滤缺省动作为Permit |
display packet-filter statistics命令用来显示ACL在报文过滤中应用的统计信息。
【命令】
display packet-filter statistics { global | interface interface-type interface-number | vlan-interface } { inbound | outbound } [ [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] [ brief ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
mdc-admin
mdc-operator
【参数】
global:显示全局(即所有物理接口)统计信息。
interface interface-type interface-number:显示指定接口上的统计信息。interface-type interface-number表示接口类型和接口编号。
vlan-interface:显示VLAN接口列表上应用ACL的统计信息。
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在报文过滤中应用的统计信息。
【举例】
# 显示接口FortyGigE1/0/1入方向上全部ACL在报文过滤中应用的统计信息。
<Sysname> display packet-filter statistics interface fortygige 1/0/1 inbound
Interface: FortyGigE1/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
# 显示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
表1-3 display packet-filter statistics命令显示信息描述表
字段 |
描述 |
Interface |
在指定接口上应用的统计信息 |
VLAN interface |
在VLAN接口列表上应用的统计信息 |
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 |
IPv6 default action |
报文过滤的缺省动作,包括: · Deny:报文过滤缺省动作为Deny应用成功 · Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit · Permit:报文过滤缺省动作为Permit |
MAC default action |
报文过滤的缺省动作,包括: · Deny:报文过滤缺省动作为Deny应用成功 · Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit · Permit:报文过滤缺省动作为Permit |
【相关命令】
· 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
mdc-admin
mdc-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 { global | interface interface-type interface-number | vlan-interface } { inbound | outbound } [ [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] [ slot slot-number ]
(IRF模式)
display packet-filter verbose { global | interface interface-type interface-number | vlan-interface } { inbound | outbound } [ [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] [ chassis chassis-number slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
mdc-admin
mdc-operator
【参数】
global:显示ACL在报文过滤中的全局(即所有物理接口)详细应用情况。
interface interface-type interface-number:显示指定接口上ACL在报文过滤中的详细应用情况。interface-type interface-number表示接口类型和接口编号。当接口类型为以太网接口时,不需要指定chassis和slot参数。
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表示单板所在的槽位号。若未指定本参数,将显示主用主控板上ACL在报文过滤中的详细应用情况。(独立运行模式)
chassis chassis-number slot slot-number:显示指定成员设备指定单板上ACL在报文过滤中的详细应用情况,chassis-number表示设备在IRF中的成员编号,slot-number表示单板所在的槽位号。若未指定本参数,将显示全局主用主控板上ACL在报文过滤中的详细应用情况。(IRF模式)
【使用指导】
若未指定acl-number、name acl-name和ACL类型(ipv6、mac、user-defined)参数,将显示全部IPv4 ACL在报文过滤中的详细应用情况。
【举例】
# 显示接口FortyGigE1/0/1入方向上全部ACL在报文过滤中的详细应用情况。
<Sysname> display packet-filter verbose interface fortygige 1/0/1 inbound
Interface: FortyGigE1/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
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
# 显示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
表1-5 display packet-filter verbose命令显示信息描述表
字段 |
描述 |
Interface |
ACL在指定接口上的详细应用情况 |
VLAN interface |
ACL在VLAN接口列表上的详细应用情况 |
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 |
IPv6 default action |
报文过滤的缺省动作,包括: · Deny:报文过滤缺省动作为Deny应用成功 · Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit · Permit:报文过滤缺省动作为Permit |
MAC default action |
报文过滤的缺省动作,包括: · Deny:报文过滤缺省动作为Deny应用成功 · Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit · Permit:报文过滤缺省动作为Permit |
display qos-acl resource命令用来显示QoS和ACL资源的使用情况。
【命令】
(独立运行模式)
display qos-acl resource [ advanced-mode ] [ slot slot-number ]
(IRF模式)
display qos-acl resource [ advanced-mode ] [ chassis chassis-number slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
mdc-admin
mdc-operator
【参数】
advanced-mode:以高级模式显示QoS和ACL资源的使用情况。未指定本关键字,则以普通模式显示QoS和ACL资源的使用情况。
slot slot-number:显示指定单板上QoS和ACL资源的使用情况,slot-number表示单板所在的槽位号。若未指定本参数,将显示所有单板上QoS和ACL资源的使用情况。(独立运行模式)
chassis chassis-number slot slot-number:显示指定成员设备指定单板上QoS和ACL资源的使用情况,chassis-number表示设备在IRF中的成员编号,slot-number表示单板所在的槽位号。若未指定本参数,将显示IRF中所有成员设备的所有单板上QoS和ACL资源的使用情况。(IRF模式)
【使用指导】
如果指定的单板不支持统计QoS和ACL资源,将不会显示该单板上QoS和ACL资源的使用情况。
设备QoS和ACL资源不足时会导致某些功能无法使用,例如报文过滤、登录设备等,如需使用该类应用,请预留相应的QoS和ACL资源。
【举例】
# 以普通模式显示QoS和ACL资源的使用情况。
<Sysname> display qos-acl resource
Interfaces: HGE1/3/0/7 to HGE1/3/0/12, FGE1/3/0/25 to FGE1/3/0/30 (chassis 1 slot3)
---------------------------------------------------------------------
Type Total Reserved Configured Remaining Usage
---------------------------------------------------------------------
VFP ACL 41984 0 0 41984 0%
IFP ACL 50176 8192 0 41984 16%
IFP Meter 30720 89 0 30631 0%
IFP Counter 8175 100 0 8075 1%
EFP ACL 20992 0 0 20992 0%
EFP Counter 4094 0 0 4094 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 Counter表示出方向的流量统计资源 |
Total |
资源总数 |
Reserved |
预留的资源数 |
Configured |
已经使用的资源数 |
Remaining |
剩余可用的资源数 |
Usage |
预留的资源数与已配置的资源数之和占资源总数的百分比,分子按实际计算结果的整数部分显示,例如实际计算结果为50.8%,此处显示为50%。 |
# 以高级模式显示QoS和ACL资源的使用情况。
<Sysname> display qos-acl resource advanced-mode
====================
(Chassis 1)
(Slot 3 Chip 0)
----------------------------------------------------------------------
Slice Stage Total Configured Remaining Usage
----------------------------------------------------------------------
0/1 IFP 8192 556 7636 6%
2 -- 4096 0 4096 0%
3 -- 4096 0 4096 0%
4 -- 4096 0 4096 0%
5 -- 4096 0 4096 0%
6 -- 4096 0 4096 0%
7 -- 4096 0 4096 0%
8 -- 4096 0 4096 0%
9 -- 4096 0 4096 0%
10 -- 4096 0 4096 0%
11 -- 4096 0 4096 0%
12 -- 256 0 256 0%
13 -- 256 0 256 0%
14 -- 256 0 256 0%
15 -- 256 0 256 0%
表1-7 display qos-acl resource advanced-mode命令显示信息描述表
字段 |
描述 |
Chip |
资源所在的芯片 |
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 [ extension ] | outbound } [ hardware-count ] [ share-mode ] [ vxlan-inner ]
undo packet-filter [ ipv6 | mac | user-defined ] { acl-number | name acl-name } { inbound | outbound }
【缺省情况】
接口不对报文进行过滤。
【视图】
接口视图
【缺省用户角色】
network-admin
mdc-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:对收到的报文进行过滤。
extension:对二层以太网接口、三层以太网接口和VLAN接口的报文过滤进行扩展应用。仅HF单板支持配置extension参数。在使用extension参数前,请先将设备硬件资源的运行模式设置为ACL模式。关于切换设备硬件资源运行模式命令的介绍,请参见“基础配置命令参考”中的“设备管理命令”。
outbound:对发出的报文进行过滤。
hardware-count:表示开启规则匹配硬件统计功能,缺省为关闭。
share-mode:配置共享QoS和ACL资源模式的报文过滤。仅基于二层以太网接口、三层以太网接口、VSI虚接口和VLAN接口配置报文过滤时支持携带share-mode。该模式下,同一单板相同方向引用了相同ACL配置报文过滤的所有以太网接口、所有VSI虚接口或所有VLAN接口将共享一份QoS和ACL资源。对于以太网接口,设备在出入两方向分别存在4份可共享的QoS和ACL资源;对于VSI虚接口和VLAN接口,设备分别存在3份入方向可共享的QoS和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关键字则用于开启当前规则的匹配统计功能。
hardware-count关键字与share-mode关键字不能同时配置,否则相同方向应用同一ACL的接口不能共享一份QoS和ACL资源。
如果设备资源不足,必须先执行undo packet-filter命令取消报文过滤,然后再配置不携带extension或hardware-count关键字的报文过滤,以此关闭扩展应用或规则匹配硬件统计功能。
如果设备资源充足,可通过不携带extension或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命令实现报文过滤功能,但二者不可同时配置。
应用ACL进行报文过滤时,如果携带了share-mode关键字,则需要注意的是:
· 在同一个接口的同一个方向上,支持应用多个ACL进行报文过滤,但共享QoS和ACL资源模式的ACL仅支持应用1个。
· 接口应用报文过滤后不能动态修改QoS和ACL的资源共享模式,如需修改,必须先执行undo packet-filter命令取消报文过滤,然后再配置不携带share-mode关键字的报文过滤。
在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关键字;
· 配置vxlan-inner关键字后,ACL规则不会匹配VXLAN封装后的ARP报文;
· 如需取消ACL规则匹配VXLAN报文内层字段的配置,请先取消接口上引用了该ACL规则的报文过滤应用,然后在接口上重新配置并应用不携带vxlan-inner关键字的报文过滤。
设备上同时配置了基于以太网接口、VLAN接口、VSI虚接口和全局下的报文过滤时:
· 设备先判断配置报文过滤时是否携带了extension关键字,设备优先处理携带extension关键字的报文过滤;
· 设备处理未携带extension关键字的报文过滤的顺序依次为以太网接口、VSI虚接口(VLAN接口,与VSI虚接口的处理优先级相同)和全局下配置的报文过滤。
使用rule命令匹配IPv4报文后,在接口上应用该ACL规则进行出方向的报文过滤时,仅对匹配的三层转发报文生效,对匹配的二层转发报文不生效。
使用rule命令匹配IPv6报文时:
· 如果配置了dscp dscp规则信息参数,则在接口上应用该ACL规则进行出方向的报文过滤时,仅对匹配的三层转发报文生效,对匹配的二层转发报文不生效。
· 如果配置了源IPv6地址和目的IPv6地址规则信息参数后,不支持在接口上应用该ACL规则进行出方向的报文过滤。
【举例】
# 应用IPv4基本ACL 2001对接口FortyGigE1/0/1收到的报文进行过滤,并开启规则匹配硬件统计功能。
<Sysname> system-view
[Sysname] interface fortygige 1/0/1
[Sysname-FortyGigE1/0/1] packet-filter 2001 inbound hardware-count
# 以共享QoS和ACL资源模式应用IPv4基本ACL 2001对接口FortyGigE1/0/1发送的报文进行过滤。
<Sysname> system-view
[Sysname] interface fortygige 1/0/1
[Sysname-FortyGigE1/0/1] packet-filter 2001 outbound share-mode
· display packet-filter
· display packet-filter statistics
· display packet-filter verbose
packet-filter continuous enable命令用来开启报文过滤的持续生效功能。
undo packet-filter continuous enable命令用来恢复缺省情况。
【命令】
packet-filter continuous enable
undo packet-filter continuous enable
【缺省情况】
报文过滤的持续生效功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【使用指导】
本功能仅对全局和接口上的报文过滤生效。
开启本功能后,会导致VLAN接口列表上应用ACL进行报文过滤失效。
修改报文过滤引用的ACL规则或增删报文过滤引用的ACL规则时将导致报文过滤短暂失效,开启本功能可以保证报文过滤持续生效,但是会影响设备的转发性能,比如报文匹配速度会降低。
为避免设备重启,建议先开启本功能,然后配置报文过滤。
如果已配置报文过滤,切换本功能的开启与关闭状态后,需要保存配置并重启设备,开启或关闭本功能的配置才可生效。
【举例】
# 开启报文过滤持续生效功能。
<Sysname> system-view
[Sysname] packet-filter continuous enable
Enable the continuous mode for packet filter? [Y/N]:y
For the continuous mode to take effect, save the configuration, and then reboot the device.
packet-filter default deny命令用来配置报文过滤的缺省动作为Deny,即禁止未匹配上ACL规则的报文通过。
undo packet-filter default deny命令用来恢复缺省情况。
【命令】
packet-filter default deny
undo packet-filter default deny
【缺省情况】
报文过滤的缺省动作为Permit,即允许未匹配上ACL规则的报文通过。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【使用指导】
配置报文过滤的缺省动作会在所有的应用对象下添加一个缺省动作应用,该应用也会像其它应用的ACL一样显示。
【举例】
# 配置报文过滤的缺省动作为Deny。
<Sysname> system-view
[Sysname] packet-filter default deny
【相关命令】
· display packet-filter
· display packet-filter statistics
· display packet-filter verbose
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
mdc-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时,可首先指定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关键字重新配置报文过滤,以此关闭规则匹配硬件统计功能。
全局在一个方向上最多可应用3个ACL进行报文过滤,包括一个IPv4 ACL(IPv4基本ACL或IPv4高级ACL)、一个IPv6 ACL(IPv6基本ACL或IPv6高级ACL)以及一个二层ACL。
使用rule命令匹配IPv4报文后,在全局上应用该ACL规则进行出方向的报文过滤时,仅对匹配的三层转发报文生效,对匹配的二层转发报文不生效。
使用rule命令匹配IPv6报文,且protocol之后配置dscp dscp规则信息参数后,在全局上应用该ACL规则进行出方向的报文过滤时,仅对匹配的三层转发报文生效,对匹配的二层转发报文不生效。
若使用rule命令匹配IPv6报文,且protocol之后配置源IPv6地址和目的IPv6地址规则信息参数后,不支持在全局上应用该ACL规则进行出方向的报文过滤。
【举例】
# 全局应用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
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
mdc-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进行报文过滤。
配置VLAN接口列表上的报文过滤后,请不要开启报文过滤的持续生效功能,否则,将导致VLAN接口列表上的报文过滤失效。
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接口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
reset acl counter命令用来清除ACL的统计信息。
【命令】
reset acl [ ipv6 | mac | user-defined ] counter { acl-number | all | name acl-name }
【视图】
用户视图
【缺省用户角色】
network-admin
mdc-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 { global | interface [ interface-type interface-number ] | vlan-interface } { inbound | outbound } [ [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ]
【视图】
用户视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
global:清除全局(即所有物理接口)统计信息。
interface [ interface-type interface-number ]:清除指定接口上的统计信息。interface-type interface-number表示接口类型和接口编号。若未指定接口类型和接口编号,将清除所有接口上的统计信息。
vlan-interface:清除VLAN接口列表上的统计信息。
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-number、name acl-name和ACL类型(ipv6、mac、user-defined)参数,将清除全部ACL在报文过滤中应用的统计信息。
如果未指定ipv6、mac或user-defined参数,则表示IPv4 ACL。
【举例】
# 清除在接口FortyGigE1/0/1入方向上IPv4基本ACL 2001在报文过滤中应用的统计信息。
<Sysname> reset packet-filter statistics interface fortygige 1/0/1 inbound 2001
# 清除在VLAN接口列表入方向上IPv4基本ACL 2001在报文过滤中应用的统计信息。
<Sysname> reset packet-filter statistics vlan-interface inbound 2001
【相关命令】
· 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 { object-group address-group-name | dest-address dest-wildcard | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | { { precedence precedence | tos tos } * | { precedence precedence | ecn ecn } * | { dscp dscp | ecn ecn } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | [ flow-logging | logging ] | qos-local-id local-id-value | source { object-group address-group-name | source-address source-wildcard | any } | source-port { object-group port-group-name | operator port1 [ port2 ] } | time-range time-range-name | vpn-instance vpn-instance-name ] *
rule [ rule-id ] { deny | permit } { gre-encapsulation | ipinip-encapsulation | 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-established | inner-source { source-address source-wildcard | any } | 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 | { { precedence | tos } * | { precedence | ecn } * | { dscp | ecn } * } | fragment | icmp-type | inner-destination | inner-destination-port | inner-established | inner-source | inner-source-port | [ flow-logging | logging ] | qos-local-id | 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 { object-group address-group-name | dest-address dest-wildcard | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | { { precedence precedence | tos tos } * | { precedence precedence | ecn ecn } * | { dscp dscp | ecn ecn } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | [ flow-logging | logging ] | qos-local-id | source { object-group address-group-name | source-address source-wildcard | any } | source-port { object-group port-group-name | operator port1 [ port2 ] } | time-range time-range-name | vpn-instance vpn-instance-name ] *
undo rule { deny | permit } { gre-encapsulation | ipinip-encapsulation | 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-established | inner-source { source-address source-wildcard | any } | inner-source-port operator port1 [ port2 ] | [ flow-logging | logging ] | time-range time-range-name ] *
【缺省情况】
IPv4高级ACL内不存在任何规则。
【视图】
IPv4高级ACL视图
【缺省用户角色】
network-admin
mdc-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协议报文 有关GRE的详细介绍请参见“三层技术-IP业务配置指导”中的“GRE” |
89 |
ospf |
匹配OSPF协议报文 |
protocol之后可配置如表1-9所示的规则信息参数。
参数 |
类别 |
作用 |
说明 |
source { object-group address-group-name | source-address source-wildcard | any } |
源地址信息 |
指定ACL规则的源地址信息 |
address-group-name:源地址对象组的名称 source-address:源IP地址 source-wildcard:源IP地址的通配符掩码(为0表示主机地址) any:任意源IP地址 |
destination { object-group address-group-name | dest-address dest-wildcard | any } |
目的地址信息 |
指定ACL规则的目的地址信息 |
address-group-name:目的地址对象组的名称 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 |
分片信息 |
仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效 |
若未指定任何分片相关的参数,则表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效 |
flow-logging |
流日志操作 |
记录规则匹配报文的流日志信息,包括匹配报文的规则、匹配报文的个数、源IP、目的IP、源端口号和目的端口号 |
该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤 |
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,缺省情况下未配置QoS本地ID值。有关QoS本地ID值的详细介绍和具体配置过程,请参见“三层技术-IP路由配置指导”中的“路由策略” |
vpn-instance vpn-instance-name |
VPN实例 |
对指定VPN实例中的报文有效 |
vpn-instance-name:MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写 应用ACL进行报文过滤,ACL规则中未指定VPN实例时,表示该规则对非VPN报文和VPN报文均有效 其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明 |
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-10所示的规则信息参数。
表1-10 TCP/UDP特有的规则信息参数
参数 |
类别 |
作用 |
说明 |
source-port { object-group port-group-name | operator port1 [ port2 ] } |
源端口 |
定义TCP/UDP报文的源端口信息 |
port-group-name:端口对象组的名称 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 { object-group port-group-name | 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。
gre-encapsulation:表示报文是GRE封装,当报文是GRE封装时不能配置源端口和VXLAN ID。
ipinip-encapsulation:表示报文是IPinIP封装,当报文是IPinIP封装时不能配置源端口和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-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报文的目的端口信息 |
【使用指导】
当ACL用于QoS策略的流分类或报文过滤功能时:
· 若报文过滤功能应用于出方向,规则不支持配置vpn-instance参数。
· 若QoS策略或报文过滤功能应用于出方向:
¡ 对于上送CPU后的报文、进行二层转发的报文和进行三层转发的报文,IPv4高级ACL规则rule [ rule-id ] { deny | permit } ip仅支持匹配进行三层转发的报文。
¡ 对于除IPv4高级ACL规则rule [ rule-id ] { deny | permit } ip之外的其他IPv4高级ACL规则,则可以匹配上送CPU后的报文、进行二层转发的报文和进行三层转发的报文。
· 规则中操作符operator取值不能为neq。
使用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命令参考/时间段)
rule命令用来为IPv4基本ACL创建一条规则。
undo rule命令用来为IPv4基本ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } [ counting | fragment | [ flow-logging | logging ] | source { object-group address-group-name | 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 { object-group address-group-name | source-address source-wildcard | any } | time-range time-range-name | vpn-instance vpn-instance-name ] *
【缺省情况】
IPv4基本ACL内不存在任何规则。
【视图】
IPv4基本ACL视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
rule-id:指定IPv4基本ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
counting:表示开启规则匹配软件统计功能,缺省为关闭。
fragment:表示仅对非首片分片报文有效,而对非分片报文和首片分片报文无效。若未指定本参数,表示该规则对非分片报文和分片报文均有效。
flow-logging:表示对符合条件的报文记录流日志信息,包括匹配报文的规则、匹配报文的个数、源IP和目的IP。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。
logging:表示记录规则匹配报文的日志信息,包括匹配报文的规则和匹配报文的个数。该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤。
source { object-group address-group-name | source-address source-wildcard | any }:指定规则的源IP地址信息。address-group-name表示源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实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明。
【使用指导】
当ACL用于QoS策略的流分类或用于报文过滤功能时:
· 若报文过滤功能应用于出方向,规则不支持配置vpn-instance参数。
· 若QoS策略或报文过滤功能应用于出方向:
¡ 对于上送CPU后的报文、进行二层转发的报文和进行三层转发的报文,IPv4基本ACL规则rule [ rule-id ] { deny | permit } { object-group address-group-name | source { source-address source-wildcard | any } | vpn-instance vpn-instance-name }仅支持匹配进行三层转发的报文。
¡ 对于除IPv4基本ACL规则rule [ rule-id ] { deny | permit } { object-group address-group-name | source { source-address source-wildcard | any } | vpn-instance vpn-instance-name }之外的其他IPv4基本ACL规则,则可以匹配上送CPU后的报文、进行二层转发的报文和进行三层转发的报文。
使用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 { object-group address-group-name | dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | { dscp dscp | ecn ecn } * | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | [ flow-logging | logging ] | qos-local-id local-id-value | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } | source-port { object-group port-group-name | 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 | [ flow-logging | 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 { object-group address-group-name | dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | { dscp dscp | ecn ecn } * | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | [ flow-logging | logging ] | qos-local-id | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } | source-port { object-group port-group-name | operator port1 [ port2 ] } | time-range time-range-name | vpn-instance vpn-instance-name ] *
【缺省情况】
IPv6高级ACL内不存在任何规则。
【视图】
IPv6高级ACL视图
【缺省用户角色】
network-admin
mdc-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 { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } |
源IPv6地址 |
指定ACL规则的源IPv6地址信息 |
address-group-name:源地址对象组的名称 source-address:源IPv6地址 source-prefix:源IPv6地址的前缀长度,取值范围1~128 any:任意源IPv6地址 |
destination { object-group address-group-name | dest-address dest-prefix | dest-address/dest-prefix | any } |
目的IPv6地址 |
指定ACL规则的目的IPv6地址信息 |
address-group-name:目的地址对象组的名称 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 |
报文分片 |
仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效 |
若未指定任何分片相关的参数,表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效 |
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配置指导”中的“时间段” |
qos-local-id local-id-value |
QoS本地ID值 |
指定ACL规则的QoS本地ID值 |
local-id-value:QoS本地ID值,取值范围为1~4095,缺省情况下未配置QoS本地ID值。有关QoS本地ID值的详细介绍和具体配置过程,请参见“三层技术-IP路由配置指导”中的“路由策略” |
vpn-instance vpn-instance-name |
VPN实例 |
对指定VPN实例中的报文有效 |
vpn-instance-name:MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写 应用ACL进行报文过滤,ACL规则中未指定VPN实例时,表示该规则对非VPN报文和VPN报文均有效 其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明 |
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-17所示的规则信息参数。
表1-17 TCP/UDP特有的规则信息参数
参数 |
类别 |
作用 |
说明 |
source-port { object-group port-group-name | operator port1 [ port2 ] } |
源端口 |
定义TCP/UDP报文的源端口信息 |
port-group-name:端口对象组的名称 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 { object-group port-group-name | 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策略的流分类或报文过滤功能时:
· 如果报文过滤功能应用于出方向,规则不支持配置vpn-instance、routing、hop-by-hop、flow-label参数。
· 若QoS策略或报文过滤功能应用于出方向:
¡ 对于上送CPU后的报文、进行二层转发的报文和进行三层转发的报文,IPv6高级ACL规则rule [ rule-id ] { deny | permit } ipv6仅支持匹配进行三层转发的报文。
¡ 对于除IPv6高级ACL规则rule [ rule-id ] { deny | permit } ipv6之外的其他IPv6高级ACL规则,则可以匹配上送CPU后的报文、进行二层转发的报文和进行三层转发的报文。
· 规则不支持配置fragment参数。
· 规则中操作符operator取值不能为neq。
使用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命令参考/时间段)
rule命令用来为IPv6基本ACL创建一条规则。
undo rule命令用来为IPv6基本ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } [ counting | fragment | [ flow-logging | logging ] | routing [ type routing-type ] | source { object-group address-group-name | 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 { object-group address-group-name | 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
mdc-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 { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any }:指定规则的源IPv6地址信息。address-group-name表示源IP地址对象组的名称,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实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明。
【使用指导】
当ACL用于QoS策略的流分类或用于报文过滤功能时:
· 若报文过滤功能应用于出方向,规则不支持配置vpn-instance、routing参数。
· 若QoS策略或报文过滤功能应用于出方向:
¡ 对于上送CPU后的报文、进行二层转发的报文和进行三层转发的报文,IPv6基本ACL规则rule [ rule-id ] { deny | permit } { source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } | vpn-instance vpn-instance-name }仅支持匹配进行三层转发的报文。
¡ 对于除IPv6基本ACL规则rule [ rule-id ] { deny | permit } { source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } | vpn-instance vpn-instance-name }之外的其他IPv6基本ACL规则,则可以匹配上送CPU后的报文、进行二层转发的报文和进行三层转发的报文。
· 规则不支持配置fragment参数。
使用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 | { 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
mdc-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。
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命令参考/时间段)
rule命令用来为用户自定义ACL创建一条规则。
undo rule命令用来为用户自定义ACL删除一条规则。
【命令】
命令形式一
rule [ rule-id ] { deny | permit } [ { { ipv4 | l2 | l4 | l5 }rule-string rule-mask offset }&<1-8> ] [ counting | time-range time-range-name ] *
undo rule rule-id
undo rule { deny | permit } [ { { ipv4 | l2 | l4 | l5 } 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 ] } ] * [ { { 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 | 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 ] } ] * [ { { ipv4 | l2 | l4 | l5 } rule-string rule-mask offset }&<1-8> ] [ counting | time-range time-range-name ] *
【缺省情况】
用户自定义ACL内不存在任何规则。
【视图】
用户自定义ACL视图
【缺省用户角色】
network-admin
mdc-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:指定偏移量,它以用户指定的报文头部为基准,指定从第几个字节开始进行比较。
&<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(在范围内,包括边界值);只有操作符range需要两个端口号做操作数,其它的只需要一个端口号做操作数。port1、port2:TCP或UDP的端口号,用数字表示时,取值范围为0~65535。
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参数。
【使用指导】
新创建的规则不能与已有规则的内容完全相同,否则将提示出错,并导致创建失败。
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在:
· 对于命令形式一,则对旧规则进行覆盖,即新配置的命令生效。
· 对于命令形式二,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
undo rule { deny | permit }命令可在不指定rule-id情况下删除整条规则,但无法删除规则中的部分内容;使用其删除整条规则时,必须输入已存在规则的完整形式;本命令适用于删除通过脚本文件在未指定rule-id情况下创建的规则。
对于命令形式二:
· 创建的规则除可以通过用户自定义的字符串对报文进行匹配外,还可以通过源地址、目的地址、端口号及承载的协议类型等条件对报文进行匹配。
· 使用rule命令对INT报文进行匹配时,请遵循如下规则:
¡ 若报文为TCP协议报文,则protocol需配置为tcp。
¡ 若报文为UDP协议报文,则protocol需配置为udp。
· 使用rule命令对TCP报文进行匹配时,protocol需配置为tcp,且必须从L5报文头开始偏移。
· 使用rule命令对UDP报文进行匹配时,protocol需配置为udp,且必须从L4或L5报文头开始偏移。
· 使用rule命令对IP报文进行匹配时,protocol需配置为ip,且必须从L4报文头开始偏移。
· 使用undo rule rule-id命令即可以删除整条规则,也可以删除指定规则中的部分内容。
· 请勿在一条规则中同时配置匹配IPv4及IPv6属性,否则该规则将不生效。
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
· 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
mdc-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 fortygige 1/0/1.
【相关命令】
· 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
mdc-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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!