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

06-安全分册(操作, V1.01)

03-ACL配置

本章节下载  (282.55 KB)

docurl=/cn/Service/Document_Software/Document_Center/Other_Product/IP_Voice/VG_80-80/VG_80-80/Configure/Operation_Manual/VG_80-80_06_OM(_V1.01)/200712/321091_30005_0.htm

03-ACL配置

  录

第1章 ACL简介... 1-1

1.1 IPv4 ACL简介.. 1-1

1.1.1 IPv4 ACL分类.. 1-1

1.1.2 IPv4 ACL命名.. 1-2

1.1.3 IPv4 ACL匹配顺序.. 1-2

1.1.4 IPv4 ACL对分片报文的处理.. 1-3

1.2 IPv6 ACL简介.. 1-4

1.2.1 IPv6 ACL分类.. 1-4

1.2.2 IPv6 ACL命名.. 1-4

1.2.3 IPv6 ACL匹配顺序.. 1-5

第2章 IPv4 ACL配置... 2-1

2.1 配置时间段.. 2-1

2.1.1 配置时间段.. 2-1

2.1.2 时间段配置举例.. 2-2

2.2 配置基本IPv4 ACL. 2-2

2.2.1 配置准备.. 2-2

2.2.2 配置基本IPv4 ACL. 2-2

2.2.3 基本IPv4 ACL配置举例.. 2-4

2.3 配置高级IPv4 ACL. 2-4

2.3.1 配置准备.. 2-4

2.3.2 配置高级IPv4 ACL. 2-5

2.3.3 高级IPv4 ACL配置举例.. 2-6

2.4 配置二层ACL. 2-6

2.4.1 配置准备.. 2-6

2.4.2 配置二层ACL. 2-7

2.4.3 二层ACL配置举例.. 2-8

2.5 配置用户自定义ACL. 2-8

2.5.1 配置准备.. 2-8

2.5.2 配置用户自定义ACL. 2-9

2.5.3 用户自定义ACL配置举例.. 2-10

2.6 拷贝IPv4 ACL. 2-10

2.6.1 配置准备.. 2-10

2.6.2 拷贝IPv4 ACL. 2-10

2.7 IPv4 ACL显示和维护.. 2-11

2.8 IPv4 ACL典型配置举例.. 2-11

2.8.1 组网需求.. 2-11

2.8.2 组网图.. 2-11

2.8.3 配置步骤.. 2-12

第3章 IPv6 ACL配置... 3-1

3.1 配置时间段.. 3-1

3.2 配置基本IPv6 ACL. 3-1

3.2.1 配置准备.. 3-1

3.2.2 配置基本IPv6 ACL. 3-1

3.2.3 基本IPv6 ACL配置举例.. 3-2

3.3 配置高级IPv6 ACL. 3-3

3.3.1 配置准备.. 3-3

3.3.2 配置高级IPv6 ACL. 3-3

3.3.3 高级IPv6 ACL配置举例.. 3-4

3.4 配置简单IPv6 ACL. 3-5

3.4.1 配置简单IPv6 ACL. 3-5

3.4.2 简单IPv6 ACL配置举例.. 3-5

3.5 拷贝IPv6 ACL. 3-6

3.5.1 配置准备.. 3-6

3.5.2 拷贝IPv6 ACL. 3-6

3.6 IPv6 ACL显示和维护.. 3-6

3.7 IPv6 ACL典型配置举例.. 3-7

3.7.1 组网需求.. 3-7

3.7.2 配置步骤.. 3-7

 


第1章  ACL简介

&  说明:

本章所介绍的ACL包括IPv4 ACL和IPv6 ACL。

 

随着网络规模的扩大和流量的增加,对网络安全的控制和对带宽的分配成为网络管理的重要内容。通过对报文进行过滤,可以有效防止非法用户对网络的访问,同时也可以控制流量,节约网络资源。ACL(Access Control List,访问控制列表)即是通过配置对报文的匹配规则和处理操作来实现包过滤的功能。

当设备的端口接收到报文后,即根据当前端口上应用的ACL规则对报文的字段进行分析,在识别出特定的报文之后,然后根据预先设定的策略允许或禁止该报文通过。

ACL通过一系列的匹配条件对报文进行分类,这些条件可以是报文的源地址、目的地址、端口号等。

用户还可以根据时间段对报文进行控制。ACL中的每条规则都可选择一个时间段,这条规则只在该指定的时间段内生效。如果规则引用的时间段未配置,则系统给出提示信息,并允许这样的规则创建成功,但是规则不能立即生效,直到用户配置了引用的时间段,并且系统时间在指定时间段范围内ACL规则才能生效。

