利用DNSPod与脚本实现属于自己的DDNS

这篇文章也是PT下载机折腾系列博文的续篇,呵呵。有了PT下载机,也装好了Transmission,其实还有个最大的需求,就是希望能在地球上的任何一处地方访问和管理PT下载。关于俺朝的ADSL,大家都懂的,由于IP资源的缺乏,大多ADSL都用的不固定IP。也即,当你的ADSL断掉后重拨的话,你的公网IP是会变化的。基于这样的情况,配置一个动态DNS就是必不可少的了。

所谓动态DNS,一般是以一个普通的免费二级域名为基础,在客户端获取到公网IP后,动态去更新二级域名的解析记录,从而可以通过屏蔽IP变化的方式,实现通过域名来进行访问的技术。现在的DDNS,一般分为两种实现方式:第一种,是路由器内置了这样的功能和软件,只要你在路由器进行正确的配置,路由器会把获取到的IP自动给你更新到DDNS服务商那里。第二种,是桌面客户端的方式,比如一个运行在windows下面的程序,获取到公网IP后,也去动态更新你的域名解析记录。

如果能用路由器,那是最方便的,国产的大多数路由器都提供DDNS的功能。不过我那个刚买的路由器就悲催了,官方固件里面只提供一家DDNS服务商,叫啥DynDNS.org,上去官方网站看了看,他们提供的服务还是收费的,在免费使用一定时间后,就需要收费了,相当的杯具啊…… 虽然一年20到的价格不算很贵,不过我觉得实在是没有这个必要。

通过强大的Google,哥终于找到了另外一种解决办法,就是通过DNSPod来实现自己的DDNS。

DNSPod是国内比较知名的DNS解析服务提供商,他们不但提供免费的域名解析,其实你去官网看看,就会发现,他们的系统还提供API调用的方式来实现更多自动化的功能。偶下载了一份他家的API文档,大致一看,功能非常的丰富和详尽。

正好,我的域名也放在DNSPod解析,这样也为实现DDNS提供了前提条件。

如果你想用DNSPod来实现DDNS,你得满足一下的两个条件:

首先,你得有一个属于自己的域名,不管是.net还是.com还是.org等等,反正是一个属于自己的域名。

其次,你得把你的域名的name server改到DNSPod去。不管你的域名托管在哪家服务商,name server的地址是可以自己修改的。你可以在DNSPod注册一个帐号,然后获取到name server地址,填到你的域名设置里面,等待生效。

待生效后,你就可以在DNSPod来添加和维护你的域名解析记录了。

如果你满足了上面的条件,那你就可以通过这里的方式来实现DDNS了: https://www.dnspod.cn/Support/Api

DNSPod提供的API,也有很多网上的童鞋,做出了很多的第三方项目,实现DDNS的功能。由于我的PT机器用的Linux,所以,我选择了那个SSH的项目。作者的Blog有具体的说明,只要下载好脚本,填好你用来作为DDNS的二级域名,运行即可。这里,还得注意一下,这个二级域名要事先在DNSPod的系统里面添加好。

到此,利用DNSPod就可以实现属于自己的DDNS了,这样,通过路由器映射端口,哥可以在世界上任何一个有互联网的地方访问俺运行在家里的PT下载机了……

PS:最近俺在学习Ruby,在研究了DNSPod的API之后,打算也用Ruby来做一个DDNS的第三方项目。目前已经完成接近50%,大家期待着吧,哈哈哈哈……

后记

Ruby做的DDNS工具地址:https://github.com/TimothyYe/DynDNS

另外,强力推荐Go开发的DDNS工具: https://github.com/TimothyYe/godns,相比Ruby的DDNS工具,无需Ruby环境,一个独立可执行文件和配置文件即可运行,更加灵活和方便。

支持原创技术分享,据说打赏我的人,都找到了女朋友!