Linux下DDNS客戶端的使用
《ARM Linux開發-warewin 2G/3G無線傳輸(DTU)和路由器—筆記》
8.3.1、DDNS原理
動態DNS又名DDNS,它的主要功能是實現固定域名到動態IP地址之間的解析。對於使用動態IP地址的使用者,在每次上網得到新的IP地址後,安裝在主機上的動態域名軟體就會將該IP地址傳送到由DDNS服務商提供的動態域名解析伺服器,並更新域名解析資料庫。當Internet上的其他使用者需要訪問這個域名的時候,動態域名解析伺服器就會返回正確的IP地址。這樣,大多數不使用固定IP地址的使用者,也可以通過動態域名解析服務經濟、高效地構建自身的網路系統。
Linux下DDNS客戶端的使用及移植
目前提供免費的Linux DDNS客戶端
1、到花生殼官方網站申請一個賬號,在該賬號下申請一個域名,域名如:warewin.eicp.net。
2、1臺linux系統的主機、1臺linux系統的ARM開發板。
4、linux主機上編譯
將下載的壓縮檔案拷貝到linux主機的某一目錄下。
# tar zxvf phddns-2.0.5.19225.tar.gz
# cd phddns-2.0.5.19225
# ./configure 為當前平臺編譯
# make 編譯最終可執行檔案
# cd src
在/phddns-2.0.5.19225.tar.gz/src目錄下就可看到編譯生成的可執行程式phddns。
5、建立配置檔案
(1)預設使用/etc/phlinux.conf配置檔案,編輯/etc/phlinux.conf配置檔案內容如下:
[settings]
szHost = PhLinux3.Oray.Net #伺服器地址
szUserID = warewin #您的Oray帳號名稱
szUserPWD = 123456 #對應的Oray帳號密碼
nicName = eth0 #需要繫結的網絡卡
szLog = /var/log/phddns.log #日誌檔案儲存的路徑
(2)如果不建立配置檔案在程式執行時則自動進入互動配置,配置後程序自動生成phlinux.conf配置檔案儲存在/etc目錄下。互動配置過程如下:
# ./phddns
輸入伺服器地址,如無特殊情況可使用預設值
Enter server address(press ENTER use phlinux3.oray.net):
輸入您的Oray帳號名稱
Enter your Oray account:
對應的Oray帳號密碼
Password:
選擇繫結的網絡卡,如無特殊,預設即可
Network interface(s):
eth0:192.168.141.18
lo:127.0.0.1
Choose one(default eth0):
選擇日誌儲存到哪個檔案
Log to use(default /var/log/phddns.log):
儲存配置檔案,選擇yes則直接儲存到/etc/phlinux.conf,輸入other可以指定檔案
Save to configuration file (/etc/phlinux.conf)?(yes/no/other):
6、後臺模式啟動花生殼
# cp phddns /usr/bin/
# /usr/bin/phddns -c /etc/phlinux.conf -d
phlinux started as daemon!
# tail /var/log/phddns.log 檢視日誌資訊
Sat Apr 27 09:53:34 2013| ExecuteUpdate domain "."
Sat Apr 27 09:53:34 2013| SEND CNFM DATA...Sat Apr 27 09:53:34 2013| OK
Sat Apr 27 09:53:34 2013| ExecuteUpdate 250 Register successfully
Sat Apr 27 09:53:34 2013| 250 5711013 138270644
Sat Apr 27 09:53:34 2013| ExecuteUpdate nChatID:5711013, nStartID:138270644
(7、移植到ARM平臺
(1)在linux主機上進行ARM交叉編譯,需要預先安裝好相關的交叉編譯器。
# cd phddns-2.0.5.19225
#./configure --host=i386-linux --target=arm-linux --build=arm-linux CC=arm-linux-gcc LD=arm-linux-ld
#make clean
#make
# cd src
# file phddns
phddns: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, stripped
(2)將編譯生成的ARM版本可執行程式phddns放到根檔案系統原始碼的的/usr/sbin目錄下。
(3)編輯phlinux.conf 配置檔案並放到根檔案系統原始碼的/etc目錄下。
(4)重新壓縮根檔案系統並下載到開發板中。
(5)進入ARM開發板系統後,執行/usr/sbin目錄下的phddns程式即可。
8、常見問題
(1)如何手動修改登陸的使用者名稱及密碼?
您可以直接編輯/etc/phlinux.conf檔案,對登陸使用者名稱及密碼進行修改。
(2)為什麼花生殼無法登陸?
花生殼使用的通訊埠是TCP:6060和UDP:6060(方向:OUT),請確認防火牆沒有把這幾個通訊埠封掉。
(3)如何檢視花生殼當前執行狀態?
檢視日誌:
# tail /var/log/phddns.log
9、Ping域名
在區域網內的任一臺linux主機或ARM開發板上執行phddns 程式後,在另一臺主機上執行Ping命令:
ping warewin.eicp.net -t
ping獲得的IP地址為區域網閘道器出口處的公網IP地址。
當公網IP地址發生改變後,再次ping warewin.eicp.net,獲得的IP地址為公網IP發生改變後的地址。