以下内容摘自笔者2009年度巨作,获得多项大奖,并且已成功重印的图书《Cisco/H3C交换机配置与管理完全手册》.
19.2.2基本ACL配置
基本ACL 只根据源IP 地址信息制定匹配规则,对报文进行相应的分析处理。其序号取值范围为2000 ~2999 。
如果要配置带有时间段参数的规则,则需要定义相应的时间段。参见19.2.1 节。
1. 基本ACL 的配置方法
配置基本ACL 的步骤如表19-1 所示。
表19-1 配置基本ACL 的步骤
命令
用途说明
Step 1
system-view
进入系统视图
Step 2
适用于S5600 及以前系列:acl number acl-number [name acl-name ][match-order {auto |config } ]
适用于S7500 及以后系列:acl { numberacl-number | nameacl-name [ advanced | basic | link | user ] } [ match-order { config | auto } ]
创建基本ACL 并进入基本ACL 视图(二者选其一)。缺省情况下,匹配顺序为config
如果用户在创建ACL 时指定了名称,则之后可以通过acl name acl-name 命令进入指定名称的ACL 视图
Stepo 3
rule [rule-id ] {deny |permit } [fragment |logging |source {sour-addr sour-wildcard |any } |time-range time-name |vpn-instance vpn-instance-name ]
定义规则。可以重复本步骤创建多条规则
需要注意的是,当基本ACL 被QoS 策略引用对报文进行流分类时,不支持配置logging 和vpn-instance 参数。而且各个系列所支持的可选项和参数并不完全一样。如中低档的系列不支持vpn-instance 可选项和参数
Step 4
step step-value
(可选)定义步长。缺省情况下,步长为5
Step 5
description text
(可选)定义ACL 的描述信息。缺省情况下,ACL 没有描述信息
Step 6
rule rule-id comment text
(可选)定义规则的描述信息。缺省情况下,规则没有描述信息
表中的两个acl 命令用来定义一条数字或名字标识的ACL ,并进入相应的ACL 视图。可用“undo acl ” 命令用来删除一条数字或名字标识的ACL 的所有规则,或者删除全部ACL 。
缺省情况下,按用户的配置顺序匹配ACL 。进入相应的ACL 视图之后,可以用rule 命令增加此命名ACL 规则(用quit 命令退出ACL 视图)。这两个命令的可选项和参数解释如下:
n number acl-number :ACL 序号,取值范围为:
Ø 2000 ~2999 : 表示基本ACL 。
Ø 3000 ~3999 : 表示高级ACL (ACL 3998 与3999 是系统为集群管理预留的编号,用户无法配置)。
Ø 4000 ~4999 : 表示二层ACL 。
Ø 5000 ~5999 : 表示用户自定义ACL 。
n name acl-name :ACL 名字,最多32 个字符,必须以英文字母(即[a-z,A-Z] )开始,而且中间不能有空格和引号;不区分大小写,不允许使用关键字all 。
n advanced :表示高级ACL 。
n basic :表示基本ACL 。
n link :表示二层ACL 。
n user :表示用户自定义ACL 。
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 ,未命名的示例。
<Sysname>system-view
[Sysname]acl number 2000
[Sysname-acl-basic-2000]
下面是一个使用acl 命令创建一个序号为2002 、名称为flow 的ACL 的示例。
<Sysname>system-view
[Sysname]acl number 2002name flow
[Sysname-acl-basic-2002-flow]
下面是一个使用acl 命令使用ACL 序号进入一个未命名的ACL 视图的示例。
<Sysname>system-view
[Sysname]acl number 2000
[Sysname-acl-basic-2000]
表中的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 deny :表示丢弃符合条件的报文。
n permit :表示允许符合条件的报文通过。
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>system-view
[Sysname]acl number 2000
[Sysname-acl-basic-2000]rule deny source 1.1.1.1 0
表19-1 中的step 命令用来为一个ACL 规则组中的规则序号指定一个步长。step-value :参数用来指定ACL 规则编号的步长值,取值范围为1 ~20 。缺省情况下,步长为5 。可用“undo step ” 命令把步长恢复为缺省值。
下面是一个使用step 命令把基本ACL 2000 的步长改为2 的示例(该命令可同时用于高级ACL 和二层ACL 的步长设置)。
<Sysname>system-view
[Sysname]acl number 2000
[Sysname-acl-basic-2000]step 2
表19-1 中的description 命令用来定义ACL 的描述信息,描述该ACL 的具体用途。text :ACL 的描述信息,为1 ~127 个字符的字符串,区分大小写。缺省情况下,ACL 没有描述信息。可用“undo description ” 命令用来删除ACL 的描述信息。
下面是一个使用description 命令定义基本ACL 2000 的描述信息的示例(该命令可同时用于描述高级ACL 和二层ACL )。
<Sysname>system-view
[Sysname]acl number 2000
[Sysname-acl-basic-2000]description This 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>system-view
[Sysname]acl number 2000
[Sysname-acl-basic-2000]rule 0deny source 1.1.1.1 0
[Sysname-acl-basic-2000]rule 0comment This rule is used in eth 2/0/1
2 基本ACL 配置示例
本示例是要配置一个基本ACL 2000 ,禁止源IP 地址为1.1.1.1 的报文通过。具体配置命令和显示信息如下:
<Sysname>system-view
[Sysname]acl number 2000
[Sysname-acl-basic-2000]rule deny source 1.1.1.1 0
[Sysname-acl-basic-2000]display acl 2000
Basic ACL 2000, named -none-, 1 rule,
ACL's step is 5
rule 0 deny source1.1.1.1 0
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com