01-ACL命令
本章节下载: 01-ACL命令 (384.62 KB)
目 录
1.1.6 display packet-filter verbose
1.1.9 rule (IPv4 advanced ACL view)
1.1.10 rule (IPv4 basic ACL view)
1.1.11 rule (IPv6 advanced ACL view)
1.1.12 rule (IPv6 basic ACL view)
acl命令用来创建ACL,并进入ACL视图。如果指定的ACL已存在,则直接进入ACL视图。
undo acl命令用来删除指定或全部ACL。
【命令】
acl [ ipv6 ] { advanced | basic } { acl-number | name acl-name } [ match-order { auto | config } ]
acl mac { acl-number | name acl-name } [ match-order { auto | config } ]
undo acl [ ipv6 ] { all | { advanced | basic } { acl-number | name acl-name } }
undo acl mac { all | acl-number | name acl-name }
【缺省情况】
不存在ACL。
【视图】
系统视图
【缺省用户角色】
network-admin
【参数】
ipv6:指定ACL类型为IPv6 ACL。如果未指定本关键字,则表示IPv4 ACL。
basic:指定创建基本ACL。
advanced:指定创建高级ACL。
mac:指定创建二层ACL。
acl-number:指定ACL的编号。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层ACL。
name acl-name:指定ACL的名称。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。
match-order { auto | config }:指定规则的匹配顺序,auto表示按照自动排序(即“深度优先”原则)的顺序进行规则匹配,config表示按照配置顺序进行规则匹配。缺省情况下,规则的匹配顺序为配置顺序。
all:指定类型中全部ACL。
【使用指导】
当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]
【相关命令】
· display acl
acl copy命令用来复制并生成一个新的ACL。
【命令】
acl [ ipv6 | mac ] 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。
source-acl-number:指定源ACL的编号,该ACL必须存在。本参数的取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层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。
name dest-acl-name:指定目的ACL的名称,该ACL必须不存在。dest-acl-name为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,ACL的名称不允许使用英文单词all。
【使用指导】
目的ACL的类型要与源ACL的类型相同。
除了ACL的编号或名称不同外,新生成的ACL(即目的ACL)的匹配顺序、规则匹配统计功能的开启情况、规则编号的步长、所包含的规则、规则的描述信息以及ACL的描述信息等都与源ACL的相同。
若未指定ipv6或mac参数,则表示IPv4 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
description命令用来配置ACL的描述信息。
undo description命令用来删除ACL的描述信息。
【命令】
description text
undo description
【缺省情况】
ACL没有任何描述信息。
【视图】
IPv4基本ACL视图
IPv4高级ACL视图
IPv6基本ACL视图
IPv6高级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 ] { acl-number | all | name acl-name }
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
ipv6:指定ACL类型为IPv6 ACL。
mac:指定ACL类型为二层ACL。
acl-number:显示指定编号的ACL的配置和运行情况。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层ACL。
all:显示指定类型中全部ACL的配置和运行情况。
name acl-name:显示指定名称的ACL的配置和运行情况。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。
【使用指导】
本命令将按照实际匹配顺序来排列ACL内的规则,即:当ACL的规则匹配顺序为配置顺序时,各规则将按照编号由小到大排列;当ACL的规则匹配顺序为自动排序时,各规则将按照“深度优先”原则由深到浅排列。
如果未指定ipv6或mac参数,则表示IPv4 ACL。
【举例】
# 显示IPv4基本ACL 2001的配置和运行情况。
<Sysname> display acl 2001
Basic IPv4 ACL 2001, 2 rules, match-order is auto,
This is an IPv4 basic ACL.
ACL's step is 5
rule 5 permit source 1.1.1.1 0 (5 times matched)
rule 5 comment This rule is used on GigabitEthernet1/0/6.
表1-1 display acl命令显示信息描述表
字段 |
描述 |
Basic IPv4 ACL 2001 |
该ACL的类型和编号 |
2 rules |
该ACL内包含的规则数量 |
match-order is auto |
该ACL的规则匹配顺序为自动排序(匹配顺序为配置顺序时不显示本字段) |
This is an IPv4 basic ACL. |
该ACL的描述信息 |
ACL's step is 5 |
该ACL的规则编号的步长值为5 |
rule 5 permit source 1.1.1.1 0 |
规则5的具体内容,源地址为具体地址 |
5 times matched |
该规则匹配的次数为5(仅统计软件ACL的匹配次数,当匹配次数为0时不显示本字段) |
rule 5 comment This rule is used on GigabitEthernet1/0/6. |
规则5的描述信息 |
display packet-filter命令用来显示ACL在报文过滤中的应用情况。
【命令】
display packet-filter interface [ interface-type interface-number ] inbound [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
interface [ interface-type interface-number ]:显示指定接口上ACL在报文过滤中的应用情况。interface-type interface-number表示接口类型和接口编号。若未指定接口类型和接口编号,将显示所有接口上ACL在报文过滤中的应用情况。
inbound:显示入方向上ACL在报文过滤中的应用情况。
slot slot-number:显示指定单板上ACL在报文过滤中的应用情况。slot-number为单板所在的槽位号。如果不指定本参数,则显示主用主控板上ACL在报文过滤中的应用情况。
【举例】
# 显示接口GigabitEthernet1/0/6入方向上ACL在报文过滤中的应用情况。
<Sysname> display packet-filter interface gigabitethernet 1/0/6 inbound
Interface: GigabitEthernet1/0/6
Inbound policy:
IPv4 ACL 2001
IPv6 ACL 2002 (Failed)
IPv4 default action: Deny
IPv6 default action: Deny
表1-2 display packet-filter命令显示信息描述表
字段 |
描述 |
Interface |
ACL在指定接口上的应用情况 |
Inbound policy |
ACL在入方向上的应用情况 |
IPv4 ACL 2001 |
IPv4基本ACL 2001应用成功 |
IPv6 ACL 2002 (Failed) |
IPv6基本ACL 2002应用失败 |
Share-mode |
QoS和ACL资源的共享模式,当应用报文过滤时携带了share-mode关键字,显示信息中才会出现该字段 |
IPv4 default action |
报文过滤的缺省动作,包括: · Deny:报文过滤缺省动作为Deny应用成功 · Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit · Permit:报文过滤缺省动作为Permit |
IPv6 default action |
报文过滤的缺省动作,包括: · Deny:报文过滤缺省动作为Deny应用成功 · Deny (Failed):报文过滤缺省动作为Deny应用失败,实际动作仍为Permit · Permit:报文过滤缺省动作为Permit |
display packet-filter verbose命令用来显示ACL在报文过滤中的详细应用情况。
【命令】
display packet-filter verbose interface interface-type interface-number inbound [ ipv6 ] { acl-number | name acl-name } ] [ slot slot-number ]
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
【参数】
interface interface-type interface-number:显示指定接口上ACL在报文过滤中的详细应用情况。interface-type interface-number表示接口类型和接口编号。
inbound:显示入方向上ACL在报文过滤中的详细应用情况。
ipv6:指定ACL类型为IPv6 ACL。
acl-number:显示指定编号ACL在报文过滤中的详细应用情况。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
name acl-name:显示指定名称ACL在报文过滤中的详细应用情况。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。
slot slot-number:显示指定单板上ACL在报文过滤中的详细应用情况。slot-number为单板所在的槽位号。如果不指定本参数,则显示主用主控板上ACL在报文过滤中的详细应用情况。
【使用指导】
若未指定acl-number、name acl-name和ACL类型(ipv6),将显示全部IPv4 ACL在报文过滤中的详细应用情况。
如果未指定ipv6,则表示IPv4 ACL。
【举例】
# 显示接口GigabitEthernet1/0/6入方向上全部ACL在报文过滤中的详细应用情况。
<Sysname> display packet-filter verbose interface gigabitethernet 1/0/6 inbound
Interface: GigabitEthernet1/0/6
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
rule 0 permit
IPv4 default action: Deny
IPv6 default action: Deny
表1-3 display packet-filter verbose命令显示信息描述表
字段 |
描述 |
Interface |
ACL在指定接口上的详细应用情况 |
Inbound policy |
ACL在入方向上的详细应用情况 |
IPv4 ACL 2001 |
IPv4基本ACL 2001应用成功 |
IPv4 ACL 2002 (Failed) |
IPv4基本ACL 2002应用失败 |
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 |
packet-filter命令用来在接口上应用ACL进行报文过滤。
undo packet-filter命令用来取消在接口上应用ACL进行报文过滤。
【命令】
packet-filter [ ipv6 ] { acl-number | name acl-name } inbound [ share-mode ]
undo packet-filter [ ipv6 ] { acl-number | name acl-name } inbound
【缺省情况】
接口不对报文进行过滤。
【视图】
接口视图
【缺省用户角色】
network-admin
【参数】
ipv6:指定ACL类型为IPv6 ACL。
acl-number:指定ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
name acl-name:指定ACL的名称。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。
inbound:对收到的报文进行过滤。
share-mode:对报文过滤以共享QoS和ACL资源的模式应用,缺省为非共享QoS和ACL资源模式。
【使用指导】
若未指定ipv6,则表示IPv4 ACL。
应用ACL进行报文过滤时,如果携带了share-mode关键字,则需要注意的是:
· 指定了share-mode关键字时,同一单板的相同方向上所有应用了该ACL进行报文过滤的接口共享一份QoS和ACL资源。而未指定share-mode关键字时,同一方向上应用该ACL进行报文过滤的接口独享一份QoS和ACL资源。
· 在同一个接口的同一个方向上,不能再携带share-mode关键字应用QoS策略。关于接口应用QoS策略命令的详细介绍,请参见“ACL和QoS命令参考”中的“QoS”。
· 在同一个接口的同一个方向上,支持应用多个ACL进行报文过滤,但共享QoS和ACL资源模式的ACL仅支持应用1个。
接口应用报文过滤后不能动态修改QoS和ACL的资源共享模式,如需修改,请先取消该接口应用的报文过滤,然后在配置接口应用报文过滤时选择携带或不携带share-mode关键字。
【举例】
# 应用IPv4基本ACL 2001对接口GigabitEthernet1/0/6收到的报文进行过滤。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/6
[Sysname-GigabitEthernet1/0/6] packet-filter 2001 inbound
# 以共享QoS和ACL资源模式应用IPv4基本ACL 2001对接口GigabitEthernet1/0/6发送的报文进行过滤。
<Sysname> system-view
[Sysname] interface gigabitethernet 1/0/6
[Sysname-GigabitEthernet1/0/6] packet-filter 2001 outbound share-mode
· display packet-filter
· display packet-filter verbose
reset acl counter命令用来清除ACL的统计信息。
【命令】
reset acl [ ipv6 | mac ] counter { acl-number | all | name acl-name }
【视图】
用户视图
【缺省用户角色】
network-admin
【参数】
ipv6:指定ACL类型为IPv6 ACL。
mac:指定ACL类型为二层ACL。
acl-number:清除指定编号ACL的统计信息。acl-number表示ACL的编号,取值范围及其代表的ACL类型如下:
· 2000~2999:表示基本ACL。
· 3000~3999:表示高级ACL。
· 4000~4999:表示二层ACL。
all:清除指定类型中全部ACL的统计信息。
name acl-name:清除指定名称ACL的统计信息。acl-name表示ACL的名称,为1~63个字符的字符串,不区分大小写。
【使用指导】
如果未指定ipv6或mac关键字,则表示IPv4 ACL。
【举例】
# 清除IPv4基本ACL 2001的统计信息。
<Sysname> reset acl counter 2001
【相关命令】
· display acl
rule命令用来为IPv4高级ACL创建一条规则。
undo rule命令用来为IPv4高级ACL删除一条规则或删除规则中的部分内容。
【命令】
rule [ rule-id ] { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-address dest-wildcard | any } | destination-port operator port1 [ port2 ] | { dscp dscp1 [ to dscp2 ] | { precedence precedence | tos tos } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | logging | source { source-address source-wildcard | 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 | { precedence | tos } * } | fragment | icmp-type | logging | source | source-port | time-range | vpn-instance ] *
undo rule { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-address dest-wildcard | any } | destination-port operator port1 [ port2 ] | { dscp dscp1 [ to dscp2 ] | { precedence precedence | tos tos } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | logging | source { source-address source-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-range-name | vpn-instance vpn-instance-name ] *
【缺省情况】
IPv4高级ACL内不存在任何规则。
【视图】
IPv4高级ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定IPv4高级ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长从5开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
protocol:表示IPv4承载的协议类型,可输入的形式如下:
· 数字:取值范围为0~255;
· 名称(括号内为对应的数字):可选取gre(47)、icmp(1)、igmp(2)、ip、ipinip(4)、ospf(89)、tcp(6)或udp(17)。ip表示所有协议类型。
protocol之后可配置如表1-4所示的规则信息参数。
参数 |
类别 |
作用 |
说明 |
source { source-address source-wildcard | any } |
源地址信息 |
指定ACL规则的源地址信息 |
source-address:源IP地址 source-wildcard:源IP地址的通配符掩码(为0表示主机地址) any:任意源IP地址 |
destination { dest-address dest-wildcard | any } |
目的地址信息 |
指定ACL规则的目的地址信息 |
dest-address:目的IP地址 dest-wildcard:目的IP地址的通配符掩码(为0表示主机地址) any:任意目的IP地址 |
counting |
统计 |
开启规则匹配统计功能,缺省为关闭 |
本参数用于开启本规则的匹配统计功能,而packet-filter命令中的hardware-count参数则用于开启指定ACL内所有规则的规则匹配硬件统计功能 |
precedence precedence |
报文优先级 |
IP优先级 |
precedence用数字表示时,取值范围为0~7;用字符表示时,分别对应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) |
dscp dscp1 [ to dscp2 ] |
报文优先级 |
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)。to用来表示DSCP优先级的范围,dscp2的值要大于等于dscp1的值 |
fragment |
分片信息 |
仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效 |
若未指定该参数,则表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效 |
logging |
日志操作 |
对符合条件的报文可记录日志信息 |
该功能需要使用该ACL的模块支持日志记录功能,例如报文过滤 |
time-range time-range-name |
时间段 |
指定本规则生效的时间段 |
time-range-name:时间段的名称,为1~32个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。若该时间段尚未配置,该规则仍会成功创建但系统将给出提示信息,并在该时间段的配置完成后此规则才会生效。有关时间段的详细介绍和具体配置过程,请参见“ACL和QoS配置指导”中的“时间段” |
source-user-group source-group-name |
源用户组 |
匹配特定源用户组的用户报文 |
source-group-name:用户组名称,为1~32个字符的字符串,不区分大小写。有关用户组的详细介绍和具体配置过程,请参见“安全配置指导”中的“AAA” 本参数应用在报文出接口或入接口上,用于匹配从该用户组中的用户发出的报文 本参数仅在QoS策略、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP上线的用户生效 |
source-user-group-any |
任意源用户组 |
匹配任意源用户组的报文 |
本参数仅在MQC、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP上线的用户生效 |
destination-user-group destination-group-name |
目的用户组 |
匹配特定目的用户组的用户报文 |
destination-group-name:用户组名称,为1~32个字符的字符串,不区分大小写。有关用户组的详细介绍和具体配置过程,请参见“安全配置指导”中的“AAA” 本参数应用在报文出接口或入接口上,用于匹配发往该用户组中的用户报文 本参数仅在QoS策略、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP上线的用户生效 |
destination -user-group-any |
任意目的用户组 |
匹配任意目的用户组的报文 |
本参数仅在MQC、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP上线的用户生效 |
vpn-instance vpn-instance-name |
VPN实例 |
对指定VPN实例中的报文有效 |
vpn-instance-name:MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写 其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明 |
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-5所示的规则信息参数。
表1-5 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表示携带此标志位) 对于一条规则中各标志位的配置组合为“与”的关系。譬如:当配置为ack 0 psh 1时,将匹配不携带ACK标志位且携带PSH标志位的TCP报文 |
established |
TCP连接建立标识 |
定义对TCP连接报文的处理规则 |
TCP协议特有的参数。 表示匹配携带ACK或RST标志位的TCP连接报文 |
当protocol为icmp(1)时,用户还可配置如表1-6所示的规则信息参数。
表1-6 ICMP特有的规则信息参数
参数 |
类别 |
作用 |
说明 |
icmp-type { icmp-type icmp-code | icmp-message } |
ICMP报文的消息类型和消息码信息 |
指定本规则中ICMP报文的消息类型和消息码信息 |
icmp-type:ICMP消息类型,取值范围为0~255 icmp-code:ICMP消息码,取值范围为0~255 icmp-message:ICMP消息名称。可以输入的ICMP消息名称,及其与消息类型和消息码的对应关系如表1-7所示 |
表1-7 ICMP消息名称与消息类型和消息码的对应关系
ICMP消息名称 |
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 |
【使用指导】
使用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
【相关命令】
· acl
· display acl
· 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。若未指定本参数,系统将按照步长从5开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为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个字符的字符串,区分大小写。;其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明。
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl all命令可以查看所有已存在的IPv4高级ACL规则和IPv4基本ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
【举例】
# 为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
· 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 { dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | logging | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { source-address source-prefix | source-address/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-range-name | vpn-instance vpn-instance-name ] *
undo rule rule-id [ { { ack | fin | psh | rst | syn | urg } * | established } | counting | destination | destination-port | dscp | flow-label | fragment | icmp6-type | logging | 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 { dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | logging | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { source-address source-prefix | source-address/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-range-name | vpn-instance vpn-instance-name ] *
【缺省情况】
IPv6高级ACL内不存在任何规则。
【视图】
IPv6高级ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定IPv6高级ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长从5开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。
deny:表示拒绝符合条件的报文。
permit:表示允许符合条件的报文。
protocol:表示IPv6承载的协议类型,可输入的形式如下:
· 数字:取值范围为0~255;
· 名称(括号内为对应的数字):可选取gre(47)、icmpv6(58)、ipv6、ipv6-ah(51)、ipv6-esp(50)、ospf(89)、tcp(6)或udp(17)。ipv6表示所有协议类型。
protocol之后可配置如表1-8所示的规则信息参数。
参数 |
类别 |
作用 |
说明 |
source { source-address source-prefix | source-address/source-prefix | any } |
源IPv6地址 |
指定ACL规则的源IPv6地址信息 |
source-address:源IPv6地址 source-prefix:源IPv6地址的前缀长度,取值范围1~128 any:任意源IPv6地址 |
destination { dest-address dest-prefix | dest-address/dest-prefix | any } |
目的IPv6地址 |
指定ACL规则的目的IPv6地址信息 |
dest-address:目的IPv6地址 dest-prefix:目的IPv6地址的前缀长度,取值范围1~128 any:任意目的IPv6地址 |
counting |
统计 |
开启规则匹配统计功能,缺省为关闭 |
本参数用于开启本规则的匹配统计功能,而packet-filter ipv6命令中的hardware-count参数则用于开启指定ACL内所有规则的规则匹配硬件统计功能 |
dscp dscp |
报文优先级 |
DSCP优先级 |
dscp:用数字表示时,取值范围为0~63;用名称表示时,可选取af11(10)、af12(12)、af13(14)、af21(18)、af22(20)、af23(22)、af31(26)、af32(28)、af33(30)、af41(34)、af42(36)、af43(38)、cs1(8)、cs2(16)、cs3(24)、cs4(32)、cs5(40)、cs6(48)、cs7(56)、default(0)或ef(46) |
flow-label flow-label-value |
流标签字段 |
指定IPv6基本报文头中流标签字段的值 |
flow-label-value:流标签字段的值,取值范围为0~1048575 |
fragment |
报文分片 |
仅对分片报文的非首个分片有效,而对非分片报文和分片报文的首个分片无效 |
若未指定本参数,表示该规则对所有报文(包括非分片报文和分片报文的每个分片)均有效 |
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配置指导”中的“时间段” |
source-user-group source-group-name |
源用户组 |
匹配特定源用户组的用户报文 |
source-group-name:用户组名称,为1~32个字符的字符串,不区分大小写。有关用户组的详细介绍和具体配置过程,请参见“安全配置指导”中的“AAA” 本参数应用在报文出接口或入接口上,用于匹配从该用户组中的用户发出的报文 本参数仅在QoS策略、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP上线的用户生效 |
source-user-group-any |
任意源用户组 |
匹配任意源用户组的报文 |
本参数仅在MQC、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP上线的用户生效 |
destination-user-group destination-group-name |
目的用户组 |
匹配特定目的用户组的用户报文 |
destination-group-name:用户组名称,为1~32个字符的字符串,不区分大小写。有关用户组的详细介绍和具体配置过程,请参见“安全配置指导”中的“AAA” 本参数应用在报文出接口或入接口上,用于匹配发往该用户组中的用户报文 本参数仅在QoS策略、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP上线的用户生效 |
destination-user-group-any |
任意目的用户组 |
匹配任意目的用户组的报文 |
本参数仅在MQC、packet-filter和策略路由引用的ACL中生效 本参数仅对PPPoE、IPoE、L2TP上线的用户生效 |
vpn-instance vpn-instance-name |
VPN实例 |
对指定VPN实例中的报文有效 |
vpn-instance-name:MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写 其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明 |
当protocol为tcp(6)或udp(17)时,用户还可配置如表1-9所示的规则信息参数。
表1-9 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表示携带此标志位) 对于一条规则中各标志位的配置组合为“与”的关系。譬如:当配置为ack 0 psh 1时,将匹配不携带ACK标志位且携带PSH标志位的TCP报文 |
established |
TCP连接建立标识 |
定义对TCP连接报文的处理规则 |
TCP协议特有的参数。 表示匹配携带ACK或RST标志位的TCP连接报文 |
当protocol为icmpv6(58)时,用户还可配置如表1-10所示的规则信息参数。
表1-10 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-11所示 |
表1-11 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 |
【使用指导】
使用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
· display acl
· 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。若未指定本参数,系统将按照步长从5开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为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个字符的字符串,区分大小写。;其他特性引用ACL,ACL规则中未指定VPN实例时,不同业务模块的处理方式有所不同,请参见业务模块中的相关说明。
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl ipv6 all命令可以查看所有已存在的IPv6高级ACL规则与IPv6基本ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
【举例】
# 为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
· 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 ] *
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 ] *
【缺省情况】
二层ACL内不存在任何规则。
【视图】
二层ACL视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定二层ACL规则的编号,取值范围为0~65534。若未指定本参数,系统将按照步长从5开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为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配置指导”中的“时间段”。
【使用指导】
使用rule命令时,如果指定编号的规则不存在,则创建一条新的规则;如果指定编号的规则已存在,则对旧规则进行修改,即在其原有内容的基础上叠加新的内容。
新创建或修改的规则不能与已有规则的内容完全相同,否则将提示出错,并导致该操作失败。
当ACL的规则匹配顺序为配置顺序时,允许修改该ACL内的任意一条已有规则;当ACL的规则匹配顺序为自动排序时,不允许修改该ACL内的已有规则,否则将提示出错。
display acl mac all命令可以查看所有已存在的二层ACL规则。
删除规则时需要注意的是:
· 使用undo rule rule-id命令时,如果没有指定任何可选参数,则删除整条规则;如果指定了可选参数,则只删除该参数所对应的内容。
· undo rule { deny | permit }命令无法删除规则中的部分内容,使用undo rule { deny | permit }命令时,必须输入已存在规则的完整形式。
【举例】
# 为二层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
· display acl
· step
· 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视图
【缺省用户角色】
network-admin
【参数】
rule-id:指定规则的编号,该规则必须存在。取值范围为0~65534。
text:表示规则的描述信息,为1~127个字符的字符串,区分大小写。
【使用指导】
使用rule comment命令时,如果指定的规则没有描述信息,则为其添加描述信息,否则修改其描述信息。
【举例】
# 为IPv4基本ACL 2000配置规则0,并为该规则配置描述信息。
<Sysname> system-view
[Sysname] acl basic 2000
[Sysname-acl-ipv4-basic-2000] rule 0 deny source 1.1.1.1 0
[Sysname-acl-ipv4-basic-2000] rule 0 comment This rule is used on gigabitethernet 1/0/6.
【相关命令】
· display acl
step命令用来配置规则编号的步长和起始值。
undo step命令用来恢复缺省情况。
【命令】
step step-value
undo step
【缺省情况】
规则编号的步长和起始值均为5。
【视图】
IPv4基本ACL视图/IPv4高级ACL视图
IPv6基本ACL视图/IPv6高级ACL视图
二层ACL视图
【缺省用户角色】
network-admin
【参数】
step-value:表示规则编号的步长值和起始值,取值范围为1~20。
【使用指导】
系统为规则自动分配编号的方式如下:系统从规则编号的起始值开始,自动分配一个大于现有最大编号的步长最小倍数。譬如原有编号为0、5、9、10和12的五条规则,步长为5,此时如果创建一条规则且不指定编号,那么系统将自动为其分配编号15。
如果执行step命令修改了步长和起始值,ACL内原有全部规则的编号都将自动从规则编号的起始值开始按步长重新排列。譬如,某ACL内原有编号为0、5、9、10和15的五条规则,当修改步长和起始值为2之后,这些规则的编号将依次变为2、4、6、8和10。即step命令不仅修改规则编号的步长还会影响规则编号的起始值。
【举例】
# 将IPv4基本ACL 2000的规则编号的步长配置为2。
<Sysname> system-view
[Sysname] acl basic 2000
[Sysname-acl-ipv4-basic-2000] step 2
【相关命令】
· display acl
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!