一、安裝DDNS服務
opkg update opkg install ddns-scripts luci-app-ddns
二、注冊一個動態域名
關於動態域名服務商,有太多的選擇。到底選擇哪個,全憑隨個人喜好,我就具體不推薦了。在本文中,僅以我個人使用的changeip.com的域名作為說明。changeip的官網如下:
https://www.changeip.com/
點擊Create Account 進行注冊一個賬號:
點擊login,進入如下界面:
選擇一個free ddns:
選好之后就會進入如下界面:
之后填一下個人信息即可。
最后可以通過管理界面,對動態域名進行管理:例如在Home界面下,點擊圖中“DNS Manager”:
進入管理頁面:
分別點擊下圖中的兩個連接:
分別可以得到如下結果:
三、使用DDNS並設置
1. 設置/etc/config/ddns
config 'service' 'myddns' option 'interface' 'wan' #選擇接口,wan,lan option 'check_interval' '10' #檢查ip變動的時間間隔 option 'check_unit' 'minutes' #檢查ip變動的時間單位 option 'enabled' '1' #是否啟用 option 'ip_source' 'web' #ip來源(網絡,接口,URL) option 'service_name' 'changeip.com' #選擇服務商 option 'domain' 'XXXXXXXXX' # XXXXXXXX動態域名 option 'username' 'YYYYYY' # YYYYYY 用戶名 option 'password' 'ZZZZZZ' # ZZZZZZ 密碼 option 'ip_url' ' http://[USERNAME]:[PASSWORD]@nic.changeip.com/nic/update?u=[USERNAME]&p=[PASSWORD]&cmd=update&hostname=[DOMAIN]&ip=[IP]"' #IP的更新URL option 'force_interval' '2' #強制更新間隔時間 option 'force_unit' 'minutes' #強制更新間隔時間單位
2. 添加ddns的IP變動的觸發事件
進入/etc/hotplug.d/iface/ 增加一個 30-ifup.sh,一旦網絡發生變化,檢查IP設置
#!/bin/sh # wan ifup
password=XXXXXXXX
username=YYYYYYYY
ddns=ZZZZZZZZZZZ
[ $ACTION = "ifup" -a $INTERFACE = "wan" ] && { ifconfig wan >> /tmp/mail.txt cat /tmp/mail.txt | ssmtp -v examples@maildomian.com # mail address sleep 60 cat /tmp/mail.txt | ssmtp -v examples@maildomian.com
} wget -q -0- 'http://nic.changeip.com/nic/update?u=$username&p=${password}&hostname=${ddns}&iffline=1' wget -q -0- 'http://ip.changeip.com/'
四、遇到的問題及解決方案
1. 我的路由器所在的工作環境:
a. 最外層上網機: 具備雙網卡,外網采用inode撥號,利用網絡共享,將Windows網卡設置網絡共享,共享給內網網卡。內網網卡沒有開啟dhcp功能。
b. 內網使用靜態路由,有多台機器通過交換機連接到外層上網機的內網網卡。
c. 路由器wan連接到交換機的一個口上,使用靜態ip。路由器的內網則采用DHCP。
在設置ddns之后,只能解析到最外層上網機的IP。
備注,可以申請一個外網撥號接口,路由器可以連接到撥號網口上。
解決辦法:
方法一:將inode撥號移植到Openwrt上,直接通過inode進行撥號上網。
在恩山上看到大神有移植過inode的帖子,可惜在我移植的過程中出現好多問題。。
方法二:設置端口映射。這個方法,我還沒有弄清楚。。。。太水了 -.-!!
如果哪位大神有比較好的方法,歡迎討論啊~~
ok,DDNS的設置就暫時講到這里了,木有解決問題,好不甘心!!!!
后面如果解決了問題,那么就開個單章將解決方法詳細的描述一下。