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

08 ACL和QoS配置指导

目录

01-ACL配置

本章节下载 01-ACL配置  (297.51 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/CE3000/CE3000-EI/Configure/Operation_Manual/H3C_CE3000-32F-EI_CG-Release_18xx-6W100/08/201403/822414_30005_0.htm

01-ACL配置


1 ACL

1.1  ACL简介

1.1.1  ACL概述

ACL(Access Control List,访问控制列表)是一或多条规则的集合,用于识别报文流。这里的规则是指描述报文匹配条件的判断语句,匹配条件可以是报文的源地址、目的地址、端口号等。网络设备依照这些规则识别出特定的报文,并根据预先设定的策略对其进行处理。

说明

ACL本身只能识别报文,而无法对识别出的报文进行处理,对这些报文的具体处理方法由应用ACL的业务模块来决定。

 

1.1.2  ACL在交换机上的应用方式

当ACL被其他功能引用时,根据设备在实现该功能时的处理方式(硬件处理或者软件处理),ACL可以被分为基于硬件的应用和基于软件的应用。

典型的基于硬件的应用包括:报文过滤、QoS策略;基于软件的应用包括:路由、对登录用户(Telnet、SNMP、WEB)进行控制等。

在某些应用方式下(例如QoS策略),ACL仅用于匹配报文,ACL规则中的动作(denypermit)被忽略,不作为对报文进行丢弃或转发的依据,类似情况请参见相应功能中的说明。

说明

·     当ACL被QoS策略引用进行流分类时,如果报文没有与ACL中的规则匹配,此时交换机不会使用流行为中定义的动作对此类报文进行处理。

·     当ACL被用于对Telnet、SNMP和WEB登录用户进行控制时,如果报文没有与ACL中的规则匹配,此时交换机对此类报文采取的动作为deny,即拒绝报文通过。

·     关于应用ACL对报文进行过滤的介绍和配置,请参见1.3.7  应用ACL进行报文过滤

 

1.1.3  ACL的编号和名称

用户在创建ACL时必须为其指定编号,不同的编号对应不同类型的ACL,如表1-1所示;同时,为了便于记忆和识别,用户在创建ACL时还可选择是否为其设置名称。ACL一旦创建,便不允许用户再为其设置名称、修改或删除其原有名称。

当ACL创建完成后,用户就可以通过指定编号或名称的方式来指定该ACL,以便对其进行操作。

说明

IPv4基本ACL和IPv4高级ACL的编号和名称只在IPv4中唯一;IPv6基本ACL和IPv6高级ACL的编号和名称也只在IPv6中唯一。

 

1.1.4  ACL的分类

根据规则制订依据的不同,可以将ACL分为如表1-1所示的几种类型

表1-1 ACL的分类

ACL类型

编号范围

适用的IP版本

规则制订依据

基本ACL

2000~2999

IPv4

报文的源IP地址

IPv6

报文的源IPv6地址

高级ACL

3000~3999

IPv4

报文的源IP地址、目的IP地址、报文优先级、IP承载的协议类型及特性等三、四层信息

IPv6

报文的源IPv6地址、目的IPv6地址、报文优先级、IPv6承载的协议类型及特性等三、四层信息

二层ACL

4000~4999

IPv4和IPv6

报文的源MAC地址、目的MAC地址、802.1p优先级、链路层协议类型等二层信息

用户自定义ACL

5000~5999

IPv4和IPv6

以报文头为基准,指定从报文的第几个字节开始与掩码进行“与”操作,并将提取出的字符串与用户定义的字符串进行比较,从而找出相匹配的报文

 

1.1.5  ACL的规则匹配顺序

当一个ACL中包含多条规则时,报文会按照一定的顺序与这些规则进行匹配,一旦匹配上某条规则便结束匹配过程。ACL的规则匹配顺序有以下两种:

·     配置顺序:按照规则编号由小到大进行匹配。

·     自动排序:按照“深度优先”原则由深到浅进行匹配,各类型ACL的“深度优先”排序法则如表1-2所示。

说明

用户自定义ACL的规则只能按照配置顺序进行匹配。

 

表1-2 各类型ACL的“深度优先”排序法则

ACL类型

“深度优先”排序法则

IPv4基本ACL

(1)     先判断规则的匹配条件中是否包含VPN实例,包含者优先

(2)     如果VPN实例的包含情况相同,再比较源IPv4地址范围,较小者优先

(3)     如果源IP地址范围也相同,再比较配置的先后次序,先配置者优先

IPv4高级ACL

(1)     先判断规则的匹配条件中是否包含VPN实例,包含者优先

(2)     如果VPN实例的包含情况相同,再比较协议范围,指定有IPv4承载的协议类型者优先

(3)     如果协议范围也相同,再比较源IPv4地址范围,较小者优先

(4)     如果源IPv4地址范围也相同,再比较目的IPv4地址范围,较小者优先

(5)     如果目的IPv4地址范围也相同,再比较四层端口(即TCP/UDP端口)号的覆盖范围,较小者优先

(6)     如果四层端口号的覆盖范围无法比较,再比较配置的先后次序,先配置者优先

IPv6基本ACL

(1)     先判断规则的匹配条件中是否包含VPN实例,包含者优先

(2)     如果VPN实例的包含情况相同,再比较源IPv6地址范围,较小者优先

(3)     如果源IPv6地址范围也相同,再比较配置的先后次序,先配置者优先

IPv6高级ACL

(1)     先判断规则的匹配条件中是否包含VPN实例,包含者优先

(2)     如果VPN实例的包含情况相同,再比较协议范围,指定有IPv6承载的协议类型者优先

(3)     如果协议范围相同,再比较源IPv6地址范围,较小者优先

(4)     如果源IPv6地址范围也相同,再比较目的IPv6地址范围,较小者优先

(5)     如果目的IPv6地址范围也相同,再比较四层端口(即TCP/UDP端口)号的覆盖范围,较小者优先

(6)     如果四层端口号的覆盖范围无法比较,再比较配置的先后次序,先配置者优先

二层ACL

(1)     先比较源MAC地址范围,较小者优先

(2)     如果源MAC地址范围相同,再比较目的MAC地址范围,较小者优先

(3)     如果目的MAC地址范围也相同,再比较配置的先后次序,先配置者优先

 

说明

·     比较IPv4地址范围的大小,就是比较IPv4地址通配符掩码中“0”位的多少:“0”位越多,范围越小。通配符掩码(又称反向掩码)以点分十进制表示,并以二进制的“0”表示“匹配”,“1”表示“不关心”,这与子网掩码恰好相反,譬如子网掩码255.255.255.0对应的通配符掩码就是0.0.0.255。此外,通配符掩码中的“0”或“1”可以是不连续的,这样可以更加灵活地进行匹配,譬如0.255.0.255就是一个合法的通配符掩码。

·     比较IPv6地址范围的大小,就是比较IPv6地址前缀的长短:前缀越长,范围越小。

·     比较MAC地址范围的大小,就是比较MAC地址掩码中“1”位的多少:“1”位越多,范围越小。

 

1.1.6  ACL的规则描述和注释

在一个ACL中用户可以创建多条规则,为了方便标识这些规则的用途,用户可以为单条规则添加描述信息,也可以在各条规则之间插入注释信息来对前一段或后一段规则进行统一描述。

1. 规则描述信息

规则描述信息主要用于对单条规则进行单独标识。当需要对各条规则进行不同的标识或对某条规则进行特别标识时,适用此方式。

2. 规则注释信息

规则注释信息主要用于对一段规则进行统一标识。当需要对一段规则进行相同的标识时,如果采用对每条规则都添加相同描述信息的方式,需要进行大量配置,效率会非常低下。在这种情况下,可以在这段规则的前、后插入注释信息的方式来提高标识效率,即:在这段规则的首条规则之前以及末条规则之后分别插入一条注释信息,通过首、尾这两条注释信息就可以标识整段规则的用途。

说明

在不同的规则匹配顺序下,“首条规则”和“末条规则”的确定方法不同:

·     在配置顺序下:规则的显示将按照规则编号由小到大排列,因此应通过规则的编号来确定;

·     在自动排序下:规则的显示将按照“深度优先”原则由深到浅排列,因此应通过“深度优先”原则来确定。

 

1.1.7  ACL的步长

ACL中的每条规则都有自己的编号,这个编号在该ACL中是唯一的。在创建规则时,可以手工为其指定一个编号,如未手工指定编号,则由系统为其自动分配一个编号。由于规则的编号可能影响规则匹配的顺序,因此当由系统自动分配编号时,为了方便后续在已有规则之前插入新的规则,系统通常会在相邻编号之间留下一定的空间,这个空间的大小(即相邻编号之间的差值)就称为ACL的步长。譬如,当步长为5时,系统会将编号0、5、10、15……依次分配给新创建的规则。

系统为规则自动分配编号的方式如下:系统从0开始,按照步长自动分配一个大于现有最大编号的最小编号。譬如原有编号为0、5、9、10和12的五条规则,步长为5,此时如果创建一条规则且不指定编号,那么系统将自动为其分配编号15。

如果步长发生了改变,ACL内原有全部规则的编号都将自动从0开始按新步长重新排列。譬如,某ACL内原有编号为0、5、9、10和15的五条规则,当修改步长为2之后,这些规则的编号将依次变为0、2、4、6和8。

1.1.8  ACL对分片报文的处理

传统的报文过滤并不处理所有的分片报文,只对分片报文的首个分片进行匹配处理,而对后续分片一律放行。这样,网络攻击者可以构造后续的分片报文进行流量攻击,从而带来了安全隐患。为提高网络安全性,ACL规则缺省会匹配所有报文(包括非分片报文和分片报文的每个分片)。同时,为了提高匹配效率,用户也可以对此匹配策略进行修改,譬如可指定规则仅对分片报文的非首个分片有效等。

1.2  ACL配置任务简介

表1-3 ACL配置任务简介

配置任务

说明

详细配置

配置ACL的生效时间段

可选

本配置任务适用于IPv4和IPv6

1.3.1 

配置基本ACL

至少选其一

本配置任务适用于IPv4和IPv6

1.3.2 

配置高级ACL

本配置任务适用于IPv4和IPv6

1.3.3 

配置二层ACL

本配置任务适用于IPv4和IPv6

1.3.4 

配置自定义ACL

本配置任务适用于IPv4和IPv6

1.3.5 

复制ACL

可选

本配置任务适用于IPv4和IPv6

1.3.6 

应用ACL进行报文过滤

可选

本配置任务适用于IPv4和IPv6

1.3.7 

 

1.3  配置ACL

1.3.1  配置ACL的生效时间段

时间段定义了一个时间范围。当一个ACL规则只需在某个特定的时间范围内生效时,可以先配置好这个时间段,然后在配置该ACL规则时引用该时间段,这样该ACL规则就只能在该时间段定义的时间范围内生效。时间段可分为以下两种类型:

·     周期时间段:表示以一周为周期(如每周一的8至12点)循环生效的时间段。

·     绝对时间段:表示在指定时间范围内(如2011年1月1日8点至2011年1月3日18点)生效的时间段。

每个时间段都以一个名称来标识,用户最多可创建256个不同名称的时间段。一个时间段内可包含一或多个周期时间段(最多32个)和绝对时间段(最多12个),当一个时间段内包含有多个周期时间段和绝对时间段时,系统将先分别取各周期时间段的并集和各绝对时间段的并集,再取这两个并集的交集作为该时间段最终生效的时间范围。

表1-4 配置ACL的生效时间段

操作

命令

说明

进入系统视图

system-view

-

创建时间段

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

必选

缺省情况下,不存在任何时间段

 

1.3.2  配置基本ACL

1. 配置IPv4基本ACL

IPv4基本ACL根据报文的源IP地址来制订规则,对IPv4报文进行匹配。

表1-5 配置IPv4基本ACL

操作

命令

说明

进入系统视图

system-view

-

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

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

必选

缺省情况下,不存在任何ACL

IPv4基本ACL的编号范围为2000~2999

如果在创建IPv4基本ACL时为其指定了名称,则也可以使用acl name acl-name命令通过指定名称的方式进入其视图

配置ACL的描述信息

description text

可选

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

配置规则编号的步长

step step-value

可选

缺省情况下,规则编号的步长为5

创建规则

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

必选

缺省情况下,IPv4基本ACL内不存在任何规则

需要注意的是:

·     当IPv4基本ACL被QoS策略引用对报文进行流分类时,不支持配置vpn-instance参数,在规则中配置的loggingcounting参数不会生效

·     当IPv4基本ACL被用于报文过滤时,不支持配置vpn-instance参数

为指定规则配置描述信息

rule rule-id comment text

可选

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

配置规则注释信息

rule [ rule-id ] remark text

可选

缺省情况下,ACL内没有任何规则注释信息

使能基于硬件应用的ACL的规则匹配统计功能

hardware-count enable

可选

缺省情况下,基于硬件应用的ACL的规则匹配统计功能处于关闭状态

当ACL被QoS策略引用对报文进行流分类时,本功能不会生效

 

2. 配置IPv6基本ACL

IPv6基本ACL根据报文的源IPv6地址来制订规则,对IPv6报文进行匹配。

表1-6 配置IPv6基本ACL

操作

命令

说明

进入系统视图

system-view

-

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

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

必选

缺省情况下,不存在任何ACL

IPv6基本ACL的编号范围为2000~2999

如果在创建IPv6基本ACL时为其指定了名称,则也可以使用acl ipv6 name acl6-name命令通过指定名称的方式进入其视图

配置ACL的描述信息

description text

可选

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

配置规则编号的步长

step step-value

可选

缺省情况下,规则编号的步长为5

创建规则

rule [ rule-id ] { deny | permit } [ counting | fragment | logging | routing [ type routing-type ] | source { source-address source-prefix | source-address/source-prefix | any } | time-range time-range-name | vpn-instance vpn-instance-name ] *

必选

缺省情况下,IPv6基本ACL内不存在任何规则

需要注意的是:

·     当IPv6基本ACL被QoS策略引用对报文进行流分类时,不支持配置fragmentroutingvpn-instance参数,在规则中配置的loggingcounting参数不会生效

·     当IPv6基本ACL被用于报文过滤时,不支持配置fragmentroutingvpn-instance参数

为指定规则配置描述信息

rule rule-id comment text

可选

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

配置规则注释信息

rule [ rule-id ] remark text

可选

缺省情况下,ACL内没有任何规则注释信息

使能基于硬件应用的ACL的规则匹配统计功能

hardware-count enable

可选

缺省情况下,基于硬件应用的ACL的规则匹配统计功能处于关闭状态

当ACL被QoS策略引用对报文进行流分类时,本功能不会生效

 

1.3.3  配置高级ACL

1. 配置IPv4高级ACL

IPv4高级ACL可根据报文的源IP地址、目的IP地址、报文优先级、IP承载的协议类型及特性(如TCP/UDP的源端口和目的端口、TCP报文标识、ICMP协议的消息类型和消息码等)等信息来制定规则,对IPv4报文进行匹配。用户可利用IPv4高级ACL制订比IPv4基本ACL更准确、丰富、灵活的规则。

表1-7 配置IPv4高级ACL

操作

命令

说明

进入系统视图

system-view

-

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

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

必选

缺省情况下,不存在任何ACL

IPv4高级ACL的编号范围为3000~3999

如果在创建IPv4高级ACL时为其指定了名称,则也可以使用acl name acl-name命令通过指定名称的方式进入其视图

配置ACL的描述信息

description text

可选

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

配置规则编号的步长

step step-value

可选

缺省情况下,规则编号的步长为5

创建规则

rule [ rule-id ] { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-address dest-wildcard | any } | destination-port operator port1 [ port2 ] | dscp dscp | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | logging | precedence precedence | source { source-address source-wildcard | any } | source-port operator port1 [ port2 ] | time-range time-range-name | tos tos | vpn-instance vpn-instance-name ] *

