01-ACL配置
本章节下载: 01-ACL配置 (271.80 KB)
ACL(Access Control List,访问控制列表)是一或多条规则的集合,用于识别报文流。这里的规则是指描述报文匹配条件的判断语句,匹配条件可以是报文的源地址、目的地址、端口号等。网络设备依照这些规则识别出特定的报文,并根据预先设定的策略对其进行处理。
ACL可以应用在诸多领域,其中最基本的就是应用ACL进行报文过滤。此外,ACL还可应用于诸如路由、安全、QoS等业务中,有关ACL在这些业务中的具体应用方式,请参见相关的配置指导。
ACL本身只能识别报文,而无法对识别出的报文进行处理,对这些报文的具体处理方法由应用ACL的业务模块来决定。
用户在创建ACL时必须为其指定编号,不同的编号对应不同类型的ACL,如表1-1所示;同时,为了便于记忆和识别,用户在创建ACL时还可选择是否为其设置名称。ACL一旦创建,便不允许用户再为其设置名称、修改或删除其原有名称。
当ACL创建完成后,用户就可以通过指定编号或名称的方式来指定该ACL,以便对其进行操作。
· WLAN ACL和WLAN-AP ACL都不支持设置名称。
· IPv4基本ACL和IPv4高级ACL的编号和名称只在IPv4中唯一;IPv6基本ACL和IPv6高级ACL的编号和名称也只在IPv6中唯一。
根据规则制订依据的不同,可以将ACL分为如表1-1所示的几种类型。
表1-1 ACL的分类
ACL类型 |
适用的IP版本 |
||
100~199 |
WLAN(Wireless Local Area Network,无线局域网)的SSID(Service Set Identifier,服务集标识符) |
||
200~299 |
WLAN AP(Access Point,接入点)的MAC地址和序列号 |
||
2000~2999 |
报文的源IP地址 |
||
报文的源IPv6地址 |
|||
3000~3999 |
报文的源IP地址、目的IP地址、报文优先级、IP承载的协议类型及特性等三、四层信息 |
||
报文的源IPv6地址、目的IPv6地址、报文优先级、IPv6承载的协议类型及特性等三、四层信息 |
|||
4000~4999 |
IPv4和IPv6 |
报文的源MAC地址、目的MAC地址、802.1p优先级、链路层协议类型等二层信息 |
当一个ACL中包含多条规则时,报文会按照一定的顺序与这些规则进行匹配,一旦匹配上某条规则便结束匹配过程。ACL的规则匹配顺序有以下两种:
· 自动排序:按照“深度优先”原则由深到浅进行匹配,各类型ACL的“深度优先”排序法则如表1-2所示。
WLAN ACL和WLAN-AP ACL的规则只能按照配置顺序进行匹配;其它类型的ACL则可选择按照配置顺序或自动顺序进行匹配。
表1-2 各类型ACL的“深度优先”排序法则
ACL类型 |
|
IPv4基本ACL |
1. 先比较源IPv4地址范围,较小者优先 2. 如果源IP地址范围也相同,再比较配置的先后次序,先配置者优先 |
IPv4高级ACL |
(1) 先比较协议范围,指定有IPv4承载的协议类型者优先 3. 如果协议范围也相同,再比较源IPv4地址范围,较小者优先 4. 如果源IPv4地址范围也相同,再比较目的IPv4地址范围,较小者优先 5. 如果目的IPv4地址范围也相同,再比较四层端口(即TCP/UDP端口)号的覆盖范围,较小者优先 |
IPv6基本ACL |
(1) 先比较源IPv6地址范围,较小者优先 7. 如果源IPv6地址范围也相同,再比较配置的先后次序,先配置者优先 |
IPv6高级ACL |
(1) 先比较协议范围,指定有IPv6承载的协议类型者优先 8. 如果协议范围相同,再比较源IPv6地址范围,较小者优先 9. 如果源IPv6地址范围也相同,再比较目的IPv6地址范围,较小者优先 10. 如果目的IPv6地址范围也相同,再比较四层端口(即TCP/UDP端口)号的覆盖范围,较小者优先 |
(1) 先比较源MAC地址范围,较小者优先 12. 如果源MAC地址范围相同,再比较目的MAC地址范围,较小者优先 13. 如果目的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中是唯一的。在创建规则时,可以手工为其指定一个编号,如未手工指定编号,则由系统为其自动分配一个编号。由于规则的编号可能影响规则匹配的顺序,因此当由系统自动分配编号时,为了方便后续在已有规则之前插入新的规则,系统通常会在相邻编号之间留下一定的空间,这个空间的大小(即相邻编号之间的差值)就称为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-3 ACL配置任务简介
配置ACL的生效时间段 |
本配置任务适用于IPv4和IPv6 |
||
本配置任务适用于IPv4和IPv6 |
|||
本配置任务适用于IPv4和IPv6 |
|||
本配置任务适用于IPv4和IPv6 |
|||
本配置任务适用于IPv4和IPv6 |
时间段定义了一个时间范围。当一个ACL规则只需在某个特定的时间范围内生效时,可以先配置好这个时间段,然后在配置该ACL规则时引用该时间段,这样该ACL规则就只能在该时间段定义的时间范围内生效。时间段可分为以下两种类型:
· 周期时间段:表示以一周为周期(如每周一的8至12点)循环生效的时间段。
· 绝对时间段:表示在指定时间范围内(如2011年1月1日8点至2011年1月3日18点)生效的时间段。
每个时间段都以一个名称来标识,用户最多可创建256个不同名称的时间段。一个时间段内可包含一或多个周期时间段(最多32个)和绝对时间段(最多12个),当一个时间段内包含有多个周期时间段和绝对时间段时,系统将先分别取各周期时间段的并集和各绝对时间段的并集,再取这两个并集的交集作为该时间段最终生效的时间范围。
表1-4 配置ACL的生效时间段
WLAN ACL根据WLAN的SSID来制订规则,对来自WLAN用户的报文进行匹配。
创建WLAN ACL,并进入WLAN ACL视图 |
WLAN ACL的编号范围为100~199 |
|
配置ACL的描述信息 |
缺省情况下,ACL没有任何描述信息 |
|
缺省情况下,WLAN ACL内不存在任何规则 |
||
缺省情况下,ACL内没有任何规则注释信息 |
WLAN-AP ACL根据AP的MAC地址或序列号来制订规则,对AP进行匹配。
创建WLAN-AP ACL,并进入WLAN-AP ACL视图 |
WLAN-AP ACL的编号范围为200~299 |
|
配置ACL的描述信息 |
缺省情况下,ACL没有任何描述信息 |
|
rule [ rule-id ] { deny | permit } [ mac mac-address mac-mask ] [ serial-id serial-id ] |
缺省情况下,WLAN-AP ACL内不存在任何规则 |
|
IPv4基本ACL根据报文的源IP地址来制订规则,对IPv4报文进行匹配。
表1-7 配置IPv4基本ACL
创建IPv4基本ACL,并进入IPv4基本ACL视图 |
acl number acl-number [ name acl-name ] [ match-order { auto | config } ] |
IPv4基本ACL的编号范围为2000~2999 如果在创建IPv4基本ACL时为其指定了名称,则也可以使用acl name acl-name命令通过指定名称的方式进入其视图 |
配置ACL的描述信息 |
缺省情况下,ACL没有任何描述信息 |
|
缺省情况下,IPv4基本ACL内不存在任何规则 |
||
缺省情况下,ACL内没有任何规则注释信息 |
IPv6基本ACL根据报文的源IPv6地址来制订规则,对IPv6报文进行匹配。
表1-8 配置IPv6基本ACL
创建IPv6基本ACL,并进入IPv6基本ACL视图 |
acl ipv6 number acl6-number [ name acl6-name ] [ match-order { auto | config } ] |
IPv6基本ACL的编号范围为2000~2999 如果在创建IPv6基本ACL时为其指定了名称,则也可以使用acl ipv6 name acl6-name命令通过指定名称的方式进入其视图 |
配置ACL的描述信息 |
缺省情况下,ACL没有任何描述信息 |
|
缺省情况下,IPv6基本ACL内不存在任何规则 |
||
缺省情况下,ACL内没有任何规则注释信息 |
IPv4高级ACL可根据报文的源IP地址、目的IP地址、报文优先级、IP承载的协议类型及特性(如TCP/UDP的源端口和目的端口、TCP报文标识、ICMP协议的消息类型和消息码等)等信息来制定规则,对IPv4报文进行匹配。用户可利用IPv4高级ACL制订比IPv4基本ACL更准确、丰富、灵活的规则。
表1-9 配置IPv4高级ACL
创建IPv4高级ACL,并进入IPv4高级ACL视图 |
acl number acl-number [ name acl-name ] [ match-order { auto | config } ] |
IPv4高级ACL的编号范围为3000~3999 如果在创建IPv4高级ACL时为其指定了名称,则也可以使用acl name acl-name命令通过指定名称的方式进入其视图 |
配置ACL的描述信息 |
缺省情况下,ACL没有任何描述信息 |
|
缺省情况下,IPv4高级ACL内不存在任何规则 |
||
缺省情况下,ACL内没有任何规则注释信息 |
IPv6高级ACL可根据报文的源IPv6地址、目的IPv6地址、报文优先级、IPv6承载的协议类型及特性(如TCP/UDP的源端口和目的端口、TCP报文标识、ICMPv6协议的消息类型和消息码等)等信息来制定规则,对IPv6报文进行匹配。用户可利用IPv6高级ACL制订比IPv6基本ACL更准确、丰富、灵活的规则。
表1-10 配置IPv6高级ACL
创建IPv6高级ACL,并进入IPv6高级ACL视图 |
acl ipv6 number acl6-number [ name acl6-name ] [ match-order { auto | config } ] |
IPv6高级ACL的编号范围3000~3999 如果在创建IPv6高级ACL时为其指定了名称,则也可以使用acl ipv6 name acl6-name命令通过指定名称的方式进入其视图 |
配置ACL的描述信息 |
缺省情况下,ACL没有任何描述信息 |
|
缺省情况下,IPv6高级ACL内不存在任何规则 flow-label flow-label-value参数的支持情况与设备的型号有关,请参见“命令参考导读”中的“命令行及参数差异情况”部分的介绍。 |
||
缺省情况下,ACL内没有任何规则注释信息 |
二层ACL可根据报文的源MAC地址、目的MAC地址、802.1p优先级、链路层协议类型等二层信息来制订规则,对报文进行匹配。
创建二层ACL,并进入二层ACL视图 |
acl number acl-number [ name acl-name ] [ match-order { auto | config } ] |
二层ACL的编号范围为4000~4999 如果在创建二层ACL时为其指定了名称,则也可以使用acl name acl-name命令通过指定名称的方式进入其视图 |
配置ACL的描述信息 |
缺省情况下,ACL没有任何描述信息 |
|
缺省情况下,二层ACL内不存在任何规则 设备不支持SNAP帧格式,所以lsap参数配置不会生效 |
||
缺省情况下,ACL内没有任何规则注释信息 |
用户可通过复制一个已存在的ACL(即源ACL),来生成一个新的同类型ACL(即目的ACL)。除了ACL的编号和名称不同外,目的ACL与源ACL完全相同。
目的ACL要与源ACL的类型相同,且目的ACL必须不存在,否则将导致复制失败。
表1-12 复制WLAN ACL、WLAN-AP ACL、IPv4基本ACL、IPv4高级ACL或二层ACL
复制并生成新的WLAN ACL、WLAN-AP ACL、IPv4基本ACL、IPv4高级ACL或二层ACL |
acl copy { source-acl-number | name source-acl-name } to { dest-acl-number | name dest-acl-name } |
表1-13 复制IPv6基本ACL或IPv6高级ACL
复制并生成新的IPv6基本ACL或IPv6高级ACL |
在完成上述配置后,在任意视图下执行display命令可以显示ACL配置后的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除ACL的统计信息。
表1-14 ACL显示和维护
显示指定或全部ACL(包括WLAN ACL、WLAN-AP ACL、IPv4基本ACL、IPv4高级AC和二层ACL)的配置和运行情况 |
|
显示指定或全部ACL(包括IPv6基本ACL和IPv6高级ACL)的配置和运行情况 |
|
display time-range { time-range-name | all } [ | { begin | exclude | include } regular-expression ] |
该配置举例中对于以太网接口的配置,请参见表1-15。本配置举例以GigabitEthernet接口为例,实际使用中请以设备实际情况为准。
表1-15 AC以太网接口配置说明
LSUM1WCME0 |
||
WX3510E WX3540E |
||
WX5510E |
||
WX2540E |
对于无线相关的特性,请直接在设备的LAN口上配置 对于路由相关的特性,比如PPPoE、RIP等,请直接在设备的WAN口配置 |
|
WAC360 WAC361 |
||
WX6100E(包括EWPXM2WCMD0、EWPXM3WCMD0、EWPXM1WCME0) |
请直接在WX6100E的无线控制器业务板与交换板相连的内部以太网接口上配置(无线控制器业务板插在WX6100E无线控制器的扩展插槽上) |
公司企业网通过AC实现无线用户同服务器之间的互连。工资查询服务器的地址为192.168.1.2/24。研发部门的无线用户在无线控制器上对应的无线接口为WLAN-ESS1,要求正确配置IPv4 ACL,禁止研发部门无线用户在工作日8:00至18:00访问工资查询服务器。
# 定义星期一至星期五的8:00至18:00的周期时间段。
[AC] time-range trname 8:00 to 18:00 working-day
(2) 定义到工资服务器的IPv4 ACL
# 进入高级IPv4 ACL视图,编号为3000。
# 定义匹配从研发部门到工资服务器的报文的访问规则。
[AC-acl-adv-3000] rule 0 permit ip source any destination 192.168.1.2 0.0.0.0 time-range trname
[AC-acl-adv-3000] quit
# 将IPv4 ACL 3000应用于WLAN-ESS1入方向的包过滤。
[AC-classifier-test] if-match acl 3000
[AC-classifier-test] quit
[AC] traffic behavior test
[AC-behavior-test] filter deny
[AC-behavior-test] quit
[AC] qos policy test
[AC-qospolicy-test] classifier test behavior test
[AC-qospolicy-test] quit
[AC] interface wlan-ess 1
[AC-WLAN-ESS1] qos apply policy test inbound
在无线控制器(AC)接口WLAN-ESS1配置IPv6报文过滤,允许接收源IPv6地址为2000::0100到2000::ff00 的报文,禁止接收其他报文。
# 配置IPv6 ACL(假定IPv6 ACL编号为2000),规则如下。
[AC] acl ipv6 number 2000
[AC-acl6-basic-2000] rule permit source 2000::0100 120
[AC-acl6-basic-2000] quit
# 配置流分类
[AC] traffic classifier ipv6-2000
[AC-classifier-ipv6-2000] if-match acl ipv6 2000
[AC-classifier-ipv6-2000] quit
# 配置流行为
[AC-behavior-deny] filter deny
[AC] quit
# 配置QOS流策略
[AC-qospolicy-deny2000] classifier ipv6-2000 behavior deny
[AC-qospolicy-deny2000] quit
# 配置接口WLAN-ESS1入方向的IPv6报文过滤。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!