本章介绍如何通过接入控制列表(ACLs)在您的交换机上配置网络安全属性.通过 ACLs,您可以对进
入到锐捷网络公司 S3550/S3750 系列交换机的输入或者输出数据流进行过滤.数据流的定义可以基
于网络地址,TCP/UDP的应用等.您可以选择对于符合过滤标准的流是丢弃还是允许通过,因此您必
须知道您的网络是如何设计的,以及交换机接口是如何在您的过滤设备上使用的.要通过ACLs配置
网络安全属性,您只有通过CLI命令(可以通过串口,Telnet或Web)来完成您的配置.

本章内容包括:
概述
配置安全ACLs
显示ACLs配置
概述
ACLs,安全ACLs,Qos ACLs及ACE
ACLs 的全称为接入控制列表(Access Control Lists),按照其使用的范围,可以分为安全 ACLs 和
QoS ACLs.

对数据流进行过滤可以限制网络中的通讯数据类型及限制网络的使用者或使用设备.安全ACLs在数
据流通过交换机时对其进行分类过滤,并对从指定接口输入或者输出的数据流进行检查,根据匹配
条件(conditions)决定是允许其通过(permit)还是丢弃(deny).

对于输入方向,安全ACLs在允许数据流通过之后,您还可以通过QoS 策略对符合QoS ACLs匹配条
件的数据流进行优先级策略处理(更具体的介绍,详见"配置QoS").

总的来说,安全ACLs用于控制哪些数据流允许从交换机通过,QoS策略在这些允许通过的数据流中
再根据QoS ACLs进行优先级分类和处理.

ACLs由一系列的表项组成,我们称之为接入控制列表表项(Access Control Entry:ACE).每个接入
控制列表表项都申明了满中该表项的匹配条件及行为.

下面我们举例说明交换机,交换机接口,ACL和ACE的关系,由于该例子比较典型,因此将在本章中
全文引用:

有一个国家,A国,与B国,C国,D国和E国相邻.如图17-1:

图17-1:A国与B,C,D,E国相邻
假设A国的邻国人员要出国,必须经由A国海关过境.即B,C,D,E任一国家要到另一个国家,必
须经由与A国与本国的直通海关入境后,经A国其它海关出境到达目的地.A国对经由本国海关过境
人员有严格的身份检查限制,其入境时的过境检查规则如图17-2:
携带危险物品者->拒绝过境
B国持旅游护照到D国人员->允许过境
C国持留学护照到E国留学人员->允许过境
其它所有人员->拒绝过境
图17-2:A国的海关过境规则
A国的每个海关均有四个出关通道,每个出关通道每天均有出关人数限制.因此A国在入境时还根据
不同人员的身份进行分类,以便出关时给予不同的待遇.如图17-3:
B国持旅游护照的老年人
B国持旅游护照妇女
C国路经本国到D国留学人员
其它人员
图17-3:A国的入境身份识别规则
在上面所举的例子中:A 国就相当于交换机,其四个海关相当于交换机的四个接口,该国的就是安全ACL,其就是QoS ACL.

的每一条细则就是ACE,而每一条细则的身份识别条件就是ACE的匹配条件,拒绝过
境和允许过境两种待遇就相当于 ACE 的行为:permit,deny.在图一中:的第一条
A国
B

D

E国
C国


4
海关3 海关1


2
细则为:携带危险物品者->拒绝过境.这里"携带危险物品者"就相当于 ACE 的匹配条件,而"拒
绝过境"就是行为(deny),相应的,第二条细则的"B国持旅游护照到D国人员"是匹配条件,"允
许入境"为行为(permit).

同理,图二的也是ACL,其每一条细则也是ACE,由于是对已入境人员的限制,
因此其每一条细则隐含的待遇均是:允许过境,相应的QoS ACL也要求其ACE的行为为permit.在
S3550/S3750系列交换机中,您不能在QoS ACL中定义一个行为为deny的ACE.

在上面的所举的例子中,A国还可以根据邻国的友好程度制定不同的海关过境规则分别适用于不同的
海关.如,A国与E国为兄弟国家,特为其制定...,这样只适用于海关1-3,而只适用于海关4.同理,对于您也
可以针对不同的接口,定义不同的ACL.
理解输入ACL,输出ACL

在上面所举的例子中,A国的只在入关时检查入关人员的身份,而A国如果想加强其
海关安全,则 A 国还可以在所有人员出关时检查出关人员的身份.或者 A 国在入关时不检查入关人
员的身份,但在出关时检查出关人员的身份.

