文章背景:
网友是江苏省中国移动的宽带用户,移动宽带上网需要拨号,而且有时候拨号获得的是公网IP,有时候获取到的是内网IP,向我求助帮忙,编写个脚本,让路由器自动判断。获取到内网IP就自动重启,直到获取到公网为止。并且凌晨时段拨号上网获取公网IP几率最大,实际上利用前面文章中办法,root后添加定时重启即可。下图就是内网IP。下面看一下具体办法:
![c5e0520f0d11e4c39c431d95a96ce43c.png](https://i-blog.csdnimg.cn/blog_migrate/d2f5044475195beb777976e6d5dd4417.jpeg)
1、先root路由器(文中路由器就是优酷路由宝),方法是先下载开telnet的固件,然后电脑连接路由器,打开浏览器,输入192.168.11.1进入路由器管理页面,登录后点击顶部菜单,更多设置,手动升级,如下图所示。
![017b2f7ffa0e3b4b16d85c1d5ef419f5.png](https://i-blog.csdnimg.cn/blog_migrate/1433d731ef428bb03fc835384d9c0b52.jpeg)
2、点击上传文件按钮,浏览电脑中文件,找到刚才的开telnet固件,点击文件上传。上传成功后,通过验证,确认升级。如下图所示。等待几分钟路由器重启,然后拔路由器恢复出厂设置再次重启。(这一步不是必须,只有telnet不能登录路由器时才需要恢复出厂设置。)
![c0c410328daead68a8f4008044bb3fe2.png](https://i-blog.csdnimg.cn/blog_migrate/eca586ec55ea74a01e9e33690794bb5f.jpeg)
3、等几分钟路由器重启后,电脑再次连接路由器,然后用xshell登录成功路由器。如下图所示。
![27e145079ae482435a8a9f29edbb2a7c.png](https://i-blog.csdnimg.cn/blog_migrate/4a3bd882f24d658645f76112c40fe1f4.jpeg)
4、添加判断脚本,通过拨号后wan口获取的ip,截取第一段来判断,ip地址中第一段是172或192和100的都是内网ip,然后路由器自动重启,重启后再次拨号判断,一直循坏。然后在添加定时任务,每2分钟执行一次判断脚本。
在命令窗口
输入cd /bin 回车,切换目录到bin。
输入vi check.sh 回车,编辑脚本文件。
![afa88650a95d234aee1141acd2616c89.png](https://i-blog.csdnimg.cn/blog_migrate/658beffd3d3d45001173dfffb53089f8.jpeg)
5、按下字母“i”进入编辑状态,输入以下脚本或者选择复制,进入编辑窗口粘贴进去。然后按Esc提出编辑,按下“:wq”保存脚本
#!/bin/sh
logtime=`date "+%Y-%m-%d %H:%M"`
ip1="$(ifconfig pppoe-wan|awk 'NR==2{print$2}'|awk '{sub("addr: