H3C交换机基本ACL+QOS简介及配置实例

组网需求

公司企业网经过交换机Switch实现各部门之间的互连。服务器

要求正确配置IPv4 ACL,禁止研发部门和市场部门在上班时间(8:00至18:00)访问工资查询服务器(IP地址为192.168.4.1),而总裁办公室不受限制,能够随时访问。app

组网图ui

配置IPv4 ACL组网图spa

 H3C ACL+QOS典型配置举例 - drachen - Drachen

# 定义8:00至18:00的周期时间段。3d

<Switch> system-view日志

[Switch] time-range trname 8:00 to 18:00 working-dayblog

访问规则ip

# 定义研发部门到工资查询服务器的访问规则。ci

[Switch] acl number 3000字符串

[Switch-acl-adv-3000] rule deny ip source 192.168.2.0 0.0.0.255 destination 192.168.4.1 0.0.0.0 time-range trname

[Switch-acl-adv-3000] quit

# 定义市场部门到工资查询服务器的访问规则。

[Switch] acl number 3001

[Switch-acl-adv-3001] rule deny ip source 192.168.3.0 0.0.0.255 destination 192.168.4.1 0.0.0.0 time-range trname

[Switch-acl-adv-3001] quit

QoS策略

# 定义类c_rd,对匹配IPv4 ACL 3000的报文进行分类。

[Switch] traffic classifier c_rd

[Switch-classifier-c_rd] if-match acl 3000

[Switch-classifier-c_rd] quit

# 定义流行为b_rd,动做为拒绝报文经过。

[Switch] traffic behavior b_rd

[Switch-behavior-b_rd] filter deny

[Switch-behavior-b_rd] quit

# 定义类c_market,对匹配IPv4 ACL 3001的报文进行分类。

[Switch] traffic classifier c_market

[Switch-classifier-c_market] if-match acl 3001

[Switch-classifier-c_market] quit

# 定义流行为b_market,动做为拒绝报文经过。

[Switch] traffic behavior b_market

[Switch-behavior-b_market] filter deny

[Switch-behavior-b_market] quit

# 定义QoS策略p_rd,为类c_rd指定流行为b_rd。

[Switch] qos policy p_rd

[Switch-qospolicy-p_rd] classifier c_rd behavior b_rd

[Switch-qospolicy-p_rd] quit

# 定义QoS策略p_market,为类c_market指定流行为b_market。

[Switch] qos policy p_market

[Switch-qospolicy-p_market] classifier c_market behavior b_market

[Switch-qospolicy-p_market] quit

# 将QoS策略p_rd应用到端口GigabitEthernet 1/0/2。

[Switch] interface GigabitEthernet 1/0/2

[Switch-GigabitEthernet1/0/2] qos apply policy p_rd inbound

[Switch-GigabitEthernet1/0/2] quit

# 将QoS策略p_market应用到端口GigabitEthernet 1/0/3。

[Switch] interface GigabitEthernet 1/0/3

[Switch-GigabitEthernet1/0/3] qos apply policy p_market inbound




基本 ACL 只根据源 IP 地址信息制定匹配规则,对报文进行相应的分析处理。其序号取值范围为 2000 2999
若是要配置带有时间段参数的规则,则须要定义相应的时间段。参见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|***-instance***-instance-name]
定义规则。能够重复本步骤建立多条规则
须要注意的是,当基本 ACL QoS 策略引用对报文进行流分类时,不支持配置 logging ***-instance 参数。并且各个系列所支持的可选项和参数并不彻底同样。如中低档的系列不支持 ***-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视图)。这两个命令的可选项和参数解释以下:
n         numberacl-numberACL序号,取值范围为:
Ø              20002999表示基本ACL
Ø              30003999表示高级ACLACL 39983999是系统为集群管理预留的编号,用户没法配置)。
Ø              40004999表示二层ACL
Ø              50005999表示用户自定义ACL
n         nameacl-nameACL名字,最多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命令建立一个序号为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|***-instance]”命令删除一个基本ACL规则或者规则的某些属性信息。在删除一条规则时,须要指定该规则的编号。若是用户不知道规则的编号,可使用display acl命令来查看。若是undorule命令后不指定参数,将删除整个ACL规则,不然,将只删除ACL规则相应的属性信息。这两个命令的可选项和参数解释以下:
n         rule-id:基本ACL规则编号,取值范围为065534
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.255any表示任意源IP地址。
n         time-rangetime-name:指定规则生效的时间段。time-name表示时间段的名称,为132个字符的字符串,不区分大小写,必须以英文字母azAZ开头,为避免混淆,时间段的名字不可使用英文单词all
n         ***-instance***-instance-name:指定***实例信息。***-instance-name表示***实例的名称,为131个字符的字符串,区分大小写。若是规则没有指定本参数,表示该规则仅对非***报文生效。
【注意】当ACL的匹配顺序为config时,用户能够修改该ACL中的任何一条已经存在的规则,在修改ACL中的某条规则时,该规则中没有修改到的部分仍旧保持原来的状态;当ACL的匹配顺序为auto时,用户不能修改该ACL中的任何一条已经存在的规则,不然系统会提示错误信息。
在定义一条ACL规则的时候,用户能够不指定规则编号,这时,系统会从0开始,按照必定的编号步长,自动为规则分配一个大于现有最大编号的最小编号。假设现有规则的最大编号是28,编号步长是5,那么系统分配给新定义的规则的编号将是30
新建立或修改后的规则不能和已经存在的规则相同,不然会致使建立或修改不成功,系统会提示该规则已经存在。
ACL的匹配顺序为auto时,新建立的规则将按照深度优先的原则插入到已有的规则中,可是全部规则对应的编号不会改变。
当基本ACLQoS策略引用对报文进行流分类时,不支持配置logging***-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规则的描述信息。这两个命令的可选项和参数解释以下:
n         rule-idACL规则编号,取值范围为065534
n         textACL规则的描述信息,为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