文章背景:
这位网友是中国移动江苏省的宽带用户。移动宽带上网需要拨号,有时拨号得到的是公网IP,有时得到的是内网IP。找我帮忙,写个脚本,让路由器自动判断。获取内网IP,自动重启,直到获得公网。而凌晨的拨号上网是最有可能拿到公网IP的。事实上,通过使用上一篇文章中的方法,您可以在root后定期重启。下图是内网IP。

下面我们来看看具体的方法:
1.首先确定路由器的根。方法是先下载支持telnet的固件,然后将电脑连接到路由器,打开浏览器,输入192.168.11.1,进入路由器管理页面。登录后点击顶部菜单,设置更多设置,手动升级,如下图所示。
2.点击上传文件按钮,浏览电脑中的文件,找到刚才的telnet固件,点击文件上传。上传成功后,验证并确认升级。如下图所示。等待几分钟,让路由器重新启动,然后拔掉路由器的电源,恢复出厂设置,再次启动。
3.路由器重启几分钟后,电脑再次连接路由器,然后用xshell登录成功的路由器。如下图所示。远程管理必备软件之一,初学者必备Xshell教程。
4.添加一个判断脚本,从拨号后wan口获取的ip中截取第一段进行判断。第一段ip地址是172或者192和100,都是内网ip。然后路由器自动重启,重启后重新拨号判断,一直坏。然后,在添加计划任务后,每2分钟执行一次判断脚本。
在命令窗口中
输入cd /bin并按Enter键将目录更改为bin。
输入vi check.sh并按Enter键编辑脚本文件。
5.按字母“I”进入编辑状态,输入以下脚本或选择复制,进入编辑窗口并粘贴进去。然后按Esc建议编辑,按“:wq”保存脚本
#!/bin/sh
log time = ` date "+% Y-% M-% d % H:% M " ` n

ip1 = " $;打印}'|awk -F '。“{ print $ 1;}')"
if[" $ ip1 " x = " 172 " x]| |[" $ ip1 " x = " 192 " x]| |[" $ ip1 " x = " 100 " x];
然后
重新启动
其他
船方不负担装货费用
保存脚本后,授予脚本执行权限。输入命令chmod777check.sh。
6.添加定时任务,设置为每2分钟判断一次,如果不是公网IP重启路由器。
在命令窗口中,输入crontab -e并输入。
按“I”键进入编辑模式。
输入*/2 * * */bin/check.sh。

按Esc键退出编辑模式。输入“:wq”并输入。
所有操作完成。重新启动路由器一次。重启后会自动获取公网,而不是公网自动重启。如果不再需要该脚本,请输入命令行并输入rm /bin/check.sh将其删除。
注意:
1.如果本地拨号得不到公网,脚本会让路由器反复重启。此时,您只能在重启后两分钟内删除脚本或恢复出厂设置,也可以清除脚本。命令中的星号之间有一个空空格。
2.只有本地宽带拨号有时能得到公网IP,有时内网IP脚本适用。不限于中国移动宽带或中国电信宽带。该脚本仅替代路由器的手动重启。