输入ACL,类似于在入关时检查的,它在交换机接口接收到报文时,检查报文是否与
该接口输入ACL的的某一条ACE相匹配,而输出ACL类似于在出关时检查的,它在
交换机准备从某一个接口输出报文时,检查报文是否与该接口输出ACL的某一条ACE相匹配.
理解过滤域模板(masks)和规则(rules)
为了理解过滤域模板,我们还是以上面所举的例子来说明如下:

A国的在制定时是按照如下入关人员的信息来标识入关人员身份的:
1.国籍
2.所在省份
3.目的国家
4.目的国城市
5.职业
6.年龄
7.所持护照
8.携带物品

在制定不同的过境细则时,以上 8 条准则可能同时被应用,也可能只应用其中几条.如,细则第一
条:携带危险物品者拒绝过境.这里的携带危险物品者,就是只根据入境人员所携带物品来识别
的,不分国家,不分其所往目的国及年龄,所持护照等,只要是携带危险物品者就符合该细则的条
件.相应的,ACL的ACE也是根据以太网报文的某些字来标识以太网报文的,这些字包括:
二层字(Layer 2 fields):
48位的源MAC地址(必须申明所有48位)
48位的目的MAC地址(必须申明所有48位)
三层字(Layer 3 fields):
IP地址字(可以申明全部32位源IP地址值,或申明您所定义的子网来定义一类流)
目的IP地址字(可以申明全部32位源IP地址值,或申明您所定义的子网来定义一类流)
四层字(Layer 4 fields):
可以申明一个TCP的源端口,目的端口或者都申明
可以申明一个UDP的源端口,目的端口或者都申明
过滤域指的就是您在生成一条 ACE 时,所根据的报文中的哪些字用以对报文进行识别,分类.过
滤域模板就是这些字的组合.比如,您在生成某一条ACE时希望根据报文的目的IP对报文进
行识别,分类,而在生成另一条ACE时,希望根据报文的源IP地址字和UDP的源端口字.这样,
这两条 ACE 就使用了不同的过滤域模板.就像 A 国的的细则,第一条细则只根据入
关或出关人员的职业,而第二,第三条细则根据入关或出关人员的国籍,目的国家及所持护照进行
身份识别.

