欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

h3c交换机基本ACL配置 H3C配置管理Cisco 

程序员文章站 2024-02-28 16:14:46
...

以下内容摘自笔者2009年度巨作,获得多项大奖,并且已成功重印的图书《Cisco/H3C交换机配置与管理完全手册》.

19.2.2基本ACL配置

基本ACL只根据源IP地址信息制定匹配规则,对报文进行相应的分析处理。其序号取值范围为20002999

如果要配置带有时间段参数的规则,则需要定义相应的时间段。参见19.2.1节。

1.基本ACL的配置方法

配置基本ACL的步骤如表19-1所示。

19-1配置基本ACL的步骤

命令

用途说明

Step 1

system-view

进入系统视图

Step 2

适用于S5600及以前系列:acl numberacl-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时指定了名称,则之后可以通过aclnameacl-name命令进入指定名称的ACL视图

Stepo 3

rule[rule-id] {deny|permit} [fragment|logging|source{sour-addr sour-wildcard|any} |time-rangetime-name|vpn-instancevpn-instance-name]

定义规则。可以重复本步骤创建多条规则

需要注意的是,当基本ACLQoS策略引用对报文进行流分类时,不支持配置loggingvpn-instance参数。而且各个系列所支持的可选项和参数并不完全一样。如中低档的系列不支持vpn-instance可选项和参数

Step 4

stepstep-value

(可选)定义步长。缺省情况下,步长为5

Step 5

descriptiontext

(可选)定义ACL的描述信息。缺省情况下,ACL没有描述信息

Step 6

rulerule-idcommenttext

(可选)定义规则的描述信息。缺省情况下,规则没有描述信息

表中的两个acl命令用来定义一条数字或名字标识的ACL,并进入相应的ACL视图。可用undo acl命令用来删除一条数字或名字标识的ACL的所有规则,或者删除全部ACL

缺省情况下,按用户的配置顺序匹配ACL。进入相应的ACL视图之后,可以用rule命令增加此命名ACL规则(用quit命令退出ACL视图)。这两个命令的可选项和参数解释如下:

nnumberacl-numberACL序号,取值范围为:

Ø20002999表示基本ACL

Ø30003999表示高级ACLACL 39983999是系统为集群管理预留的编号,用户无法配置)。

Ø40004999表示二层ACL

Ø50005999表示用户自定义ACL

nnameacl-nameACL名字,最多32个字符,必须以英文字母(即[a-z,A-Z])开始,而且中间不能有空格和引号;不区分大小写,不允许使用关键字all

nadvanced:表示高级ACL

nbasic:表示基本ACL

nlink:表示二层ACL

nuser:表示用户自定义ACL

nconfig:表示按用户的配置顺序匹配ACL规则。

nauto:表示按深度优先顺序匹配ACL规则。

nall表示要删除所有的ACL(包括数字标识的和名字标识的)。

缺省情况下,ACL的匹配顺序为config

用户也可以通过本命令修改一个已经存在的ACL的匹配顺序,但必须在该ACL中没有规则的时候修改,对已经有规则的ACL是无法修改其匹配顺序的。

【注意】用户只能在创建ACL时指定名称,ACL创建后不允许对名称进行修改或者删除。如果在创建时没有命名,则创建后也不能为其添加名称。

如果ACL序号所指定的ACL不存在,则创建ACL并进入ACL视图。若命令中同时指定了名称,则指定的ACL名称不能与已有ACL名称重复,但允许与IPv6 ACL使用相同的名称。

如果ACL序号所指定的ACL已经存在,则进入该ACL视图。若命令中同时指定了名称,则该名称必须与序号所确定的ACL名称保持一致。

下面是一个使用acl命令创建一个序号为2000ACL,未命名的示例。

<Sysname>system-view

[Sysname]acl number2000

[Sysname-acl-basic-2000]

下面是一个使用acl命令创建一个序号为2002、名称为flowACL的示例。

<Sysname>system-view

[Sysname]acl number2002nameflow

[Sysname-acl-basic-2002-flow]

下面是一个使用acl命令使用ACL序号进入一个未命名的ACL视图的示例。

<Sysname>system-view

[Sysname]acl number2000

[Sysname-acl-basic-2000]

表中的rule命令用来定义一个基本ACL规则。可用undorulerule-id[fragment|logging|source|time-range|vpn-instance]”命令删除一个基本ACL规则或者规则的某些属性信息。在删除一条规则时,需要指定该规则的编号。如果用户不知道规则的编号,可以使用display acl命令来查看。如果undorule命令后不指定参数,将删除整个ACL规则,否则,将只删除ACL规则相应的属性信息。这两个命令的可选项和参数解释如下:

