摘要:楼层里所有电脑突然都上不了网,重启交换机也没用。查下来发现:电脑拿到的地址根本不是单位外网那一段,而是 192.168.1.1 —— 家用路由器出厂默认的地址。顺着这条线索拔光房间网线、再一根根插回去,最后在隔壁房间找到一台私接的无线路由器。这篇记录整个排查过程,以及「同一片网络里谁先答话谁就说了算」这件事。
作为一名运维工作人员,其实日常工作中的硬件问题,除了终端,多半出问题最多的就是网络了!今天就跟各位亲爱的读者朋友分享一下日常工作中怎么排查网络中遇到的问题。
下面我要说的是两年前亲身经历的一件事,也是我亲身经历中比较难忘的一次故障排查,住院部整个一层楼都上不了网,可想而之,会是一种什么样的景象……
那天接到电话,说是住院部某层护士长办公室电脑上不了网了,电脑已经重启过了,还是上不了网,让我给处理一下。当时我还在想,估计也就是三五分钟的事,但等我开始处理,才发现,没有那么简单。
正常肯定是先检查网络是否连通,我看了没有问题,电脑网口指示灯亮着,工作正常,也有闪烁。禁用后,隔一会再重新打开,还是不能正常上网,看了下获取的IP地址,有呀,但仔细一看,好像不太对,单位外网这一层的网关应该是xxx.xxx.22.254,可这里显示的却是xxx.xxx.1.1。我又去隔壁办公室看了下,我去,隔壁电脑也不能正常上网,只不过当时没有人使用,未发现,随后我又问了其他办公室,连接内网的都没问题,只要是纯外网的电脑都上不了网。
看来这就不是电脑的问题了,不可能同时三五台电脑出现同样问题。随后我先重新启动了外网交换机,排除交换机死机,直接把笔记本接在交换机空余端口上试了下,果然,上不了网!获取的IP地址段跟办公室里的电脑获取的一样,根本就不是我们设置的外网IP段,网关也不对!
我首先怀疑是不是有打扫卫生工作人员不小心把楼层机房外网交换机电源弄掉了,交换机配置丢了?之前发生过这种情况。重新检查了交换机配置,完全没有问题。我按笔记本自动获取的IP地址,在浏览器里把这条网关地址输进去,能打开,但我发现这不是我们的路由器设置界面,看上去是一台TP-Link的无线路由器的配置界面,而且我试了配置密码进不去,这就更能确定,这不是我们信息科配置的。看到这儿,有经验的读者朋友已经发现问题出在哪了,对,就是这样,肯定是有人在这个交换机线路上私接了无线路由器。但一层楼几十间房,有些房间里还有病人,不方便进去,应该怎么排查,就是一个值得考虑的问题!
我是这么做的,先从这台楼层外网交换机上,拔掉所有去各个房间的网线,单接笔记本。看是否能正常获取单位外网的IP以及网关地址。如果正常了,再加上出故障时获取到的那个网关地址 xxx.xxx.1.1 —— 这个地址,是家用路由器出厂就带的。这完全就可以坐实了,有人私接了路由器。
在拔网线时也有一个技巧,把拔下来时亮灯的和不亮的分开,这样更容易排查,试的时候,可以只试网络出问题时交换机上亮灯的各根线。
结果跟我预料的一样,单接笔记本,完全没有问题,能正确获取单位外网的IP以及网关地址,交换机的配置一点毛病没有。
接下来,就是排查是哪个房间私自接了路由器。正规的运维都会给每条线打上标签,这里这个标签的重要性就体现出来了。
先给已经正常能上网的笔记本打开一个连续ping的界面,最简单的方法就是ping网关地址,如果不放心,还可以直接 ping www.baidu.com -t,就是ping一下,看百度页面能不能正常访问。把刚才挑出来、一直亮着灯的那十来根线一根一根插回去,每插一根,观察十来秒,看ping界面的变化。另一个是观察端口上的灯,如果网线一插上,灯就不停地闪、明显比其他灯闪得频繁,也需要留意一下;
经过一阵测试观察,发现某间房号的线一插,端口指示灯闪烁的频率和其他的明显不一样,而且,一会过后,ping界面也不通了,拔掉过上十几秒,又恢复正常ping通。基本就能确定是这根网线出了问题。顺着标签号,找到了对应的房间,就是在打电话报修的隔壁的隔壁房间,办公室地上有一台看上去比较老旧的TP-Link的无线路由器,上面的指示灯,也正在疯狂地闪烁着。这明显不是我们科给连接的设备,跟这间房的医生沟通后,说明了情况,给他拔掉了路由器的电源,并把网线直接给他接回了电脑,重新观察,故障消失……
事后我也研究过这个事,正常情况,接个路由器应该是没有什么影响的,都不是一个IP段。不过有一点我后来是想明白了:不是一个网段,不等于互相不干扰——它们都挂在这台交换机上,就是同一片网络,谁在这片网络里答话,这层楼的电脑就听谁的。至于它到底怎么把地址发到我们这层网里来的,说实话我到现在也没完全弄明白——那台路由器早就不在了,没法再验。但结果很清楚:拔掉这台路由器,整个网络恢复了正常。
通过这件事,也说明了一个事,网络和程序,是没有道理可讲的,「别人接了也没事」正好说明这件事的凶险 —— 它不像拔网线那样一拔就坏,它是一颗炸弹:插上的那一刻什么事都没有,什么时候响,取决于谁先抢到那个答话的机会。就像程序一样,测的时候好好的,运行一段时间出BUG了,你能说是程序开发时没写好?
这件事让我记住了一句话:地址拿到了,不等于地址是对的。
作者:老刘说医信,医院信息科运维。