01-ACL配置
本章节下载 (345.05 KB)
目 录
ACL(Access Control List,访问控制列表)是一系列用于识别报文流的规则的集合。这里的规则是指描述报文匹配条件的判断语句,匹配条件可以是报文的源地址、目的地址、端口号等。设备依据ACL规则识别出特定的报文,并根据预先设定的策略对其进行处理,最常见的应用就是使用ACL进行报文过滤。此外,ACL还可应用于诸如路由、安全、QoS等业务中识别报文,对这些报文的具体处理方式由应用ACL的业务模块来决定。
用户在创建ACL时必须为其指定编号或名称,不同的编号对应不同类型的ACL,如表1-1所示;当ACL创建完成后,用户就可以通过指定编号或名称的方式来应用和编辑该ACL。
对于编号相同的基本ACL或高级ACL,必须通过ipv6关键字进行区分。对于名称相同的ACL,必须通过ipv6、mac关键字进行区分。
根据规则制订依据的不同,可以将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中包含多条规则时,报文会按照一定的顺序与这些规则进行匹配,一旦匹配上某条规则便结束匹配过程。ACL的规则匹配顺序有以下两种:
· 配置顺序:按照规则编号由小到大进行匹配。
· 自动排序:按照“深度优先”原则由深到浅进行匹配,各类型ACL的“深度优先”排序法则如表1-2所示。
表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”位越多,范围越小。
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……
传统报文过滤只对分片报文的首个分片进行匹配过滤,对后续分片一律放行,因此网络攻击者通常会构造后续分片进行流量攻击。为提高网络安全性,ACL规则缺省会匹配所有非分片报文和分片报文的全部分片,但这样又带来效率低下的问题。为了兼顾网络安全和匹配效率,可将过滤规则配置为仅对后续分片有效。
通过编号创建的ACL,可以通过如下命令进入其视图:
· acl [ ipv6 ] number acl-number;
· acl { [ ipv6 ] { advanced | basic } | mac } 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 | user-defined } name acl-name。
通过acl { [ ipv6 ] { advanced | basic } | mac | user-defined } name acl-name命令指定名称创建的ACL,可以使用如下命令进入其视图:
· acl [ ipv6 ] name acl-name,本命令仅支持进入已创建的基本或高级ACL视图;
· acl { [ ipv6 ] { advanced | basic } | mac | user-defined } name acl-name。
如果ACL规则的匹配项中包含了除IP五元组(源IP地址、源端口号、目的IP地址、目的端口号、传输层协议)、ICMP报文的消息类型和消息码信息、VPN实例、日志操作和时间段之外的其它匹配项,则设备转发ACL匹配的这类报文时会启用慢转发流程。慢转发时设备会将报文上送控制平面,计算报文相应的表项信息。执行慢转发流程时,设备的转发能力将会有所降低。
ACL配置任务如下
· 配置不同类型的ACL
¡ 配置基本ACL
¡ 配置高级ACL
¡ 配置二层ACL
· (可选)复制ACL
· (可选)配置ACL规则的加速匹配功能
· (可选)应用ACL进行报文过滤
基本ACL根据报文的源IP地址来制订规则,对报文进行匹配。
当ACL规则中配置了logging参数,且引用该ACL的模块支持并开启了日志记录功能时,logging功能生成的日志信息不会输出到控制台和监视终端。此时如需获取该日志,可通过执行display logbuffer命令进行查看。有关display logbuffer命令的详细介绍,请参见“网络管理和监控命令参考”中的“信息中心”。
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) 进入系统视图。
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
缺省情况下,未配置规则的描述信息。
高级ACL可根据报文的源地址、目的地址、报文优先级、QoS本地值、承载的协议类型及特性(如TCP/UDP的源端口和目的端口、TCP报文标识、ICMP或ICMPv6协议的消息类型和消息码等),对报文进行匹配。用户可利用高级ACL制订比基本ACL更准确、丰富、灵活的规则。
当ACL规则中配置了logging参数,且引用该ACL的模块支持并开启了日志记录功能时,logging功能生成的日志信息不会输出到控制台和监视终端。此时如需获取该日志,可通过执行display logbuffer命令进行查看。有关display logbuffer命令的详细介绍,请参见“网络管理和监控命令参考”中的“信息中心”。
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) 进入系统视图。
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
缺省情况下,未配置规则的描述信息。
二层ACL可根据报文的源MAC地址、目的MAC地址、802.1p优先级、链路层协议类型、报文的封装类型等二层信息来制订规则,对报文进行匹配。
(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
缺省情况下,未配置规则的描述信息。
用户可通过复制一个已存在的ACL(即源ACL),来生成一个新的同类型ACL(即目的ACL)。除了ACL的编号和名称不同外,目的ACL与源ACL完全相同。
目的ACL要与源ACL的类型相同,且目的ACL必须不存在,否则将导致复制ACL失败。
(1) 进入系统视图。
system-view
(2) 复制并生成一个新的ACL。
acl [ ipv6 | mac ] copy { source-acl-number | name source-acl-name } to { dest-acl-number | name dest-acl-name }
在对基于会话的业务报文(如NAT、ASPF等)进行规则匹配时,通常只对首个报文进行匹配以加快报文的处理速度,但这有时并不足以解决报文匹配的效率问题。譬如,当有大量用户同时与设备新建连接时,需要对每个新建连接都进行规则匹配,如果ACL内包含有大量规则,那么这个匹配过程将很长,这会导致用户建立连接时间超长,从而影响设备新建连接的性能。
ACL规则的加速匹配功能则可以解决上述问题,当对包含大量规则的ACL开启了加速匹配功能之后,其规则匹配速度将大大提高,从而提升设备的转发性能以及新建连接的性能。
当设备支持软件加速,并开启本功能后,添加、删除和修改规则时,并不会立即加速,而是延迟一定时间后加速。如果在该时间内,规则又发生变化,则重新计时。当ACL中的规则小于等于100条时,此时间为2秒;当ACL中的规则大于100条时,此时间为20秒。
(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最基本的应用就是进行报文过滤。例如,将ACL规则应用到指定接口的入或出方向上,从而对该接口收到或发出的报文进行过滤。
一个接口在一个方向上最多可应用32个ACL进行报文过滤。
(1) 进入系统视图。
system-view
(2) 进入接口视图。
interface interface-type interface-number
(3) 在接口上应用ACL进行报文过滤。
packet-filter [ ipv6 | mac ] { acl-number | name acl-name } { inbound | outbound }
缺省情况下,未配置接口的报文过滤。
一个安全域间实例上最多可应用32个ACL进行报文过滤。有关安全域间实例的详细介绍和配置,请参见“安全配置指导”中的“安全域”。
(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 }
缺省情况下,安全域间实例不对报文进行过滤。
报文过滤日志或告警信息的生成与发送周期起始于报文过滤中ACL匹配数据流的第一个数据包,报文过滤日志或告警信息包括周期内被匹配的报文数量以及所使用的ACL规则。在一个周期内:
· 对于规则匹配数据流的第一个数据包,设备会立即生成报文过滤日志或告警信息;
· 对于规则匹配数据流的其他数据包,设备将在周期结束后生成报文过滤日志或告警信息。
设备生成的报文过滤日志将发送给信息中心,有关信息中心的详细介绍,请参见“网络管理和监控配置指导”中的“信息中心”。
设备生成的告警信息将发送给SNMP,有关SNMP的详细介绍,请参见“网络管理和监控配置指导”中的“SNMP”。
(1) 进入系统视图。
system-view
(2) 配置报文过滤日志信息或告警信息的生成与发送周期。
acl { logging | trap } interval interval
缺省情况下,报文过滤日志信息或告警信息的生成与发送周期为0分钟,即不记录报文过滤的日志和告警信息。
系统缺省的报文过滤动作为Permit,即允许未匹配上ACL规则的报文通过。通过本配置可更改报文过滤的缺省动作为Deny,即禁止未匹配上ACL规则的报文通过。配置报文过滤的缺省动作在安全域间实例上不会生效。安全域间实例报文过滤的缺省动作为deny。
(1) 进入系统视图。
system-view
(2) 配置报文过滤的缺省动作为Deny。
packet-filter default deny
缺省情况下,报文过滤的缺省动作为Permit,即允许未匹配上ACL规则的报文通过。
在完成上述配置后,在任意视图下执行display命令可以显示ACL配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除ACL的统计信息。
表1-3 ACL显示和维护
配置 |
命令 |
显示ACL的配置和运行情况 |
display acl [ ipv6 | mac ] { acl-number | all | name acl-name } |
显示ACL的加速状态 |
(独立运行模式) display acl accelerate { summary [ ipv6 | mac ] | verbose [ ipv6 | mac ] { acl-number | name acl-name } slot slot-number } (IRF模式) display acl accelerate { summary [ ipv6 | mac ] | verbose [ ipv6 | mac ] { acl-number | name acl-name } chassis chassis-number slot slot-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 ] (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 ] |
显示ACL在报文过滤中应用的统计信息 |
display packet-filter statistics { interface interface-type interface-number { inbound | outbound } [ default | [ ipv6 | mac ] { 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 ] { acl-number | name acl-name } [ brief ] |
显示ACL在报文过滤中的详细应用情况 |
(独立运行模式) display packet-filter verbose { interface interface-type interface-number { inbound | outbound } [ [ ipv6 | mac ] { 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 ] (IRF模式) display packet-filter verbose { interface interface-type interface-number{ inbound | outbound } [ [ ipv6 | mac ] { 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 ] |
清除ACL的统计信息 |
reset acl [ ipv6 | mac ] counter { acl-number | all | name acl-name } |
清除ACL在报文过滤中应用的统计信息 |
reset packet-filter statistics { interface [ interface-type interface-number ] { inbound | outbound } [ default | [ ipv6 | mac ] { acl-number | name acl-name } ] | zone-pair security [ source source-zone-name destination destination-zone-name ] [ ipv6 ] { acl-number | name acl-name } } |
· 某公司内的各部门之间通过Device实现互连,该公司的工作时间为每周工作日的8点到18点。
· 通过配置,允许总裁办在任意时间、财务部在工作时间访问财务数据库服务器,禁止其它部门在任何时间、财务部在非工作时间访问该服务器。
图1-1 ACL典型配置组网图
# 创建名为work的时间段,其时间范围为每周工作日的8点到18点。
<Device> system-view
[Device] time-range work 08:00 to 18:00 working-day
# 创建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] 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-3000] rule deny ip source any destination 192.168.0.100 0
[Device-acl-ipv4-adv-3000] quit
# 应用IPv4高级ACL 3000对接口GigabitEthernet2/0/1出方向上的报文进行过滤。
[Device] interface gigabitethernet 2/0/1
[Device-GigabitEthernet2/0/1] packet-filter 3000 outbound
[Device-GigabitEthernet2/0/1] quit
配置完成后,在各部门的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 3000的配置和运行情况。
[Device] display acl 3000
Advanced IPv4 ACL 3000, 3 rules,
ACL's step is 5
rule 0 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.0.100 0
rule 5 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.0.100 0 time-range work (4 times matched) (Active)
rule 10 deny ip destination 192.168.0.100 0 (4 times matched)
由此可见,由于目前是工作时间,因此规则5是生效的;且由于之前使用了ping命令的缘故,规则5和规则10分别被匹配了4次。
· 某公司内的各部门之间通过Device实现互连,总裁办、财务部和市场部分别属于President域、Finance域和Market域。该公司的工作时间为每周工作日的8点到18点。
· 通过在安全域间实例上配置包过滤,允许总裁办在任意时间、财务部在工作时间访问财务数据库服务器,禁止其它部门在任何时间、财务部在非工作时间访问该服务器。
图1-2 ACL典型配置组网图
# 将接口GigabitEthernet2/0/1加入Server域。
<Device> system-view
[Device] security-zone name Server
[Device-security-zone-Server] import interface gigabitethernet 2/0/1
[Device-security-zone-Server] quit
# 将接口GigabitEthernet2/0/2加入President域。
[Device] security-zone name President
[Device-security-zone-President] import interface gigabitethernet 2/0/2
[Device-security-zone-President] quit
# 将接口GigabitEthernet2/0/3加入Finance域。
[Device] security-zone name Finance
[Device-security-zone-Finance] import interface gigabitethernet 2/0/3
[Device-security-zone-Finance] quit
# 将接口GigabitEthernet2/0/4加入Market域。
[Device] security-zone name Market
[Device-security-zone-Market] import interface gigabitethernet 2/0/4
[Device-security-zone-Market] quit
# 创建名为work的时间段,其时间范围为每周工作日的8点到18点。
[Device] time-range work 08:00 to 18:00 working-day
# 创建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
# 创建域间实例(源域为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
配置完成后,在各部门的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, 2 rules,
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命令的缘故,ACL3001和ACL 3002的规则0分别被匹配了4次。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!