OpenWRT添加断网重连脚本

AMDRadeonM470X 2022-12-30 46 12/30

断网重连

  • 如果频繁掉线,可以考虑修改这两个配置项。(修改方法,自行搜索)
    • network -> interface -> WAN (pppoe) -> EDIT -> Advanced Settings -> LCP echo failure threshold 和 LCP echo interval
      网络 -> 接口 -> WAN (pppoe) -> 编辑 -> 高级设置 -> LCP 响应故障阀值 和 LCP 响应间隔
    • /etc/ppp/option 中的 lcp-echo-failure 和 lcp-echo-interval
  • 有时会出现(偶尔),wan连接正常,但无法访问网络。可以考虑写个脚本,定时执行。
    • 思路是:
      先访问一下百度,看是否正常,再访问一下搜狗,再访问一下163。如果三个站都无法访问,就执行 ifup wan 重拨。
      测试访问几个站,自己决定,测试哪几个站,自己挑选。用shell编程即可,装个完整版wget,用wget访问,判断返回值,就知道访问是否成功。
      记得设置timeout参数,wget的默认timeout好像是60秒,太长了。
      还要设置重试次数大于2,防止第一次访问因dns查询返回太慢而失败。
    • 以下给出一个例子参考,需要opkg、install、wget、ca-bundle支持。
count=0
URLs='http://baidu.com http://163.com http://www.qq.com http://sogou.com'
for host in $URLs ; do
#echo $host
# wget -t2 这个参数要>=2, 防止第一次访问dns解析超时,而导致失败
wget -q -T3 -t3 --method=HEAD --max-redirect=0 "$host"
if [ 4 -eq $? ]; then
echo $(date +%F_%T%z) $host 'error.' >> /root/log.redail
count=$((count+1))
else
break
fi
done
URL_cnt=$(echo $URLs|wc -w)
if [ $count -ge $URL_cnt ]; then
echo $(date +%F_%T%z) redail >> /root/log.redail
ifdown wan; sleep 1; ifup wan
fi

 

  • 然后放入 crontab 中定时执行
  • 我们设置为每1分钟执行一次脚本,那对应的cron就是: */1 * * * *
  • 那我们的最终crontab指令就是:
    */1 * * * * sh autologin.sh

     

  • OpenWRT添加断网重连脚本
    - THE END -

    AMDRadeonM470X

    2月02日16:29

    最后修改:2024年2月2日
    0

    非特殊说明,本博所有文章均为博主原创。

    共有 0 条评论