• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

13-ACL和QoS配置指导

目录

01-ACL配置

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

01-ACL配置

  录

1 ACL

1.1 ACL简介

1.1.1 ACL的编号和名称

1.1.2 ACL的分类

1.1.3 ACL的规则匹配顺序

1.1.4 ACL的步长

1.1.5 ACL对分片报文的处理

1.2 ACL配置限制和指导

1.3 ACL配置任务简介

1.4 配置基本ACL

1.4.1 功能简介

1.4.2 配置限制和指导

1.4.3 配置IPv4基本ACL

1.4.4 配置IPv6基本ACL

1.5 配置高级ACL

1.5.1 功能简介

1.5.2 配置限制和指导

1.5.3 配置IPv4高级ACL

1.5.4 配置IPv6高级ACL

1.6 配置二层ACL

1.7 配置用户自定义ACL

1.8 复制ACL

1.9 配置ACL规则的加速匹配功能

1.10 应用ACL进行报文过滤

1.10.1 功能简介

1.10.2 在接口上应用ACL进行报文过滤

1.10.3 在安全域间实例上应用ACL进行报文过滤

1.10.4 配置报文过滤日志信息或告警信息的生成与发送周期

1.10.5 配置报文过滤的缺省动作

1.10.6 配置接口报文过滤缺省动作统计功能

1.11 ACL显示和维护

1.12 ACL典型配置举例

1.12.1 在安全域间实例上应用包过滤的ACL配置举例

1 ACL

1.1  ACL简介

ACL(Access Control List,访问控制列表)是一系列用于识别报文流的规则的集合。这里的规则是指描述报文匹配条件的判断语句,匹配条件可以是报文的源地址、目的地址、端口号等。设备依据ACL规则识别出特定的报文,并根据预先设定的策略对其进行处理,最常见的应用就是使用ACL进行报文过滤。此外,ACL还可应用于诸如路由、安全、QoS等业务中识别报文,对这些报文的具体处理方式由应用ACL的业务模块来决定。

1.1.1  ACL的编号和名称

用户在创建ACL时必须为其指定编号或名称,不同的编号对应不同类型的ACL,如表1-1所示;当ACL创建完成后,用户就可以通过指定编号或名称的方式来应用和编辑该ACL。

对于编号相同的基本ACL或高级ACL,必须通过ipv6关键字进行区分。对于名称相同的ACL,必须通过ipv6macuser-defined关键字进行区分。

1.1.2  ACL的分类

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

表1-1 ACL的分类

ACL类型

编号范围

适用的IP版本

规则制订依据

基本ACL

2000~2999

IPv4

报文的源IPv4地址

IPv6

报文的源IPv6地址

高级ACL

3000~3999

IPv4

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

IPv6

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

二层ACL

4000~4999

IPv4和IPv6

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

用户自定义ACL

5000~5999

IPv4和IPv6

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

 

1.1.3  ACL的规则匹配顺序

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

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

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

说明

用户自定义ACL的规则只能按照配置顺序进行匹配,其它类型的ACL则可选择按照配置顺序或自动顺序进行匹配。

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

ACL类型

“深度优先”排序法则

IPv4基本ACL

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

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

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

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.4  ACL的步长

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

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

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

需要注意的是,ACL规则的匹配顺序为自动排序时,修改步长后新的编号是按照规则的匹配顺序(即“深度优先”原则)重新排序的,并非按照规则的原有编号顺序排序。譬如,步长为5时,规则的匹配顺序为0、10、5……修改步长为2后,各规则对应的新编号为0、2、4……

1.1.5  ACL对分片报文的处理

传统报文过滤只对分片报文的首个分片进行匹配过滤,对后续分片一律放行,因此网络攻击者通常会构造后续分片进行流量攻击。为提高网络安全性,ACL规则缺省会匹配所有非分片报文和分片报文的全部分片,但这样又带来效率低下的问题。为了兼顾网络安全和匹配效率,可将过滤规则配置为仅对后续分片有效。

1.2  ACL配置限制和指导

通过编号创建的ACL,可以通过如下命令进入其视图:

·     acl [ ipv6 ] number acl-number

·     acl { [ ipv6 ] { advanced | basic } | mac | user-defined } acl-number命令进入其视图。

通过acl [ ipv6 ] number acl-number name acl-name命令指定编号和名称创建的ACL,可以使用如下命令进入其视图:

·     acl [ ipv6 ] name acl-name,本命令仅支持进入已创建的基本或高级ACL视图;

·     acl [ ipv6 ] number acl-number [ name acl-name ]

·     acl { [ ipv6 ] { advanced | basic } | mac } name acl-name

通过acl { [ ipv6 ] { advanced | basic } | mac } name acl-name命令指定名称创建的ACL,可以使用如下命令进入其视图:

·     acl [ ipv6 ] name acl-name,本命令仅支持进入已创建的基本或高级ACL视图;

·     acl { [ ipv6 ] { advanced | basic } | mac } name acl-name

如果ACL规则的匹配项中包含了除IP五元组(源IP地址、源端口号、目的IP地址、目的端口号、传输层协议)、ICMP报文的消息类型和消息码信息、VPN实例、日志操作和时间段之外的其它匹配项,则设备转发ACL匹配的这类报文时会启用慢转发流程。慢转发时设备会将报文上送控制平面,计算报文相应的表项信息。执行慢转发流程时,设备的转发能力将会有所降低。

在业务繁忙的时间段,建议不要修改ACL规则及其引用的地址对象组,以避免影响设备性能。

1.3  ACL配置任务简介

ACL配置任务如下

·     配置不同类型的ACL

¡     配置基本ACL

¡     配置高级ACL

¡     配置二层ACL

¡     配置用户自定义ACL

·     (可选)复制ACL

·     (可选)配置ACL规则的加速匹配功能

·     (可选)应用ACL进行报文过滤

1.4  配置基本ACL

1.4.1  功能简介

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

1.4.2  配置限制和指导

当ACL规则中配置了logging参数,且引用该ACL的模块支持并开启了日志记录功能时,logging功能生成的日志信息不会输出到控制台和监视终端。此时如需获取该日志,可通过执行display logbuffer命令进行查看。有关display logbuffer命令的详细介绍,请参见“网络管理和监控命令参考”中的“信息中心”。

1.4.3  配置IPv4基本ACL

(1)     进入系统视图。

system-view

(2)     创建IPv4基本ACL。请至少选择其中一项进行配置。

¡     通过编号创建IPv4基本ACL。

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

¡     通过关键字创建IPv4基本ACL。

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

(3)     (可选)配置ACL的描述信息。

description text

缺省情况下,未配置ACL的描述信息。

(4)     (可选)配置规则编号的步长。

step step-value

缺省情况下,规则编号的步长为5,起始值为0。

(5)     创建规则。

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

logging参数是否生效取决于引用该ACL的模块是否支持日志记录功能,例如报文过滤支持日志记录功能,如果其引用的ACL规则中配置了logging参数,该参数可以生效。

(6)     (可选)为规则配置描述信息。

rule rule-id comment text

缺省情况下,未配置规则的描述信息。

1.4.4  配置IPv6基本ACL

(1)     进入系统视图。

system-view

(2)     创建IPv6基本ACL。请至少选择其中一项进行配置。

¡     通过编号创建IPv6基本ACL。

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

¡     通过关键字创建IPv6基本ACL。

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

(3)     (可选)配置ACL的描述信息。

description text

缺省情况下,未配置ACL的描述信息。

(4)     (可选)配置规则编号的步长。

step step-value

缺省情况下,规则编号的步长为5,起始值为0。

(5)     创建规则。

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

logging参数是否生效取决于引用该ACL的模块是否支持日志记录功能,例如报文过滤支持日志记录功能,如果其引用的ACL规则中配置了logging参数,该参数可以生效。

(6)     (可选)为规则配置描述信息。

rule rule-id comment text

缺省情况下,未配置规则的描述信息。

1.5  配置高级ACL

1.5.1  功能简介

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

1.5.2  配置限制和指导

当ACL规则中配置了logging参数,且引用该ACL的模块支持并开启了日志记录功能时,logging功能生成的日志信息不会输出到控制台和监视终端。此时如需获取该日志,可通过执行display logbuffer命令进行查看。有关display logbuffer命令的详细介绍,请参见“网络管理和监控命令参考”中的“信息中心”。

高级ACL规则建议不要配置匹配DSCP字段,否则可能导致设备性能下降。

1.5.3  配置IPv4高级ACL

(1)     进入系统视图。

system-view