由ACL定义的报文匹配规则,可以被其它需要对流量进行区分的场合引用,如QoS中流分类规则的定义。

1.1  IPv4 ACL简介

1.1.1  IPv4 ACL分类

IPv4 ACL根据ACL序号来区分不同的ACL,可以分为下列四种类型:

l              基本IPv4 ACL(ACL序号为2000~2999):只根据报文的源IP地址信息制定匹配规则。

l              高级IPv4 ACL(ACL序号为3000~3999):根据报文的源IP地址信息、目的IP地址信息、IP承载的协议类型、协议的特性等三、四层信息制定匹配规则。

l              二层ACL(ACL序号为4000~4999):根据报文的源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息制定匹配规则。

l              用户自定义ACL(ACL序号为5000~5999):可以以报文的报文头、IP头等为基准,指定从第几个字节开始与掩码进行“与”操作,将从报文提取出来的字符串和用户定义的字符串进行比较,找到匹配的报文。

1.1.2  IPv4 ACL命名

用户在创建IPv4 ACL时,可以为ACL指定一个名称。每个IPv4 ACL最多只能有一个名称。命名的ACL使用户可以通过名称唯一地确定一个IPv4 ACL,并对其进行相应的操作。

在创建ACL时,用户可以选择是否配置名称。ACL创建后,不允许用户修改或者删除ACL名称,也不允许为未命名的ACL添加名称。

&  说明:

l      IPv6 ACL的名称对于IPv6 ACL全局唯一,但允许与IPv4 ACL使用相同的名称。

l      简单IPv6 ACL不支持命名。

 

1.1.3  IPv4 ACL匹配顺序

一个ACL中可以包含多个规则,而每个规则都指定不同的报文匹配选项。这样,在报文匹配时就会出现匹配顺序的问题。

IPv4 ACL支持两种匹配顺序:

l              配置顺序:按照用户配置规则的先后顺序进行规则匹配。

l              自动排序:按照“深度优先”的顺序进行规则匹配。

1. 基本IPv4 ACL的“深度优先”顺序判断原则如下

(1)        先比较源IP地址范围,源IP地址范围小(反掩码中“0”位的数量多)的规则优先;

(2)        如果源IP地址范围相同,则先配置的规则优先。

2. 高级IPv4 ACL的“深度优先”顺序判断原则如下

(1)        先看规则中是否带VPN实例,带VPN实例的规则优先;

(2)        再比较协议范围,指定了IP协议承载的协议类型的规则优先;

(3)        如果协议范围相同,则比较源IP地址范围,源IP地址范围小(反掩码中“0”位的数量多)的规则优先;

(4)        如果协议范围、源IP地址范围相同,则比较目的IP地址范围,目的IP地址范围小(反掩码中“0”位的数量多)的规则优先;

(5)        如果协议范围、源IP地址范围、目的IP地址范围相同,则比较四层端口号(TCP/UDP端口号)范围,四层端口号范围小的规则优先;

(6)        如果上述范围都相同,则先配置的规则优先。

3. 二层ACL的“深度优先”顺序判断原则如下

(1)        先比较源MAC地址范围,源MAC地址范围小(掩码中“1”位的数量多)的规则优先;

(2)        如果源MAC地址范围相同,则比较目的MAC地址范围,目的MAC地址范围小(掩码中“1”位的数量多)的规则优先;

(3)        如果源MAC地址范围、目的MAC地址范围相同,则先配置的规则优先。

&  说明:

用户自定义ACL的匹配顺序只能为配置顺序。

 

在报文匹配规则时,会按照匹配顺序去匹配定义的规则,一旦有一条规则被匹配,报文就不再继续匹配其它规则了,设备将对该报文执行第一次匹配的规则指定的动作。

1.1.4  IPv4 ACL对分片报文的处理

传统的报文过滤并不处理所有IP报文分片,而是只对首片(第一片)分片报文进行匹配处理,对后续分片不进行匹配处理。这样,网络攻击者可能构造后续的分片报文进行流量攻击,就带来了安全隐患。

目前,设备提供的对分片报文过滤的功能如下:

l              对所有的分片报文进行三层(IP层)的匹配过滤。

l              对于包含高级信息的ACL规则项(例如包含TCP/UDP端口号,ICMP类型),提供标准匹配和精确匹配两种匹配方式,缺省的匹配方式为标准匹配。

&  说明:

标准匹配和精确匹配的含义如下:

l      标准匹配:只匹配三层信息,而三层以外的信息将被忽略。

l      精确匹配:对ACL定义的所有的规则项进行匹配。

这两种匹配方式只有防火墙支持,具体介绍请参见“安全分册”中的“防火墙配置”。

 

