本教學將帶您在 Ubuntu 上使用 DuckDNS 的DDNS 服務。

事前準備

編寫 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 轉發。

類別:
標籤:

聽說有隻叫做夜空藍喵の夜喵 的頭像

聽說有隻叫做夜空藍喵の夜喵

這位編輯懶到什麼自我介紹也沒打...

在 Ubuntu 上使用 DuckDNS 的 DDNS 服務 - QR Code

本站內容未經授權許可請勿擅自抄襲
如果需引用部分內容請註明來源網址

發表時間:2022/03/10 16:15:09
修改時間:2022/03/26 12:12:04

此頁面網址:https://blog.reh.tw/archives/3299

Facebook 留言