幫我們的粉絲專頁按個讚!
本教學將帶您在 Ubuntu 上使用 DuckDNS 的DDNS 服務。
事前準備
- 註冊 DuckDNS 服務,可參閱此篇 註冊申請 Duck DNS 服務
編寫 DuckDNS 更新執行檔
新增一個資料夾,並且在資料夾中新增一個執行檔。
mkdir duckdns
cd duckdns
vi duck.sh
將以下內容貼至檔案中,domains 填寫自己登記的子網域,這裡以 meow-198為範例。token 填寫自己的。
echo url="https://www.duckdns.org/update?domains=meow-198&token=xxxxxx-xxxx-xxxx-xxxx-xxxxx&ip=" | curl -k -o ~/duckdns/duck.log -K -
完成後將檔案進行儲存,並該改檔案權限。
chmod 700 duck.sh
到 crontab 設定定時執行
前往 crontab 的設定。
crontab -e
將以下語法新增至最下方,意思是每5分鐘執行DuckDNS的更新。
*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1
完成後透過CTRL+o 儲存,然後使用 CTRL+x 退出。
測試看看
現在可以執行DuckDNS更新檔,測試看看有沒有問題。
./duck.sh
如果想查看一些 log,可以開啟 duck.log 檔案
cat duck.log
如果想要使用 IPv6
由於上面方法只能更新 DuckDNS 的IPv4位置,如果網路環境下有支援IPv6的話,可以將 duck.sh 裡的內容替換為以下內容。
domain=meow-198
token=xxxxxx-xxxx-xxxx-xxxx-xxxxx
ipv6addr=$(ip r get to 2606:4700:4700::64 | perl -ne '/src ([\w:]+)/ && print "$1"' )
curl -s "https://www.duckdns.org/update?domains=$domain&token=$token&ip=" -o ~/duckdns/duckdns.log
curl -s "https://www.duckdns.org/update?domains=$domain&token=$token&ipv6=$ipv6addr" -o ~/duckdns/duckdns.log
總結
這樣就完成 DuckDNS 的設定了,如果需要外網存取的話,可能要前往路由器設定 Port 轉發。
聽說有隻叫做夜空藍喵の夜喵
這位編輯懶到什麼自我介紹也沒打...
本站內容未經授權許可請勿擅自抄襲
如果需引用部分內容請註明來源網址
發表時間:2022/03/10 16:15:09
修改時間:2022/03/26 12:12:04