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

08-ACL和QoS命令参考

目录

01-ACL命令

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

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/IPRAN_Converge/IPRAN_Converge/Command/Command_Manual/H3C_SR6600-F_CR-R7607-6W100/08/201703/975331_30005_0.htm

01-ACL命令


1 ACL

1.1  ACL配置命令

1.1.1  accelerate

accelerate命令用来开启ACL加速功能。

undo accelerate命令用来关闭ACL加速功能。

【命令】

accelerate

undo accelerate

【缺省情况】

ACL加速功能处于关闭状态。

【视图】

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

【缺省用户角色】

network-admin

【使用指导】

资源不足会导致ACL加速失败,但是匹配依然生效。规则有变化或者重新加速,在资源足够的前提下加速会生效。

ACL加速成功后,再去修改或添加新的规则,可能由于资源不足,会导致新的规则加速失败,规则匹配不生效,但是不影响之前加速成功的规则。

【举例】

# 开启ACL 2000的加速功能。

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000] accelerate

【相关命令】

·     display acl accelerate

1.1.2  acl

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

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

【命令】

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

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

【缺省情况】

不存在ACL。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

ipv6:指定ACL类型为IPv6 ACL。

basic:指定创建基本ACL。

advanced:指定创建高级ACL。

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

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级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的规则匹配顺序进行修改,否则不允许进行修改。

若未指定ipv6参数,则表示IPv4 ACL。

如果ACL规则的匹配项中包含了除IP五元组(源IP地址、源端口号、目的IP地址、目的端口号、传输层协议)、ICMP报文的消息类型和消息码信息、VPN实例、日志操作和时间段之外的其它匹配项,则设备转发ACL匹配的这类报文时会启用慢转发流程。慢转发时设备会将报文上送控制平面,计算报文相应的表项信息。执行慢转发流程时,设备的转发能力将会有所降低。

【举例】

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

<Sysname> system-view

[Sysname] acl basic 2000

[Sysname-acl-ipv4-basic-2000]

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

<Sysname> system-view

[Sysname] acl basic name flow

[Sysname-acl-ipv4-basic-flow]

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

<Sysname> system-view

[Sysname] acl advanced 3000

[Sysname-acl-ipv4-adv-3000]

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

<Sysname> system-view

[Sysname] acl ipv6 basic 2000

[Sysname-acl-ipv6-basic-2000]

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

<Sysname> system-view

[Sysname] acl ipv6 basic name flow

[Sysname-acl-ipv6-basic-flow]

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

<Sysname> system-view

[Sysname] acl ipv6 advanced name abc

[Sysname-acl-ipv6-adv-abc]

【相关命令】

·     display acl

1.1.3  acl copy

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

【命令】

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

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

ipv6:指定ACL类型为IPv6 ACL。

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

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

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

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

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级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参数,则表示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

1.1.4  description

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

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

【命令】

description text

undo description

【缺省情况】

ACL没有任何描述信息。

【视图】

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

【缺省用户角色】

network-admin

【参数】

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

【举例】

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

<Sysname> system-view

[Sysname] acl basic 2000

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

【相关命令】

·     display acl

1.1.5  display acl

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

【命令】

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

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

ipv6:指定ACL类型为IPv6 ACL。

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

·     2000~2999:表示基本ACL。

·     3000~3999:表示高级ACL。

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

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

【使用指导】

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

若未指定ipv6参数,则表示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

ACL accelerated

 rule 5 permit source 1.1.1.1 0

 rule 5 comment This rule is used on GigabitEthernet 2/1/1.

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

字段

描述

Basic IPv4 ACL 2001

该ACL的类型和编号,ACL的类型包括:

·     Basic IPv4 ACL:表示IPv4基本ACL

·     Advanced IPv4 ACL:表示IPv4高级ACL

·     Basic IPv6 ACL:表示IPv6基本ACL

·     Advanced IPv6 ACL:表示IPv6高级ACL

2 rules

该ACL内包含的规则数量

match-order is auto

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

This is an IPv4 basic ACL.

该ACL的描述信息

ACL's step is 5

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

ACL accelerated

该ACL开启了加速功能

rule 5 permit source 1.1.1.1 0

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

rule 5 comment This rule is used on GigabitEthernet 2/1/1.

规则5的描述信息

 

1.1.6  display acl accelerate

display acl accelerate命令用来显示ACL的加速状态。

【命令】

display acl accelerate { summary [ ipv6 ] | verbose [ ipv6 ] { acl-number | name acl-name } slot slot-number }

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

summary:显示ACL加速的概要信息。

verbose:显示ACL加速的详细信息。

ipv6:显示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:显示指定slot的ACL加速信息,slot-number表示槽位号。

【使用指导】

若未指定ipv6参数,则表示IPv4 ACL。

【举例】

# 显示加速概要信息。

<Sysname> display acl accelerate summary

Basic IPv4 ACL 2000

# 显示加速详细信息。

<Sysname> display acl accelerate verbose 2000

Basic IPv4 ACL 2000.

 rule 0 permit

 rule 1 deny (failed)

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

字段

描述

failed

表示此规则加速失败,匹配不生效

 

1.1.7  rule (IPv4 advanced ACL view)

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

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

【命令】