在ACL的规则配置项中,通过关键字fragment来标识该ACL规则仅对非首片分片报文有效,而对非分片报文和首片分片报文无效。不包含此关键字的配置规则项对非分片报文和分片报文均有效。

例如:

[VG-basic-2000] rule deny source 202.101.1.0 0.0.0.255 fragment

[VG-basic-2000] rule permit source 202.101.2.0 0.0.0.255

[VG-adv-3001] rule permit ip destination 171.16.23.1 0 fragment

[VG-adv-3001] rule deny ip destionation 171.16.23.2 0

上述定义的规则中,第一、三条规则对非分片和首片分片报文无效,仅仅对非首片分片报文有效;第二、四条规则对非分片和分片报文均有效。

1.2  IPv6 ACL简介

1.2.1  IPv6 ACL分类

IPv6 ACL根据ACL序号来区分不同的ACL,可以分为下列三种类型:

l              基本IPv6 ACL(ACL序号为2000~2999):只根据源IPv6地址信息制定匹配规则。

l              高级IPv6 ACL(ACL序号为3000~3999):根据报文的源IPv6地址信息、目的IPv6地址信息、IP v6承载的协议类型、协议的特性等三层、四层信息来制定匹配规则。

l              简单IPv6 ACL(ACL序号为10000~42767):根据报文的源IPv6地址信息、目的IPv6地址信息、IPv6地址组合标记、IP v6承载的协议类型、协议的特性等三层、四层信息来制定匹配规则,简单IPv6 ACL在TCP标记、分片报文标记上有更丰富的内容。

1.2.2  IPv6 ACL命名

用户在创建IPv6 ACL时,可以为ACL指定一个名称。每个IPv6 ACL最多只能有一个名称。命名的ACL使用户可以通过名称唯一地确定一个IPv6 ACL,并对其进行相应的操作。

在创建ACL时,用户可以选择是否配置名称。ACL创建后,不允许用户修改或者删除ACL名称,也不允许为未命名的ACL添加名称。

&  说明:

l      IPv6 ACL的名称对于IPv6 ACL全局唯一,但允许与IPv4 ACL使用相同的名称。

l      简单IPv6 ACL不支持命名。

 

1.2.3  IPv6 ACL匹配顺序

一个ACL中可以包含多个规则,而每个规则都指定不同的报文匹配选项。这样,在报文匹配时就会出现匹配顺序的问题。

IPv6 ACL支持两种匹配顺序:

l              配置顺序:按照用户配置规则的先后顺序进行规则匹配。

l              自动排序:按照“深度优先”的顺序进行规则匹配。

1. 基本IPv6 ACL的“深度优先”顺序判断原则如下

(1)        先比较源IPv6地址范围,源IPv6地址范围小(前缀长)的规则优先;

(2)        如果源IPv6地址范围相同,则先配置的规则优先。IPv6 ACL的“深度优先”

2. 高级IPv6 ACL的“深度优先”顺序判断原则如下

(1)        先比较协议范围,指定了IPv6协议承载的协议类型的规则优先;

(2)        如果协议范围相同,则比较源IPv6地址范围,源IPv6地址范围小(前缀长)的规则优先;

(3)        如果协议范围、源IPv6地址范围相同,则比较目的IPv6地址范围,目的IPv6地址范围小(前缀长)的规则优先;

(4)        如果协议范围、源IPv6地址范围、目的IPv6地址范围相同,则比较四层端口号(TCP/UDP端口号)范围,四层端口号范围小的规则优先;

(5)        如果上述范围都相同,则先配置的规则优先。

&  说明:

简单IPv6 ACL只能定义一条规则,不涉及匹配顺序。

 

在报文匹配规则时,会按照匹配顺序去匹配定义的规则,一旦有一条规则被匹配,报文就不再继续匹配其它规则了,设备将对该报文执行第一次匹配的规则指定的动作。

 


第2章  IPv4 ACL配置

2.1  配置时间段

对时间段的配置有如下两种情况:

l              配置周期时间段:采用每周的周几的形式;

l              配置绝对时间段:采用从起始时间到结束时间的形式。

2.1.1  配置时间段

表2-1 配置时间段

操作

命令

说明

进入系统视图

system-view

-

创建一个时间段

time-range time-name { start-time to end-time days [ from time1 date1 ] [ to time2 date2 ] | from time1 date1 [ to time2 date2 ] | to time2 date2 }

必选

显示时间段的配置和状态

display time-range { time-name | all }

可选

display命令可以在任意视图下执行

 

需要注意的是:

l              如果用户通过命令time-range time-name start-time to end-time days定义了一个周期时间段,则只有系统时钟在该周期时间段内,该时间段才进入激活状态。

