最近突然对DDNS来了兴趣,把家里的宽带猫,高清播放器翻出来捣腾了个遍,看看能否加入DDNS的支持。 DDNS用于家庭集中存储,脱机下载等的远程控制还是很有必要的。
1.宽带猫
首先琢磨能否在宽带路由器上设置DDNS,现在很多宽带猫和路由器都是内置支持DDNS的。以我现在手头上使用的ZTE W300,DB120-WG,RG200O-CA等待基本上都是支持的。但是所支持的DDNS服务大多是DynDNS和TZO之类,以前提供免费服务,现在都转为收费的了。也可以看出大多数厂家开发固件是对这一部分是没有上心的,纯粹就想糊弄下算了。我们个人用户也就是玩玩,付费而且还是美元实在没有必要。没有固件的源代码,也就无法修改重新编译定制自己的固件了。这一类硬件除非是刷第三方固件DD-WRT,OPENWRT,否则可玩性不强。不过我的DB120-WG刷了DLINK的DSL-2760U固件后,里面支持DLINKDDNS服务居然是免费的。
设置方法如下:在
www.dlinkddns.com上申请注册一个用户名xxx,
然后就会给你分配一个免费的动态域名xxx.dlinkddns.com
。
然后在你的modem上用管理员帐号登录,进入DNS->Dynamic DNS设置,
Add一条DDNS服务信息,主机名填:XXX.dlinkddns.com,接口选ppoe-???/ppp0,用户名当然是xxx,密码就是你注册时设置的密码。
然后保存设置,重启modem,过不了一会,你的DDNS就生效了。检查是否设置成功的办法就是ping一下你的动态域名,如果在ping时能够看到类似
[58.53.211.46]ip地址信息,然后与你的modem上设置页面显示的公网ip一致就说明成功了。
查你自己公网ip的方法很多,比如访问
www.123cha.com或者
http://www.net.cn/static/customercare/yourIP.asp。
2.高清播放器
高清播放器一般都使用的linux嵌入系统,目前有开源的DDNS客户端程序
inadyn可用。一般都不需要自己编译,网上能找到合适的编译好的程序直接用。
以我的linking ds4600刷了popcorn A110固件为例。Networked Media Tank提供了一套很好的管理固件插件/扩展程序的工具,叫做
Community Software Installer 。将它安装在与播放器同网段的pc机上(我在win7下运行出错,换了台winxp的电脑就ok了),按照软件提示点击鼠标就轻松搞定了。CSI可以安装,启动,停止扩展程序,还可以将程序设置成开机自启动。不过inadyn安装好后,还需要用ftp登录上去,修改配置文件
inadyn.conf,把其中的DDNS主机,用户名,密码换成你自己的才行。要注意的是,配置文件是linux格式的文本文件,在windows系统中需要用notepad+或者editplus来编辑。inadyn的配置请参照
这里。
inadyn支持多种DDNS服务,dyndns.org / freedns.afraid.org / zoneedit.com / no-ip.com / 3322.org。我选用的是no-ip.com,一个是免费,而且国内访问也正常,没有出现被屏蔽的现象,比花生壳之类的东东要稳定些。选用no-ip.com,要注意iandyn.conf中应该设置
dyndns_system default@no-ip.com最后详细说说我的海美迪HD600C的安装配置inadyn的过程,这个可花了我一整天的功夫,不过通过折腾,也对linux嵌入系统有了更多了解。嘿嘿
其实hd600c刷
http://www.hdpfans.com/thread-13671-1-1.html这一版的定制固件是很好的,这几乎是大多数刷机爱好者的选择。这个固件里面就包含了inadyn程序,不过是隐藏的。修改方法参见
http://weng32002.blogspot.com/2011/02/hd300b-dyndns-ip-address.html。
这个固件有一点不太方便的是,它的bt/pt下载需要你将播放器内的硬盘格式化为ext3格式。当然为了长期稳定运行transmission,硬盘格式化为ext3是上佳选择。但是我的硬盘里面已经有了1T多的资料,实在不想把数据弄丢了,只好考虑其他选择。
我最后选择的是Yonsm制作的精简固件
http://www.hdpfans.com/thread-42801-1-1.html。他的主页是
http://www.yonsm.net/post/557,喜欢的可以去捧捧场。
下面是我在Yonsm精简固件基础上修改增加inadyn支持的过程。
Yonsm固件有一个非常方便的web控制台,可以查看播放器的硬盘/内存/进程/资源占用情况,还可以安装transmission/FTP/ARIA等等。可以在web上直接输入安装命令。不过我是用telnet登录进去后安装的,感觉这样心里踏实些。
我的播放器选用固定ip:192.168.1.2,telnet进去后,用户名是root,以下命令用红色标识。
# cd /usr/local/etc/opt/bin
/usr/local/etc/opt/bin # ipkg install http://ipkg.nslu2-linux.org/feeds/optware/oss/stable/inadyn_1.97.4-1_mipsel.ipk
/usr/local/etc/opt/bin # exit
由于这个固件在启动时,并没有执行/usr/local/etc/opt/etc/init.d目录下的所有S??*命令,为简单起见,直接在S50transmission基础上修改。
先在pc上用editplus编辑好两个文件
inadyn.conf内容如下,星号部分换成你自己的帐号和密码
update_period_sec 300 # Check for a new IP every 300 seconds
# Enter your Dyn username and password here
username ******
password ******
dyndns_system default@no-ip.com
alias ******.no-ip.org
S50transmission内容如下
#!/bin/sh
DDNS_RESULT=`ps -e|grep '/opt/bin/inadyn'|sed -e "/grep/d"` ;
if [ -z "$DDNS_RESULT" ];then #判断DDNS_RESULT是否为空,为空则说明进程未启动
/opt/bin/inadyn > /dev/null &
fi
/opt/bin/transmission-daemon -B -p 9091 -a *.*.*.* -g /opt/etc/transmission -w /tmp/Downloads --no-incomplete-dir
注意以上加入了判断inadyn是否启动的脚本,防止其重复运行。
在web控制台启动ftp,然后ftp登录进入192.168.1.2,在/usr/local/etc/opt/etc上传inadyn.conf,在//usr/local/etc/opt/etc/init.d上传覆盖S50transmission