🚀 30秒快速導覽:自架 GCP 免費 DDNS 系統
這不是普通的腳本,而是打造您專屬的「DDNS 雲端伺服器」。三部曲流程如下:
-
Step 1. 建置地基 (Ep.1 本篇):
申請 GCP 永久免費主機 (e2-micro),設定 VPC 防火牆與固定 IP,打造穩定的雲端核心。 -
Step 2. 部署核心 (Ep.2):
架設 Nginx 反向代理與免費 SSL 憑證,讓您的 GCP 變身為安全的 HTTPS DDNS 伺服器。 -
Step 3. 設備串接 (Ep.3):
進入 路由器 (ASUS/OpenWrt) 或 NAS 設定自訂 DDNS,讓家中設備自動向您的 GCP 回報 IP。
這是一篇關於 自架 DDNS (Dynamic DNS) 的完整實戰教學。如果您家中有 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 伺服器

本篇 DDNS 教學 將引導您在 GCP 雲端環境中,部署一套私有化的動態 DNS 解析服務,透過 Python 虛擬環境與 Cloudflare API 串接,建立高可用性的 Web 管理後台基礎。
在本篇教學中,我們將在您的 GCP 永久免費 主機上,部署這套強大的管理系統。我們會完成基礎環境建置,並啟用核心的資安防護。
伺服器環境建置
建置 自架 DDNS 伺服器環境首重系統安全性與相容性,本教學選用 GCP e2-micro 搭配 Ubuntu 系統,並預先安裝 Python3 與 Git 以確保開源 DDNS 程式運作穩定。
請透過 SSH 連線到您的 GCP 主機。這套系統非常輕量,我們在 克隆資訊實驗室 實測中發現,它僅佔用不到 5% 的 CPU 資源。我們需要先安裝幾個基礎工具。
1.更新系統並安裝工具
# 更新系統套件
sudo apt update && sudo apt upgrade -y
# 安裝相關套件
sudo apt install -y \
python3 \
python3-pip \
python3-venv \
nginx \
certbot \
python3-certbot-nginx \
git \
htop \
curl \
wget
2. 下載中控台程式
cd ~
# 下載專案程式碼
git clone https://github.com/Clone-information/secureddns ~/ddns-server
cd ddns-server
步驟二:建立獨立運作環境
Python 虛擬環境 (venv) 能將 自架 DDNS 系統所需的相依套件與主系統隔離,避免版本衝突導致服務崩潰,這是部署穩定 Python Web 應用程式的業界標準規範。
為了讓系統更穩定,我們不會將套件安裝在全域環境,而是使用 Python 虛擬環境 (venv)。這就像是幫這個程式蓋一個專屬的「沙盒」,互不干擾。
1. 建立與啟用環境
# 建立名為 venv 的虛擬環境
python3 -m venv venv
# 啟用虛擬環境
source venv/bin/activate
2. 安裝核心功能
透過以下指令,一鍵安裝所有需要的模組(包含 Web 介面核心與加密模組)。
pip install --upgrade pip
pip install -r requirements.txt
步驟三:綁定網域 DNS (讓世界找得到您的主機)
設定 Cloudflare DNS 是 自架 DDNS 的關鍵步驟,必須將 A 紀錄指向 GCP 外部 IP 並務必關閉 Proxy (小橘雲),設定為 DNS Only 模式,確保 DDNS 客戶端能直接解析真實 IP。
在開始設定程式之前,我們必須先告訴 Cloudflare:「當有人輸入 ddns.example.com 時,請導向到我的 GCP 主機 IP。」
這一步非常關鍵,如果沒有設定,稍後的 SSL 憑證申請將會失敗。我們強烈建議參考 Cloudflare 官方 DNS 管理指南 以獲得更深入的理解。
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” (灰色雲朵)


設定完成後,您可以到 DNSChecker,確認全球 DNS 是否生效。
步驟四:資安配置 (這是自架比免費版更安全的主因)
企業級 No-IP 替代 方案必須具備資安防護機制,我們採用 Argon2 雜湊密碼與 AES 加密 API Token,確保即便資料庫外洩,駭客也無法還原您的 Cloudflare 憑證,保障 免費 DDNS 的安全性。
市面上很多簡易 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
步驟六:啟動並驗證
啟動 Web 中控 伺服器後,透過 API 進行驗證,確認系統能正確監聽 8080 Port 並回應請求,即代表您的私有 GCP 永久免費 DDNS 服務核心已成功上線,可進行下一步 SSL 配置。
現在,讓我們嘗試啟動這台「自建 DDNS 中控台」!
1. 啟動伺服器
python ddns_management_server.py
2. 看到這個畫面就成功了
如果您看到以下畫面,恭喜您!您的免費主機已經變身為一台專業的 DDNS 伺服器了。
============================================================
Clone SecureDDNS v2.1 - 企業級 DDNS 管理伺服器
Copyright (c) 2025 Clone Information Ltd.
============================================================
安全特性:
✓ 密碼雜湊 (Argon2)
✓ 敏感資訊加密 (Fernet)
✓ 防暴力破解 (5 次/5 分鐘)
============================================================
正在啟動伺服器於通訊埠 8080...
下一步:讓管理介面正式上線
💡 自架 DDNS 常見問題
Q1:GCP e2-micro 真的是永久免費嗎?
A: 是的。根據 Google Cloud 官方定價策略,e2-micro 實例在符合特定條件下(如區域選擇、每月流量限制內)屬於「Always Free」方案。只要設定正確,可用於架設永久免費的 DDNS 服務。
Q2:這套系統比 No-IP 免費版好在哪裡?
A: 最大的優勢是「免續期」與「隱私權」。您不需要每 30 天點擊確認信,且所有 IP 資料都掌握在自己手中,還能透過 Web 介面統一管理多個地點的設備。
Q3:我不懂程式碼,能完成自架嗎?
A: 可以的。我們已將複雜的程式邏輯封裝成簡單的安裝腳本,您只需要跟著本教學複製貼上指令,約 15-20 分鐘即可完成架設。
