這是一篇關於 免費DDNS 架設的完整實戰教學。如果您家中有 NAS、架設網站或是安裝了監視器,這句話一定說出了您的心聲:
「受夠了 No-IP 每 30 天手動續期?」
身為免費版用戶,我們都經歷過那個共同的噩夢:收到「您的網域即將到期」的 Email,只要忙碌忘記點擊連結,家中設備就斷線失聯。除了續期地獄,免費版網址又長又難記,還得忍受將 IP 暴露給第三方平台的不確定性。
為什麼選擇 GCP 進行「免費 DDNS 自架」?
為什麼不自己掌握主控權?本系列教學將帶您利用 Google Cloud Platform (GCP) 的「永久免費」方案,搭配我們開發的開源系統,完成 免費 DDNS 自架,打造一套「永久免費、免續期、企業級」的管理平台。
自架方案強在哪裡?
- 完全免費且免續期:使用 GCP e2-micro 免費額度,效能足以應付成百上千次 DNS 更新,永遠不用擔心 30 天到期問題。
- Web 可視化管理:這是最強大的功能!我們提供一個漂亮的 Web 管理後台。不管您有 1 台還是 50 台設備(公司/分店/住家),都能在網頁上一鍵管理,不用再記複雜的指令。
- 安全性完勝:內建銀行級加密與防暴力破解機制,比市面上的免費服務更安全。

📋 Ep.1 教學目標:打造您的專屬 DDNS 伺服器
在本篇教學中,我們將在您的 GCP 免費主機上,部署這套強大的管理系統。我們會完成基礎環境建置,並啟用核心的資安防護。
前置需求:一台免費的雲端主機 還沒有主機嗎?請先花 10 分鐘參考我們的前導教學,申請一台終身免費的台灣機房主機: 👉 [GCP 永久免費方案教學:建立 e2-micro VM 虛擬主機完整攻略 (2025版)]
步驟一:伺服器環境建置
請透過 SSH 連線到您的 GCP 主機。這套系統非常輕量,我們需要先安裝幾個基礎工具。
1. 更新系統並安裝工具
輸入以下指令,確保系統是最新的,並安裝 Python 與 Git。
# 更新系統套件
sudo apt update && sudo apt upgrade -y
# 安裝相關套件
sudo apt install -y \
python3 \
python3-pip \
python3-venv \
nginx \
certbot \
python3-certbot-nginx \
git \
htop \
curl \
wget2. 下載中控台程式
將程式碼下載到您的主機中。
cd ~
# 下載專案程式碼
git clone https://github.com/Clone-information/secureddns ~/ddns-server
cd ddns-server步驟二:建立獨立運作環境
為了讓系統更穩定,我們不會將套件安裝在全域環境,而是使用 Python 虛擬環境 (venv)。這就像是幫這個程式蓋一個專屬的「沙盒」,互不干擾。
1. 建立與啟用環境
# 建立名為 venv 的虛擬環境
python3 -m venv venv
# 啟用虛擬環境
source venv/bin/activate💡 成功了嗎? 當您看到終端機提示符號前面出現 (venv) 字樣時,代表您已成功進入虛擬環境。
2. 安裝核心功能
透過以下指令,一鍵安裝所有需要的模組(包含 Web 介面核心與加密模組)。
pip install --upgrade pip
pip install -r requirements.txt步驟三:綁定網域 DNS (讓世界找得到您的主機)
在開始設定程式之前,我們必須先告訴 Cloudflare:「當有人輸入 ddns.example.com 時,請導向到我的 GCP 主機 IP。」
這一步非常關鍵,如果沒有設定,稍後的 SSL 憑證申請將會失敗。
1. 取得 GCP 主機的外部 IP
回到 GCP 主機介面,查看您的 External IP (外部 IP)。

2. 設定 Cloudflare DNS
前往 Cloudflare 後台,選擇您的網域,進入 DNS > Records 頁面,新增一筆 A 紀錄:
- Type (類型):
A - Name (名稱):
ddns(或是您喜歡的名稱,例如admin) - IPv4 address (內容):
填入您的 GCP 外部 IP - Proxy status (代理狀態): ⚠️ 請務必設為 “DNS only” (灰色雲朵)
- 注意:一定要關閉小橘雲,否則 DDNS 客戶端可能無法正確連線。


設定完成後,您可以到dnschecker,確認是否生效。
步驟四:資安配置 (這是自架比免費版更安全的主因)
市面上很多簡易 DDNS 腳本,都是把 Cloudflare 密碼直接寫在檔案裡,非常危險。 我們的系統內建了 企業級加密工具,能確保您的金鑰安全無虞。
1. 準備資料


請準備好您的 Cloudflare API Token (需有 DNS 編輯權限) 與 Zone ID。
2. 啟動設定精靈
執行以下指令,進入互動式設定畫面:
python migrate_config.py
3. 系統自動加密
依照畫面指示輸入後,系統會在背景執行三件大事:
- AES 加密:將您的 Cloudflare Token 加密鎖起來。
- Argon2 雜湊:將您的管理員密碼進行不可逆運算(防止暴力破解)。
- 金鑰生成:產生一把專屬的解密金鑰。
# 當您看到這些勾勾,代表設定完成
✓ API Token 已加密
✓ 管理員密碼已雜湊
✓ 已生成 Flask Session 金鑰
✓ 新配置已儲存到: ddns_config_new.json步驟五:保護您的數位鑰匙
執行完畢後,您會發現目錄下多了一個 encryption.key。 這就是這套系統的「鑰匙」,沒有它,誰也無法讀取您的 API Token。
- 備份它:建議下載一份存到電腦裡。
- 鎖好它:設定權限,只讓擁有者讀取。
chmod 600 encryption.key
chmod 600 ddns_config.json步驟六:啟動並驗證
現在,讓我們嘗試啟動這台「自建 DDNS 中控台」!
1. 啟動伺服器
python ddns_management_server.py2. 看到這個畫面就成功了
如果您看到以下畫面,恭喜您!您的免費主機已經變身為一台專業的 DDNS 伺服器了。
============================================================
Clone SecureDDNS v2.1 - 企業級 DDNS 管理伺服器
Copyright (c) 2025 Clone Information Ltd.
============================================================
安全特性:
✓ 密碼雜湊 (Argon2)
✓ 敏感資訊加密 (Fernet)
✓ 防暴力破解 (5 次/5 分鐘)
============================================================
正在啟動伺服器於通訊埠 8080...下一步:讓管理介面正式上線
現在您的伺服器已經跑起來了,但目前還只能透過指令操作,且沒有 HTTPS 加密鎖頭。
為了讓您以後能舒舒服服地躺在沙發上,用手機瀏覽器管理家裡的 NAS 連線,我們需要把它變成一個正式網站。
在下一篇 【Ep.2:Nginx 反向代理與 SSL 憑證篇】,我們將教您:
- 設定 自動啟動:主機重開機,服務自動跑起來。
- 掛上 SSL 綠色鎖頭:讓您的管理後台連線加密,不用擔心密碼被竊聽。
- 正式啟用 Web UI:登入漂亮的圖形化介面,新增您的第一台設備!
擺脫 No-IP 續期噩夢,就差這最後一步!請持續關注本系列教學。