rule [ rule-id ] { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-address dest-wildcard | any } | destination-port operator port1 [ port2 ] | { dscp dscp | { precedence precedence | tos tos } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | 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 dscp | { 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。若未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。

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

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

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

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

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

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

表1-3 规则信息参数

参数

类别

作用

说明

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

统计

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

本参数用于开启本规则的匹配统计功能

precedence precedence

报文优先级

IP优先级

precedence用数字表示时,取值范围为0~7;用文字表示时,分别对应routinepriorityimmediateflashflash-overridecriticalinternetnetwork

tos tos

报文优先级

ToS优先级

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

dscp dscp

报文优先级

DSCP优先级

dscp用数字表示时,取值范围为0~63;用文字表示时,可以选取af11(10)、af12(12)、af13(14)、af21(18)、af22(20)、af23(22)、af31(26)、af32(28)、af33(30)、af41(34)、af42(36)、af43(38)、cs1(8)、cs2(16)、cs3(24)、cs4(32)、cs5(40)、cs6(48)、cs7(56)、default(0)、ef(46)

fragment

分片信息

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

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

logging

日志操作

对符合条件的报文可记录日志信息

该功能需要使用该ACL的模块支持日志记录功能

time-range time-range-name

时间段

指定本规则生效的时间段

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

vpn-instance vpn-instance-name

VPN实例

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

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

若未指定本参数,表示该规则对非VPN报文和VPN报文均有效

 

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

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

参数

类别

作用

说明

source-port operator port1 [ port2 ]

源端口

定义TCP/UDP报文的源端口信息

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

port1port2:TCP或UDP的端口号,用数字表示时,取值范围为0~65535;用文字表示时,TCP端口号可以选取chargen(19)、bgp(179)、cmd(514)、daytime(13)、discard(9)、dns(53)、domain(53)、echo (7)、exec (512)、finger(79)、ftp(21)、ftp-data(20)、gopher(70)、hostname(101)、irc(194)、klogin(543)、kshell(544)、login(513)、lpd(515)、nntp(119)、pop2(109)、pop3(110)、smtp(25)、sunrpc(111)、tacacs(49)、talk(517)、telnet(23)、time(37)、uucp(540)、whois(43)、www(80);UDP端口号可以选取biff(512)、bootpc(68)、bootps(67)、discard(9)、dns(53)、dnsix(90)、echo (7)、mobilip-ag(434)、mobilip-mn(435)、nameserver(42)、netbios-dgm(138)、netbios-ns(137)、netbios-ssn(139)、ntp(123)、rip(520)、snmp(161)、snmptrap(162)、sunrpc(111)、syslog(514)、tacacs-ds(65)、talk(517)、tftp(69)、time(37)、who(513)、xdmcp(177)

destination-port operator port1 [ port2 ]

目的端口

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

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

TCP报文标识

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

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

对于一条规则中各标志位的配置组合,处理方式为“或”。譬如:当配置为ack 0 psh 1时,则匹配不携带ACK或携带PSH标志位的TCP报文

established

TCP连接建立标识

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

TCP协议特有的参数。表示匹配携带ACK或RST标志位的TCP连接报文

 

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

表1-5 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-6所示

 

表1-6 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 [ rule-id ] { 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命令参考/时间段)

1.1.8  rule (IPv4 basic ACL view)

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。若未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。

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

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

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

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

logging:表示对符合条件的报文可记录日志信息。该功能需要使用该ACL的模块支持日志记录功能。

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

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

vpn-instance vpn-instance-name:表示对指定VPN实例中的报文有效。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。若未指定本参数,表示该规则对非VPN报文和VPN报文均有效

【使用指导】

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

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

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

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

counting参数用于开启本规则的匹配统计功能。

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

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

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

·     undo rule [ rule-id ] { 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命令参考/时间段)

1.1.9  rule (IPv6 advanced ACL view)

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

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

【命令】

rule [ rule-id ] { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | 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。若未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。

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

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

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

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

·     名称(括号内为对应的数字):可选取gre(47)、icmpv6(58)、ipv6ipv6-ah(51)、ipv6-esp(50)、ospf(89)、tcp(6)或udp(17)。

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

表1-7 规则信息参数

参数

类别

作用

说明

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

统计

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

本参数用于开启本规则的匹配统计功能

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配置指导”中的“时间段”

vpn-instance vpn-instance-name

VPN实例

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

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

若未指定本参数,表示该规则对非VPN报文和VPN报文均有效

 

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

表1-8 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连接报文

 

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

表1-9 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-10所示

 

表1-10 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 [ rule-id ] { 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命令参考/时间段)

1.1.10  rule (IPv6 basic ACL view)

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。若未指定本参数,系统将按照步长从0开始,自动分配一个大于现有最大编号的最小编号。譬如现有规则的最大编号为28,步长为5,那么自动分配的新编号将是30。

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

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

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

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

logging:表示对符合条件的报文可记录日志信息。该功能需要使用该ACL的模块支持日志记录功能。

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

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

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

vpn-instance vpn-instance-name:表示对指定VPN实例中的报文有效。vpn-instance-name表示MPLS L3VPN的VPN实例名称,为1~31个字符的字符串,区分大小写。若未指定本参数,表示该规则对非VPN报文和VPN报文均有效。

【使用指导】

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

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

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

counting参数用于开启本规则的匹配统计功能。

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

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

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

·     undo rule [ rule-id ] { 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命令参考/时间段)

1.1.11  rule comment

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

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

【命令】

rule rule-id comment text

undo rule rule-id comment

【缺省情况】

规则没有任何描述信息。

【视图】

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

【缺省用户角色】

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 2/1/1.

【相关命令】

·     display acl

1.1.12  step

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

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

【命令】

step step-value

undo step

【缺省情况】

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

【视图】

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

【缺省用户角色】

network-admin

【参数】

step-value:表示规则编号的步长值,取值范围为1~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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们