必选

缺省情况下,IPv4高级ACL内不存在任何规则

需要注意的是,当IPv4高级ACL用于QoS策略的流分类或用于报文过滤功能时:

·     不支持配置vpn-instance参数

·     不支持配置操作符operator取值为neq

·     当ACL用于流分类时,在规则中配置的loggingcounting参数不会生效

为指定规则配置描述信息

rule rule-id comment text

可选

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

配置规则注释信息

rule [ rule-id ] remark text

可选

缺省情况下,ACL内没有任何规则注释信息

使能基于硬件应用的ACL的规则匹配统计功能

hardware-count enable

可选

缺省情况下,基于硬件应用的ACL的规则匹配统计功能处于关闭状态

当ACL被QoS策略引用对报文进行流分类时,本功能不会生效

 

2. 配置IPv6高级ACL

IPv6高级ACL可根据报文的源IPv6地址、目的IPv6地址、报文优先级、IPv6承载的协议类型及特性(如TCP/UDP的源端口和目的端口、TCP报文标识、ICMPv6协议的消息类型和消息码等)等信息来制定规则,对IPv6报文进行匹配。用户可利用IPv6高级ACL制订比IPv6基本ACL更准确、丰富、灵活的规则。

表1-8 配置IPv6高级ACL

操作

命令

