找回密碼
 立即註冊
    查看: 213|回覆: 0

    用 Docker 架 WireGuard(二)純設定檔版:看懂每一行 wg0.conf

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-25 01:22:48 | 顯示全部樓層 |閱讀模式
    這篇用 linuxserver/wireguard:沒有網頁介面,一切都是設定檔,容器第一次啟動就把伺服器與每個使用者的設定檔和 QR code 全部產好。

    適合三種人:想真正看懂 WireGuard 設定長什麼樣的、機器資源很少的、以及不想多跑一個網頁服務對外的。

    跟上一篇(wg-easy)的分工:那篇點網頁就能加人,這篇要改設定檔重啟容器。兩篇各自完整,這篇不需要你看過那篇。

    跟上一篇(wg-easy)的分工

    第一步:先搞懂 WireGuard 的金鑰模型(三分鐘,省掉之後三小時)

    WireGuard 沒有帳號密碼,只有金鑰對。


    • 每一端(伺服器、每一台手機、每一台電腦)都有自己的一組私鑰 + 公鑰
    • 私鑰絕對不外流,只存在自己的設定檔裡
    • 公鑰要給對方。伺服器的設定檔裡列著每個使用者的公鑰;使用者的設定檔裡寫著伺服器的公鑰
    • 雙方各自用「自己的私鑰 + 對方的公鑰」算出同一把加密金鑰


    所以「新增一個使用者」這件事的本質是:產一組新金鑰對 → 把公鑰寫進伺服器的設定檔 → 把私鑰寫進那個人的設定檔。

    好消息:這個容器會全部幫你做。 但知道它在做什麼,出問題時才查得動。

    手動產金鑰的指令長這樣(這篇用不到,但看一眼有概念):
    1. wg genkey | tee privatekey | wg pubkey > publickey
    複製代碼

    你會看到兩個檔案,各裝著一串 44 個字元、結尾是 `=` 的 base64 字串。

    第二步:確認主機環境

    2-1 Docker
    1. docker --version
    2. docker compose version
    複製代碼

    你會看到兩行版本號。`command not found` 的話先裝 Docker(Debian / Ubuntu:`curl -fsSL https://get.docker.com | sudo sh`)。

    2-2 核心支援
    1. sudo modprobe wireguard && echo OK
    複製代碼

    你會看到一行 `OK`。Linux 5.6 之後內建,現在的主流發行版都有。

    2-3 主機的內網 IP
    1. ip -4 addr show | grep inet
    複製代碼

    找 192.168 或 10. 開頭的那個,下面都用 `192.168.1.20` 代稱。

    ⚠ 一定要在路由器把這台設成 DHCP 保留(固定 IP)。不然重開機換了 IP,埠轉發就失效,而且是靜默失效。

    第三步:確認你家有沒有「連得進來的位址」

    這一步決定整件事做不做得成,先做完再往下。

    3-1 查對外 IP

    在主機上:
    1. curl -4 ifconfig.me; echo
    複製代碼

    你會看到一個像 `114.32.80.149` 的位址。

    3-2 跟路由器的 WAN IP 比對

    登入路由器管理頁,找「WAN IP」或「廣域網路 IP」。

    兩個一樣 → 有真實對外 IP,往下走。

    路由器的 WAN IP 落在下面任一段:
    1. 10.0.0.0    ~ 10.255.255.255
    2. 172.16.0.0  ~ 172.31.255.255
    3. 192.168.0.0 ~ 192.168.255.255
    4. 100.64.0.0  ~ 100.127.255.255   ← 電信業者 CGNAT 專用
    複製代碼

    → 你在 CGNAT 或雙重 NAT 後面,埠轉發不會有任何作用。

    ⚠ 這裡有一個要講清楚的觀念:很多人以為「IP 會變」是問題,所以去設 DDNS。但 CGNAT 的問題不是 IP 會變,是你根本沒有一個外界可路由的位址 —— 那個對外 IP 是電信業者幾百個用戶共用的。DDNS 救不了這個。

    3-3 中華電信 HiNet 使用者的免費解法

    HiNet 家用寬頻預設給 8 個浮動 IP,可以免費改成「1 個固定 IP + 7 個動態 IP」:


    • 登入 HiNet 客服後台 → 服務總覽 → 寬頻 → HiNet 非固定制固定IP申請
    • 把預設的「8 個動態 IP」改選「1 個固定 IP + 7 個動態 IP」
    • 一天只能改選一次


    ⚠ 申請完一定要改 PPPoE 帳號才會生效:
    1. 原本:  8123xxxx@hinet.net       (動態 IP)
    2. 改成:  8123xxxx@ip.hinet.net    (固定 IP,多了 ip.)
    複製代碼

    這個帳號要改在路由器上,接在後面的所有裝置就都走固定 IP。在電腦上直接撥號的話只有那台電腦有,而且少了路由器的防火牆。

    方案限制:適用非固定制非對稱頻寬 5M/384K 以上,但 500M/250M 與 1G/600M 不適用。第四台業者(即使宣稱使用中華的線路)也不適用。

    以下還有約 80% 的內容
    登入後即可閱讀完整教學

    登入繼續閱讀使用 Google 登入
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    延伸閱讀

    加入惟家 LINE 群 QR Code加入惟家 LINE 群

    Archiver|手機版|惟家的智能論壇

    GMT+8, 2026-11-10 00:55 , Processed in 0.126073 second(s), 25 queries .

    快速回覆 返回頂部 返回列表