规则(rules),指的是ACE过滤域模板对应的值. 比如有一条ACE内容如下:
permit tcp host 192.168.12.2 any eq telnet
在这条ACE中,过滤域模板为以下字的集合:
IP地址字,IP协议字,目的TCP端口字
对应的值(rules)分别为:
IP地址=host 192.168.12.2
IP协议=tcp
TCP源端口=telnet.
图17-4给出了关于对ACE的分析:
图17-4:对ACE:permit tcp host 192.168.12.2 any eq telnet的分析
过滤域模板可以是三层字(Layer 3 Field)和四层字(Layer 4 Field)字的集合,也可以是多个二层
(Layer 2 Field)的集合,也可以是二层和三层,二层和四层,二层和三层,四层字的集合.
在S3550/S3750系列交换机上配置ACLs的注意事项
1.您在生成ACL之后,只有将其应用到某一个接口上,该ACL才能生效.就像A国的,如果只是制定了该规则,但没有任何海关执行,则该过境规则只是废纸一张.
2.目前您只能将ACL应用于如下接口:
a) 二层接口Switch Ports
b) 二层接口Aggregate Port
c) 三层接口Routed Port
d) 三层接口L3 Aggregate Port
e) 交换机虚拟接口 SVI(Switch virtual interface)
3.S3550/S3750系列交换机目前除SVI接口允许同时关联一个输出ACL外,其他接口只允许关
联一个输入ACL.SVI接口关联输出ACL的目的是控制其他SVI接口下的子网访问所关联输出ACL
SVI下的子网资源的行为,对于该SVI下的子网间的访问将不受限制,这种限制只针对IP报文,对于其
他类型报文将无效.注意:如果您对SVI接口关联的子网进行修改或者对SVI对应VLAN的成员端口发
生变化,那么需要删除原有关联的输出或者输入ACL,然后再重新应用.
4.配置ACL时有如下限制
4.1 当您在S3550-24/S3550-48交换机上配置ACL时有如下限制:
a) 过滤域模板个数限制:每8个静态模块上的百兆接口(fastethernet0/1-8为一组,
fastethernet 0/9-16为一组,以此类推)最多支持8个过滤域模板,每个动态模块上的接
口最多支持8个过滤域模板.注意类似如下情况的发生:
i. 接口1应用了acl1,acl1共有5个不同模板的ACE.
ii. 现在,您想将acl2应用到接口2上以适应新的网络情况,acl2有6个模板,此时您
如果直接将acl2与接口2关联将不能成功,原因是因为,在您关联新的acl2至接
口2时,接口1上关联的acl1还存在,而接口1至8最多只能关联8个模板.因此您
在关联新的acl2至接口2上时,最好先解除接口1上所关联的acl1.在这个例子中,
相关接口为接口1 和接口2.
iii. 如果配置了交换机IP和MAC的绑定限制,每8个静态模块上的百兆接口,ACL可使
用的过滤域模板将从8个减少到6个.
b) ACE个数限制:在S3550-24/S3550-48交换机上,每8个静态模块上的百兆接口最多支持224
个ACE,一个动态模块上的接口最多支持110个ACE.由于ACE所占用的硬件资源与系统中其
它功能实现共享,因此您所能配置的ACE个数将可能与最大个数有所不同.系统中如下功
能实现与ACE硬件资源共享:
i. 在端口安全功能设置中,如果您在设置安全地址时,选择了IP选项,限制指定MAC
地址和IP地址的主机的交换.则每一个申明IP地址的主机地址都占用一条硬件表
项资源.
ii. 如果您使能了端口的Protected Port功能,则每个端口的Protected Port将占用
最多达24条硬件表项资源(如果整台交换机只有一个非Protected Port).计算公
式如下:对于S3550-24一个Protected Port占用的硬件表项资源=整台交换机所
有Protected Port个数-1;对于S3550-48一个Protected Port占用的硬件表项资
源=该Protected Port所在交换区间(关于交换区间的解释,请参见"配置基于端
口的流控制"的"Protected Port"一节)的所有Protected Port个数-1.
iii. 如果您使能了802.1x认证,并且所配置的IP授权模式为非DISABLE,那么一个已认
证用户将占用一条硬件表项资源.
iv. 如果您添加了一条交换机级的IP和MAC绑定限制将占用两条的硬件表项资源.
4.2 当您在S3750-24,S3750-48交换机上配置ACL时有如下限制:
a) 过滤域模板个数限制:每八个百兆接口或每个千兆接口最多支持5个过滤域模板.
b) ACE 个数限制:在 S3750-24,S3750-48 交换机上,每八个百兆接口合起来最多支持220
个ACE,每个千兆接口最多支持110个ACE.由于ACE所占用的硬件资源与系统中其它
功能实现共享,因此您所能配置的 ACE 个数将可能与最大个数有所不同.系统中如下功
能实现与ACE硬件资源共享:
i. 在端口安全功能设置中,如果您在设置安全地址时,选择了IP选项,限制指定MAC
地址和 IP 地址的主机的交换.则每一个申明 IP 地址的主机地址都占用一条硬件表
项资源.
ii. 如果您使能了802.1x认证,并且所配置的IP授权模式为非DISABLE,那么一个已认
证用户将占用一条硬件表项资源.
iii. 如果您添加了一条交换机级的IP和MAC绑定限制将占用两条的硬件表项资源.
5. ACL 的 ACE 是按照您生成 ACE 的顺序从第一条开始往后添加的,您不能有选择地某一条 ACE
添加到某一个 ACL 的某一个指定位置.但您可以通过 no 命令来删除某一条 ACE.如果一条
ACL 已经被关联到某一个接口上,则您对该 ACL 所作的修改会被重新应用到该接口上.但由
于硬件资源表项的限制,重新应用可能导致资源不足而失败.
6. 如果您将一条没有任何ACE的ACL应用到某一个接口上,则意味着您允许所有报文通过,即
permit any any.
7. ARP协议为系统保留协议,即使您将一条deny any any的ACL关联到某个接口上,交换机也
将允许该类型报文的交换.但您可以通过设置某些端口为Protected Port达到禁止这些端口
之间所有报文的交换,包括ARP报文.
8. 当一个报文在一个接口上被接收到或者从一个接口输出时,交换机将报文中的相关字与应
用于该接口上的ACL进行比较,验证该报文是否满足该ACL的所有ACE的转发条件.交换机
对该ACL的所有ACE进行逐条比较,当第一个匹配的条件找到时(该报文与某一条ACE的匹配
条件完全匹配)决定对该报文是接收(accepts)还是拒绝(rejects)之.因为交换机在找到第一
个匹配条件时就停止比较,因此接入控制列表的匹配条件的顺序是至关重要的,在您进行ACLs
的配置时应给以关注,否则您的配置可能不一定如您所愿.如果所有条件都不匹配,则交换
机拒绝该报文.如果没有任何对此报文的限制条件,则交换机转发该报文,否则丢弃之.关
于该规则,我们同样以A国的来理解.当一个入关人员从某一个海关入境时,
海关工作人员将其与的所有细则从头到尾相比较,当某一条细则与入关人员
身份匹配时,则该入关人员就适用于该细则的待遇.由于是按照过境规则从头到尾比较,因
此细则的顺序是至关重要的,比如,细则第一条为:携带危险物品者->拒绝入境,如果将该
细则放到最后,则可能有些携带危险物品者也符合别的细则的身份要求而被当作允许入境人
员而入境.所以该细则一定要放在过境规则的第一条.另外,海关过境规则的所有细则申明
了所有允许入境人员的适用条件,不符合所有细则的入境人员均被视为非法入境人员.同理,
交换机接口上接收到的报文,如果不匹配该接口上ACL的所有ACE的匹配条件,则该报文被
视为非法报文而被丢弃.您可以通过在ACL的最后添加一条允许所有报文的ACE以允许其它
所有报文通过.
9. 所有的ACE允许关联一个或者多个TIMERANGE,关联不同的TIMERANGE被认为是不同的ACE.
当ACE关联了TIMERANGE后,您不能修改该ACE的TIMERANGE属性,只能通过NO命令删除该
ACE,但您可以修改所关联TIMERANGE的配置.关于TIMERANGE请参见配置基于时间的ACL.
10.ACL与系统中其它的应用互斥:
a) 802.1x:如果您打开某一个端口的802.1x认证功能,而您又将某一个ACL关联到某一个
接口,如果1X所配置的IP授权模式为非DISABLE的情况下(参看《配置基于802.1X的
AAA服务》),虽然系统并不报错,但该ACL将不会生效.
b) 端口安全:如果您配置某一个端口的安全地址时选择了IP地址选项,而您如果又将某一
ACL关联到某一个接口,虽然系统并不报错,但该ACL将不会生效.
c) 交换机级安全:如果您配置了某条IP和MAC地址绑定,而您又将某一个ACL关联到某
个接口上,如果该ACL为Mac Extended模式则不会受到影响,否则虽然系统并不报错,
但该ACL将不会生效.
配置安全ACLs
本节简单介绍如何通过CLI命令来配置ACLs.
支持的ACLs类型:
本交换机支持以下几种类型的ACLs:
IP ACLs用于过滤IP报文,包括TCP和UDP.
1. Standard IP access lists (标准IP接入控制列表)使用源IP地址作为匹配的条件
2. Extended IP access lists(扩展IP接入控制列表)使用源IP地址,目的IP地址及可选
的协议类型信息作为匹配的条件
Ethernet ACLs用于过滤二层数据流:
1.MAC Extended access lists(MAC扩展控制列表)使用源MAC地址,目的MAC地址及
可选的以太网类型作为匹配的条件
Expert ACLS用于过滤二层和三层,二层和四层,二层和三层,四层数据流:
1. Expert Extended access lists(专家扩展控制列表)使用源MAC地址,目的MAC地址,
以太网类型,源IP,目的IP,及可选的协议类型信息作为匹配的条件.