l              如果用户通过命令time-range time-name { from time1 date1 [ to time2 date2 ] | to time2 date2 }定义了一个绝对时间段,则只有系统时钟在该绝对时间段内,该时间段才进入激活状态。

l              如果用户通过命令time-range time-name start-time to end-time days { from time1 date1 [ to time2 date2 ] | to time2 date2 }同时定义了绝对时间段和周期时间段,则只有系统时钟同时满足绝对时间段和周期时间段的定义时,该时间段才进入激活状态。例如,一个时间段定义了绝对时间段:从2004年1月1日0点0分到2004年12月31日24点0分,同时定义了周期时间段:每周三的12:00到14:00。该时间段只有在2004年内每周三的12:00到14:00才进入激活状态。

l              在同一个名字下可以配置多个时间段,来共同描述一个特殊时间,通过名字来引用该时间。在同一个名字下配置的多个周期时间段之间是“或”的关系,多个绝对时间段之间是“或”的关系,而周期时间段和绝对时间段之间是“与”的关系。

l              如果不配置开始日期,时间段就是从系统可表示的最早时间(即1970年1月1日0点0分)起到结束日期为止。如果不配置结束日期,时间段就是从配置生效之日起到系统可以表示的最晚时间(即2100年12月31日24点0分)为止。

l              最多可以定义256个时间段。

2.1.2  时间段配置举例

# 配置时间段,时间范围为每周周一到周五的8:00到18:00。

<VG> system-view

[VG] time-range test 8:00 to 18:00 working-day

[VG] display time-range test

Current time is 13:27:32 4/16/2005 Saturday

Time-range : test ( Inactive )

08:00 to 18:00 working-day

2.2  配置基本IPv4 ACL

基本IPv4 ACL只根据源IP地址信息制定匹配规则,对报文进行相应的分析处理。

基本IPv4 ACL的序号取值范围为2000~2999。

2.2.1  配置准备

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

2.2.2  配置基本IPv4 ACL

表2-2 配置基本IPv4 ACL

操作

命令

说明

进入系统视图

system-view

-

创建基本IPv4 ACL并进入基本IPv4 ACL视图

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

必选

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

如果用户在创建IPv4 ACL时指定了名称,则之后可以通过acl name acl-name命令进入指定名称的IPv4 ACL视图

定义规则

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

必选

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

定义步长

step step-value

可选

缺省情况下,步长为5

定义IPv4 ACL的描述信息

description text

可选

缺省情况下,IPv4 ACL没有描述信息

定义规则的描述信息

rule rule-id comment text

可选

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

 

需要注意的是:

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

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

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

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

  注意:

l      用户可以通过命令acl number acl-number [ name acl-name ] match-order { auto | config }修改IPv4 ACL的匹配顺序为auto或者config,但必须在IPv4 ACL中没有规则的时候修改,对已经有规则的IPv4  ACL是无法修改其匹配顺序的。

l      在使用acl name acl-name命令进入指定名称的IPv4 ACL视图时,该名称所指定的IPv4 ACL必须存在。

l      在使用rule comment命令为规则定义描述信息时,该规则必须存在。

 

2.2.3  基本IPv4 ACL配置举例

# 配置IPv4 ACL 2000,禁止源IP地址为1.1.1.1的报文通过。

<VG> system-view

[VG] acl number 2000 name basicflow

[VG-acl-basic-2000-basicflow] rule deny source 1.1.1.1 0

[VG-acl-basic-2000-basicflow] display acl 2000

Basic ACL  2000, named basicflow 1 rule,

Acl's step is 5

rule 0 deny source 1.1.1.1 0 (5  times matched)

2.3  配置高级IPv4 ACL

高级IPv4 ACL可以使用报文的源IP地址信息、目的IP地址信息、IP承载的协议类型、协议的特性(例如TCP或UDP的源端口、目的端口,TCP标记,ICMP协议的消息类型、消息码等)等信息来制定匹配规则。

高级IPv4 ACL支持对三种报文优先级的分析处理:

l              ToS(Type of Service,服务类型)优先级;

l              IP优先级;

l              DSCP(Differentiated Services Codepoint,差分服务编码点)优先级。

用户可以利用高级IPv4 ACL定义比基本IPv4 ACL更准确、更丰富、更灵活的匹配规则。

高级IPv4 ACL的序号取值范围为3000~3999。

2.3.1  配置准备

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

2.3.2  配置高级IPv4 ACL

表2-3 配置高级IPv4 ACL

操作

命令

说明

进入系统视图

system-view

-

创建高级IPv4 ACL并进入高级IPv4 ACL视图

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