说明

进入系统视图

system-view

-

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

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

必选

缺省情况下,不存在任何ACL

IPv6高级ACL的编号范围3000~3999

如果在创建IPv6高级ACL时为其指定了名称,则也可以使用acl ipv6 name acl6-name命令通过指定名称的方式进入其视图

配置ACL的描述信息

description text

可选

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

配置规则编号的步长

step step-value

可选

缺省情况下,规则编号的步长为5

创建规则

rule [ rule-id ] { deny | permit } protocol [ { { ack ack-value | fin fin-value | psh psh-value | rst rst-value | syn syn-value | urg urg-value } * | established } | counting | destination { dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port operator port1 [ port2 ] | dscp dscp | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | logging | routing [ type routing-type ] | source { source-address source-prefix | source-address/source-prefix | any } | source-port operator port1 [ port2 ] | time-range time-range-name | vpn-instance vpn-instance-name ] *

必选

缺省情况下,IPv6高级ACL内不存在任何规则

需要注意的是,当IPv6高级ACL用于QoS策略的流分类或用于报文过滤功能时:

·     不支持配置fragmentrouting参数

·     不支持配置vpn-instance参数

·     不支持配置操作符operator取值为neq

·     如果QoS策略或报文过滤功能应用于出方向,则不支持配置flow-label参数

·     当ACL用于流分类时,在规则中配置的loggingcounting参数不会生效

为指定规则配置描述信息

rule rule-id comment text

可选

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

配置规则注释信息

rule [ rule-id ] remark text

可选

缺省情况下,ACL内没有任何规则注释信息

使能基于硬件应用的ACL的规则匹配统计功能

hardware-count enable

可选

缺省情况下,基于硬件应用的ACL的规则匹配统计功能处于关闭状态

当ACL被QoS策略引用对报文进行流分类时,本功能不会生效

 

说明

当匹配的扩展报文头类型(protocol参数)取值为43、44、51、60时,引用该ACL的QoS策略将不能在出方向应用。

 

1.3.4  配置二层ACL

二层ACL可根据报文的源MAC地址、目的MAC地址、802.1p优先级、链路层协议类型等二层信息来制订规则,对报文进行匹配。

表1-9 配置二层ACL

操作

命令

说明

进入系统视图

system-view

-

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

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

必选

缺省情况下,不存在任何ACL

二层ACL的编号范围为4000~4999

如果在创建二层ACL时为其指定了名称,则也可以使用acl name acl-name命令通过指定名称的方式进入其视图

配置ACL的描述信息

description text

可选

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

配置规则编号的步长

step step-value

可选

缺省情况下,规则编号的步长为5

创建规则

rule [ rule-id ] { deny | permit } [ cos vlan-pri | counting | dest-mac dest-address dest-mask | { lsap lsap-type lsap-type-mask | type protocol-type protocol-type-mask } | source-mac source-address source-mask | time-range time-range-name ] *

必选

缺省情况下,二层ACL内不存在任何规则

需要注意的是,当二层ACL用于QoS策略的流分类或用于报文过滤功能时,如果使用lsap参数,则lsap-type必须为AAAA,lsap-type-mask必须为FFFF,否则ACL将无法正常应用

为指定规则配置描述信息

rule rule-id comment text

可选

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

配置规则注释信息

rule [ rule-id ] remark text

可选

缺省情况下,ACL内没有任何规则注释信息

使能ACL的规则匹配统计功能

hardware-count enable

可选

缺省情况下,ACL的规则匹配统计功能处于关闭状态

 

1.3.5  配置用户自定义ACL

用户自定义ACL可以以报文头为基准,通过设置偏移值来指定从报文的第几个字节开始与掩码进行“与”操作,并将提取出的字符串与用户定义的字符串进行比较,从而找出相匹配的报文。

表1-10 配置用户自定义ACL

操作

命令

说明

进入系统视图

system-view

-

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

acl number acl-number [ name acl-name ]

必选

缺省情况下,不存在任何ACL

用户自定义ACL的编号范围为5000~5999

如果在创建用户自定义ACL时为其指定了名称,则也可以使用acl name acl-name命令通过指定名称的方式进入其视图

配置ACL的描述信息

description text

可选

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

创建规则

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

必选

缺省情况下,用户自定义ACL内不存在任何规则

需要注意的是,当自定义ACL用于QoS策略的流分类或是包过滤功能时,不能在出方向进行应用。

为指定规则配置描述信息

rule rule-id comment text

可选

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

配置规则注释信息

rule [ rule-id ] remark text

可选

缺省情况下,ACL内没有任何规则注释信息

 

说明

在指定自定义ACL的匹配字段位置时,请结合报文是否携带VLAN Tag以及携带VLAN Tag的数量来计算和配置偏移值(每个VLAN Tag占用4个字节)。

 

1.3.6  复制ACL

用户可通过复制一个已存在的ACL(即源ACL),来生成一个新的同类型ACL(即目的ACL)。除了ACL的编号和名称不同外,目的ACL与源ACL完全相同。

说明

目的ACL要与源ACL的类型相同,且目的ACL必须不存在,否则将导致复制失败。

 

1. 复制IPv4基本ACL、IPv4高级ACL、二层ACL或用户自定义ACL

表1-11 复制IPv4基本ACL、IPv4高级ACL、二层ACL或用户自定义ACL

操作

命令

说明

进入系统视图

system-view

-

复制并生成新的IPv4基本ACL、IPv4高级ACL、二层ACL或用户自定义ACL

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

必选

 

2. 复制IPv6基本ACL或IPv6高级ACL

表1-12 复制IPv6基本ACL或IPv6高级ACL

操作

命令

说明

进入系统视图

system-view

-

复制并生成新的IPv6基本ACL或IPv6高级ACL

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

必选

 

1.3.7  应用ACL进行报文过滤

ACL最基本的应用就是进行报文过滤,即通过将ACL规则应用到指定接口的入或出方向上,从而对该接口收到或发出的报文进行过滤。此外,通过配置报文过滤日志的生成与发送周期,还可周期性地生成并发送报文过滤的日志信息(信息级别为informational),包括匹配次数以及所使用的ACL规则。该日志信息将被发往信息中心,有关信息中心的详细介绍,请参见“网络管理和监控配置指导”中的“信息中心”。

·     应用ACL进行报文过滤功能中所指的“接口”包括二层以太网端口、三层以太网端口和VLAN接口。三层以太网端口是指被配置为三层模式的以太网端口,有关以太网端口模式切换的操作,请参见“二层技术-以太网交换配置指导”中的“以太网端口配置”。

·     在VLAN接口上应用ACL进行报文过滤时,只能对通过该接口进行三层转发的报文,以及在该接口对应VLAN内进行二层转发的组播报文进行过滤,而对二层单播报文不进行过滤。

·     在端口上配置报文过滤时,可以同时应用IPv4 ACL、IPv6 ACL、二层ACL和用户自定义ACL,但在每个方向上每种类型的ACL最多只能应用一条。

·     系统只支持对应用基本ACL或高级ACL进行报文过滤的日志进行记录,并在配置上述ACL规则时必须打开其日志记录功能(通过指定logging参数)和规则匹配统计功能(通过指定counting参数或使用hardware-count enable命令)。

 

1. 应用IPv4基本ACL、IPv4高级ACL、二层ACL或用户自定义ACL进行报文过滤

表1-13 应用IPv4基本ACL、IPv4高级ACL、二层ACL或用户自定义ACL进行报文过滤

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

应用指定的IPv4基本ACL、IPv4高级ACL、二层ACL或用户自定义ACL进行报文过滤

packet-filter { acl-number | name acl-name } { inbound | outbound }

必选

缺省情况下,接口不对报文进行过滤

请避免多个用户同时进行本配置,否则可能导致配置失败

退回系统视图

quit

-

配置报文过滤日志的生成与发送周期

acl logging frequence frequence

必选

缺省情况下,报文过滤日志的生成与发送周期为0分钟,即不记录报文过滤的日志

 

2. 应用IPv6基本ACL或IPv6高级ACL进行报文过滤

表1-14 应用IPv6基本ACL或IPv6高级ACL进行报文过滤

操作

命令

说明

进入系统视图

system-view

-

进入接口视图

interface interface-type interface-number

-

应用指定的IPv6基本ACL或IPv6高级ACL进行报文过滤

packet-filter ipv6 { acl6-number | name acl6-name } { inbound | outbound }

必选

缺省情况下,接口不对报文进行过滤

请避免多个用户同时进行本配置,否则可能导致配置失败

退回系统视图

quit

-

配置指定的IPv6报文过滤日志的生成与发送周期

acl ipv6 logging frequence frequence

必选

缺省情况下,IPv6报文过滤日志的生成与发送周期为0分钟,即不记录IPv6报文过滤的日志

 

1.4  ACL显示和维护

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

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

表1-15 ACL显示和维护

配置

命令

显示指定或全部ACL(IPv4基本ACL、IPv4高级ACL、二层ACL和用户自定义ACL)的配置和运行情况

display acl { acl-number | all | name acl-name } [ slot slot-number ] [ | { begin | exclude | include } regular-expression ]

显示指定或全部ACL(包括IPv6基本ACL和IPv6高级ACL)的配置和运行情况

display acl ipv6 { acl6-number | all | name acl6-name } [ slot slot-number ] [ | { begin | exclude | include } regular-expression ]

显示ACL资源的使用情况

display acl resource [ slot slot-number ] [ | { begin | exclude | include } regular-expression ]

显示ACL在报文过滤中的应用情况

display packet-filter { { all | interface interface-type interface-number } [ inbound | outbound ] | interface vlan-interface vlan-interface-number [ inbound | outbound ] [ slot slot-number ] } [ | { begin | exclude | include } regular-expression ]

显示时间段的配置和状态信息

display time-range { time-range-name | all } [ | { begin | exclude | include } regular-expression ]

清除指定或全部ACL(包括IPv4基本ACL、IPv4高级ACL、二层ACL和用户自定义ACL)统计信息

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

清除指定或全部ACL(包括IPv6基本ACL和IPv6高级ACL)统计信息

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

 

1.5  ACL典型配置举例

1.5.1  应用IPv4基本ACL进行报文过滤配置举例

1. 组网需求

要求通过在Device A的接口GigabitEthernet1/0/1上配置IPv4报文过滤功能,实现在每天的8点到18点期间只允许Host A访问互联网,并以10分钟为周期记录IPv4报文过滤的日志信息并输出至控制台。

2. 组网图

图1-1 应用IPv4基本ACL进行报文过滤配置组网图

 

3. 配置步骤

# 创建名为study的时间段,其时间范围为每天的8点到18点。

<DeviceA> system-view

[DeviceA] time-range study 8:0 to 18:0 daily

# 创建IPv4基本ACL 2009,并制订如下规则:在名为study的时间段内只允许来自Host A的报文通过、禁止来自其它IP地址的报文通过,且在这些规则中对符合条件的报文记录日志信息。

[DeviceA] acl number 2009

[DeviceA-acl-basic-2009] rule permit source 192.168.1.2 0 time-range study logging

[DeviceA-acl-basic-2009] rule deny source any time-range study logging

[DeviceA-acl-basic-2009] quit

# 配置IPv4报文过滤日志的生成与发送周期为10分钟。

[DeviceA] acl logging frequence 10

# 配置系统信息的输出规则,将级别为informational的日志信息输出至控制台。

[DeviceA] info-center source default channel 0 log level informational

# 应用IPv4基本ACL 2009对接口GigabitEthernet1/0/1入方向上的报文进行过滤。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] packet-filter 2009 inbound

[DeviceA-GigabitEthernet1/0/1] quit

1.5.2  应用IPv6基本ACL进行报文过滤配置举例

1. 组网需求

要求通过在Device A的接口GigabitEthernet1/0/1上配置IPv6报文过滤功能,实现在每天的8点到18点期间只允许Host A访问互联网,并以10分钟为周期记录IPv6报文过滤的日志信息并输出至控制台。

2. 组网图

图1-2 应用IPv6基本ACL进行报文过滤配置组网图

 

3. 配置步骤

# 创建名为study的时间段,其时间范围为每天的8点到18点。

<DeviceA> system-view

[DeviceA] time-range study 8:0 to 18:0 daily

# 创建IPv6基本ACL 2009,并制订如下规则:在名为study的时间段内只允许来自Host A的报文通过、禁止来自其它IPv6地址的报文通过,且在这些规则中对符合条件的报文记录日志信息。

[DeviceA] acl ipv6 number 2009

[DeviceA-acl6-basic-2009] rule permit source 1001::2 128 time-range study logging

[DeviceA-acl6-basic-2009] rule deny source any time-range study logging

[DeviceA-acl6-basic-2009] quit

# 配置IPv6报文过滤日志的生成与发送周期为10分钟。

[DeviceA] acl ipv6 logging frequence 10

# 配置系统信息的输出规则,将级别为informational的日志信息输出至控制台。

[DeviceA] info-center source default channel 0 log level informational

# 应用IPv6基本ACL 2009对接口GigabitEthernet1/0/1入方向上的报文进行过滤。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] packet-filter ipv6 2009 inbound

[DeviceA-GigabitEthernet1/0/1] quit

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

新华三官网
联系我们