这年头,赶上了金融危机,银子少了,虚拟主机功能太弱,主机托管太贵,还是在家整台电脑当服务器来得实在。宽带通了,域名申请一个或者弄个免费的,就差动态域名解释了。大名鼎鼎的花生壳还不错,可是谁愿意桌面上多跑个客户端程序啊?更何况如果是服务器的话,不登录也无法启动客户端。于是自己整了个解决方案,完全满足动态域名解释,还支持宽带路由器。

首先,得找个支持动态解释的域名服务商,这样的机构很多,例如:http://www.2mydns.com/dnsexit 。前者需要捐助至少一美元,后者完全免费,还可以申请免费域名。我就是用的后者。具体如何操作,如何申请免费域名,它们网站上都有详细说明,我就不在这说明了。如果你是用自己的域名,记得要把你域名的dns指到它们那。因为只有它们才支持动态域名解释。也就是说你一更新你的域名IP地址,马上就能生效。而普通的DNS服务商至少也得等上几个小时。

有了域名和动态域名解释的服务商,就差动态更新IP地址了。如果你不怕麻烦的话,可以每次IP地址变了后登录它们的网站,手工设置一下新的IP。或者下载我这个程序,自动帮你更新。我把这个程序开源了,放到了Google code, 地址是:http://code.google.com/p/mydynamicdns/ 项目名称就叫mydynamicdns。

使用方法

下载了mydns.exe后,安装。这是个服务程序,安装非常简单。打开命令提示符,运行:

Shell代码
  1. mydns.exe /install    
 

提示安装成功,然后打开控制面板、管理工具、服务,找到My dns, 启动服务。

打开注册表,HKEY_LOCAL_MACHINE\SOFTWARE\mydns, 默认是根据dnsexit来配置的。将DemoDNS改成你的域名或主机名,例如www.mycompany.com, 然后选中它,右边显示有用户名密码,将HostName的值改成你的域名或主机名,与前面的一样,如:www.mycompany.com;将UserName的值改为你在dnsexit注册的用户名,将Password的值也改成你的密码。如此这般就完成了。

如果你有多个域名或主机要更新,就在mydns下,照着DemoDNS再建一个,就可以了。

如果你使用的是2mydns,将DNSUrl中的内容替换成2mydns的网址就可以了。

当你电脑启动10分钟后,mydns 就会自动帮你更新域名IP。即便你上网的IP地址变了,最多10分钟,这个程序就会帮你自动更新。

如果想了解得更多点,可以看看下面的原理说明,否则你可以跳过。

原理

其实很简单,mydns服务通过访问注册表中的IPUrl对应的网址获取你的外网IP,然后到dnsexit上去更新你的域名所对应的IP地址。当然,dnsexit不会让你无休止地更新,相同的IP不能反复去更新。因此mydns在获取外网IP后,会与www.mycompany.com下的 CurrentIP进行比较,如果相同就不更新了,避免dnsexit禁用你的账户。

如果你使用了宽带路由器,就需要将所需端口映射到你的电脑上,具体操作可以参考路由器的说明。

这几个月一直用它,效果很理想,从来没出过问题。

posted on 2009-03-16 17:41  javamen  阅读(6776)  评论(0编辑  收藏  举报