速递!懂事的网络工程师,早该学会处理这种故障了
来源:网络工程师俱乐部    时间:2022-07-04 09:56:04

大家好,我是老杨。

​之前我说了很多次,故障排错,是每个网工的必修课。很多人一开始都是手残,但手残到引发严重的情况的还是比较少见的。


(资料图)

今天老杨的一位粉丝和我分享了关于他工作中亲眼见到的,排错时发生的“惨状”。

老杨通篇看下来,觉得很有借鉴意义,可供新手网工们多参考。

他有一句话我觉得很认同:“由于设备本身的软件或者硬件出现问题而导致的故障,其实是比较少见的。”

“大部分都是人为的。”

排错排成这样,谁能比我更夸张?

这是我之前工作中遇见过的一次网络故障。

我觉得,排错最重要的点在于,你发现网络故障后,得对这个现网的网络环境有个基本的判断。

你要判断它的组网是什么样的,它的配置是什么样的,这些基本的信息你要收集到,你才能对故障进行分析。

所以我先讲下故障发生的背景,也给你们几条线索,一起判断下。

这个故障的背景其实就是一个很简单的配置变更。

在中午休息的时间,我的同事对厂区的某一栋楼的汇聚交换机进行配置变更。

他实际上是要增加一台接入交换机,因为厂区人员变多了,终端也就变多了,所以现有的网络和接入设备不能满足需求,需要新增一台接入层的交换机。

大家都知道,在现网中新增一台接入交换机,这个配置是非常简单的。

一般只需要将接入交换机上到机架,两根光纤连到汇聚交换机就搞定了。

而通常你接入交换机连接汇聚交换机需要做什么配置?

一般来说,都是将这个接入交换机所需要VLAN配上,再将接入交换机连接汇聚交换机的两个接口,或者一个接口配置成Trunk,搞定就好了。

交换机之间互联的链路需要配置成trunk,这是CCNA学习中很基础的内容,这里我就不多复述了。

然后为了保证这个链路的可靠性,需要从接入交换机到汇聚交换机配置一个链路聚合,这一块也是比较基础的网络学习内容,配置也很简单。

本来,按照工作的进展,我同事刷完配置之后就回到了工位休息,而这个故障并没有马上出现。

因为当时午休,没人办公,所以也就没人会发现有这样的问题。

而等到了下午2点钟,上班的人使用网络的时候才发觉,“啊?楼层交换机出现了故障!”,或者说才发觉当时“不能上网了!”

因为对于终端用户来说,最直观的体验就是电脑上不了网。

那上不了网怎么办?投诉呗。

所以就打电话给技术支持。

其实技术他的配置变更非常简单,只是新增了一台设备,新增了一些配置,可这时候网络却出现了故障。

如果是你遇到了这种情况,你会怎么分析这个故障?

展开来看下它的网络架构,网络架构其实就是传统的三层架构,核心连接汇聚,汇聚连接楼层接入交换机,简单吧?

只是说它的网络架构会用到堆叠这个技术。

它的核心交换机连接汇聚的时候,汇聚是两台做了堆叠,这边抛开核心交换机不看,两台汇聚交换机做堆叠,堆叠完成后,接入交换机上行两条链路,分别连到2台汇聚交换机。

虽然这边有2台汇聚交换机,但汇聚交换机在逻辑上是一台设备,因为他这两条链路上做了链路捆绑。

链路捆绑也是堆叠的基本技术。

逻辑拓扑如图所示,这个拓扑是个无环网络把?因为用了堆叠这个技术,这样的一个拓扑,它其实就是一个无环的网络。

而汇聚是两台设备,那接入交换机只需要在连接下行的接口配上VLAN,连接下行终端——PC,只要做个VLAN划分,然后我们的上行接口,配置链路聚合,同时将这个上行的链路聚合口配置成trunk口,就这么简单的三个配置。

那这么简单的三个配置,为什么会导致这个网络出现环路?

当然,当时还不知道是环路。

因为我同事当时觉得,这个网络是没有环路的,而且他用了堆叠,而且配置了链路聚合,这样的网络,它是不存在环路的啊……

所以当时他的第一反应不是怀疑环路的问题。

此时再看我们的第一个线索:无环网络。

以及第二线索:配置及其简单,只配了vlan,trunk、链路聚合这三个。

你分析出什么了吗?

往下看第三个线索:设备无法远程登录。这该怎么理解?

实际上一般出现网络故障之后,一般人会采取应对做的第一步动作是什么?

肯定是要远程登录到网络设备,进行配置查看,要看下配置对不对。