关于ACL名字
锐捷网络S3550/S3750系列交换机均支持以字符串来命名ACL,如果您愿意的话,您也可以通过数字
来为 ACL 命名.对于交换机来讲,它们没有本质的区别,数字命名的 ACL 在本交换机中没有特别的
含义.
配置ACLs的步骤
您可以通过如下步骤配置ACLs:
1.通过申明一个ACL的名字及为该ACL创建ACEs(每条ACE均由匹配条件和行为构成)来创建一条
ACL
2. 将该ACL应用于某一个交换机接口.
创建Standard (标准)及Extended(扩展)IP ACLs
关于IP地址的表示

在创建 IP ACLs之前,您有必要了解如何用变量source,Source-wildcard 及 Destination,
Destination-wildcard来表示IP地址.

IP ACLs中,在您创建ACE时,Source用于定义报文的源网络或主机.Source-wildcard是应用
于source的通配符.Destination用于定义报文的目的网络或主机.Destination-wildcard是应用
于destionation的通配符.

地址通配符的格式与IP地址一样,也是32位点分十进制格式.地址通配符某一位为1,则相应的源
IP地址(对应source-wildcard)或目的IP地址(对应destination-wildcard)对应位为任意值(即无
意义),地址通配任某一位为0,则相应的IP地址对应位值为您设置的值.可简单地认为地址通配符
等于子网排码按位取反.以下公式可以作为您验证地址用:
1. 输 入 报 文 的 源 IP 地 址 *(source-wildcard 按 位 取 反 )=ACE 表 项 的
source*(source-wildcard按位取反);
2. 输入报文的目的 IP 地址*(destination-wildcard 按位取反)=ACE 表项的
destination*(destination-wildcard按位取反);
按照该公式,如果您想对源 IP 地址为 192.168.12.2 的主机进行过滤,则您应该设置相应 ACE 的
source=192.168.12.2,source-wildcard=0.0.0.0.如果您想对192.168.12.0网的所有主机进行
过滤,则您可以设置source=192.168.12.x(x表示0-255任意值),source-wildcard=0.0.0.255.

