【超详解】大牛老师教你如何配置 Catalyst交换机?
配置 Catalyst交换机
思科Catalyst交换机有许多种型号,其中一些运行在10 Mbits,而另一些则在其由双绞线和光纤组合的交换端口上,可以运行各种速率,最高可达10Gbit/s。新型号的交换机(特别是2960和3560系列)更加智能,因此具有更快的数据传输速率,包括音频和视频服务方面的支持。
下面后面我们需要完成的基本学习任务:
管理功能;
配置IP地址和子网掩码;
设置IP默认网关;
设置端口安全;
设置PortFast;
启用BPDU护卫和BPDU过滤器;
启用UplinkFast;
启用BackboneFast;
启用RSTP (802.1w);
启用EtherChannel;
配置一个STP根交换机。
注意
可以在www.ciscos.com/en/US/products/hw/switches/index.html上,找到有关思科Catalyst交换机系列产品的所有相关资料。
Catalyst交换机的配置
正如在第8章和第9章中对路由器所进行的配置一样,在本章和第11章中我们将使用图解和交换机组来完成配置。图10-14 给出了我们后续使用的交换式网络。
这里将使用一台新型的3560、一台2960和一台3550交换机。记住,网络中所示的主机、电话机和路由器,进入第11章的学习时它们会变得更加重要。
在开始对Catalyst 交换机进行实际配置之前,需要先学习一下交换机的启动过程,就像在第7章中对路由器进行配置前先讲解的内容一样。图10-15给出了一台典型的思科Catalyst交换机的详图,这里会逐一介绍它的各种接口和特性。
首先需要注意的是,Catalyst 交换机的控制台端口通常位于交换机的后背板上。但是在图中给出的这种3560小型交换机上,这个控制台端口则是在前面板上,这样便于使用(8个端口的2960看上去完全相同)。如果POST成功完成,则系统的LED指示灯就会变绿;如果POST失败,则系统的LED就会变成黄色。LED亮起了黄色表示出现了问题,通常还都是致命的问题。因此,你应该有一台备用交换机,以防运营中的交换机出现故障!底部的按钮用来显示哪一个灯提供以太网供电(PoE),可以通过按下Mode按钮来查看这一状态。对于以上系列的交换机,PoE 是-个非常好的功能,允许我们通过以太网电缆为连接到交换机的无线接入点和电话机供电。
现在如果我们需要像图10-14 所示的那样将交换机与其他交换机连接,首先需要注意的是,交换机间的连接需要使用交叉电缆。而2960和3560交换机能够自动地识别连接类型,因此,在这里可以使用直通电缆。但2950或3550交换机不具备自动识别电缆类型的能力。不同的交换机会有不同的需求和能力,因此,在将不同的交换机连接到一起时,要牢记这一点。
首次将交换机的端口连接在一起时,链路灯先是黄色,随后变绿,表示可以正常操作了。这是生成树会聚,正如你所知道的,在没有启用生成树的加速扩展时,这个会聚过程大约需要耗时50秒。当连接到交换机端口时,如果交换机端口LED的总在绿色和黄色之间交替变化,这就表明此端口处于故障中。如果发生了这种情况,可以检查一下主机的网卡或连接电缆。
1. S1
我们从连接到每台交换机并设置其管理功能来开始我们的配置操作。为每台交换机分配一个IP地址,注意这对于网络功能的实现来说,并不是真正必需的。这样做唯一的理由就是, 借助这一配置我们可以对交换机进行远程管理/控制,例如,通过远程登录实施的控制。这里将使用一个简单的IP地址方案来进行配置,比如192.168.10.16/28。你应该对这-掩码表示很熟悉了!查看一下下面的输出:
这里首先需要注意到的是,在此交换机的物理接口上没有配置IP地址。默认情况下,交换机上的所有端口都是启用的,因此,并不需要太多的配置。IP地址是被配置在逻辑接口下的,这一逻辑接口被称为管理域或VLAN。通常情况下,都会使用VLAN 1来管理交换式网络,正如我们在这里所做的那样。其余的配置基本上与配置路由器时的情形一样。记住,在具体的交换机接口上不需要IP地址,同样也不需要路由选择协议,以及其他。注意,在这里只需要完成第2层的交换功能,不包括路由择!此外还要注意的是,思科的交换机上没有配备辅助端口。
2. S2
以下是S2上的配置:
现在我们应当可以实现从S2 ping通S1。来试一下:
注意这里有两个问题:在还没有完成对核心交换机的配置之前,如何能通过它完成ping操作?还有,这里为什么只ping成功了4次而不是5次(第一个句点[.]表示有一次超时;而感叹号[!]则表示成功) ?这是两个很好的问题。答案是这样的:对于第一问题,无需配置交换机就可以工作。默认情况下,交换机的所有端口都是启用的。因此,只要打开交换机,连接的主机之间就可以进行通信了。对于第二个问题,第一个ping之所以不能完成,是因为ARP协议在将IP地址解析为相关的MAC地址时超时了。
3. Core
下面是对Core交换机进行的配置:
下面我们将从Core交换机来对S1和S2执行ping操作,看看情况会如何:
在对交换机的配置进行验证之前,还需要掌握另-个命令,不过在当前这个网络中,还用不到这个命令,因为这里还没有涉及路由器。这个命令就是ip default-gateway命令。如果需要在局域网外部对交换机进行管理,则应该在交换机上设置默认网关,就像在主机上完成的默认网关设置一样。可以在全局配置模式下完成这一设置。下面就是一个配置示例,我们将本子网的最后一个IP地址分配给路由器,并用这一地址来完成配置。
到此我们已经完成了对这3台交换机的基本配置,下面我们来看些有趣的相关内容。
4.端口安全
允许任何人接入并使用交换机,通常不是一件好事。我的意思是,既然你很关注无线网络中的应用安全,为什么你不希望在交换机上也有同样的安全呢?
答案显然是肯定的,你当然希望交换机更安全,使用端口安全可以限制能够动态连接到交换机端口的MAC地址数,也可以设置静态MAC地址,或者建立违规用户处罚机制一这也是我个 人最爱用的方式。我个人更喜欢这样的配置管理,当用户违反了安全策略交换机就会关闭他们的端口,这时违规的用户就得请他们的老板给我发一个备忘录,解释他们为什么会违反安全策略,然后我才会为他们重新启用被关闭的端口。这样做确实可以帮助他们记住自己曾做过的事!一个安全的交换机端口可以与1到8192之间的任意MAC地址进行关联,但是'50系列交换机的这个关联数量只能到132个,但这个数量对我来说已经足够多了。可以选择让交换机动态地学习这些需要关联的地址,或者使用命令swi tchport port- security mac- address mac-address 为每个端口设置静态地址。
1. S1
下面我们来对交换机S1设置端口安全。在这个实验中,端口fa0/3 和fa0/4 只连接了一台设备。通过使用端口安全,我们可以确定,一且这里的主机连接到端口fa0/3 并且电话机连接到端口fa0/4,那么其他设备就无法再连接进来了。下面就是完成这一配置的操作:
第一个命令是将端口的模式设置为“access" 端口,默认情况下它们被设置为"desirable", 即如果它们发现自身连接到另外的交换机,它们倾向于成为中继。当一个端口处于desirable模式时,在此端口上不能设置安全端口。在此端口上启用了端口安全之后,我在端口fa0/3 和fa0/4设置了端口安全,允许关联的MAC地址最多为一个,而且只有第一个关联的MAC地址可以通过交换机发送帧。如果具有不同MAC地址的另一台设备也试图向交换机发送帧,那么,端口会由于violation命令被关闭。
因为自己的懒惰,我不愿意手工为每台设备输人所有的MAC地址,因此,我选择使用sticky命令。
现在,使用show port-security interface 命令来验证下面这个端口的端口安全:
也可以不用关闭端口的方式,还有两个模式可用。保护模式表明其他主机可以连接到交换机上,但它所有的帧都会被丢弃。限制模式也相当酷,它通过SNMP提醒你端口上出现了违规情况。你可以随后打电话给非法使用者,并警告他们,你能够看见他们,知道他们在做什么,他们会为此吃苦头的!
在此连接的交换机间存在冗余链路,因此最好在这些链路上配置运行STP (到目前为止)。但在S1和S2交换机上,还有主机连接到端口fa0/3和fa0/4 (核心交换机没有)。因此,在这些端口上要关闭STP。主机可以直接连接到电话的后面,因为电话机上通常有以太网插口。因此,这两台设备只需要一个交换机端口。
5. PortFast
如果在交换机上使用portfast命令,就可以防止出现会聚时间过长导致主机DHCP请求超时,从而使主机不能应答DHCP地址的问题。下面在交换机S1和S2的端口fa0/3 及fa0/4上使用PortFast:
现在对S1的配置已经完成了,我不再给出后续的输出了,下面在S2的fa0/3和fa0/4端口上也启用PortFast。再提醒一遍,使用PortFast 时一定要小心谨慎,你也肯定不会希望由此创建网络环路!
为什么要反复强调这一点?因为网络中一旦出现环路,表面上网络仍然可以工作(起码看起来会是这样),但数据传递特别慢,更糟糕的是,查找问题的根源会花费你很长时间,这会让你感相当的懊恼。因此,操作时一定要小心。有一些护卫( safeguard)命令可以与PortFast 一同使用,可以防止启用PortFast 的端口意外产生环路,这看起来非常不错。下面就是这样一些命令。
6. BPDUGuard
在此之前曾提到过这个命令:如果在交换机的端口上打开了PortFast, 那么,启用BPDUGuard是个不错的主意。如果启用BPDUGuard的交换机端口接收到了一个BPDU,它会将端口置为错误禁用状态。这就可以防止网络管理员不小心将另一台交换机或集线器连接到配置了PortFast 的交换机端口上。基本上,这一命令可以阻止这种情况的发生,防止网络崩溃,或者至少防止网络因环路而性能下降。注意,只能在接人层的交换机上配置这-命令,因为在接入层交换机上用户与交换机是直接相连的,而在核心交换机上则不能配置此命令。
7. BPDUFilter
另一个可与PortFast同时使用的命令是BPDUFilter,这个命令也非常有用。由于默认情况下启用了PortFast 的交换机端口仍可以接收BPDU,这时使用BPDUFiter就可以完全阻止BPDU从这一端口上进出。如果BPDUFilter接收到了一个BPDU,它会立即关闭端口的PortFast,并迫使端口重新成为STP拓扑的一部分。与BPDUGuard不同,BPDUFilter 不会将端口置为错误禁用状态,而是将端口打开,但不运行PortFast。对于配置为Portfast 的端口,没有理由让它接收BPDU。说老实话,我确实不理解在启用PortFast时,为什么不默认启用BPDUGuard或者BPDUFilter。
下面我们为已经配置了PortFast 的交换机S1和S2的接口设置BPDUGuard和BPDUFiter,这一过程相当简单:
注意,对于bpduguard和bpdufilter命令,典型的做法是只使用其中的一个, 尽管IOS也允许在同一个接口同时使用两个命令,但这两个命令本质上会产生一定的对抗。bpdufilter 接收BPDU后会将端口转换到非PortFast 状态,而bpduguard接收BPDU后会将端口置为出错禁用状态,因此,同时配置两个命令,就显得有点“杀伤力过大”了。在配置STP时,我们还可以配置一些其他的STP802.1d的扩展特性。
8. UplinkFast
下面是如何在接入层的交换机(S1和S2 )上完成对UplinkFast的配置:
up1inkfast是一个全局命令,它会在所有端口上启用。
9. BackboneFast
下面是如何在交换机上配置BackboneFast:
注意,与配置UplinkFast不同,此处我们对网络中的所有交换机都进行了BackboneFast配置,而不只限于接入层交换机。记住, BackboneFast用来确定远程交换机上非直接连接到根路径的链路失效,这与UplinkFast不同,UplinkFast 可以确定并快速修复本地交换机的链路失效。
10. RSTP (802.1w)
配置RSTP实际上与配置802.1d 的其他扩展特性-样简单。考虑到它的性能要比802.1d好得多,你也许会认为对它的配置要更为复杂,但幸运的是,并不复杂。现在我们在Core交换机上打开802.1w,看一下会有什么情况出现:
很棒,Core 交换机上目前正在运行802.1w STP。我们来验证一下:
很有趣,看上去好像什么事情也没发生过。可以看出,在其他两台交换机上,所有端口都完成了会聚。一旦所有事情都正常了,一切都看上去没什么变化。802.1d 和802.1w似乎相处得很好,没有问题。
但是,如果仔细观察,就会发现在连接运行802.1d的交换机(即所有的那些交换机)端口上, 802.1w交换机已经从802.1w BPDU变为802.1d BPDU。交换机S1和S2认为, Core交换机实际上也在运行802.1d,因为Core交换机向它们回复的BPDU也只是802.1d的。尽管交换机S1和S2也会收到802.1w BPDU,但它们并不理解这些BPDU,只是简单地将这些数据丢弃。然而, Core交换机也接收到了802.1d BPDU,是从交换机s1和s2那里接收的,这样我们就知道了哪些端口在运行802.1d。换句话说,只在一台交换机上打开802.1w,根本无法对网络形成实质性的帮助!另一个让人心烦的小问题是,一且Core交换机了解到,需要向连接到S1和S2的端口发送802.1dBPDU,那么即使交换机S1和S2后来又配置了802.1w,Core交换机也不能自动地改变它的配置,这时,我们就需要重新启动Core交换机,以便让它停止发送802.1d BPDU。
11. EtherChannel
配置EtherChannel的最为简单的方式就是使用思科网络助手( CNA )。搜索思科的网站,就可以免费下载这个GUI软件。然而,我准备使用CLI来进行配置,因为你需要了解这些CLI命令,此外,我本身就是一个CLI迷,特别是对小型网络的配置。
记住,有两个版本的EtherChannel 协商协议,思科版本和IEEE版本。我准备使用思科版本,并将S1交换机和Core交换机之间的链路捆绑在一起。
在S1和Core交换机上,使用interface port-channel 全局命令、channel-group 命令和channel-protoco1接口命令。下面是使用这些命令的配置过程:
我添加了switchport nonegotiate 接口命令,以阻止交换机自动检测链路类型,以及自动建立中继;此外,我还静态地配置了中继链路。位于S1和Core交换机之间的两条链路目前被捆在了一起,这里所使用的是思科EtherChannel版本的PAgP。