必选

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

如果用户在创建IPv4 ACL时指定了名称,则之后可以通过acl name acl-name命令进入指定名称的IPv4 ACL视图

acl name acl-name

定义规则

rule [ rule-id ] { deny | permit } protocol [ destination { dest-addr dest-wildcard | any } | destination-port operator port1 [ port2 ] | dscp dscp | established | fragment | icmp-type { icmp-type icmp-code | icmp-message } | logging | precedence precedence | reflective | source { sour-addr sour-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-name | tos tos | vpn-instance vpn-instance-name ] *

必选

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

定义步长

step step-value

可选

缺省情况下,步长为5

定义IPv4 ACL的描述信息

description text

可选

缺省情况下,IPv4 ACL没有描述信息

定义规则的描述信息

rule rule-id comment text

可选

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

 

需要注意的是:

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

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

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

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

  注意:

l      用户可以通过命令acl number acl-number [ name acl-name ] match-order { auto | config }修改IPv4 ACL的匹配顺序为auto或者config,但必须在IPv4 ACL中没有规则的时候修改,对已经有规则的IPv4 ACL是无法修改其匹配顺序的。

l      在使用acl name acl-name命令进入指定名称的IPv4 ACL视图时,该名称所指定的IPv4 ACL必须存在。

l      在使用rule comment命令为规则定义描述信息时,该规则必须存在。

 

2.3.3  高级IPv4 ACL配置举例

# 配置IPv4 ACL 3000,允许129.9.0.0网段的主机向202.38.160.0网段的主机发送端口号为80的TCP报文。

<VG> system-view

[VG] acl number 3000 name advflow

[VG-acl-adv-3000 advflow] 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

[VG-acl-adv-3000-advflow] display acl 3000

Advanced ACL  3000, named advflow, 1 rule,

Acl's step is 5

 rule 0 permit tcp source 129.9.0.0 0.0.255.255 destination 202.38.160.0 0.0.0.255 destination-port eq www (5 times matched)

2.4  配置二层ACL

二层ACL根据报文的源MAC地址、目的MAC地址、802.1p优先级、二层协议类型等二层信息制定匹配规则,对报文进行相应的分析处理。

二层ACL的序号取值范围为4000~4999。

2.4.1  配置准备

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

2.4.2  配置二层ACL

表2-4 配置二层ACL

操作

命令

说明

进入系统视图

system-view

-

创建二层ACL并进入二层ACL视图

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

必选

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

如果用户在创建IPv4 ACL时指定了名称,则之后可以通过acl name acl-name命令进入指定名称的IPv4 ACL视图

定义规则

rule [ rule-id ] {deny | permit }  [ cos vlan-pri | dest-mac dest-addr dest-mask | lsap lsap-code lsap-wildcard | source-mac sour-addr source-mask | time-range time-name | type type-code type-wildcard ] *

必选

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

定义步长

step step-value

可选

缺省情况下,步长为5

定义IPv4 ACL的描述信息

description text

可选

缺省情况下,IPv4 ACL没有描述信息

定义规则的描述信息

rule rule-id comment text

可选

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

 

需要注意的是:

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

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

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

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

  注意:

l      用户可以通过命令acl number acl-number [ name acl-name ] match-order { auto | config }修改IPv4 ACL的匹配顺序为auto或者config,但必须在IPv4 ACL中没有规则的时候修改,对已经有规则的IPv4 ACL是无法修改其匹配顺序的。

l      在使用acl name acl-name命令进入指定名称的IPv4 ACL视图时,该名称所指定的IPv4 ACL必须存在。

l      在使用rule comment命令为规则定义描述信息时,该规则必须存在。

 

2.4.3  二层ACL配置举例

# 配置ACL 4000,禁止802.1p优先级为3的报文通过。

<VG> system-view

[VG] acl number 4000 name macflow

[VG-acl-ethernetframe-4000-macflow] rule deny cos 3

[VG-acl-ethernetframe-4000-macflow] display acl 4000

Ethernet frame ACL  4000, named macflow 1 rule,

Acl's step is 5

 rule 0 deny cos excellent-effort(5 times matched)

2.5  配置用户自定义ACL

用户自定义ACL可以以报文的报文头、IP头等为基准,指定从第几个字节开始与掩码进行“与”操作,将从报文提取出来的字符串和用户定义的字符串进行比较,找到匹配的报文,然后进行相应的处理。

用户自定义ACL的序号取值范围为5000~5999。

2.5.1  配置准备

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

2.5.2  配置用户自定义ACL

表2-5 配置用户自定义ACL

操作

命令

说明

进入系统视图

system-view

-

创建用户自定义ACL并进入用户自定义ACL视图

acl number acl-number [ name acl-name ]

必选

如果用户在创建IPv4 ACL时指定了名称,则之后可以通过acl name acl-name命令进入指定名称的IPv4 ACL视图

创建用户自定义ACL规则

rule [ rule-id ] { deny | permit } [ { l2 rule-string rule-mask offset }&<1-8> ] [ time-range time-name ]

必选

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

定义IPv4 ACL的描述信息

description text

可选

缺省情况下,IPv4 ACL没有描述信息

定义规则的描述信息

rule rule-id comment text

可选

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

 

需要注意的是:

l              和其他类型的IPv4 ACL不同,用户自定义ACL中包含的规则不支持修改,只能进行覆盖性配置。

l              新创建的规则不能和已经存在的规则相同,否则会导致创建不成功。

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

l              用户自定义ACL的匹配顺序为配置顺序。

  注意:

l      在使用acl name acl-name命令进入指定名称的IPv4 ACL视图时,该名称所指定的IPv4 ACL必须存在。

l      在使用rule comment命令为规则定义描述信息时,该规则必须存在。

 

2.5.3  用户自定义ACL配置举例

# 配置用户自定义ACL 5500,允许在t1时间段内,从L2帧头开始算起第21、22两个字节的内容为0x0806的报文通过。

<VG> system-view

[VG] acl number 5500 name userflow

[VG-acl-user-5500-userflow] rule 0 permit l2 0806 ffff 20 time-range t1

[VG-acl-user-5500-userflow] display acl 5500

User defined ACL  5500, named userflow, 1 rule,

Acl's step is 5

 rule 0 permit l2 0806 ffff 20 time-range t1 (Active)

2.6  拷贝IPv4 ACL

拷贝IPv4 ACL功能使用户可以通过拷贝一个已经存在的IPv4 ACL,生成一个新的同类型的IPv4 ACL。生成的新的IPv4 ACL的匹配顺序、包含的匹配规则、步长以及描述信息都和源IPv4 ACL相同。

2.6.1  配置准备

源IPv4 ACL必须存在,目的IPv4 ACL必须不存在。

2.6.2  拷贝IPv4 ACL

表2-6 拷贝IPv4 ACL

操作

命令

说明

进入系统视图

system-view

-

拷贝生成一个新的同类型的IPv4 ACL

acl copy { source-acl-number | name source-acl-name } to { dest-acl-number | name dest-acl-name }

必选

 

  注意:

l      源IPv4 ACL和目的IPv4 ACL的类型要相同。

l      源IPv4 ACL的名称不会拷贝到目的IPv4 ACL。

 

2.7  IPv4 ACL显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示IPv4 ACL配置后的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除IPv4 ACL统计信息。

表2-7 IPv4 ACL显示和维护

配置

命令

显示配置的IPv4 ACL信息

display acl { acl-number | all | name acl-name }

显示时间段的配置和状态

display time-range { time-name | all }

清除IPv4 ACL统计信息

reset acl counter { acl-number | all | name acl-name }

 

2.8  IPv4 ACL典型配置举例

2.8.1  组网需求

l              公司企业网通过设备VG实现各部门之间的互连。

l              要求正确配置ACL,禁止其它部门在上班时间(8:00至18:00)访问工资查询服务器(IP地址为129.110.1.2),而总裁办公室(IP地址为129.111.1.2)不受限制,可以随时访问。

2.8.2  组网图

图2-1 配置ACL组网图

2.8.3  配置步骤

(1)        定义上班时间段

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

<VG> system-view

[VG] time-range trname 8:00 to 18:00 working-day

(2)        定义到工资服务器的ACL

# 进入高级IPv4 ACL视图,编号为3000。

[VG] acl number 3000

# 定义总裁办公室到工资服务器的访问规则。

[VG-acl-adv-3000] rule 1 permit ip source 129.111.1.2 0.0.0.0 destination 129.110.1.2 0.0.0.0

# 定义其它部门到工资服务器的访问规则。

[VG-acl-adv-3000] rule 2 deny ip source any destination 129.110.1.2 0.0.0.0 time-range trname

[VG-acl-adv-3000] quit

(3)        应用ACL

# 将ACL 3000用于GigabitEthernet0/0出方向的包过滤。

[VG] firewall enable

[VG] interface gigabitethernet 0/0

[VG-GigabitEthernet0/0] firewall packet-filter 3000 outbound

 


第3章  IPv6 ACL配置

3.1  配置时间段

时间段的配置请参见“2.1  配置时间段”。

3.2  配置基本IPv6 ACL

基本IPv6 ACL只根据源IPv6地址信息制定匹配规则,对报文进行相应的分析处理。

基本IPv6 ACL的序号取值范围为2000~2999。

3.2.1  配置准备

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

3.2.2  配置基本IPv6 ACL

表3-1 配置基本IPv6 ACL

操作

命令

说明

进入系统视图

system-view

-

创建基本IPv6 ACL并进入基本IPv6 ACL视图

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

必选

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

如果用户在创建IPv6 ACL时指定了名称,则之后可以通过acl ipv6 name acl6-name命令进入指定名称的IPv6 ACL视图

定义规则

rule [ rule-id ] { deny | permit }  [ fragment | logging | source { ipv6-address prefix-length | ipv6-address/prefix-length | any } | time-range time-name ] *

必选

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

定义步长

step step-value

可选

缺省情况下,步长为5

定义IPv6 ACL的描述信息

description text

可选

定义规则的描述信息

rule rule-id comment text

可选

显示配置的IPv6 ACL信息

display acl ipv6 { acl6-number | all | name acl6-name }

可选

display命令可以在任意视图下执行

 

需要注意的是:

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

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

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

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

  注意:

l      用户可以通过命令acl ipv6 number acl6-number [ name acl6-name ] match-order { auto | config }修改IPv6 ACL的匹配顺序为auto或者config,但必须在IPv6 ACL中没有规则的时候修改,对已经有规则的IPv6 ACL是无法修改其匹配顺序的。

l      在使用acl ipv6 name acl6-name命令进入指定名称的IPv6 ACL视图时,该名称所指定的IPv6 ACL必须存在。

l      在使用rule comment命令为规则定义描述信息时,该规则必须存在。

 

3.2.3  基本IPv6 ACL配置举例

# 配置IPv6 ACL 2000,禁止源IPv6地址为fe80:5060::8050/96的报文通过,允许源IPv6地址为2030:5060::9050/64的报文通过。

<VG> system-view

[VG] acl ipv6 number 2000 name basicflow

[VG-acl6-basic-2000-basicflow] rule permit source 2030:5060::9050/64

[VG-acl6-basic-2000-basicflow] rule deny source fe80:5060::8050/96

[VG-acl6-basic-2000-basicflow] display acl ipv6 2000

 Basic IPv6 ACL  2000, named basicflow 2 rules,

 Acl's step is 5

 rule 0 permit source 2030:5060::9050/64 (4 times matched)

 rule 5 deny source FE80:5060::8050/96 (5 times matched)

3.3  配置高级IPv6 ACL

高级IPv6 ACL可以使用报文的源IPv6地址信息、目的IPv6地址信息、IPv6承载的协议类型、协议的特性(例如TCP或UDP的源端口、目的端口,ICMP协议的消息类型、消息码等)等信息来制定匹配规则。

用户可以利用高级IPv6 ACL定义比基本IPv6 ACL更准确、更丰富、更灵活的规则。

高级IPv6 ACL的序号取值范围3000~3999。

3.3.1  配置准备

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

3.3.2  配置高级IPv6 ACL

表3-2 配置高级IPv6 ACL

操作

命令

说明

进入系统视图

system-view

-

创建高级IPv6 ACL并进入高级IPv6 ACL视图

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

必选

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

如果用户在创建IPv6 ACL时指定了名称,则之后可以通过acl ipv6 name acl6-name命令进入指定名称的IPv6 ACL视图

定义规则

rule [ rule-id ] { deny | permit } protocol [ destination { dest dest-prefix | dest/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | fragment | icmpv6-type { icmpv6-type icmpv6-code | icmpv6-message } | logging | source { source source-prefix | source/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-name ] *

必选

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

定义步长

step step-value

可选

缺省情况下,步长为5

定义IPv6 ACL的描述信息

description text

可选

缺省情况下,IPv6 ACL没有描述信息

定义规则的描述信息

rule rule-id comment text

可选

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

 

需要注意的是:

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

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

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

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

  注意:

l      用户可以通过命令acl ipv6 number acl6-number [ name acl6-name ] match-order { auto | config }修改IPv6 ACL的匹配顺序为auto或者config,但必须在IPv6 ACL中没有规则的时候修改,对已经有规则的IPv6 ACL是无法修改其匹配顺序的。

l      在使用acl ipv6 name acl6-name命令进入指定名称的IPv6 ACL视图时,该名称所指定的IPv6 ACL必须存在。

l      在使用rule comment命令为规则定义描述信息时,该规则必须存在。

 

3.3.3  高级IPv6 ACL配置举例

# 配置IPv6 ACL 3000,允许源IPv6地址为2030:5060::9050/64的TCP报文通过。

<VG> system-view

[VG] acl ipv6 number 3000 name advflow

[VG-acl6-adv-3000-advflow] rule permit tcp source 2030:5060::9050/64

[VG-acl6-adv-3000-advflow] display acl ipv6 3000

 Advanced IPv6 ACL  3000, named advflow, 1 rule,

 Acl's step is 5

 rule 0 permit tcp source 2030:5060::9050/64 (5 times matched)

3.4  配置简单IPv6 ACL

简单IPv6 ACL在规则内容方面,与高级IPv6 ACL相似。简单IPv6 ACL可以使用报文的源IPv6地址信息、目的IPv6地址信息、IPv6地址组合标记、IP v6承载的协议类型、协议的特性(例如TCP或UDP的源端口、目的端口,TCP标记,ICMP协议的消息类型、消息码等)等信息来制定匹配规则。

另外,简单IPv6 ACL支持对DSCP优先级的分析处理,而且在TCP标记以及分片报文标记上有了更丰富的内容。

简单IPv6 ACL的序号取值范围为10000~42767。

3.4.1  配置简单IPv6 ACL

表3-3 配置简单IPv6 ACL

操作

命令

说明

进入系统视图

system-view

-

创建简单IPv6 ACL并进入简单IPv6 ACL视图

acl ipv6 number acl6-number

必选

创建简单IPv6 ACL规则

rule protocol  [ addr-flag addr-flag | destination { dest dest-prefix | dest/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | frag-type { fragment | fragment-subseq | non-fragment | non-subseq } | icmpv6-type { icmpv6-type icmpv6-code | icmpv6-message } | source { source source-prefix | source/source-prefix | any } | source-port operator port1 [ port2 ] | tcp-type { tcpurg | tcpack | tcppsh | tcprst | tcpsyn | tcpfin } ] *

必选

简单型IPv6 ACL只能定义一条规则

定义IPv6 ACL的描述信息

description text

可选

缺省情况下,IPv6 ACL没有描述信息

 

3.4.2  简单IPv6 ACL配置举例

# 配置IPv6 ACL 10000,创建一条匹配来源于2200::100/64的带有TCP RST标志的TCP包的规则。

<VG> system-view

[VG] acl ipv6 number 10000

[VG-acl6-simple-10000] rule tcp addr-flag 4 source  2200::100 64 tcp-type tcprst

[VG-acl6-simple-10000] display acl ipv6 10000

 Simple IPv6 ACL  10000, 1 rule,

 rule tcp addr-flag 4 source 2200::100/64 tcp-type tcprst

3.5  拷贝IPv6 ACL

拷贝IPv6 ACL功能使用户可以通过拷贝一个已经存在的IPv6 ACL,生成一个新的同类型的IPv6 ACL。生成的新的IPv6 ACL的匹配顺序、包含的匹配规则、步长以及描述信息都和源IPv6 ACL相同。

3.5.1  配置准备

源IPv6 ACL必须存在,目的IPv6 ACL必须不存在。

3.5.2  拷贝IPv6 ACL

表3-4 拷贝IPv6 ACL

操作

命令

说明

进入系统视图

system-view

-

拷贝生成一个新的同类型的IPv6 ACL

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

必选

 

  注意:

l      源IPv6 ACL和目的IPv6 ACL的类型要相同。

l      源IPv6 ACL的名称不会拷贝到目的IPv6 ACL。

l      简单型IPv6 ACL不支持拷贝操作。

 

3.6  IPv6 ACL显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示IPv6 ACL配置后的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除IPv6 ACL统计信息。

表3-5 IPv6 ACL显示和维护

操作

命令

显示配置的IPv6 ACL信息

display acl ipv6 { acl6-number | all | name acl6-name }

显示时间段的配置和状态

display time-range { time-name | all }

清除IPv6 ACL统计信息

reset acl ipv6 counter { acl6-number | all | name acl6-name }

 

3.7  IPv6 ACL典型配置举例

3.7.1  组网需求

在接口Ethernet1/1配置IPv6报文过滤,允许接收源IPv6地址为4050::9000到4050::90FF的报文,禁止接收其他报文。

3.7.2  配置步骤

# 配置IPv6 ACL(假定IPv6 ACL编号为2000),规则如下。

<VG> system-view

[VG] acl ipv6 number 2000

[VG-acl6-basic-2000] rule permit source 4050::9000/120

[VG-acl6-basic-2000] rule deny source any

[VG-acl6-basic-2000] quit

# 配置接口Ethernet1/1入方向的IPv6报文过滤,IPv6 ACL号为2000。

[VG] firewall enable

[VG] interface ethernet 1/1

[VG-Ethernet1/1] firewall packet-filter ipv6 2000 inbound


 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们