Sian 发表于 2015-12-7 15:44:49

Linux下最简单的动态域名解析

本帖最后由 Sian 于 2015-12-7 15:52 编辑

一、准备材料
1、在国内动态域名解析一般使用花生壳,即oray.com这个家伙,可以免费申请一个二级域名(oray帐号一个);
2、注册了oray帐号你就能申请到一个免费的支持动态域名解析的二级域名(支持动态域名解析的域名一个);
3、如果你有自己的顶级域名,觉得使用别人的二级域名不够屌,可以呀,做别名处理简单搞定(顶级域名一个,这个没有没关系);
4、Linux或Unix或类Unix主机一台(我在这里针对小米路由器做测试,前提是小米路由器已经root了,能够ssh登录后台);

二、基本原理
1、假如家里使用的ADSL拨号上网,路由器上会获得一个公网ip地址;
2、我想通过某个域名对应这个ip地址,但这个ip地址随着每次的拨号都会发生变化;
3、通过某种机制,当ip发生变化时告诉DNS服务器,让他即时更新;
4、问题来了,谁来告诉DNS服务器ip变了?这是我们今天的重点!

三、解决方案
1、小米路由器在路由模式下支持DDNS,直接输入花生壳的用户名及密码,对应域名,路由器会自动上报ip给oray的DNS服务器更新;
2、如果在桥接模式下,路由器的DDNS功能无法使用,至少界面上无法操作到了,实际上应该是能用的,因为小米路由器本身不也要升级吗?
3、oray是有PC客户端的,但总不能为了一个动态ip搞台电脑24小时待机,不实在,有嵌入式的客户端那可接受,小米路由器支持该功能实际上就是安装了这种嵌入式的小客户端;
4、如果没有,还有一个办法可以解决,啰嗦了这么多总算谈到重点上了,先看看花生壳官网的说明

方式1:使用URL验证   适用于浏览器或应用程序(fetch, curl, lwp-request)
访问地址:http:/username:[email protected]/ph/update?hostname=yourhostname&myip=ipaddress

方式2:原始HTTP GET访问    如何在ROS中设置花生壳ddns
GET /ph/update?hostname=yourhostname&myip=ipaddress HTTP/1.0
Host: ddns.oray.com
Authorization: Basic base-64-authorization
User-Agent: Oray
注:其中 base-64-authorization 请使用 Base64 加密 username:password 后的字符替换

四、技术支持
1、Linux开机自启动:http://yusian.com/thread-5505-1-1.html
2、Linux设置定时任务 http://yusian.com/thread-10700-1-1.html

五、实现方式
1.1、vi /etc/rc.local
1.2、在exit 0前面添加一行内容如下,实现开机即自动刷新一次;
wget -q -O /tmp/log/oray.log 'http://用户名:密码@ddns.oray.com/ph/update?domain= 动态域名'中文部分根据实际替换
2.1、vi /etc/crontabs/root
2.2、在最后面添加一行,实现每10分钟自动刷新一次;
*/10 * * * * wget -q -O /tmp/log/oray.log 'http://用户名:密码@ddns.oray.com/ph/update?domain=动态域名'

页: [1]
查看完整版本: Linux下最简单的动态域名解析