第3章 多层交换网络 随着光纤技术的发展,校园网、社区网、园区网、企事业单位网也蓬勃发展,它们都属于 局域网范畴,统称为园区网,主要由交换机互连而成。其采用层次化设计方法,将一个复杂 的网络分解为若干特定的层,从而简化网络设计的复杂度。园区网交换结构通常采用三层 结构,包括核心层、汇聚层(分布层)、接入层。核心层由高端路由器或高端三层交换机组成, 同时考虑多冗余和负载均衡,即由多台高端三层交换机组成。汇聚层将一幢、同类的几幢楼 或几个逻辑单位所有信息点汇聚在一台或几台中高端三层交换机上,汇聚层上连核心层,下连 一组接入层交换机。接入层交换机负责管理一个机房、一个楼面或一个部门的所有计算机。 核心层、汇聚层(分布层)、接入层的所有交换机相互的连接,包括交换机的选型、模块和 接口的选择、线缆的选择和连接、协议的选择等,是多层交换网络中最主要的设计内容。根 据不同单位的不同需求,就会产生丰富多样的网络结构。 本章介绍Trunk链路、聚合链路、VTP协议、交换机端口安全,以使读者全面了解多层 交换网络。 3.1 Trunk链路 两台多VLAN 的交换机如何实现相同VLAN 间的通信? 使用Trunk链路(也称为中 继链路)。注意两台交换机都只有一个VLAN,可以两端都定义为Access链路,且属于同 一VLAN,相互通信。 两台交换机相连时能否形成中继链路可以动态协商。有两种动态协商方式:Dynamic Desirable和DynamicAuto。端口定义形式为: Switch(config-if)#switchport mode dynamic desirable 或 Switch(config-if)#switchport mode dynamic auto 表3-1总结了两台交换机相连能否成功协商形成Trunk链路的情况。×表示链路不 通,Access表示只能左右是同一VLAN 才能通信,Trunk表示能形成Trunk链路。 表3-1 Trunk链路协商 交换机1的端口 模式及链路形式 交换机2的端口模式及链路形式 DynamicAuto DynamicDesirable Trunk Access DynamicAuto Access Trunk Trunk Access DynamicDesirable Trunk Trunk Trunk Access Trunk Trunk Trunk Trunk × Access Access Access × Access 第3 章 多层交换网络 49 从表3-1中可以看出: (1)有一端的端口设置为Access,无论对端是什么,均不能形成Trunk链路。 (2)两端都是DynamicAuto时,不能形成Trunk链路。 (3)如果一端为Trunk,而另一端为Access,该链路不通。 为简单起见,两台交换机要么端口同时设置为Trunk,要么同时设置为Access,如图3-1 所示。 图3-1 Trunk链路 对Trunk链路,可以指定允许通过的VLAN 列表,否则默认允许全部VLAN 通过。但 Trunk链路有一个NativeVLAN(本地VLAN),默认情况下NativeVLAN 是交换机中必 有的VLAN1。但可以用命令来改变NativeVLAN,例如,下面命令为Trunk口指定的 NativeVLAN 是10: Switch(config-if)#switchport trunk native vlan 10 定义NativeVLAN 并不影响Trunk链路允许所有VLAN 通过,只是表示在Trunk链 路上传输属于NativeVLAN 的数据帧时不添加标记。即当交换机在Trunk链路上收到未 加标记的数据帧时,交换机认为该帧是属于NativeVLAN 的帧。 Trunk链路可以接收与NativeVLAN 不一致的带标记的帧,即允许所有带有标记的帧 通过。Trunk链路也可以接收没有标记的帧,它把此帧归属于NativeVLAN。 通常不需要修改NativeVLAN。用Switch(config-if)#noswitchporttrunknativevlan 命令恢复NativeVLAN 为VLAN1。 3.2 以太网链路聚合 以太网链路聚合(Etherchannel)通过将多条以太网物理链路捆绑在一起成为一条逻辑 链路,从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路相互提供动态冗余备 份,其中任意一条链路断开,也不会影响其他链路的正常转发数据,从而可以有效地提高链 路的可靠性。 端口链路聚合主要应用的场合如下: ● 交换机与交换机之间的连接:汇聚层交换机到核心层交换机或核心层交换机之间。 ● 交换机与服务器之间的连接:集群服务器采用多网卡与交换机连接提供集中访问。 ● 交换机与路由器之间的连接:交换机和路由器采用端口聚合解决广域网和局域网连 接的瓶颈问题。 ● 服务器和路由器之间的连接:集群服务器采用多网卡与路由器连接提供集中访问。 端口链路聚合的两端要求如下: ● 端口均为全双工模式。 ● 端口速率相同。 路由协议与交换技术(第3 版) 50 ● 端口的类型必须一样,比如同为以太网端口或同为光纤端口。 ● 端口同为Access端口且属于同一个VLAN 或同为Trunk端口。 如果端口为Trunk端口,则其AllowedVLAN 和NativeVLAN 属性也应该相同。 有两种链路聚合协议:一种是思科独有的协议PAgP(PortAggregationProtocol,端口 聚合协议),另一种是基于IEEE802.3ad标准的链路聚合控制协议LACP(LinkAggregate ControlProtocol)。 3.2.1 PAgP PAgP是一个在检查Channel两端参数的一致性以及在出现增加链路或链路失效时重 新适配的管理协议,具有如下的限制条件: (1)PAgP需要所有Channel中的端口处于同一个VLAN 或都配置成为Trunk链路 端口(因为动态VLAN 可能会强制地将端口放到不同的VLAN 中,所以动态VLAN 不能 和以太网通道在一个端口上并行操作)。 (2)PAgP不能在不同速度或不同双工模式的端口之间配合操作,当一个Channel中某 个端口的速度或双工模式改变时,PAgP将改变该Channel中所有端口的速度和双工模式。 (3)当对已有Channel中的某个端口的配置进行修改时(如改变VLAN 或Trunk模 式),该Channel中的所有端口均将做相同的修改。 (4)思科最多允许EtherChannel绑定8 个端口。如果是快速以太网,总带宽可达 1600Mb/s;如果是G比特以太网,总带宽可达16Gb/s。不支持10Mb/s端口绑定。 (5)不仅支持二层EtherChannel,还支持三层EtherChannel。 EtherChannel将物理接口组指定至某个Channel组,命令为: Switch(config-if-range)#channel-group [num]mode [on|off|auto| desirable] 其中, ● num:channel组号,为1~64。channel组号只在本地有效,链路两端的组号可以不 一样。 ● on:PAgP不进行操作,不管对方是怎样配置的,端口总处理channeling状态,如果 对方的模式也为on,正好形成一个EtherChannel。建议不使用on模式。 ● off:防止端口形成EtherChannel。 ● auto:默认模式,被动协商,将端口置于被动协商状态,在收到PAgP包之前不会有 PAgP包发送。端口接收到PAgP包就形成EtherChannel。 ● desirable:主动协商,将端口置于一个主动协商状态,主动发送PAgP包,推荐使用 此模式。 ● non-silent(5000的光FE和GE端口的默认状态):auto或desirable模式的一个关 键字。如果在端口上没有收到数据包,端口一直不会关联到agport,不能传输数据。 ● silent(4000、6000的端口和5000的铜端口的默认状态):auto或desirable模式的一 个关键字。如果在15s内没收到数据包,端口将关联到一个agport并进行数据传 输。silent模式允许和一个不发送PAgP包的服务器进行Channel操作。 建议在链路的两端均使用desirable模式,并保留silent/non-silent关键字的默认设置, 第3 章 多层交换网络 51 在6000和4000上使用silent,在5000的光口上使用non-silent。 PAgP两端模式协商的情况如表3-2所示。 表3-2 PAgP两端模式协商 一端模式 另一端模式 on desirable auto on √ × × desirable × √ √ auto × √ × 3.2.2 LACP LACP是一种基于IEEE802.3ad标准,能够实现链路动态聚合与解聚合的协议。 LACP通过LACPDU(LinkAggregationControlProtocolDataUnit,链路聚合控制协议数 据单元)与对端交互信息。 设置某端口的LACP协议后,该端口将通过发送LACPDU 向对端通告自己的系统 LACP协议优先级、系统MAC、端口的LACP协议优先级、端口号和操作Key。对端接收到 LACPDU 后,将其中的信息与其他端口所收到的信息进行比较,以选择能够聚合的端口,从 而双方可以就端口加入或退出某个动态LACP聚合组达成一致。 操作Key是在链路聚合时根据端口的配置(即速率、双工模式、up/down状态、基本配 置等信息)自动生成的一个配置组合。对于动态LACP 聚合组,同组成员有相同的操作 Key;对于手工聚合组和静态LACP聚合组,处于Selected状态的端口有相同的操作Key。 命令如下: Switch(config-if-range)#channel-group 1 mode [on|off|active|Passive] ● on:强制端口不使用LAGP而形成EtherChannel。 ● off:防止端口形成EtherChannel。 ● passive:默认模式,被动协商,端口接收LAGP,就形成EtherChannel。相当于 PAgP的auto。 ● active:主动端口利用LAGP 形成EtherChannel,为推荐模式。相当于PAgP 的 desirable,能够收发协商消息。 LACP两端模式协商的情况如表3-3所示。 表3-3 LACP两端模式协商 一端模式 另一端模式 on active passive on √ × × active × √ √ passive × √ × 路由协议与交换技术(第3 版) 52 3.2.3 聚合链路的配置步骤 1.创建EtherChannel (1)规划并选择要配置为EtherChannel的物理接口组,命令如下: Switch(config)#interface range f0/1-2 (2)配置物理接口组内端口为同一VLAN 的Access、Trunk或路由端口,命令如下: Switch(config-if-range)#switchport mode access Switch(config-if-range)#switchport access vlan 1 或 Switch(config-if-range)#switchport mode trunk 或 Switch(config-if-range)#no switchport (3)选择EtherChannel的协议类型:LACP 或PAgP,在PacketTracer中默认的是 PAgP协议,命令如下: Switch(config-if-range)#channel-protocol [pagp| lacp] (4)将物理接口组指定至EtherChannel组,命令如下: Switch(config-if-range)#channel-group {num} mode [on|off|auto| desirable] (5)进入聚合端口,命令如下: Switch(config)#int port-channel {num} (6)配置聚合端口为Access、Trunk或路由口(及IP地址),命令如下: Switch(config-if-range)#switchport mode trunk 或 Switch(config-if-range)#switchport mode access 或 Switch(config-if-range)#no switchport 2.配置EtherChannel负载均衡 EtherChannel具有负载均衡和线路备份的作用。 所谓负载均衡,就是指当交换机之间或交换机与服务器之间进行通信时,EtherChannel 的所有链路将同时参与数据的传输,从而使所有的传输任务都能在极短的时间完成,线路占 用的时间更短,网络传输的效率更高。 所谓线路备份,是指当部分EtherChannel链路出现故障时,并不会导致连接的中断,其 他链路将能够不受影响地正常工作,从而增强了网络的稳定性和安全性。 第3 章 多层交换网络 53 配置EtherChannel负载均衡的命令如下: Switch(config)#port-channel load-balance [dst-ip | dst-mac | src- dst- ip | srcdst- mac | src-ip | src-mac] 注意:要在全局配置模式下配置负载均衡。默认情况下是src-mac,是基于源MAC地 址的负载均衡。常用dst-ip,即基于目标IP地址的负载均衡。 3.检验配置的命令 Switch#show etherchannel load-balance Switch#show etherchannel summary Switch#show etherchannel port-channel Switch#show running-config 4.从EtherChannel中移除端口 Switch(config)#interface interface-id /*指定要配置的物理端口*/ Switch(config-if)#no channel-group /*从EtherChannel 中移除端口*/ Switch#show running-config /*检验配置中是否移除了端口*/ 5.删除EtherChannel端口 Switch(config)#no int port-channel [num] Switch#show etherchannel summary /*检验配置(或查看当前的EtherChannel)*/ 6.将EtherChannel端口从err-disable状态恢复正常 EtherChannel端口如果进入err-disable状态,有两种方法使其恢复正常: (1)手动恢复:先执行shutdown命令,再执行noshutdown命令。 (2)自动恢复:此方法在PacketTracer中不能实现。 Switch(config)#int port-channel [num] Switch(config-if)#errdisable recovery cause {all|arp-inspection|bpduguard|linkflap} /*指定原因*/ Switch(config-if)#errdisable recovery interval 30 /*指定自动恢复时间间隔*/ 3.2.4 聚合链路应用举例 1.二层聚合链路的配置 把多个物理链接捆绑在一起形成一个简单的逻辑链接,这个逻辑链接就称为聚合端口 (aggregateport,AP)。它可以把多个端口的带宽叠加起来使用。 通过AP发送的帧将在AP的成员端口上进行流量均衡,当一个成员端口链路失效后, AP 会自动将这个成员端口上的流量转移到别的端口上。同样,一个AP可以为Access端 口或Trunk端口,但AP各成员端口必须属于同一类型。 二层Access端口聚合成一个逻辑端口,要求两台交换机的对应端口及成员端口都属于 同一个VLAN(子网)。这就是交换机的级联,其目的是增加端口的总数(扩容),通过聚合 增加带宽并提供冗余。 思科二层Access端口聚合的命令行配置如下。 路由协议与交换技术(第3 版) 54 (1)Access端口聚合 Switch(config)#interface range f0/23 -24 Switch(config-if-range)#switchport mode access /*23、24 号端口都为Access 端口*/ Switch(config-if-range)#channel-protocal lacp /*或pagp*/ Switch(config-if-range)#channel-group 1 mode active /*或desirable, 将23、24 号端口聚合一起为1 号端口*/ Switch(config-if-range)#exit Switch(config)#int port-channel 1 Switch(config-if)#switchport mode access /*将聚合1 号端口设置为Access 端口,仅属于VLAN 1*/ (2)Trunk端口聚合 思科二层Trunk端口聚合的命令行配置如下: Switch(config)#interface range f0/23-24 Switch(config-if--range)#switchport mode trunk /*23、24 号端口都为Trunk 端口*/ Switch(config-if-range)#channel-protocal pagp /*或lacp*/ Switch(config-if-range)#channel-group 2 mode desirable /*或active*/ Switch(config-if-range)#exit Switch(config)#int port-channel 2 Switch(config-if)#switchport mode trunk /*将聚合2 号端口设置为Trunk 端口,属于全体VLAN*/ 注意:如果是三层交换机做Trunk端口聚合,必须增加一条封装协议: Switch(config-if-range)#switchport trunk encapsulation dot1q /*Trunk 封装协议IEEE 802.1q*/ (3)将23号端口从2号聚合端口中拆除 Switch(config)#interface f0/23 Switch(config-if)#no channel-group 2 mode active /*将f0/23 端口从聚合端口中拆除*/ (4)删除一个聚合端口 Switch(config)#no int Port-channel 2 /*删除2 号聚合端口*/ 注意:删除聚合端口时,需先解除聚合。 2.三层聚合链路的配置 左右两端的三层交换机多个端口用交叉线互连,将两端的端口设定为三层路由端口,每 个端口不设置IP地址,将这些端口聚合成一个三层聚合端口(L3aggregateport),为其分 配IP地址以建立路由。 在左边的三层交换机上创建三层聚合端口的命令如下: Switch(config)#interface range f0/1-2 Switch(config-if-range)#no switchport /*将1 和2 两个端口变成路由端口*/ Switch(config-if-range)#channel-group 3 mode desirable 第3 章 多层交换网络 55 /*将1 和2 两个端口聚合成3 号聚合端口*/ Switch(config-if-range)#no ip address /*1 和2 两个端口均无IP 地址*/ Switch(config-if-range)#exit Switch(config)#interface port-channel 3 /*对聚合端口3*/ Switch(config-if)#no switchport /*使聚合端口3 成为路由端口*/ Switch(config-if)#ip address 192.168.1.253 255.255.255.0 /*设置聚合端口3 的IP 地址*/ Switch(config-if)#exit /*返回特权模式*/ Switch(config)#port-channel load-balance dst-ip /*配置针对目标IP 的负载均衡*/ 同理,按上述步骤在右边的三层交换机上也创建三层聚合端口,但其聚合端口的IP地 址为192.168.1.254,如图3-2所示。 图3-2 三层交换机的三层聚合链路 检查端口配置信息: Switch#show etherchannel summary /*显示链路汇总信息*/ Flags: D -down P -in port-channel I -stand-alone s -suspended H -Hot-standby (LACP only) R -Layer3 S -Layer2 U -in use f -failed to allocate aggregator u -unsuitable for bundling w -waiting to be aggregated d -default port Number of channel-groups in use: 1 Number of aggregators: 1 Group Port-channel Protocol Ports ------ +------------ +----------- +----------- 3 Po3(RU) PAgP f0/1(P) f0/2(P) Switch#show etherchannel port-channel /*显示详细链路信息*/ Channel-group listing: ---------------------- Group: 3 ---------- Port-channels in the group: 路由协议与交换技术(第3 版) 56 --------------------------- Port-channel: Po3 ------------ Age of the Port-channel=00d:00h:05m:14s Logical slot/port=2/3 Number of ports=2 GC=0x00000000 HotStandBy port=null Port state=Port-channel Protocol=PAGP Port Security=Disabled Ports in the Port-channel: Index Load Port EC state No of bits ------ +------ +------ +-------------- +----------- 0 00 f0/2 Desirable-Sl 0 0 00 f0/1 Desirable-Sl 0 Time since last port bundled: 00d:00h:05m:13s f0/1 Switch#show running-config /*显示信息略*/ Switch#show etherchannel load-balance /*显示信息略*/ Switch#ping 192.168.1.254 /*左端交换机ping 右端,通*/ 3.3 虚拟主干协议VTP 3.3.1 VTP基础 VTP(VLANTrunkProtocol)即VLAN 中继协议,也称为虚拟局域网干道协议。它是 思科私有协议,工作在数据链路层。 要管理VLAN 的增加、删除以及更名以保持所有交换机中VLAN 的一致性,可以使用 VTP协议。 VTP提供了一种在交换机上管理VLAN 的方法,该协议使用户可以在一个或者几个 中央点(服务器)上创建、修改、删除VLAN,通过Trunk链路把VLAN 信息自动扩散到其 他交换机。把一台交换机配置成VTP服务器,其余交换机配置成VTP客户端,这样它们 可以自动学习到服务器上的VLAN 信息,使大规模的网络管理简单、自动化。 VTP被组织成域(VTPdomain),相同域中的交换机能共享VLAN 信息。域名由服务 器定义,其他交换机跟从,命令如下: Switch(config)#vtp domain 域名 根据交换机在VTP 域中的作用不同,VTP 可以分为3种模式,命令如下: Switch(config)#vtp mode {Server| Client | Transparent} 其中,Server为服务器模式,Client为客户端模式,Transparent为透明模式。新出厂的 交换机默认配置是VLAN1,VTP 模式为Server。 ● VTPServer维护该VTP 域中所有VLAN 信息列表,能在本地删除、创建、修改 第3 章 多层交换网络 57 VLAN 信息,可以产生、发送、接收、处理、转发VTP 消息。 ● VTPClient虽然也维护所有VLAN 信息列表,但其VLAN 的配置信息是从VTP Server学到的。VTPClient不能在本地删除、创建、修改VLAN 信息,但可以产生、 发送VTP 消息。 ● VTPTransparent相当于一个独立的交换机,它不参与VTP工作,不从VTPServer 学习VLAN 的配置信息,只拥有本设备上自己维护的VLAN 信息。VTP Transparent能在本地删除、创建、修改VLAN 信息;只能转发VTP 消息,不能发送 自身的VLAN 消息,修订号始终为0。 VTP通告是在交换机之间用来传递VLAN 信息的数据包,称为VTP数据包。VTP 通告信息以多播帧的方式在Trunk链路上传输,信息中包括配置修订号,代表配置的新旧, 只要交换机收到更高的信息,就覆盖以前的信息,所以配置版本号在VTP更新中起着非常 重要的作用,每当服务器修改后,配置修订号都会自动加1。 VTP通告类型有3种:汇总通告、通告请求、子网通告。 (1)VTP汇总通告:交换机每5min发送一次汇总通告,通告邻居目前的VTP域名和 配置修订号。 (2)VTP通告请求:在交换机重启后或VTP参数改变时发送通告请求。 (3)VTP子网通告:在VTP服务器上删除、创建或修改了VLAN 就发送子网通告。 当某些子网不需要传递VTP通告时,会采用VTP修剪(图3-3),命令如下: Switch(config)#vtp pruning 图3-3 VTP的修剪原理 3.3.2 VTP的配置 1.实验目的 (1)理解VTP协议(域、模式、工作过程等)。 (2)掌握VTP的配置方法。 2.实验拓扑 实验拓扑如图3-4所示,有三台二层交换机,用交叉线互连,并定义为Trunk链路。 路由协议与交换技术(第3 版) 58 图3-4 VTP模式设计与配置实例 3.实验配置步骤 (1)在交换机S1上配置VTP服务器,并创建3个VLAN,即10、20、30: /*定义Trunk 链路,VTP 必须在Trunk 链路上发送数据包*/ S1(config)#int f0/1 S1(config-if)#switchport mode Trunk /*配置为VTP 服务器*/ S1(config)#vtp mode Server S1(config)#vtp domain sspu S1(config)#vtp password 12345 /*创建3 个VLAN*/ S1(config)#VLAN 10 S1(config)#VLAN 20 S1(config)#VLAN 30 (2)在交换机S2上配置VTP客户端 /*定义Trunk 链路*/ S2(config)#int f0/2 S2(config-if)#switchport mode Trunk /*配置为VTP 客户端*/ S2(config)#vtp mode Client S2(config)#vtp domain sspu S2(config)#vtp password 12345 (3)在交换机S3上配置VTP为Transparent模式 /*定义两个Trunk 链路*/ S3(config)#int range f0/1-2 S3(config-if-range)#switchport mode Trunk /*配置VTP 为Transparent 模式*/ S3(config)#vtp mode Transparent S3(config)#vtp domain sspu S3(config)#vtp password 12345 4.检测结果及说明 (1)在S1(即VTP服务器)上查看VLAN 信息: 第3 章 多层交换网络 59 (2)在S3(即VTPTransparent上)创建VLAN100,并查看VLAN 信息: 可以看到,VTP服务器中的VLAN10、20、30均不存在,但自己创建的VLAN100 存在。 (3)在S2(即VTP客户端)上查看VLAN 信息: 可以看到,VTP服务器中的VLAN10、20、30都存在,但S3(VTPTransparent)上创建 的VLAN100不存在。 在S2上试图创建VLAN200,被告知不允许: S2(config)#vlan 200 VTP VLAN configuration not allowed when device is in CLIENT mode. 以上实验结果验证了VTP协议的工作过程。 路由协议与交换技术(第3 版) 60 3.4 交换机的端口安全性 交换机端口的安全功能是指针对接入层交换机的端口进行安全属性的配置,从而控制 用户的安全接入。 3.4.1 端口安全概述 交换机端口安全主要有两类:一类是限制交换机端口的最大连接数,另一类是针对交 换机端口进行MAC地址、IP地址的绑定。 限制交换机端口的最大连接数可以控制交换机端口下连的主机数,以防止用户进行恶 意的ARP欺骗。 交换机端口可针对MAC地址、IP地址、IP+MAC地址进行灵活的绑定,从而实现对 用户的严格控制,保证用户的安全接入,防止常见的内网中的网络攻击,如ARP欺骗、IP地 址和MAC地址欺骗、IP地址攻击等。 1.常见的攻击 在局域网内部,常常受到一些攻击,主要有以下几种形式: (1)MAC攻击。每秒发送成千上万个随机源MAC的报文,在交换机内部,大量广播 包向所有端口转发,使MAC地址表空间很快就被不存在的源MAC地址占满,以致没有空 间学习合法的MAC地址。 (2)ARP的攻击。攻击者不断向对方计算机发送有欺诈性质的ARP数据包,数据包 内含有与当前设备重复的MAC地址,使对方在回应报文时,由于简单的地址重复错误而导 致不能进行正常的网络通信。一般情况下,受到ARP攻击的计算机会出现两种现象: ● 不断弹出“本机的×××段硬件地址与网络中的×××段地址冲突”的对话框。 ● 计算机不能正常上网,出现网络中断的现象。 由于这种攻击是利用ARP请求报文进行“欺骗”的,防火墙会误认为这是正常的请求 数据包,不予拦截,所以普通的防火墙很难抵御这种攻击。 (3)IP地址和MAC地址欺骗:攻击者用网络盗用别人的IP地址和MAC地址,进行 网络攻击。 端口安全的目的就是防止局域网的内部攻击对用户、网络设备所造成的破坏。 2.端口安全功能 所谓端口安全,是指通过限制允许访问交换机上某个端口的MAC地址以及IP地址 (可选)来实现对该端口输入的严格控制。当为安全端口(打开了端口安全功能的端口)配置 了安全地址后,除了源地址为这些安全地址的报文之外,该端口将不转发其他任何报文。同 时,可以将MAC地址和IP地址绑定起来作为安全地址,也可以通过限制端口上能包含的 最大安全地址个数(如最大个数为1),使连接这个端口的工作站(其地址为配置的安全地 址)独享该端口的全部带宽。 交换机端口安全的基本功能如下: (1)限制交换机端口的最大连接数。 (2)绑定端口的安全地址。例如,在端口上同时绑定IP 和MAC 地址,也可以防御 第3 章 多层交换网络 61 ARP欺骗;在端口上绑定MAC地址,并限定安全地址数为1,可以防恶意的DHCP请求。 Switch(config)#int f0/1 Switch(config-if)#switchport port-security /*打开该接口的端口安全功能*/ Switch(config-if)#switchport port-security maximum 1 /*设置接口上安全地址的最大个数为1,范围是1~128,默认值为128*/ Switch(config-if)#no switchport port-security maximum /*恢复接口安全地址的最大个数为默认值*/ Switch(config-if)#switchport port-security mac-address [ip-address ] /*手工配置接口上的安全地址(MAC 地址及IP 地址)*/ Switch(config-if)#no switchport port-security mac-address /*删除安全地址绑定*/ 3.安全违例的处理方式 在实际应用中,在配置了端口安全功能后,如果违反了端口安全,则将产生一个安全违 例。对安全违例有3种处理方式: (1)protect:当安全地址个数满后,安全端口将丢弃未知地址(不是该端口的安全地址 中的任何一个)的数据包,这也是默认配置。 (2)restrict:当违反端口安全时,将发送一个Trap通知。 (3)shutdown:当违反端口安全时,将关闭端口并发送一个Trap通知。 有关安全违例的设置命令如下: Switch ( config - if) # switchport port - security violation {protect | restrict | shutdown} /*设置处理违例的方式: protect 仅丢弃,restrict 丢弃且报警,shutdown 关机*/ Switch(config-if)#no switchport port-security violation /*将违例处理方式恢复为默认值*/ 4.配置端口的一些限制 配置端口安全时有如下一些限制: (1)安全端口不能是聚合端口,只能在Access链路端口上配置。 (2)安全端口不能是SPAN(SwitchedPortAnalyzer,交换机端口分析器)的目标端口。 (3)交换机最大连接数限制默认的处理方式是protect。 (4)端口安全和IEEE802.1x认证端口是互不兼容的,不能同时启用。 (5)安全地址有优先级,从低到高的顺序如下: ● 单MAC地址。 ● 单IP地址/MAC地址+IP地址(后设置的地址生效)。 (6)单个端口上的最大安全地址个数为128个。 (7)在同一个端口上不能同时应用绑定IP的安全地址和安全ACL,这两种功能是互 斥的。 (8)支持绑定IP地址的数量是有限制的。 路由协议与交换技术(第3 版) 62 5.配置安全地址的老化时间 可以为一个接口上的所有安全地址配置老化时间。要设置系统MAC 地址的老化时 间,需要设置安全地址的最大个数,以便让交换机自动增加和删除接口上的安全地址。命令 格式如下: Switch(config-if)#switchport port-security aging {static | time