最近出现两次移动宽带断网事件。路由器WAN线路正常,状态也是已经拨号,甚至也正常有了大内网的IP地址。但是,就是不能上网。这显然是运营商的问题,其他邻居也反映会出现断网问题,重启光猫就能恢复。
我改了桥接,所以这就方便了我在路由器上处理问题,不用去重启光猫。因为挂着服务,就不想打开定时重连重启了。设置个定时任务,断网时再重连WAN连接。
首先SSH登录进路由器。上传或者新建脚本文件。我放在/root/chkwan.sh了。
#!/bin/sh
d_runtime=`date +"%Y-%m-%d %H:%M:%S"`
PING1=`ping -c 3 baidu.com|grep -v grep|grep '64 bytes' |wc -l`
if [ ${PING1} -ne 0 ];then
#echo "OKDATE: "$d_runtime >> /root/chkwan.log
exit 0
else
/sbin/ifup wan
#ifdown wan;sleep 3;ifup wan
sleep 15
PING2=`ping -c 3 baidu.com|grep -v grep|grep '64 bytes' |wc -l`
if [ ${PING2} -ne 0 ];then
echo "REWAN: "$d_runtime >> /root/chkwan.log
exit 0
else
echo "RENET: "$d_runtime >> /root/chkwan.log
/etc/init.d/network restart
#reboot
fi
fi
内容大概就是PING指定网址,如果失败就重连WAN,休息10秒再看,如果还不行就重启路由器。
之后在路由器WEB界面找到【系统】-【计划任务】,点【添加】。
勾上【开启】,随便填个【任务名称】,然后中间的不用理,直接勾上下面的【自定义】。在【自定义cron参数】填上任务就行,我这个是每十分钟运行一次脚本。
*/10 * * * * /root/chkwan.sh
注意事项:运行间隔不要太短,如果间隔太短,又不能正常上网,那么会让你来不及进路由器后台。自用脚本,不打算优化。