source ,source-wildcard,destination,destination-wildcard可以以如下三种方式申明:
1.32位点分十进制格式
2.关键字any是source及source-wildcard为0.0.0.0 255.255.255.255(或destination及
destinaton-wildcard)的缩写,或者指明为任意源(目的)主机.
3. host source代表源主机source及source-wilcard为0.0.0.0,host destination代表目的
主机destiation及destination-wildcard为0.0.0.0
创建Standard IP ACLs
在特权配置模式,您可以通过如下步骤来创建一条Standard IP ACL:
命令 含义
步骤1 configure terminal 进入全局配置模式.
步骤2 ip access-list standard { name} 用数字或名字来定义一条Standard
IP ACL并进入access-list配置
模式.
步骤3 deny {source source-wildcard|host
source|any}
or
permit {source source-wildcard|host
source|any}[time-range time-range-name]
在 access-list 配置模式,申明一
个或多个的允许通过(permit)或丢
弃(deny)的条件以用于交换机决定
报文是转发或还是丢弃.
host source代表一台源主机,
其 source-wildcard 为
0.0.0.0.
any代表任意主机,即 source
为 0.0.0.0,source-wild 为
255.255.255.255.
time-range-name(可选)
指明关联的time-range的名称
步骤4 end 退回到特权模式.
步骤5 show access-lists [name] 显示该接入控制列表,如果您不指
定access-list及name参数,则显
示所有接入控制列表.
步骤6 copy running-config startup-config 保存配置.

下例显示如何创建一条IP Standard Access-list,该ACL名字叫deny-host192.168.l2.x:有两条
ACE,第一条ACE拒绝来自192.168.12.0网的任一主机,第二条ACE允许其它任意主机
Switch(config)# ip access-list standard deny-host192.168.l2.x
Switch(config-std-nacl)# deny 192.168.12.0 0.0.0.255
Switch(config-std-nacl)# end
Switch # show access-list
如果报文在与指定接口上的ACL的所有ACE进行逐条比较后,没有任意ACE的匹配条件匹配
该报文,则该报文将被通过.也就是说,任意一条ACL的最后都隐含了一条permit any 的
ACE表项.如果您不想让该隐含ACE起作用,则您必须手工设置一条deny any的ACE表项以
不让不符合其它所有ACE匹配条件的报文通过.
创建Extended IP ACLs
在特权配置模式,您可以通过如下步骤来创建一条Extended IP ACL:
命令 含义
步骤1 configure terminal 进入全局配置模式.
步骤2 ip access-list extended { name}

用数字或名字来定义一条
Extended IP ACL并进入
access-list配置模式.
步骤3 {deny|permit}protocol{source
source-wildcard|host
source|any}[operator port]{destination
destination-wildcard|host
destination|any}[operator port]
[time-range time-range-name]
在access-list配置模式,申明一
个或多个的允许通过(permit)或丢
弃(deny)的条件以用于交换机决定
匹配条件的报文是转发或还是丢
弃.
以如下方式定义TCP或UDP的
目的或源端口:
1. 操作符(opeator)只能为
eq.
2. 如果操作符在 source
source-wildcard 之后,
则报文的源端口匹配指定
值时条件生效.
3. 如果操作符在
destination
destination-wildcard
之后,则报文的目的端口
匹配指定值时条件生效.
4. Port 为 10 进制值,它代
表TCP或UDP的端口号.
值范围为0-65535.
protocol可以为:
ip,tcp,udp,igmp,icmp等协议
time-range-name(可选)
指明关联的time-range的名称
步骤4 end 退回到特权模式.
步骤5 show access-lists [name] 显示该接入控制列表,如果您不指
定access-list number及name参
数,则显示所有接入控制列表
步骤6 copy running-config startup-config 保存配置.
步骤7 end 退回到特权模式.

