最近突然對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