(2)     创建IPv4高级ACL。请至少选择其中一项进行配置。

¡     通过编号创建IPv4高级ACL。

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

¡     通过关键字创建IPv4高级ACL。

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

(3)     (可选)配置ACL的描述信息。

description text

缺省情况下,未配置ACL的描述信息。

(4)     (可选)配置规则编号的步长。

step step-value

缺省情况下,规则编号的步长为5,起始值为0。

(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 { object-group address-group-name | dest-address dest-wildcard | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | { dscp dscp | { precedence precedence | tos tos } * } | fragment | icmp-type { icmp-type [ icmp-code ] | icmp-message } | logging | source { object-group address-group-name | source-address source-wildcard | any } | source-port { object-group port-group-name | operator port1 [ port2 ] } | time-range time-range-name | vpn-instance vpn-instance-name ] *

logging参数是否生效取决于引用该ACL的模块是否支持日志记录功能,例如报文过滤支持日志记录功能,如果其引用的ACL规则中配置了logging参数,该参数可以生效。

(6)     (可选)为规则配置描述信息。

rule rule-id comment text

缺省情况下,未配置规则的描述信息。

1.5.4  配置IPv6高级ACL

(1)     进入系统视图。

system-view

(2)     创建IPv6高级ACL。请至少选择其中一项进行配置。

¡     通过编号创建IPv6高级ACL。

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

¡     通过关键字创建IPv6高级ACL。

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

(3)     (可选)配置ACL的描述信息。

description text

缺省情况下,未配置ACL的描述信息。

(4)     (可选)配置规则编号的步长。

step step-value

缺省情况下,规则编号的步长为5,起始值为0。

(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 { object-group address-group-name | dest-address dest-prefix | dest-address/dest-prefix | any } | destination-port { object-group port-group-name | operator port1 [ port2 ] } | dscp dscp | flow-label flow-label-value | fragment | icmp6-type { icmp6-type icmp6-code | icmp6-message } | logging | routing [ type routing-type ] | hop-by-hop [ type hop-type ] | source { object-group address-group-name | source-address source-prefix | source-address/source-prefix | any } | source-port { object-group port-group-name | operator port1 [ port2 ] } | time-range time-range-name | vpn-instance vpn-instance-name ] *

logging参数是否生效取决于引用该ACL的模块是否支持日志记录功能,例如报文过滤支持日志记录功能,如果其引用的ACL规则中配置了logging参数,该参数可以生效。

(6)     (可选)为规则配置描述信息。

rule rule-id comment text

缺省情况下,未配置规则的描述信息。

1.6  配置二层ACL

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建二层ACL。请至少选择其中一项进行配置。

¡     通过编号创建二层ACL。

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

¡     通过关键字创建二层ACL。

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

(3)     (可选)配置ACL的描述信息。

description text

缺省情况下,未配置ACL的描述信息。

(4)     (可选)配置规则编号的步长。

step step-value

缺省情况下,规则编号的步长为5,起始值为0。

(5)     创建规则。

rule [ rule-id ] { deny | permit } [ cos dot1p | 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 ] *

(6)     (可选)为规则配置描述信息。

rule rule-id comment text

缺省情况下,未配置规则的描述信息。

1.7  配置用户自定义ACL

1. 功能简介

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建用户自定义ACL。请至少选择其中一项进行配置。

¡     通过编号创建用户自定义ACL。

acl number acl-number [ name acl-name ]

¡     通过关键字创建用户自定义ACL。

acl user-defined { acl-number | name acl-name }

(3)     (可选)配置ACL的描述信息。

description text

缺省情况下,未配置ACL的描述信息。

(4)     创建规则。

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

(5)     (可选)为规则配置描述信息。

rule rule-id comment text

缺省情况下,未配置规则的描述信息。

1.8  复制ACL

1. 功能简介

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

2. 配置限制和指导

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     复制并生成一个新的ACL。

acl [ ipv6 | mac | user-defined ] copy { source-acl-number | name source-acl-name } to { dest-acl-number | name dest-acl-name }

1.9  配置ACL规则的加速匹配功能

1. 功能简介

在对基于会话的业务报文(如NAT、ASPF等)进行规则匹配时,通常只对首个报文进行匹配以加快报文的处理速度,但这有时并不足以解决报文匹配的效率问题。譬如,当有大量用户同时与设备新建连接时,需要对每个新建连接都进行规则匹配,如果ACL内包含有大量规则,那么这个匹配过程将很长,这会导致用户建立连接时间超长,从而影响设备新建连接的性能。

ACL规则的加速匹配功能则可以解决上述问题,当对包含大量规则的ACL开启了加速匹配功能之后,其规则匹配速度将大大提高,从而提升设备的转发性能以及新建连接的性能。

当设备支持软件加速,并开启本功能后,添加、删除和修改规则时,并不会立即加速,而是延迟一定时间后加速。如果在该时间内,规则又发生变化,则重新计时。当ACL中的规则小于等于100条时,此时间为2秒;当ACL中的规则大于100条时,此时间为20秒。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建ACL,并进入ACL视图。

acl { [ ipv6 ] { advanced | basic } { acl-number | name acl-name } | mac { acl-number | name acl-name } } [ match-order { auto | config } ]

(3)     配置ACL规则的加速匹配功能。

accelerate

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

注意

设备上存在大量ACL规则时,执行undo accelerate命令可能会导致CPU占用率达到门限状态,影响正常业务处理异常。

 

1.10  应用ACL进行报文过滤

1.10.1  功能简介

ACL最基本的应用就是进行报文过滤。例如,将ACL规则应用到指定接口的入或出方向上,从而对该接口收到或发出的报文进行过滤。

1.10.2  在接口上应用ACL进行报文过滤

1. 配置限制和指导

一个接口在一个方向上最多可应用32个ACL进行报文过滤。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     在接口上应用ACL进行报文过滤。

packet-filter [ ipv6 | mac | user-defined ] { acl-number | name acl-name } { inbound | outbound }

缺省情况下,未配置接口的报文过滤。

1.10.3  在安全域间实例上应用ACL进行报文过滤

1. 配置限制和指导

一个安全域间实例上最多可应用32个ACL进行报文过滤。有关安全域间实例的详细介绍和配置,请参见“安全配置指导”中的“安全域”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入安全域间实例视图。

zone-pair security source source-zone-name destination destination-zone-name

(3)     在安全域间实例上应用ACL进行报文过滤。

packet-filter [ ipv6 ] { acl-number | name acl-name }

缺省情况下,安全域间实例不对报文进行过滤。

1.10.4  配置报文过滤日志信息或告警信息的生成与发送周期

1. 功能简介

报文过滤日志或告警信息的生成与发送周期起始于报文过滤中ACL匹配数据流的第一个数据包,报文过滤日志或告警信息包括周期内被匹配的报文数量以及所使用的ACL规则。在一个周期内:

·     对于规则匹配数据流的第一个数据包,设备会立即生成报文过滤日志或告警信息;

·     对于规则匹配数据流的其他数据包,设备将在周期结束后生成报文过滤日志或告警信息。

设备生成的报文过滤日志将发送给信息中心,有关信息中心的详细介绍,请参见“网络管理和监控配置指导”中的“信息中心”。

设备生成的告警信息将发送给SNMP,有关SNMP的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置报文过滤日志信息或告警信息的生成与发送周期。

acl { logging | trap } interval interval

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

1.10.5  配置报文过滤的缺省动作

1. 功能简介

系统缺省的报文过滤动作为Permit,即允许未匹配上ACL规则的报文通过。通过本配置可更改报文过滤的缺省动作为Deny,即禁止未匹配上ACL规则的报文通过。配置报文过滤的缺省动作在安全域间实例上不会生效。安全域间实例报文过滤的缺省动作为deny。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置报文过滤的缺省动作为Deny。

packet-filter default deny

缺省情况下,报文过滤的缺省动作为Permit,即允许未匹配上ACL规则的报文通过。

1.10.6  配置接口报文过滤缺省动作统计功能

1. 功能简介

在接口上只有应用了ACL进行报文过滤,才允许使能报文过滤缺省动作统计功能。使能了报文过滤缺省动作统计功能之后,接口将对报文过滤缺省动作的执行次数进行统计。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

interface interface-type interface-number

(3)     在接口上使能报文过滤缺省动作统计功能。

packet-filter default { inbound | outbound } hardware-count

缺省情况下,报文过滤的缺省动作统计功能处于关闭状态。

1.11  ACL显示和维护

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

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

表1-3 ACL显示和维护

配置

命令

显示ACL的配置和运行情况

display acl [ ipv6 | mac | user-defined ] { acl-number | all | name acl-name }

显示ACL的加速状态

(独立运行模式)

display acl accelerate { summary [ ipv6 | mac ] | verbose [ ipv6 | mac ] { acl-number | name acl-name } slot slot-number [ cpu cpu-number ] }

(IRF模式)

display acl accelerate { summary [ ipv6 | mac ] | verbose [ ipv6 | mac ] { acl-number | name acl-name } chassis chassis-number slot slot-number [ cpu cpu-number ] }

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

(独立运行模式)

display packet-filter { interface [ interface-type interface-number ] [ inbound | outbound ] | zone-pair security [ source source-zone-name destination destination-zone-name ] } [ slot slot-number [ cpu cpu-number ] ]

(IRF模式)

display packet-filter { interface [ interface-type interface-number ] [ inbound | outbound ]| zone-pair security [ source source-zone-name destination destination-zone-name ] } [ chassis chassis-number slot slot-number [ cpu cpu-number ] ]

显示ACL在报文过滤中应用的统计信息

display packet-filter statistics { interface interface-type interface-number { inbound | outbound } [ default | [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] | zone-pair security source source-zone-name destination destination-zone-name [ [ ipv6 ] { acl-number | name acl-name } ] } [ brief ]

显示ACL在报文过滤中应用的累加统计信息

display packet-filter statistics sum { inbound | outbound } [ ipv6 | mac | user-defined ] { acl-number | name acl-name } [ brief ]

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

(独立运行模式)

display packet-filter verbose { interface interface-type interface-number { inbound | outbound }  [ [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] | zone-pair security source source-zone-name destination destination-zone-name [ [ ipv6 ] { acl-number | name acl-name } ] } [ slot slot-number [ cpu cpu-number ] ]

(IRF模式)

display packet-filter verbose { interface interface-type interface-number { inbound | outbound } [ [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] | zone-pair security source source-zone-name destination destination-zone-name [ [ ipv6 ] { acl-number | name acl-name } ] } [ chassis chassis-number slot slot-number [ cpu cpu-number ] ]

显示QoS和ACL资源的使用情况

(独立运行模式)

display qos-acl resource advanced-mode [ slot slot-number [ cpu cpu-number ] ]

(IRF模式)

display qos-acl resource advanced-mode [ chassis chassis-number slot slot-number [ cpu cpu-number ] ]

清除ACL的统计信息

reset acl [ ipv6 | mac | user-defined ] counter { acl-number | all | name acl-name }

清除ACL在报文过滤中应用的统计信息

reset packet-filter statistics { interface [ interface-type interface-number ] { inbound | outbound } [ default | [ ipv6 | mac | user-defined ] { acl-number | name acl-name } ] | zone-pair security [ source source-zone-name destination destination-zone-name ] [ ipv6 ] { acl-number | name acl-name } }

 

1.12  ACL典型配置举例

1.12.1  在安全域间实例上应用包过滤的ACL配置举例

1. 组网需求

·     某公司内的各部门之间通过Device实现互连,总裁办、财务部和市场部分别属于President域、Finance域和Market域。该公司的工作时间为每周工作日的8点到18点。

·     通过在安全域间实例上配置包过滤,允许总裁办在任意时间、财务部在工作时间访问财务数据库服务器,禁止其它部门在任何时间、财务部在非工作时间访问该服务器。

2. 组网图

图1-1 在安全域间实例上应用包过滤的ACL配置组网图

 

3. 配置步骤

(1)     配置接口IP地址

# 根据组网图中规划的信息,配置各接口的IP地址,具体配置步骤如下。

<Device> system-view

[Device] interface gigabitethernet 1/0/1

[Device-GigabitEthernet1/0/1] ip address 192.168.0.1 255.255.255.0

[Device-GigabitEthernet1/0/1] quit

请参考以上步骤配置其他接口的IP地址,具体配置步骤略。

(2)     配置接口加入安全域

# 请根据组网图中规划的信息,创建安全域,并将接口加入对应的安全域,具体配置步骤如下。

[Device] security-zone name Server

[Device-security-zone-Server] import interface gigabitethernet 1/0/1

[Device-security-zone-Server] quit

[Device] security-zone name President

[Device-security-zone-President] import interface gigabitethernet 1/0/2

[Device-security-zone-President] quit

[Device] security-zone name Finance

[Device-security-zone-Finance] import interface gigabitethernet 1/0/3

[Device-security-zone-Finance] quit

[Device] security-zone name Market

[Device-security-zone-Market] import interface gigabitethernet 1/0/4

[Device-security-zone-Market] quit

(3)     配置时间段

# 创建名为work的时间段,其时间范围为每周工作日的8点到18点。

[Device] time-range work 08:00 to 18:00 working-day

(4)     创建ACL

# 创建IPv4高级ACL 3000,允许总裁办在任意时间访问财务数据库服务器。

[Device] acl advanced 3000

[Device-acl-ipv4-adv-3000] rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.0.100 0

[Device-acl-ipv4-adv-3000] quit

# 创建IPv4高级ACL 3001,允许财务部在工作时间访问财务数据库服务器。

[Device] acl advanced 3001

[Device-acl-ipv4-adv-3001] rule permit ip source 192.168.2.0 0.0.0.255 destination 192.168.0.100 0 time-range work

[Device-acl-ipv4-adv-3001] quit

# 创建IPv4高级ACL 3002,禁止其它部门在任何时间访问财务数据库服务器。

[Device] acl advanced 3002

[Device-acl-ipv4-adv-3002] rule deny ip source any destination 192.168.0.100 0

[Device-acl-ipv4-adv-3002] quit

(5)     在安全域间实例应用包过滤策略

# 创建安全域间实例(源安全域为President、目的安全域为Server),并在该安全域间实例上引用ACL 3000进行包过滤。

[Device] zone-pair security source president destination server

[Device-zone-pair-security-President-Server] packet-filter 3000

[Device-zone-pair-security-President-Server] quit

# 创建安全域间实例(源安全域为Finance、目的安全域为Server),并在该安全域间实例上引用ACL 3001进行包过滤。

[Device] zone-pair security source finance destination server

[Device-zone-pair-security-Finance-Server] packet-filter 3001

[Device-zone-pair-security-President-Server] quit

# 创建安全域间实例(源安全域为Market、目的安全域为Server),并在该安全域间实例上引用ACL 3002进行包过滤。

[Device] zone-pair security source market destination server

[Device-zone-pair-security-Market-Server] packet-filter 3002

[Device-zone-pair-security-Market-Server] quit

4. 验证配置

配置完成后,在各部门的PC(假设均为Windows XP操作系统)上可以使用ping命令检验配置效果,在Device上可以使用display acl命令查看ACL的配置和运行情况。例如在工作时间:

# 在财务部的PC上检查到财务数据库服务器是否可达。

C:\> ping 192.168.0.100

 

Pinging 192.168.0.100 with 32 bytes of data:

 

Reply from 192.168.0.100: bytes=32 time=1ms TTL=255

Reply from 192.168.0.100: bytes=32 time<1ms TTL=255

Reply from 192.168.0.100: bytes=32 time<1ms TTL=255

Reply from 192.168.0.100: bytes=32 time<1ms TTL=255

Ping statistics for 192.168.0.100:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 0ms, Maximum = 1ms, Average = 0ms

由此可见,财务部的PC能够在工作时间访问财务数据库服务器。

# 在市场部的PC上检查财务数据库服务器是否可达。

C:\> ping 192.168.0.100

 

Pinging 192.168.0.100 with 32 bytes of data:

 

Request timed out.

Request timed out.

Request timed out.

Request timed out.

 

Ping statistics for 192.168.0.100:

    Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),

由此可见,市场部的PC不能在工作时间访问财务数据库服务器。

# 查看IPv4高级ACL 3001和ACL 3002的配置和运行情况。

[Device] display acl 3001

Advanced IPv4 ACL 3001, 1 rule,

ACL's step is 5

 rule 0 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.0.100 0 time-range work (4 times matched) (Active)

[Device] display acl 3002

Advanced IPv4 ACL 3002, 1 rule,

ACL's step is 5

 rule 0 deny ip destination 192.168.0.100 0 (4 times matched)

由此可见,由于目前是工作时间,因此ACL 3001的规则0是生效的;且由于之前使用了ping命令的缘故,ACL 3001和ACL 3002的规则0分别被匹配了4次。

 

 

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

新华三官网
联系我们