故障现象:
最近下载了一个x86的定制固件,安装到一台小主机中,做路由器用。使用过程中,发现每隔一小时,主机断一次网。排查后发现,主机每隔1小时会自动重新启动一次。
故障原因:
查看进程后发现有一个进程名为 watchcat 的服务,每隔60分钟激发主机重启。
原因分析:
watchcat服务,是一个简单的脚本程序,用于监测网络通讯质量,原始配置是每隔30分钟ping一次dns:8.8.8.8服务器,如果回包不正常或者未得到回包,就重启主机。我下载的这个固件,是修改过配置文件了,配置为dns:114.114.114.114/60分钟一个周期。然后国内好多地方已经停止114的DNS服务提供了,也就是根本ping不到这个dns服务,所以watchcat就认为是网络质量问题,从而触发重启机制。
修复方法:
1. 如果你对你的网有信心,可以直接在web界面中,把这个进程关闭掉,也可以ssh到openwrt命令行中,mv /usr/bin/watchcat.sh /usr/bin/watchcat.sh.bak 将此文件改名,以后想用了,再改回了。
2. 如果还想保留网络质量检测功能,你可以在/etc/config目录中找到watchcat文件,然后将里面的114.114.114.114改成你喜欢的dns主机名。保存后,重启主机就可以了。