配置安全ACLs 本章介绍如何通过接入控制列表(ACLs)在您的交换机上配置网络安全属性。通过ACLs,您可以对进入到锐捷网络公司S2126G,S2150G交换机的输入数据流或者输出数据流进行过滤。输入数据流的定义可以基于网络地址、TCP/UDP的应用等。您可以选择对于符合过滤标准的流是丢弃还是转发,因此您必须知道您的网络是如何设计的,以及交换机接口是如何在您的过滤设备上使用的。要通过ACLs配置网络安全属性,您只有通过CLI命令(可以通过串口、Telnet或Web)来完成您的配置。您无法通过SNMP来完成这些设置。 本章内容包括: 概述 配置安全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: B 国 C国 海关 2 海关1 A国 D国 海关3 海关4 E国 图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。在图一中:<海关入境规则>的第一条细则为:携带危险物品者->拒绝过境。这里“携带危险物品者”就相当于ACE的匹配条件,而“拒绝过境”就是行为(deny),相应的,第二条细则的“B国持旅游护照到D国人员”是匹配条件,“允 许入境”为行为(permit)。 同理,图二的<入境身份识别规则>也是ACL,其每一条细则也是ACE,由于是对已入境人员的,因此其每一条细则隐含的待遇均是:允许过境,相应的QoS ACL也要求其ACE的行为为permit。在S2126G,S2150G交换机中,您不能在QoS ACL中定义一个行为为deny的ACE。 在上面的所举的例子中,A国还可以根据邻国的友好程度制定不同的海关过境规则分别适用于不同的海关。如,A国与E国为兄弟国家,特为其制定<针对兄弟国家E的海关过境规则>。。。,这样<海关过境规则>只适用于海关1-3,而<针对兄弟国家E的海关过境规则>只适用于海关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.携带物品 在制定不同的过境细则时,以上准则可能同时被应用,也可能只应用其中几条。如,细则第一条:携带危险物品者Æ拒绝过境。这里的携带危险物品者,就是只根据入境人员所携带物品来识别的,不分国家、不分其所往目的国及年龄、所持护照等,只要是携带危险物品者就符合该细则的条件。相应的,ACL的ACE也是根据以太网报文的某些字段来标识以太网报文的,这些字段包括: z 二层字段(Layer 2 fields): 48位的源MAC地址(必须申明所有48位) 48位的目的MAC地址(必须申明所有48位) z 三层字段(Layer 3 fields): 源IP地址字段(可以申明全部32位源IP地址值,或申明您所定义的子网来定义一类流) 目的IP地址字段(可以申明全部32位源IP地址值,或申明您所定义的子网来定义一类流) z 四层字段(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)的集合,也可以是二层和三层、二层和四层、二层和三层、四层字段的集合(专家级ACL)。由于S2126S不支持专家级ACL,所以过滤域模板不能是二层和三层、二层和四层、二层和三层、四层字段的集合 在S21系列交换机上配置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.目前除SVI接口允许同时关联一个输出ACL外,其他接口只允许关联一个输入ACL。注意:如果您对SVI对应VLAN的成员端口发生变化,那么需要删除原有关联的输出或者输入ACL,然后再重新应用。 4.当您在S21系列交换机上配置ACL时有如下: a) 过滤域模板个数:每8个静态模块上的百兆接口(fastethernet0/1-8为一组,fastethernet 0/9-16为一组,以此类推)最多支持11个过滤域模板,每个动态模块上的接口最多支持11个过滤域模板。注意类似如下情况的发生: i. 接口1应用了acl1,acl1共有6个不同模板的ACE。 ii. 现在,您想将acl2应用到接口2上以适应新的网络情况,acl2有6个模板,此时您如果直接将acl2与接口2关联将不能成功,原因是因为,在您关联新的acl2至接口2时,接口1上关联的acl1还存在,而接口1至8最多只能关联11个模板。因此您在关联新的acl2至接口2上时,最好先解除接口1上所关联的acl1。在这个例子中,相关接口为接口1 和接口2。 iii. 如果配置了交换机IP和MAC的绑定,每8个静态模块上的百兆接口,ACL可使用的过滤域模板将从11个减少到9个. b) ACE个数:在S21系列交换机上,每8个静态模块上的百兆接口最多支持224个ACE,一个动态模块上的接口最多支持110个ACE。由于ACE所占用的硬件资源与系统中其它功能实现共享,因此您所能配置的ACE个数将可能与最大个数有所不同。系统中如下功能实现与ACE硬件资源共享: i. 在端口安全功能设置中,如果您在设置安全地址时,选择了IP选项,指定MAC地址和IP地址的主机的交换。则每一个申明IP地址的主机地址都占用一条硬件表项资源。 ii. 如果您使能了端口的Protected Port功能,则每个端口的Protected Port将占用最多达24条硬件表项资源(如果整台交换机只有一个非Protected Port)。计算公式如下:对于S2126G一个Protected Port占用的硬件表项资源=整台交换机所有Protected Port个数-1;对于S2150G一个Protected Port占用的硬件表项资源=该Protected Port所在交换区间(关于交换区间的解释,请参见“配置基于端口的流控制”的“Protected Port”一节)的所有Protected Port个数-1。 iii. 如果您使能了802.1x认证,并且所配置的IP授权模式为非DISABLE,那么一个已认证用户将占用一条硬件表项资源。 iv. 如果您添加了一条交换机级的IP和MAC绑定将占用两条的硬件表项资源。 v. 如果打开IGMP Snooping,设置了路由口,则打开源端口检查功能将占用两条的硬件表项资源。 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的AAA服务》中“802.1x配置的其它注意事项”b) 端口安全: 详细参见《基于端口的安全控制》中“端口安全和其它应用的关系”。 同一个端口上不能同时设置绑定IP的安全地址和ACL,否则,系统会提示属性冲突,即在同一个端口上,这两种功能是互斥的,如果一个功能已经设置,则禁止另外一个功能设置。 c) 地址绑定: 详细参见《交换机管理》中“地址绑定和ACL关系”。 d) 模板数 地址绑定、源端口检查、保护口和acl功能共享过滤域模板,可用的总模板数为11个。由于过滤域模板数量有限,所以这四种功能会相互影响。启用地址绑定功能需要占用两个模板,启用源端口检查占用两个模板,启用端口保护功能会占用一个模板。ACL可用的模板取决于这三种功能是否启动。ACL在缺省情况可使用11个模板,如果启用地址绑定和源端口检查其中任何一个功能,则ACL可以得模板减少两个。如果启用端口保护功能,则ACL可以得模板减少一个。同时启动地址绑定、源端口检查、端口保护,则ACL可使用的模板数减少5个,只剩下6个。反过来,如果ACL使用了多个模板而使剩余模板数达不到这其它应用的模板需求时,则启用地址绑定、源端口检查功能、端口保护功能时,系统会提示模板资源耗尽信息。当这四种功能的某个功能因为模板而无法正常运用时,可以通过减少其它三种功能的模板占用来实现该功能的正常应用。如四种功能同时启用时,打开源端口检查提示模板耗尽,则可以关闭地址绑定功能(删除所有地址绑定)或者删除占用多个模板的ACL的ACE,空出两个模板,则源端口检查则可以正常启用。 配置安全ACLs 本节简单介绍如何通过CLI命令来配置ACLs。 支持的ACLs类型: 本交换机支持以下几种类型的ACLs: z IP ACLs用于过滤IP报文,包括TCP和UDP。 1. Standard IP access lists (标准IP接入控制列表)使用源IP地址作为匹配的条件 2. Extended IP access lists(扩展IP接入控制列表)使用源IP地址、目的IP地址及可选的协议类型信息作为匹配的条件 z Ethernet ACLs用于过滤二层数据流: 1. MAC Extended access lists(MAC扩展控制列表)使用源MAC地址、目的MAC地址及可选的以太网类型作为匹配的条件 z Expert ACLS用于过滤二层和三层、二层和四层、二层和三层、四层数据流: 1. Expert Extended access lists(专家扩展控制列表)使用源MAC地址、目的MAC地址、以太网类型、源IP、目的IP、及可选的协议类型信息作为匹配的条件。 目前S2126S不支持专家级ACL。 关于ACL名字 锐捷网络S2126G,S2150G交换机均支持以字符串来命名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地址对应位值为您设置的值。可简单地认为地址通配符等于子网排码按位取反。以下公式可以作为您验证地址用: 输入报文的源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 1. 创建Standard IP ACLs 在配置模式,您可以通过如下步骤来创建一条Standard IP ACL: 步骤1 步骤2 命令 configure terminal ip access-list standard { name} 含义 进入全局配置模式。 用数字或名字来定义一条Standard IP ACL并进入access-list配置模式。 在access-list配置模式,申明一个或多个的允许通过(permit)或丢弃(deny)的条件以用于交换机决定报文是转发或还是丢弃。 z host source代表一台源主机,其source-wildcard为0.0.0.0。 z any代表任意主机,即source为0.0.0.0,source-wild为255.255.255.255。 z time-range-name(可选) 指明关联的time-range的名称 退回到模式。 显示该接入控制列表,如果您不指定access-list及name参数,则显示所有接入控制列表。 保存配置。 步骤3 deny {source source-wildcard|hostsource|any} or permit {source source-wildcard|hostsource|any}[time-range time-range-name]步骤4 步骤5 end show access-lists [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 any Switch(config-std-nacl)# permit any Switch(config-std-nacl)# end Switch # show access-list 正如前文所述,如果报文在与指定接口上的ACL的所有ACE进行逐条比较后,没有任意ACE的匹配条件匹配该报文,则该报文将被丢弃。也就是说,任意一条ACL的最后都隐含了一条deny any any的ACE表项。如果您不想让该隐含ACE起作用,则您必须手工设置一条permit any的ACE表项以让不符合其它所有ACE匹配条件的报文通过。 创建Extended IP ACLs 在配置模式,您可以通过如下步骤来创建一条Extended IP ACL: 步骤1 步骤2 步骤3 命令 configure terminal ip access-list extended { name} {deny|permit}protocol{source source-wildcard|host source|any}[operator port]{destination destination-wildcard|host destination|any}[operator port] 含义 进入全局配置模式。 用数字或名字来定义一条Extended IP ACL并进入access-list配置模式。 在access-list配置模式,申明一个或多个的允许通过(permit)或丢弃(deny)的条件以用于交换机决定匹配条件的报文是转发或还是丢弃。 z 以如下方式定义TCP或UDP的目的或源端口: 1. 操作符(opeator)只能为eq。 2. 如果操作符在source source-wildcard之后,则报文的源端口匹配指定值时条件生效。 3. 如果操作符在destination destination-wildcard之后,则报文的目的端口匹配指定值时条件生效。 4. Port为10进制值,它代表TCP或UDP的端口号。值范围为0-65535。 z protocol可以为: ip、tcp、udp、igmp、icmp等协议 z time-range-name(可选) 指明关联的time-range的名称 退回到模式。 显示该接入控制列表,如果您不指定access-list number及name参数,则显示所有接入控制列表 保存配置。 退回到模式。 [time-range time-range-name] 步骤4 步骤5 end show access-lists [name] 步骤6 步骤7 copy running-config startup-config 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 www Switch(config-std-nacl)#end Switch # show access-list 创建MAC Extended ACLs 配置MAC Extended ACL的过程,与配置IP 扩展ACL的配置过程是类似的。 在配置模式,您可以通过如下步骤来创建一条MAC Extended ACL: 步骤1 步骤2 步骤3 命令 configure terminal 含义 进入全局配置模式。 mac access-list extended {name} 以名字定义一条mac extended acl,并进入access-list配置模式 在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 z time-range-name(可选) {deny | permit} {any | host source MACaddress} {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] 指明关联的time-range的名称 步骤4 步骤5 步骤6 end 退回到模式。 show access-lists [name] 显示该接入控制列表。 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等。由于S2126S没有RTC,所以不 支持time-range,不支持基于时间的ACL。 从模式开始,你可以通过以下步骤来设置一个time-range: 命令 步骤1 configure terminal 步骤2 time-range time-range-name 含义 进入全局配置模式。 通过一个有意义的显示字符串作为名字来标识一个time-range,同时进入time-range配置模块。名字的长度为1-32个字符,不能包含空格 设置绝对时间区间(可选) 对于一个time range,你可以设置一个绝对的运行时间区间,并且只能设置一个区间。基于time-range的应用将仅在这个时间区间内有效。 设置周期时间(可选) 对于一个time-range,你可以设置一个或多个周期性运行的时间段。如果你已经为这个time-range设置了一个运行时间区间,则将在时间区间内周期性的生效 day-of-the-week: 一个星期内的一天或几天,Monday,Tuesday, Wednesday,Thursday,Friday,Saturday,Sunday。 Weekdays: 一周中的工作日,星期一到星期五 Weekend:周末,星期六和星期日 Daily:一周中的每一天,星期一到星期日 步骤3 absolute {start time date [end time date]| end time date } 步骤4 periodic day-of-the-week hh:mm to [day-of-the-week] hh:mm periodic {weekdays | weekend | daily}hh:mm to hh:mm 步骤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 专家级ACL 专家级ACL为您提供了更强的组合过滤条件,使您更有效地网络使用者: 1. 可以实现对VLAN/网段的过滤,某些网络只能使用特定的应用,,比如禁止学生自习时间在教室里玩网络游戏,只要给教室分配一个网段,对这个网段应用ACL,在这个时间段禁止网络游戏报文的传输即可。 2. 可以对以IP+MAC绑定的用户进行网络资源使用。 创建Expert Extended ACLs 配置Expert Extended ACL的过程,与配置IP 扩展ACL的配置过程是类似的。 在配置模式,您可以通过如下步骤来创建一条Expert Extended ACL: 步骤1 步骤2 步骤3 命令 configure terminal expert access-list extended {name} {deny|permit}[protocol|aarp |appletalk |decnet-iv| diagnostic |etype-6000|etype-8042 含义 进入全局配置模式。 以名字定义一条expert extended acl,并进入access-list配置模式 在access-list配置模式,申明一个或多个的允许通过(permit)或丢弃(deny)的条件以用于交换机决定匹配 | lat | lavc-sca | mop-console|mop-dump | 条件的报文是转发或还是丢弃。 mumps |netbios|vines-echo | xns-idp][VID z 以如下方式定义TCP或UDP的目的或源端口: vid]{source source-wildcard | host source 1. 操作符(opeator)只能为| any}{ hostsource MAC address | any }[operator port]{destination eq。 2. 如果操作符在source destination-wildcard | host destination |any}{ hostdestination MAC address | any }source-wildcard之后,则报文的源端口匹配指定值时[operator port] 条件生效。 [time-range time-range-name] 3. 如果操作符在destination destination-wildcard之 后,则报文的目的端口匹配 指定值时条件生效。 4. Port为10进制值,它代表TCP或UDP的端口号。值范围为0-65535。 z protocol可以为: ip、tcp、udp、igmp、icmp等协议 z vid指明这个报文所属的vlan,对于trunk port接收到的tagged报文,该值由报文中的vid字段值所决定,对于untagged报文,该值等于native vlan,对于access port,该值等于该acces port所属的vlan。 z time-range-name(可选) 指明关联的time-range的名称 步骤4 步骤5 步骤6 end show access-lists [name] copy running-config startup-config 退回到模式。 显示该ACL列表。 保存配置。 您可以用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 步骤2 步骤3 命令 configure terminal interface interface-id ip access-group {name} {in|out} 含义 进入全局配置模式。 指定一个接口并进入接口配置模式。 将指定的ACL应用于该接口上,使其对输入该接口的数据流进行输入输出控制。只有SVI接口才能应用out参数。 在二层交换机上,可以对shutdown的vlan接口关联ACL,实际效果为对这个vlan应用该ACL。 步骤4 步骤5 步骤6 end show running-config copy running-config startup-config退回到模式。 显示access-list配置 保存配置。 下例显示如何将access-list deny_unknow_device应用于10/100M接口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 步骤2 命令 configure terminal interface interface-id 含义 进入全局配置模式。 指定一个接口并进入接口配置模式。这里的接口必须为物理接口或Aggregated Link。 将指定的ACL应用于该接口上,使其对输入该接口的数据流进行接入控制 退回到模式。 显示access-list配置 保存配置。 步骤3 步骤4 步骤5 步骤6 mac access-group {name} {in} end show running-config copy running-config startup-config 下例显示如何将access-list accept_00d0f8xxxxxx_only应用于Gigabit接口2上: Switch(config)# interface GigabitEthernet 2/1 Switch (config-if)# mac access-group accept_00d0f8xxxxxx_only in 除SVI接口外,您只能将一条ACL应用到一个接口上,因此您不可能同时将类型为IP Standard Access-list、IP Extended Access-list、MAC Extended Access-list、Expert Extended Access-list的ACL应用到某一个接口上。当您将不同类型的ACL应用到某一个接口上时,前一个应用的ACL将被后一个应用的ACL所替换。关于SVI关联ACL有一下注意点: 1. SVI接口可以同时关联一条输入的ACL和一条输出的ACL。 2. 当ACL关联到SVI成员接口时可能与SVI关联的ACL发生冲突,系统将自动报错。 3. SVI在关联输入ACL时,将对SVI成员接口设置QOS产生影响,而SVI关联输出ACL将不会影响QOS。 4. SVI关联输入方向的ACL,其隐含的缺省ACE为deny any any;输入方向的ACL,其隐含的缺省ACE为deny vid any any.该VID为SVI所对应的VID。 显示ACLs配置 您可以通过以下命令来显示ACLs配置: 命令 show access-lists [name] show ip access-lists [name] show mac access-lists [name] show mac access-group [interface interface-id] Show ip access-group [interface interface-id] show running-config 说明 显示所有ACLs配置或指定名字的ACLs。 显示IP ACLs 显示MAC ACLs 显示指定接口上的MAC ACLs配置 显示指定接口上的IP ACLs配置 显示所有配置 以下例子显示名字为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 以下例子显示在百兆接口1上的mac extended access-list: Switch #show mac access-group interface FastEthernet 0/1 Interface FastEthernet 0/1: Inbound access-list is mac_ext 以下例子显示所有接口配置的mac ACLs: Switch #show mac access-group Interface FastEthernet 0/1: Inbound access-list is mac_ext Interface FastEthernet 0/2: Inbound access-list is not set Interface FastEthernet 0/3: Inbound access-list is not set … Interface GigabitEthernet 1/1: Inbound access-list is not set Interface GigabitEthernet 2/1: Inbound access-list is not set