nrule-id:基本ACL规则编号,取值范围为065534

ndeny:表示丢弃符合条件的报文。

npermit:表示允许符合条件的报文通过。

nfragment:定义规则仅对分片报文有效。需要注意的是,在SA(例如LSQ1FP48SA)和EA(例如LSQ1GP12EA)单板上应用的fragment参数匹配非尾片分片报文,在SC(例如LSQ1GP24SC)单板上应用的fragment参数匹配非首片分片报文。关于单板类型的详细介绍请参见安装手册。

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

nsource{sour-addr sour-wildcard|any}:指定规则的源地址信息。sour-addr表示报文的源IP地址,sour-wildcard表示反掩码(当反掩码为0时代表主机地址),例如,如果用户想指定子网掩码255.255.0.0,则需要输入0.0.255.255any表示任意源IP地址。

ntime-rangetime-name:指定规则生效的时间段。time-name表示时间段的名称,为132个字符的字符串,不区分大小写,必须以英文字母azAZ开头,为避免混淆,时间段的名字不可以使用英文单词all

nvpn-instancevpn-instance-name:指定VPN实例信息。vpn-instance-name表示VPN实例的名称,为131个字符的字符串,区分大小写。如果规则没有指定本参数,表示该规则仅对非VPN报文生效。

【注意】当ACL的匹配顺序为config时,用户可以修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,否则系统会提示错误信息。

在定义一条ACL规则的时候,用户可以不指定规则编号,这时,系统会从0开始,按照一定的编号步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30

新创建或修改后的规则不能和已经存在的规则相同,否则会导致创建或修改不成功,系统会提示该规则已经存在。

ACL的匹配顺序为auto时,新创建的规则将按照深度优先的原则插入到已有的规则中,但是所有规则对应的编号不会改变。

当基本ACLQoS策略引用对报文进行流分类时,不支持配置loggingvpn-instance参数。

下面是一个使用rule命令定义一条基本ACL规则,禁止源地址为1.1.1.1的报文通过的示例。

<Sysname>system-view

[Sysname]acl number2000

[Sysname-acl-basic-2000]rule deny source1.1.1.1 0

19-1中的step命令用来为一个ACL规则组中的规则序号指定一个步长。step-value:参数用来指定ACL规则编号的步长值,取值范围为120缺省情况下,步长为5可用undo step命令把步长恢复为缺省值。

下面是一个使用step命令把基本ACL 2000的步长改为2的示例(该命令可同时用于高级ACL和二层ACL的步长设置)。

<Sysname>system-view

[Sysname]acl number2000

[Sysname-acl-basic-2000]step2

19-1中的description命令用来定义ACL的描述信息,描述该ACL的具体用途。textACL的描述信息,为1127个字符的字符串,区分大小写。缺省情况下,ACL没有描述信息。可用undo description命令用来删除ACL的描述信息。

下面是一个使用description命令定义基本ACL 2000的描述信息的示例(该命令可同时用于描述高级ACL和二层ACL)。

<Sysname>system-view

[Sysname]acl number2000

[Sysname-acl-basic-2000]descriptionThis acl is used in eth 2/0/1

表中的rule comment命令用来定义ACL规则的描述信息,描述该规则的用途、属性等提示信息。可用undo rulerule-idcomment命令删除ACL规则的描述信息。这两个命令的可选项和参数解释如下:

nrule-idACL规则编号,取值范围为065534

ntextACL规则的描述信息,为1127个字符的字符串,区分大小写。

缺省情况下,规则没有描述信息。

【注意】在使用rule comment命令为规则定义描述信息时,该规则必须存在。如果指定规则没有描述信息,则为其添加描述信息;如果指定规则已经存在描述信息,则修改其描述信息。

下面是一个使用rule comment命令为基本ACL 2000定义一条规则,并为规则定义一个描述信息的示例(该命令可同时用于高级ACL和二层ACL规则定义描述信息)。

<Sysname>system-view

[Sysname]acl number2000

[Sysname-acl-basic-2000]rule0deny source1.1.1.1 0

[Sysname-acl-basic-2000]rule0commentThis rule is used in eth 2/0/1

2基本ACL配置示例

本示例是要配置一个基本ACL 2000,禁止源IP地址为1.1.1.1的报文通过。具体配置命令和显示信息如下:

<Sysname>system-view

[Sysname]acl number2000

[Sysname-acl-basic-2000]rule deny source1.1.1.1 0

[Sysname-acl-basic-2000]display acl2000

Basic ACL 2000, named -none-, 1 rule,

ACL's step is 5

rule 0 deny source1.1.1.1 0