最近突然對(duì)DDNS來(lái)了興趣,把家里的寬帶貓,高清播放器翻出來(lái)?yè)v騰了個(gè)遍,看看能否加入DDNS的支持。 DDNS用于家庭集中存儲(chǔ),脫機(jī)下載等的遠(yuǎn)程控制還是很有必要的。
1.寬帶貓
首先琢磨能否在寬帶路由器上設(shè)置DDNS,現(xiàn)在很多寬帶貓和路由器都是內(nèi)置支持DDNS的。以我現(xiàn)在手頭上使用的ZTE W300,DB120-WG,RG200O-CA等待基本上都是支持的。但是所支持的DDNS服務(wù)大多是DynDNS和TZO之類,以前提供免費(fèi)服務(wù),現(xiàn)在都轉(zhuǎn)為收費(fèi)的了。也可以看出大多數(shù)廠家開(kāi)發(fā)固件是對(duì)這一部分是沒(méi)有上心的,純粹就想糊弄下算了。我們個(gè)人用戶也就是玩玩,付費(fèi)而且還是美元實(shí)在沒(méi)有必要。沒(méi)有固件的源代碼,也就無(wú)法修改重新編譯定制自己的固件了。這一類硬件除非是刷第三方固件DD-WRT,OPENWRT,否則可玩性不強(qiáng)。不過(guò)我的DB120-WG刷了DLINK的DSL-2760U固件后,里面支持DLINKDDNS服務(wù)居然是免費(fèi)的。
設(shè)置方法如下:在
www.dlinkddns.com上申請(qǐng)注冊(cè)一個(gè)用戶名xxx,

然后就會(huì)給你分配一個(gè)免費(fèi)的動(dòng)態(tài)域名xxx.dlinkddns.com

。
然后在你的modem上用管理員帳號(hào)登錄,進(jìn)入DNS->Dynamic DNS設(shè)置,
Add一條DDNS服務(wù)信息,主機(jī)名填:XXX.dlinkddns.com,接口選ppoe-???/ppp0,用戶名當(dāng)然是xxx,密碼就是你注冊(cè)時(shí)設(shè)置的密碼。

然后保存設(shè)置,重啟modem,過(guò)不了一會(huì),你的DDNS就生效了。檢查是否設(shè)置成功的辦法就是ping一下你的動(dòng)態(tài)域名,如果在ping時(shí)能夠看到類似
[58.53.211.46]ip地址信息,然后與你的modem上設(shè)置頁(yè)面顯示的公網(wǎng)ip一致就說(shuō)明成功了。

查你自己公網(wǎng)ip的方法很多,比如訪問(wèn)
www.123cha.com或者
http://www.net.cn/static/customercare/yourIP.asp。
2.高清播放器
高清播放器一般都使用的linux嵌入系統(tǒng),目前有開(kāi)源的DDNS客戶端程序
inadyn可用。一般都不需要自己編譯,網(wǎng)上能找到合適的編譯好的程序直接用。
以我的linking ds4600刷了popcorn A110固件為例。Networked Media Tank提供了一套很好的管理固件插件/擴(kuò)展程序的工具,叫做
Community Software Installer 。將它安裝在與播放器同網(wǎng)段的pc機(jī)上(我在win7下運(yùn)行出錯(cuò),換了臺(tái)winxp的電腦就ok了),按照軟件提示點(diǎn)擊鼠標(biāo)就輕松搞定了。CSI可以安裝,啟動(dòng),停止擴(kuò)展程序,還可以將程序設(shè)置成開(kāi)機(jī)自啟動(dòng)。不過(guò)inadyn安裝好后,還需要用ftp登錄上去,修改配置文件
inadyn.conf,把其中的DDNS主機(jī),用戶名,密碼換成你自己的才行。要注意的是,配置文件是linux格式的文本文件,在windows系統(tǒng)中需要用notepad+或者editplus來(lái)編輯。inadyn的配置請(qǐng)參照
這里。
inadyn支持多種DDNS服務(wù),dyndns.org / freedns.afraid.org / zoneedit.com / no-ip.com / 3322.org。我選用的是no-ip.com,一個(gè)是免費(fèi),而且國(guó)內(nèi)訪問(wèn)也正常,沒(méi)有出現(xiàn)被屏蔽的現(xiàn)象,比花生殼之類的東東要穩(wěn)定些。選用no-ip.com,要注意iandyn.conf中應(yīng)該設(shè)置
dyndns_system default@no-ip.com最后詳細(xì)說(shuō)說(shuō)我的海美迪HD600C的安裝配置inadyn的過(guò)程,這個(gè)可花了我一整天的功夫,不過(guò)通過(guò)折騰,也對(duì)linux嵌入系統(tǒng)有了更多了解。嘿嘿
其實(shí)hd600c刷
http://www.hdpfans.com/thread-13671-1-1.html這一版的定制固件是很好的,這幾乎是大多數(shù)刷機(jī)愛(ài)好者的選擇。這個(gè)固件里面就包含了inadyn程序,不過(guò)是隱藏的。修改方法參見(jiàn)
http://weng32002.blogspot.com/2011/02/hd300b-dyndns-ip-address.html。
這個(gè)固件有一點(diǎn)不太方便的是,它的bt/pt下載需要你將播放器內(nèi)的硬盤格式化為ext3格式。當(dāng)然為了長(zhǎng)期穩(wěn)定運(yùn)行transmission,硬盤格式化為ext3是上佳選擇。但是我的硬盤里面已經(jīng)有了1T多的資料,實(shí)在不想把數(shù)據(jù)弄丟了,只好考慮其他選擇。
我最后選擇的是Yonsm制作的精簡(jiǎn)固件
http://www.hdpfans.com/thread-42801-1-1.html。他的主頁(yè)是
http://www.yonsm.net/post/557,喜歡的可以去捧捧場(chǎng)。
下面是我在Yonsm精簡(jiǎn)固件基礎(chǔ)上修改增加inadyn支持的過(guò)程。
Yonsm固件有一個(gè)非常方便的web控制臺(tái),可以查看播放器的硬盤/內(nèi)存/進(jìn)程/資源占用情況,還可以安裝transmission/FTP/ARIA等等。可以在web上直接輸入安裝命令。不過(guò)我是用telnet登錄進(jìn)去后安裝的,感覺(jué)這樣心里踏實(shí)些。
我的播放器選用固定ip:192.168.1.2,telnet進(jìn)去后,用戶名是root,以下命令用紅色標(biāo)識(shí)。
# 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
由于這個(gè)固件在啟動(dòng)時(shí),并沒(méi)有執(zhí)行/usr/local/etc/opt/etc/init.d目錄下的所有S??*命令,為簡(jiǎn)單起見(jiàn),直接在S50transmission基礎(chǔ)上修改。
先在pc上用editplus編輯好兩個(gè)文件
inadyn.conf內(nèi)容如下,星號(hào)部分換成你自己的帳號(hào)和密碼
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內(nèi)容如下
#!/bin/sh
DDNS_RESULT=`ps -e|grep '/opt/bin/inadyn'|sed -e "/grep/d"` ;
if [ -z "$DDNS_RESULT" ];then #判斷DDNS_RESULT是否為空,為空則說(shuō)明進(jìn)程未啟動(dòng)
/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是否啟動(dòng)的腳本,防止其重復(fù)運(yùn)行。
在web控制臺(tái)啟動(dòng)ftp,然后ftp登錄進(jìn)入192.168.1.2,在/usr/local/etc/opt/etc上傳inadyn.conf,在//usr/local/etc/opt/etc/init.d上傳覆蓋S50transmission