序言
两种方法都可以使用 或者同时使用
- 撰写脚本不定时Ping外网,断网自动重启wan口
- OPenwrt 默认wan口超时不自动重启
方法一
通过ssh远程到OP软路由root目录下创建一个以下脚本
vim /root/dwcq.sh
内容为以下
#!/bin/sh
tries=0
logger "my network watchdog start"
while [[ $tries -lt 5 ]]
do
if /bin/ping -c 1 8.8.8.8 >/dev/null
then
logger "network pass, exit."
exit 0
fi
tries=$((tries+1))
sleep 10
done
logger "network error, restart network"
/sbin/ifup wan
*/6 * * * * sh /root/dwcq.sh
方法二
默认设置或者说源代码默认编译都是没有自动重拨的,可以测试把光纤拔了,过会再插上去,网络不会恢复。(注意:不能拔网线或者关光猫电源,否则op判断出wan口down了,就会自动重拨。)
解决办法很简单,只要把wan口高级里面的LCP 响应故障阈值改成不为0的数字就行,我是改成10.
关于这方面研究
总结帖关于ASUS无线路由器WAN断线的真相 - ASUS - Chiphell - 分享与交流用户体验
网络不稳定的元凶找到了
搜索关键词LCP 响应故障阈值 Openwrt
1 条评论
大佬,用你的脚本,Xshell7连接openwrt后,运行sh dwcq.sh 报错dwcq.sh: line 15: syntax error: unexpected end of file (expecting "then")
咋个改呢