因为都是刷上去的配置,所以第一步就是远程登录这台设备,可以登录汇聚交换机也可以登录接入交换机。

但是试图登录的时候发现,上不去。没有办法登录到这两台设备上……

登不上怎么办?

设备无法远程登录,通常会是什么情况?

它无法被ping通,无法对它talent,这应该有同学在工作中遇到过吧?

通常发生这种情况,如果设备没有办法ping通,你只要保证被路由没有问题,而设备却无法ping通,无法远程管理,这就说明它的CPU已经满了。

因为所有需要ping这台设备,需要直接访问这台设备的IP地址的所有报文,都是需要CPU来处理的。

ping或者talent这台设备,所有的远程报文都是需要CPU来处理的,这时候如果CPU飙到100%了,就会造成无法远程登录和管理。

这时候我同事,终于开始怀疑是不是网络环路了……

因为在二层网络里面,能够导致CPU 100%的情况,大概率是由环路导致的,所以基本上可以判断是一个环路。

但是为什么?为什么会出现环路?我命名配置的无环的!哪来的环路?

这时候要怎么办?只能跑现场了。

当时正好我在现场,由于当天中午临时突发了这个问题,我同事也叫我过去帮忙。

所以我就跟他们一起去现场看了下这个问题到底什么情况。

去现场一般来说你需要带上console和笔记本。

去设备的现场,一般通过console线远程或者直接连接到这个设备上,登录这个设备查看配置。

但是大家也知道,由于设备CPU 100%爆掉了,你如果通过console线登录设备,也会非常的卡,基本上你敲命令,过几秒钟才会有反应。

所以一般遇到环路这种问题,设备本身CPU满了,因为你很难对这个设备进行配置查看,也就很难排查。

所以当时用了个最笨的办法——拔线。

在汇聚交换机上,汇聚交换机所有连接接入交换机的这个口,一条条去拔线。

最后拔到新增的这台设备时发现网络恢复了,这时候基本上就可以定位到新增的这台交换机设备,它是存在问题的。

可配置明明这么简单,却出现环路了,离谱。

这个地方唯一有可能出现环路的是什么场景?

这里我直接告诉你,这是因为这里链路聚合的配置不对。他们在配置链路聚合的时候,只配了一端,只在汇聚交换机上刷了链路聚合的配置。

这里可以看出,汇聚交换机这两个口是捆绑在一起的,但下行的这台接入交换机,他的链路聚合没有配,也就是说,它是2个独立的口。

所以当时拔线拔到了网络恢复,我就登录进了设备查看配置。

这一查看让我哭笑不得,发现非常简单,只是漏了两条配置而已,在物理接口下漏配了两条链路聚合的命令,就这么简单。

而就是这么简单的一个问题,就导致了这次的网络环路,这时候生成树是不生效的。

其实它也开了生成树,他就非常纳闷,“我开了生成树为什么还会有环路?是不是你设备有BUG,你设备是不是有问题?”

那为什么生成树不起作用?

因为对于汇聚交换机来说,只有一个口;

而对于接入交换机来说,却存在独立的2个口。

只是从接入交换机发出的生成树BPDU报文,发到上行接口之后,汇聚交换机不会再从接口发出来。

因为只有一个口,它是不会从这个接口再发出来的,所以这时候设备本身就不会认为网络有环路。

于是就导致了,生成树这时候是没有作用的,即使你开了生成树也检测不到环路的。

后来我把链路聚合的配置重新配上了,网络就恢复了。

其实就是一个非常简单的一个小的疏忽,就在刷配置的时候漏刷了2条命令,从而导致的网络故障。

实际上在现网中的网络故障里,50%以上都是人为的,基本上都是人为疏忽、配置变更导致的故障

由于设备本身的软件或者硬件出现问题而导致的故障是比较少见的。

大部分都是人为的,要么配置配的不合理,要么规划不合理,才会导致这样或那样的问题。

所以:认真+扎实的基本功=好网工。

在工作的早期,我想很多网络工程师应该都会出现类似情况,会发生这样或那样的不该出现的错误。

其实没关系,只要掌握好网络理论知识,认真执行每一个命令,很多问题都能迎刃而解。

像我这个网络环路,排查步骤其实很简单。

对于环路来说,如果你的网络设备没有办法登录,那你只能用最笨的办法一根根去拔线,因为设备无法查看,非常卡。

以上就是今天我分享的排错经历,希望能给你一些启发。​

关键词: 远程登录 就是一个 没有办法 就这么简单

上一篇:

下一篇:

X 关闭

X 关闭