动态域名解析替代方案,固定网址(URL)访问动态IP的Openwrt路由器方法实现。
身在公司想控制家里的Openwrt路由器,而家里的路由器又是动态IP,无法通过固定IP访问,此时你可以使用动态域名解析服务达到这一目的,但是如果由于种种原因你无法使用动态域名解析服务,本方案是你最佳第二选择。
在路由器端安装自启动脚本,实时检测路由器外网IP地址,如果发送变动就向贝壳物联服务器上报最新IP地址,贝壳物联将这一IP与固定URL绑定,实现通过互联网固定URL访问到动态IP的路由器。
注:实现前提,需要通过外网ip能访问到该路由器,设置可参见:外网控制访问openwrt路由器的设置
2、进入会员中心,添加Dns网关,如下图:
点击添加网关,进入如下界面:
按图中说明填写,点击确定,即可生成一个Dns网关和固定访问URL,通过此URL即可访问你的设备。
3、动态绑定IP
由于你的智能设备ip是动态ip,有可能在重新连接外网后发生变化,所以要在路由器或其他智能设备,添加脚本,在路由器ip发生变化时告知Dns网关你的最新ip。
更新Dns网关绑定的ip,可以通过访问 http://www.bigiot.net/Dns/updateDns?id=【Dns网关id】&ip=【路由器ip】&pw=【Dns网关密码】&pt=【欲绑定的端口】
参数可采用post或get方式发送。
以openwrt路由器为例说明脚本使用方法。
本站所有公开代码托管于GitHub,方便大家使用和共同参与完善,地址:https://github.com/bigiot?tab=repositories
进入以上链接,依次点击 bigiotOpenwrt -> Download ZIP下载。
下载后解压,得到如下文件:
/ connectBigiot/ updateDns/ ...
使用WinSCP将updateDns文件夹下所有文件上传至路由器/home目录,也可以为其他目录。
在openwrt设置界面的选择系统->计划任务,在计划任务中添加如下命令,并在末尾加回车:
*/2 * * * * /home/updateDns.sh 1 44fd8e97e 80
crontab命令行解释如下:
*/20 * * * *
表示20分钟执行一次脚本;
/home/updateDns.sh
为脚本位置;
1
是申请的Dns网关的ID 必填
ddfd8XXXX
是申请的Dns网关密码 必填
80
绑定的端口 默认为80 可选(图中设置为2002端口)
通过以上脚本即可在您的ip地址变动时通知贝壳物联Dns网关。
2、其他脚本
暂无,欢迎大神git提交其他脚本。
=======================完===毕===========================
如有疑问请到话题讨论区进行讨论。