本文共 5383 字,大约阅读时间需要 17 分钟。
以下内容摘自笔者2009年度巨作,获得多项大奖,并且已成功重印的图书. 基本ACL
只根据源IP
地址信息制定匹配规则,对报文进行相应的分析处理。其序号取值范围为2000
~2999
。 如果要配置带有时间段参数的规则,则需要定义相应的时间段。参见19.2.1
节。 | | |
| | |
| 适用于 S5600 及以前系列: acl number acl-number[nameacl-name][match-order{ auto|config} ] 适用于 S7500 及以后系列: acl { numberacl-number |nameacl-name[ advanced | basic | link | user ] } [ match-order { config | auto } ] | 创建基本 ACL 并进入基本 ACL 视图(二者选其一)。缺省情况下,匹配顺序为 config 如果用户在创建 ACL 时指定了名称,则之后可以通过 acl nameacl-name 命令进入指定名称的 ACL 视图 |
| rule [rule-id] { deny|permit} [fragment|logging|source{ sour-addr sour-wildcard|any} |time-rangetime-name|vpn-instancevpn-instance-name] | 需要注意的是,当基本 ACL 被 QoS 策略引用对报文进行流分类时,不支持配置 logging 和 vpn-instance 参数。而且各个系列所支持的可选项和参数并不完全一样。如中低档的系列不支持 vpn-instance 可选项和 参数 |
| | |
| | (可选)定义 ACL 的描述信息。缺省情况下, ACL 没有描述信息 |
| rule rule-id comment text | (可选)定义规则的描述信息。缺省情况下,规则没有描述信息 |
表中的两个 acl 命令用来定义一条数字或名字标识的ACL
,并进入相应的ACL
视图。可用“
undo acl”
命令用来删除一条数字或名字标识的ACL
的所有规则,或者删除全部ACL
。 缺省情况下,按用户的配置顺序匹配ACL
。进入相应的ACL
视图之后,可以用 rule 命令增加此命名ACL
规则(用 quit 命令退出ACL
视图)。这两个命令的可选项和参数解释如下: n number acl-number :ACL
序号,取值范围为:
Ø 3000
~3999
: 表示高级ACL
(ACL 3998
与3999
是系统为集群管理预留的编号,用户无法配置)。 Ø 5000
~5999
: 表示用户自定义ACL
。 n name acl-name :ACL
名字,最多32
个字符,必须以英文字母(即[a-z,A-Z]
)开始,而且中间不能有空格和引号;不区分大小写,不允许使用关键字 all 。 n config :表示按用户的配置顺序匹配ACL
规则。 n auto :表示按深度优先顺序匹配ACL
规则。 n all : 表示要删除所有的ACL
(包括数字标识的和名字标识的)。 缺省情况下,ACL
的匹配顺序为 config 。 用户也可以通过本命令修改一个已经存在的ACL
的匹配顺序,但必须在该ACL
中没有规则的时候修改,对已经有规则的ACL
是无法修改其匹配顺序的。 【注意】用户只能在创建ACL
时指定名称,ACL
创建后不允许对名称进行修改或者删除。如果在创建时没有命名,则创建后也不能为其添加名称。 如果ACL
序号所指定的ACL
不存在,则创建ACL
并进入ACL
视图。若命令中同时指定了名称,则指定的ACL
名称不能与已有ACL
名称重复,但允许与IPv6 ACL
使用相同的名称。 如果ACL
序号所指定的ACL
已经存在,则进入该ACL
视图。若命令中同时指定了名称,则该名称必须与序号所确定的ACL
名称保持一致。 下面是一个使用 acl 命令创建一个序号为2000
的ACL
,未命名的示例。 下面是一个使用 acl 命令创建一个序号为2002
、名称为flow
的ACL
的示例。 [Sysname]acl number2002nameflow [Sysname-acl-basic-2002-flow] 下面是一个使用 acl 命令使用ACL
序号进入一个未命名的ACL
视图的示例。 表中的 rule 命令用来定义一个基本ACL
规则。可用“
undo rule rule-id[
fragment|
logging|
source|
time-range|
vpn-instance]”
命令删除一个基本ACL
规则或者规则的某些属性信息。在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用 display acl 命令来查看。如果 undo rule 命令后不指定参数,将删除整个ACL
规则,否则,将只删除ACL
规则相应的属性信息。这两个命令的可选项和参数解释如下: n rule-id :基本ACL
规则编号,取值范围为0
~65534
。 n fragment :定义规则仅对分片报文有效。需要注意的是,在SA
(例如 LSQ1FP48SA
)和EA
(例如 LSQ1GP12EA
)单板上应用的 fragment 参数匹配非尾片分片报文,在SC
(例如 LSQ1GP24SC
)单板上应用的 fragment 参数匹配非首片分片报文。关于单板类型的详细介绍请参见安装手册。 n logging :对符合条件的报文可记录日志信息。 n source{
sour-addr sour-wildcard|
any}
:指定规则的源地址信息。 sour-addr 表示报文的源IP
地址, sour-wildcard 表示反掩码(当反掩码为0
时代表主机地址),例如,如果用户想指定子网掩码255.255.0.0
,则需要输入0.0.255.255
。 any 表示任意源IP
地址。 n time-range time-name :指定规则生效的时间段。 time-name 表示时间段的名称,为1
~32
个字符的字符串,不区分大小写,必须以英文字母a
~z
或A
~Z
开头,为避免混淆,时间段的名字不可以使用英文单词all
。 n vpn-instance vpn-instance-name :指定VPN
实例信息。 vpn-instance-name 表示VPN
实例的名称,为1
~31
个字符的字符串,区分大小写。如果规则没有指定本参数,表示该规则仅对非VPN
报文生效。 【注意】当ACL
的匹配顺序为 config 时,用户可以修改该ACL
中的任何一条已经存在的规则,在修改ACL
中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL
的匹配顺序为 auto 时,用户不能修改该ACL
中的任何一条已经存在的规则,否则系统会提示错误信息。 在定义一条ACL
规则的时候,用户可以不指定规则编号,这时,系统会从0
开始,按照一定的编号步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28
,编号步长是5
,那么系统分配给新定义的规则的编号将是30
。 新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。 当ACL
的匹配顺序为 auto 时,新创建的规则将按照“
深度优先”
的原则插入到已有的规则中,但是所有规则对应的编号不会改变。 当基本ACL
被QoS
策略引用对报文进行流分类时,不支持配置 logging 和 vpn-instance 参数。 下面是一个使用 rule 命令定义一条基本ACL
规则,禁止源地址为1.1.1.1
的报文通过的示例。 [Sysname-acl-basic-2000]rule deny source1.1.1.1 0 表19-1
中的 step 命令用来为一个ACL
规则组中的规则序号指定一个步长。 step-value :参数用来指定ACL
规则编号的步长值,取值范围为1
~20
。 缺省情况下,步长为5
。 可用“
undo step”
命令把步长恢复为缺省值。 下面是一个使用 step 命令把基本ACL 2000
的步长改为2
的示例(该命令可同时用于高级ACL
和二层ACL
的步长设置)。 [Sysname-acl-basic-2000]step2 表19-1
中的 description 命令用来定义ACL
的描述信息,描述该ACL
的具体用途。 text :ACL
的描述信息,为1
~127
个字符的字符串,区分大小写。缺省情况下,ACL
没有描述信息。可用“
undo description”
命令用来删除ACL
的描述信息。 下面是一个使用 description 命令定义基本ACL 2000
的描述信息的示例(该命令可同时用于描述高级ACL
和二层ACL
)。 [Sysname-acl-basic-2000]descriptionThis acl is used in eth 2/0/1 表中的“
rule comment”
命令用来定义ACL
规则的描述信息,描述该规则的用途、属性等提示信息。可用“
undo rule rule-id comment”
命令删除ACL
规则的描述信息。这两个命令的可选项和参数解释如下: n rule-id :ACL
规则编号,取值范围为0
~65534
。 n text :ACL
规则的描述信息,为1
~127
个字符的字符串,区分大小写。 【注意】在使用 rule comment 命令为规则定义描述信息时,该规则必须存在。如果指定规则没有描述信息,则为其添加描述信息;如果指定规则已经存在描述信息,则修改其描述信息。 下面是一个使用“
rule comment”
命令为基本ACL 2000
定义一条规则,并为规则定义一个描述信息的示例(该命令可同时用于高级ACL
和二层ACL
规则定义描述信息)。 [Sysname-acl-basic-2000]rule0deny source1.1.1.1 0 [Sysname-acl-basic-2000]rule0commentThis rule is used in eth 2/0/1 本示例是要配置一个基本ACL 2000
,禁止源IP
地址为1.1.1.1
的报文通过。 具体配置命令和显示信息如下: [Sysname-acl-basic-2000]rule deny source1.1.1.1 0 [Sysname-acl-basic-2000]display acl2000 Basic ACL 2000, named -none-, 1 rule, rule 0 deny source1.1.1.1 0 本文转自王达博客51CTO博客,原文链接http://blog.51cto.com/winda/304694如需转载请自行联系原作者