下例显示如何创建一条Extended IP ACL,该ACL有一条ACE,用于允许指定网络(192.168.x..x)的
所有主机以HTTP访问服务器172.168.12.3,但拒绝其它所有主机使用网络.
Switch(config)# ip access-list extended allow_0xc0a800_to_172.168.12.3
Switch(config-std-nacl)# permit tcp 192.168.0.0 0.0.255.255 host 172.168.12.3 eq http
Switch(config-std-nacl)#end
Switch # show access-list
创建MAC Extended ACLs
配置MAC Extended ACL的过程,与配置IP 扩展ACL的配置过程是类似的.
在特权配置模式,您可以通过如下步骤来创建一条MAC Extended ACL:
命令 含义
步骤1 configure terminal 进入全局配置模式.
步骤2 mac access-list extended {name} 以名字定义一条mac extended acl,
并进入access-list配置模式
步骤3 {deny | permit} {any | host source MAC
address} {any | host destination MAC
address} [aarp |appletalk |decnet-iv
| diagnostic | etype-6000|etype-8042
| lat | lavc-sca | mop-console
|mop-dump | mumps |
netbios|vines-echo | xns-idp]
[time-range time-range-name]
在 access-list 配置模式,申明对
任意源MAC地址或指定的源MAC 地
址,对任意目的 MAC 地址或指定的
目的 MAC 地址的报文设置允许其通
过或拒绝之的条件.
(可选项)您可以输入如下以太网协
议类型:
aarp | appletalk |decnet-iv
|diagnostic | etype-6000 |
etype-8042 | lat | lavc-sca
|mop-console | mop-dump | mumps
| netbios|vines-echo | xns-idp

time-range-name(可选)
指明关联的time-range的名称
步骤4 end 退回到特权模式.
步骤5 show access-lists [name] 显示该接入控制列表.
步骤6 copy running-config startup-config 保存配置.
您可以用no mac access-list extended name全局配置命令来删除整条MAC扩展ACL.您也可以单
独删除指定ACL中的某一条或某几条ACE.

下例显示如何创建及显示一条MACExtended ACL,以名字macext来命名之.该MAC扩展ACL拒绝所
有符合指定源MAC地址的aarp报文.
Switch(config)# mac access-list extended macext
Switch(config-ext-macl)# deny host 00d0.f800.0000 any aarp
Switch(config-ext-macl)# permit any any
Switch(config-ext-macl)# end
Switch # show access-lists macext
Extended MAC access list macext
deny host 00d0.f800.0000 any aarp
permit any any
基于时间的ACLs应用
你可以使ACLs基于时间进行运行,比如是ACL在一个星期的某些时间内生效等.为了达到这个要求,
你必须首先配置一个time-range.
time-range的实现依赖于系统时钟,如果你要使用这个功能,必须保证系统有一个可靠的时
RTC钟,比如 等.
从特权模式开始,你可以通过以下步骤来设置一个time-range:
命令 含义
1步骤 configure terminal 进入全局配置模式.
2步骤 time-range time-range-name 通过一个有意义的显示字符串作为名字来标识一个
time-range,同时进入time-range配置模块.名字的长度为
1-32个字符,不能包含空格
步骤3 absolute {start time date [end
time date]| end time date }
设置绝对时间区间(可选)
对于一个time range,你可以设置一个绝对的运行时间区间,
并且只能设置一个区间.基于time-range的应用将仅在这个
时间区间内有效.
步骤4 periodic day-of-the-week hh:mm to
[day-of-the-week] hh:mm
periodic {weekdays | weekend |
daily}hh:mm to hh:mm
设置周期时间(可选)
对于一个time-range,你可以设置一个或多个周期性运行的
时间.如果你已经为这个time-range设置了一个运行时间
区间,则将在时间区间内周期性的生效
day-of-the-week:
一个星期内的一天或几天,Monday,Tuesday,
Wednesday,Thursday,Friday,Saturday,Sunday.

Weekdays: 一周中的工作日,星期一到星期五
Weekend:周末,星期六和星期日
Daily:一周中的每一天,星期一到星期日
步骤5 End 回到特权模式.
步骤6 show time-range 验证你的配置.
步骤5 copy running-config
startup-config
保存配置(可选).
你可以在全局配置模式下使用no time-range time-range-name来删除指定的time-range.

