|
本帖最后由 9622315 于 2016-9-1 20:10 编辑
故障描述:
甲方新加的微信支付业务,需要增加一台终端设备,采集小票打印机的数据,上传至云端服务器,以做后期的数据汇总统计等。这台采集数据的终端设备,无有线接口,纯WIFI联网,没有屏幕,甚至没有Console接口,全靠一个对码键,将设备置入对码模式,然后用手机端的APP,为它配置SSID与连接密码,IP、网关等配置参数,全部是通过DHCP服务,从路由器自动获取。
现场出现的问题是,终端设备可以连接到路由器上,从爱快的路由器管理界面中,能够看到这台终端设备,但这台终端设备无法联网,爱快中看设备没有任何流量,外部表现为此设备连接诊断指示灯不断闪烁,无法完成与云端服务器的握手连接与数据同步。但用手机或电脑可以TCPing通云服务器(服务器和谐了ICMP协议,所以只可以用TCPing 80端口测试连接的有效性),并且手机的云服务管理APP,可以正常连接云服务器。由此证明,甲方内网到云服务器,网络是通畅的,没有任何限制,实际上也没做任何限制。
故障排除过程:
一开始考虑到会不会是设备的兼容性问题,遂约设备供应商的研发工程师到爱快总部现场测试,现场模拟甲方的网络环境,爱快在默认配置下,此终端设备完全正常中作,与云服务器正常握手连接同步数据,爱快系统更换了多个版本,设备均可以正常工作,由此证明问题还是出在我安装在甲方的路由器的参数配置上。已经下午3点了,没时间在爱快研究设备配置了,我跟设备商的工程师还要赶去甲方现场,约好到现场后,爱快技术支持进行远程协作。
到现场后,进行了多种测试,最后发现,直连爱快AP的就不正常,连接爱快路由下面的无线小路由上,就能OK,但由于是二级路由,云端服务器无法下发数据过来,只能上传数据到服务器。直觉与经验告诉我,问题应该出在DNS上,因为小路由DHCP服务与爱快的DHCP服务下发到终端的DNS是不同的。
然后,与工程师探讨,终端设备访问云服务器,是通过IP访问,还是通过域名访问,得到的答复是通过域名访问,因为是全国范围的业务,每个地区都有独立的服务器,用域名方便记忆,终端只需要连接本地区的服务器即可,各地区服务器,有数据同步机制,这个不用终端操心。终端设备连接服务器的网址,是出厂时根据用户所在地区,写死在固件中的,说白了,就是你北京的用户,同一台终端设备如果拿到上海用,还是连接北京的服务器。
到此为止,可以判断99%是域名解析的问题,导致的故障,但为啥手机电脑都OK,不论无线连接还是有线连接都OK,就这台小设备不成呢?正在一筹莫展时,技术04在微信群里发来消息,从甲方的爱快路由器后台里看到这台终端设备,总是向内网发送who has报文,寻找192.168.1.253这个IP地址的主机,靠!恍然大悟,这是我配给爱快DHCP服务的主DNS呀!原来这台终端设备的DHCP Client是简化了的,只记录一个DNS服务器IP,恰好这IP是无效的,所以……
赶紧登陆爱快管理,修改DHCP服务设置,将主DNS配置为有效的IP,重启终端设备,正常联网,云服务器也可正常下发数据到终端,故障排除!!!
总结:不是所有网络终端,都配置有2个DNS IP的,如本例中的这台数据采集终端,就只配置了一个DNS IP,如果这个IP是无效的,将直接导致设备无法正常联网。
关于无效DNS服务器的解释:是这样的,原本是要给甲方内网添加一台服务器的,这台服务器不仅做内网日常业务服务器,还兼做DNS服务器(天朝运营商的DNS服务器,你懂的,有条件的话最好不用,用自己架设的更好)。但由于前期投资过大,甲方把能砍的都砍掉了,服务器也未能幸免,但我配置爱快路由器时,习惯性的,把DHCP服务配置中的主DNS配置为内网服务器保留的IP了,这样就导致主DNS服务器无效了。只是绝大多数终端,都是有2个DNS IP设置的,如果主DNS服务器连接失败,直接把解析请求发送到备用DNS服务器上,所以一直没有发现这个潜在的问题。
感谢技术04在百忙中接待我们,并为我们排查故障。再次感谢。
|
|