我在外包的日子24:第一次加班

昨天中午下班后,陪大锤去附近玩,回来后,厂家打电话给我,说到网络问题,他在现场重现不了问题。还改了密码,估计是怀疑别人动过参数。我叫他跟那天的充电员联系。后来我在群里跟同事汇报了此事。原来是同事给了我的电话对方。后来太困了就睡觉,醒来后,接收几天厂家的未接电话,心想休息了,先不接。接着,同事在群里at了我,叫我晚上填加班单,明天9点半去那边,和厂家一起排查问题。我说好的。

8点半出门,因为不认得路,路又远——也不算远,离租房的地方不到20公里,开着导航跟着走。有几条路在修着,导航可能还不知道,所以走了点弯路,还好加快了速度,在9点半之前赶到现场,打开钉钉打卡,因为不知要搞多久,就没填加班。有个人已经开着电脑蹲在设备前了,上来打招呼,原来对方叫L工,已经到了一个多小时了,后来才知道他住附近,路程就几分钟。

值班室门锁着,打电话给甲方经理,经理叫师傅去开门,因为我在别的地方,没看到,就感觉门突然就开了。进屋,开电脑,登陆生产环境服务器和后台web,log和页面上,都没找到设备的信息。在设备屏幕上查看网络参数,没异常。在本地运行服务,改设备IP接到电脑,正常。想查路由器的连接列表,但忘记密码,恢复路由路,可以登陆了,找了几次所有页面,没找到有线的设备列表,估计路由器是主打无线路由,有线网络只是附属功能就不显示。如此这般,找了一上午,没进展,问题依旧。L工回去吃饭了。

因为路远,不能回去,打开手机搜索,最近的也要3公里才有吃了。刚想出发,发现门没钥匙,又担心人不在,里面东西不安全。只好叫外卖,又发现手机没外卖软件,去下载,发现网速慢——估计因为地方偏僻,信号不好。等啊等,终于下载好了,注册,填地址。因为平时去外面测试,胃口一般不好,吃不下饭。加粉加菜,加上配送费,叫了份20块钱的粉,奢侈了一把。还没吃完,L工就回来了。

桩没问题,交换机没问题,路由器没问题,本地服务也没问题,结合猜测,是设备出不了外面,但界面上网络参数是正常的。似乎是没问题导致的网络问题。正无头绪之际,L工提到可以连接到设备,里面也是Linux系统。一语惊醒梦中人,最好的办法,就是到设备系统中查看参数,然后测试能否ping通外网。
在连接之前,问了L工能否登陆系统,因为毕竟我不是对方公司的人,于情于理于法,不能登陆的。L工说他在场就可以。于是用telnet连接,输入账号密码,用ifconfig查IP,正常,用route -n查网关,却发现没有默认网关。但有2条错误的路由,大概这样:

1
2
3
4
5
route -n          
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

ping外网,不通。基本确认是网关的配置问题。

手动添加默认网关:route add default gw 192.168.1.1,此时可以ping通生产环境服务器了。web页面也看到设备了。

至此,问题原因定位到:因为设备上的默认网关没有配置,导致设备出不了外网,从而导致后台看到不到设备。

找到问题就好办了,跟L工说了方案,L工说反馈给研发。又问我能不能现在就改。我说不方便改,因为我对整个软件系统不了解,怕有问题。L工说没事,先暂时改吧。于是分析启动脚本,发现有个脚本已经配了默认网关。但却不生效,于是找了个/etc目录下的启动脚本,添加进入。然后手动reboot,系统起来后,连接正常。然后叫L工打开设备柜门,手动断电重启后,连接也正常。于是将其它的设备也进行相同的修改。观察半小时,网络连接正常。

一看时间,已经3点半了,于是向甲方经理汇报,顺便问一下钥匙的事。再在公司群里向同事汇报。同事回复说“了解”。接着在钉钉上打卡,填写加班单。最后,骑着电车,回去了。

从问题出现,我就坚持认为是厂家设备的问题,到今天终于切切实实证实的这个事实,前后一共花了1周左右的时候。

李迟 2019.04.14 周日