下面的例子以ACLs应用为例,说明如何在每周工作时间内禁止HTTP的数据流:
Switch(config)# time-range no-http
Switch(config-time-range)# periodic weekdays 8:00 to 18:00
Switch(config)# end
Switch(config)# ip access-list extended limit_udp
Switch(config-ext-nacl)# deny tcp any any eq www time-range no-http
Switch(config)# end
Switch(config-ext-nacl)# exit
Switch(config)# interface fastethernet0/1
Switch(config-if)# ip access-group no-http in
下面为time-range的显示范例:
Switch#show time-range
time-range name: no-http
periodic Weekdays 8:00 to 18:00
time-range name: no-udp
periodic Tuesday 15:30 to 16:30
创建Expert Extended ACLs
配置Expert Extended ACL的过程,与配置IP 扩展ACL的配置过程是类似的.
在特权配置模式,您可以通过如下步骤来创建一条Expert Extended ACL:
命令 含义
步骤1 configure terminal 进入全局配置模式.
步骤2 expert access-list extended {name} 以名字定义一条expert extended acl,并进入
access-list配置模式
步骤3 {deny|permit}[protocol|aarp |appletalk
|decnet-iv| diagnostic
|etype-6000|etype-8042
| lat | lavc-sca | mop-console|mop-dump |
mumps |netbios|vines-echo | xns-idp][VID
vid]{source source-wildcard | host source
| any}{ host source MAC address | any }
[operator port]{destination
destination-wildcard | host destination |
any}{ host destination MAC address | any }
[operator port]
在 access-list 配置模式,申明一个或多个的允许通过
(permit)或丢弃(deny)的条件以用于交换机决定匹配条
件的报文是转发或还是丢弃.
以如下方式定义TCP或UDP的目的或源端口:
1. 操作符(opeator)只能为eq.
2. 如果操作符在source source-wildcard之后,
则报文的源端口匹配指定值时条件生效.
3. 如果操作符在destination
destination-wildcard 之后,则报文的目的端
口匹配指定值时条件生效.
4. Port为10进制值,它代表TCP或UDP的端口号.
[time-range time-range-name]




值范围为0-65535.
protocol可以为:
ip,tcp,udp,igmp,icmp等协议
vid指明这个报文所属的vlan,对于trunk port接
收到的tagged报文,该值由报文中的vid字值所
决定,对于untagged报文,该值等于native vlan,
对于access port,该值等于该acces port所属的
vlan.
time-range-name(可选)
指明关联的time-range的名称

aarp | appletalk |decnet-iv |diagnostic |
etype-6000 | etype-8042 | lat | lavc-sca
|mop-console | mop-dump | mumps |
netbios|vines-echo | xns-idp
(可选项) 您可以输入上述的以太网协议类型.
步骤4 end 退回到特权模式.
步骤5 show access-lists [name] 显示该ACL列表.
步骤6 copy running-config startup-config 保存配置.
您可以用no expert access-list extended name全局配置命令来删除整条专家ACL.您也可以单独
删除指定ACL中的某一条或某几条ACE.

下例显示如何创建及显示一条 Expert Extended ACL,以名字expert来命名之.该专家ACL拒绝源
IP地址为192.168.12.3并且源MAC地址为00d0.f800.0044的所有TCP报文.
tcp 192.168.0.0 0.0.255.255 host 172.168.12.3
Switch(config)# expert access-list extended expert
Switch(config-ext-macl)# deny tcp host 192.168.12.3 host 00d0.f800.0044 any any
Switch(config-ext-macl)# permit any any any any
Switch(config-ext-macl)# end
Switch # show access-lists expert
Extended expert access list expert
deny tcp host 192.168.12.3 host 00d0.f800.0044 any any
permit any any any any
应用ACL到指定接口上
在您创建一条 ACL 之后,您必须将其应用到您所要过滤的接口上,它才能生效.本节分别介绍如何
IP ACLs,MAC Extended ACLs和应用到指定接口上.
ip standard access-list 及ip extended access-list应用到指定接口上
在特权模式,通过如下步骤将IP ACLs应用到指定接口上:

