openwrt校园网自动登录且断网重连

开机自动登录

  1. shh登录路由器后台
  2. 创建autologin文件夹和autologin.sh
mkdir autologin
cd autologin
vi autologin.sh

输入以下代码

curl 'http://10.0.1.5/drcom/login?callback=dr1003&DDDDD=账号&upass=密码&0MKKey=123456&R1=0&R2=&R3=0&R6=0¶=00&v6ip=&terminal_type=1&lang=zh-cn&jsVersion=4.1&v=1891&lang=zh'
###每个学校抓的url不同,这是桂电的

然后保存退出。
3. 网页登录openwrt后台,在启动项添加

bash root/autologin/autologin.sh

这样路由器开机就会自动登录校园网了,大功告成!

断网重连

  1. 首先创建个文件夹
mkdir ping
cd ping
  1. 在文件夹里面建个ping.sh脚本,脚本内容如下
#ping 的总次数
PING_SUM=3
#ping 的间隔时间,单位秒
SLEEP_SEC=10
#连续重启网卡 REBOOT_CNT 次网络都没有恢复正常,重启软路由
#时间= (SLEEP_SEC * PING_SUM + 20) * REBOOT_CNT
REBOOT_CNT=3
LOG_PATH="/root/ping/log.txt"
cnt=0
reboot_cnt=0
while :
do
    ping -c 1 -W 1 www.baidu.com > /dev/null
    ret=$?
    
    ping -c 1 -W 1 www.bilibili.com > /dev/null
    ret2=$?
    if [[ $ret -eq 0 || $ret2 -eq 0 ]]
    then
		echo -e 'network is ok\r'
    	exit
        #cnt=0
        #reboot_cnt=0
    else
        cnt=`expr $cnt + 1`
        echo -n `date '+%Y-%m-%d %H:%M:%S'` >> $LOG_PATH
        printf '-> [%d/%d] Network maybe disconnected,checking again after %d seconds!\r\n' $cnt $PING_SUM $SLEEP_SEC >> $LOG_PATH
        printf '-> [%d/%d] Network maybe disconnected,checking again after %d seconds!\r\n' $cnt $PING_SUM $SLEEP_SEC 
        
        if [ $cnt == $PING_SUM ]
        then
            echo 'try to re curl' >> $LOG_PATH
            echo 'ifup wan!!!'
            sleep 5
            curl 'http://10.0.1.5/drcom/login?callback=dr1003&DDDDD=账%40unicom&upass=密&0MKKey=123456&R1=0&R2=&R3=0&R6=0¶=00&v6ip=&terminal_type=1&lang=zh-cn&jsVersion=4.1&v=3569&lang=zh'
            
            cnt=0
            #重连后,等待10秒再进行ping检测
            sleep 8
            #网卡重启超过指定次数还没恢复正常,重启软路由
            reboot_cnt=`expr $reboot_cnt + 1`
            if [ $reboot_cnt == $REBOOT_CNT ]
            then
                echo -n `date '+%Y-%m-%d %H:%M:%S reboot!'` >> $LOG_PATH
                echo '-> Network has some problem, lets reboot' >> $LOG_PATH
                echo '-> =============== reboot!'
                reboot
            fi
        fi
    fi    
    sleep $SLEEP_SEC
done


  1. 然后编辑crontab计划任务
crontab -e
  1. 添加如下代码
*/1 * * * * bash /root/ping/ping.sh

这样每分钟检测一次,断网就会重连了

你可能感兴趣的:(笔记,网络,linux,运维)