自架 DDNS 實戰 Ep.1:GCP 永久免費主機 + Web 中控 (告別 No-IP)

自架 DDNS 教學封面圖,展示 GCP 永久免費雲端主機結合 Web 中控台與資安防護架構

目錄

🚀 30秒快速導覽:自架 GCP 免費 DDNS 系統

這不是普通的腳本,而是打造您專屬的「DDNS 雲端伺服器」。三部曲流程如下:

👇 開始打造您的第一步:申請主機 👇

這是一篇關於 自架 DDNS (Dynamic DNS) 的完整實戰教學。如果您家中有 NAS、架設網站或是安裝了監視器,這句話一定說出了您的心聲:

「受夠了 No-IP 每 30 天手動續期?」

身為免費版用戶,我們都經歷過那個共同的噩夢:收到「您的網域即將到期」的 Email,只要忙碌忘記點擊連結,家中設備就斷線失聯。除了續期地獄,免費版網址又長又難記,還得忍受將 IP 暴露給第三方平台的不確定性。

為什麼選擇 GCP 進行「免費 DDNS 自架」?

為什麼不自己掌握主控權?本系列教學將帶您利用 Google Cloud Platform (GCP) 的「永久免費」方案,搭配我們開發的開源系統,完成 免費 DDNS 自架,打造一套「永久免費、免續期、企業級」的管理平台。

自架方案好處在哪裡?

  1. 完全免費且免續期:使用 GCP e2-micro 免費額度,效能足以應付成百上千次 DNS 更新,永遠不用擔心 30 天到期問題。
  2. Web 可視化管理:這是最強大的功能!我們提供一個漂亮的 Web 管理後台。不管您有 1 台還是 50 台設備(公司/分店/住家),都能在網頁上一鍵管理,不用再記複雜的指令。
  3. 安全性完勝:內建銀行級加密與防暴力破解機制,比市面上的免費服務更安全。

Ep.1 教學目標:打造您的專屬 DDNS 伺服器

自架 DDNS Web 中控台介面,展示已連線裝置列表與狀態燈號
告別指令列!透過圖形化 Web 介面輕鬆管理多台 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 VM 實例列表介面,標示出 External IP 外部 IP 位置
在 GCP 後台找到您的 VM 外部 IP (External 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” (灰色雲朵)
Cloudflare DNS 設定介面,新增 A 紀錄指向 GCP IP
在 Cloudflare 新增 A 紀錄,將 ddns 子網域指向 GCP IP。
Cloudflare Proxy Status 設定為 DNS Only 的灰色雲朵狀態
重要: 務必將 Proxy Status 切換為 DNS Only (灰雲)。

設定完成後,您可以到 DNSChecker,確認全球 DNS 是否生效。

步驟四:資安配置 (這是自架比免費版更安全的主因)

企業級 No-IP 替代 方案必須具備資安防護機制,我們採用 Argon2 雜湊密碼與 AES 加密 API Token,確保即便資料庫外洩,駭客也無法還原您的 Cloudflare 憑證,保障 免費 DDNS 的安全性。

市面上很多簡易 DDNS 腳本,都是把 Cloudflare 密碼直接寫在檔案裡,非常危險。我們的系統內建了 企業級加密工具,能確保您的金鑰安全無虞。

1. 準備資料

Cloudflare API Token 建立頁面,選擇編輯區域 DNS 範本
建立具備 DNS 編輯權限的 API Token。
Cloudflare 儀表板概覽頁面,右下角顯示 Zone ID
在網域概覽頁面右下角複製 Zone ID。

請準備好您的 Cloudflare API Token (需有 DNS 編輯權限) 與 Zone ID

2. 啟動設定精靈

執行以下指令,進入互動式設定畫面:

				
					python migrate_config.py
				
			
Python 遷移腳本執行畫面,顯示自動加密與雜湊過程
執行 migrate_config.py 進行系統初始化與資安加密。

3. 系統自動加密

依照畫面指示輸入後,系統會在背景執行三件大事:

  1. AES 加密:將您的 Cloudflare Token 加密鎖起來。
  2. Argon2 雜湊:將您的管理員密碼進行不可逆運算(防止暴力破解)。
  3. 金鑰生成:產生一把專屬的解密金鑰
				
					# 當您看到這些勾勾,代表設定完成
✓ 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...
				
			

下一步:讓管理介面正式上線

現在您的伺服器已經跑起來了,但目前還只能透過指令操作,且沒有 HTTPS 加密鎖頭。為了讓您以後能舒舒服服地躺在沙發上,用手機瀏覽器管理家裡的 NAS 連線,我們需要把它變成一個正式網站。在下一篇 【Ep.2:Nginx 反向代理與 SSL 憑證篇】,我們將教您:1. 設定 自動啟動:主機重開機,服務自動跑起來。 2. 掛上 SSL 綠色鎖頭:讓您的管理後台連線加密,不用擔心密碼被竊聽。 3. 正式啟用 Web UI:登入漂亮的圖形化介面,新增您的第一台設備!擺脫 No-IP 續期噩夢,就差這最後一步!請持續關注本系列教學。

💡 自架 DDNS 常見問題

Q1:GCP e2-micro 真的是永久免費嗎?

A: 是的。根據 Google Cloud 官方定價策略,e2-micro 實例在符合特定條件下(如區域選擇、每月流量限制內)屬於「Always Free」方案。只要設定正確,可用於架設永久免費的 DDNS 服務。

Q2:這套系統比 No-IP 免費版好在哪裡?

A: 最大的優勢是「免續期」與「隱私權」。您不需要每 30 天點擊確認信,且所有 IP 資料都掌握在自己手中,還能透過 Web 介面統一管理多個地點的設備。

Q3:我不懂程式碼,能完成自架嗎?

A: 可以的。我們已將複雜的程式邏輯封裝成簡單的安裝腳本,您只需要跟著本教學複製貼上指令,約 15-20 分鐘即可完成架設。

AI Overview Local Pack 衝擊實戰分析:排名沒掉、電話卻消失的 3 大真相

你的本地搜尋排名穩坐前三,來電卻莫名下滑 30% 以上?真相是 AI Overview Local Pack 正在取代傳統的地圖三件組。2025 年底起 Google 在美國行動搜尋大規模部署這項 AI 驅動新版面,Sterling Sky 分析 322 個市場發現,88% 的市場中新版面顯示的商家數量比傳統 3-Pack 更少,部分商家能見度暴跌超過 50%。

< SYSTEM_READY />

需要專業的服務?

無論是網頁設計、系統開發或 GCP 雲端服務,我們都能提供最適合您的解決方案。

// WAITING_FOR_INPUT...