命令 含义
步骤1 configure terminal 进入全局配置模式.
步骤2 interface interface-id 指定一个接口并进入接口配置模式.
步骤3 ip access-group {name} {in|out} 将指定的ACL应用于该接口上,使其对
输入该接口的数据流进行输入输出控
制.只有SVI接口才能应用out参数.
在二层交换机上,可以对shutdown的
vlan接口关联ACL,实际效果为对这个
vlan应用该ACL.
步骤4 end 退回到特权模式.
步骤5 show running-config 显示access-list配置
步骤6 copy running-config startup-config保存配置.
下例显示如何将access-list deny_unknow_device应用于接口2上:
Switch(config)# interface FastEthernet 0/2
Switch (config-if)# ip access-group deny_unknow_device in
将MAC Extended access-list应用到指定接口上:
在特权配置模式下,通过如下步骤将MAC Extended access-list应用到指定接口上:
命令 含义
步骤1 configure terminal 进入全局配置模式.
步骤2 interface interface-id 指定一个接口并进入接口配置模式.这
里的接口必须为物理接口或
Aggregated Link.
步骤3 mac access-group {name} {in|out} 将指定的ACL应用于该接口上,使其对
输入该接口的数据流进行接入控制,
只有SVI接口才能应用out参数.
步骤4 end 退回到特权模式.
步骤5 show running-config 显示access-list配置
步骤6 copy running-config startup-config保存配置.
下例显示如何将access-list accept_00d0f8xxxxxx_only应用于FastEthernet接口2上:
Switch(config)# interface FastEthernet 0/2
Switch (config-if)# mac access-group accept_00d0f8xxxxxx_only in
将expert extended access-list应用到指定接口上
在特权模式,通过如下步骤将专家ACLs应用到指定接口上:
命令 含义
步骤1 configure terminal 进入全局配置模式.
步骤2 interface interface-id 指定一个接口并进入接口配置模式.
步骤3 expert access-group {name} {in|out} 将指定的ACL应用于该接口上,使其对
输入该接口的数据流进行输入输出控
制.out只应用在SVI接口上.
步骤4 end 退回到特权模式.
步骤5 show running-config 显示access-list配置
步骤6 copy running-config startup-config保存配置.
下例显示如何将access-list deny_unknow_user应用于百兆接口2上:
Switch(config)# interface FastEthernet 0/2
Switch (config-if)# expert access-group deny_unknow_user in
下例显示如何将access-list deny_net1应用于VLAN接口2上,以用于禁止net1与vlan2之间的通讯:
Switch(config)# interface vlan 2
Switch (config-if)# expert access-group access-list deny_net1 out
除 SVI 接口外,您只能将一条 ACL 应用到一个接口上,因此您不可能同时将类型为 IP Standard
Access-list,IP Extended Access-list,MAC Extended Access-list,Expert Extended Access-list
ACL应用到某一个接口上.当您将不同类型的ACL应用到某一个接口上时,前一个应用的ACL将被后一
个应用的ACL所替换.关于SVI关联ACL有一下注意点:
SVI接口可以同时关联一条输入的ACL和一条输出的ACL.
ACL关联到SVI成员接口时可能与SVI关联的ACL发生冲突,系统将自动报错.
SVI在关联输入ACL时,将对SVI成员接口设置QOS产生影响,而SVI关联输出ACL将不会影
响QOS.
SVI关联输入方向的ACL,其隐含的缺省ACE为permit any ;输出方向的ACL,其隐含的缺省ACE
为permit vid any any.该VID为SVI所对应的VID.
显示ACLs配置
您可以通过以下命令来显示ACLs配置:
命令 说明
show access-lists [name] 显示所有ACLs配置或指定名字的ACLs.
show ip access-lists [name] 显示IP ACLs
show mac access-lists [name] 显示MAC ACLs
show mac access-group [interface
interface-id]
显示指定接口上的MAC ACLs配置
Show ip access-group [interface
interface-id]
显示指定接口上的IP ACLs配置
show running-config

显示所有配置
以下例子显示名字为ip_acl的Standard IP access-lists的内容:
Switch # show ip access-lists ip_acl
Standard ip access list ip_acl
Permit host 192.168.12.1
Permit host 192.168.11.1
以下例子显示名字为ip_ext_acl的Extended IP access-lists的内容:
Switch # show ip access-lists ip_ext_acl
Extended ip access list ip_ext_acl
permit tcp 192.168.0.0 255.255.0.0 host 192.168.1.1 eq www
permit tcp 192.167.0.0 255.255.0.0 host 192.168.1.1 eq www

以下例子显示所有IP access-lists的内容:
Switch # show ip access-lists
Standard ip access list ip_acl
Permit host 192.168.12.1
Permit host 192.168.11.1
Extended ip access list ip_ext_acl
permit tcp 192.168.0.0 0.0.255.255 host 192.168.1.1 eq www
permit tcp 192.167.0.0 0.0.255.255 host 192.168.1.1 eq www

以下例子显示所有access lists的内容:
Switch # show access-lists
Standard ip access list ip_acl
Permit host 192.168.12.1
Permit host 192.168.11.1
Extended ip access list ip_ext_acl
permit tcp 192.168.0.0 0.0.255.255 host 192.168.1.1 eq www
permit tcp 192.167.0.0 0.0.255.255 host 192.168.1.1 eq www
Extended MAC access list macext
deny host 00d0.f800.0000 any aarp
permit any any

以下例子显示在FastEthernet接口1上的mac extended access-list:
Switch #show mac access-group interface FastEthernet 0/1
Interface access-list
-------------------- --------------------------------
Fa0/1 mac_ext

以下例子显示所有接口配置的mac ACLs:
Switch #show mac access-group
Interface access-list
-------------------- --------------------------------
Fa0/1 mac_ext
Fa0/2 Not Set
Fa0/3 Not Set
Fa0/4 Not Set
Fa0/5 Not Set
Fa0/6 Not Set
Fa0/7 Not Set
Fa0/8 Not Set
Fa0/9 Not Set
Fa0/10 Not Set
Fa0/11 Not Set
Fa0/12 Not Set