WireGuard 裝置增刪管理:熱更新、持久化與密鑰撤銷

WireGuard 裝置增刪管理:熱更新、持久化與密鑰撤銷

Ryan Foster
2026年10月11日· 7 分鐘讀完

WireGuard 裝置增刪管理需要同時更新目前運行的介面,以及下次啟動會讀取的設定。新增裝置要分配獨立密鑰與地址;撤銷時須從兩處移除公鑰,再檢查存取被拒絕,不能只憑命令成功判斷。

關鍵要點:

  • 保存裝置與公鑰的對照表,並保留獨立管理途徑。
  • 在既有路由子網內增刪 peer,可先改設定檔再 reload。
  • 重啟及還原備份後,已撤銷身份也不得重新生效。

WireGuard 裝置增刪管理適用於哪些環境?

本文以 Ubuntu 24.04 LTS、發行版 WireGuard 工具及原生 wg-quick@wg0 systemd 服務為範圍,依所列官方文件整理,未進行完整端到端實測。以下是供你核對的預期現象,並非作者的測試結果。先參考自建網絡維護框架,釐清管理責任。

示例假設伺服器為 10.77.0.1/24、現有裝置為 10.77.0.2,而 10.77.0.3 尚未分配。請改用自己沒有重疊的子網。這裏處理裝置生命週期,不是重新部署伺服器或操作面板;若未熟悉身份機制,可先看WireGuard 如何識別兩端。[1]

你需要 sudo 權限、已驗證且不依賴此隧道的控制台或 SSH 途徑、維護時段及受保護備份位置。透過設定產生器的正式管理程序,暫停它對此介面的寫入。若面板或另一位管理員擁有設定檔,應停止此流程並採用該擁有者的方式;兩個寫入者可能互相撤銷對方的改動。

步驟 1:核對運行與保存的 peer 清單

使用不會列出私鑰的查詢欄位:

sudo systemctl is-active wg-quick@wg0
sudo wg show wg0 peers
sudo wg show wg0 allowed-ips
sudo wg show wg0 latest-handshakes
sudo wg show wg0 transfer

在私密本機編輯器內,比對公鑰與 /etc/wireguard/wg0.conf 的 [Peer] 段,記下裝置負責人、公鑰、地址、批准日期及有效或已撤銷狀態。公鑰雖是識別資料,對照表仍會透露私人基建,切勿公開。不要把 wg showconf、wg show ... dump、完整設定或二維碼貼到支援工單。[4]

本文採用設定檔管理模式,SaveConfig 必須省略或為 false。若設成 true,介面關閉時會將運行設定寫回並覆蓋檔案,可能抹去編輯。原本已啟用時,先把所有刻意保留的運行變更與檔案對齊,保存受保護副本,再於任何關閉操作之前移除該設定。不要向已編輯的檔案盲目執行 wg-quick save。[3]

透過獨立控制台建立名稱唯一、只供 root 讀取的備份,例如:

sudo install -d -m 700 /root/wg-peer-backups
sudo test ! -e /root/wg-peer-backups/wg0.before-peer-change.conf
sudo install -m 600 /etc/wireguard/wg0.conf /root/wg-peer-backups/wg0.before-peer-change.conf

請逐條執行,任何一步失敗即停;日後操作須另用新名稱。撤銷記錄應與歷史備份分開保存。備份即使準確重現舊檔案,也可能恢復後來已禁止的存取。

步驟 2:新增獨立身份,避免佔用別人的地址

在新裝置本機,或可信客戶端的密鑰產生功能內建立密鑰對。Linux 客戶端可建立新的私密目錄,避免覆寫既有身份:

(
  set -eu
  umask 077
  mkdir wg-new-device
  cd wg-new-device
  wg genkey > private.key
  wg pubkey < private.key > public.key
)

請整段一併執行,子 shell 會在首個錯誤出現時停止。目錄已存在便另選未用過的名稱,不要重用該目錄或刪除既有身份來令命令通過。密鑰產生失敗後,切勿傳送或套用該次嘗試留下的檔案。

經認證的通道只傳送 public.key 給管理員;私鑰留在裝置,不可沿用原有手提電腦的密鑰。分配 10.77.0.3/32 前,同時核對地址登記及運行中的 allowed-ips。重複或重疊的 peer 範圍即使能通過語法解析,仍可能將流量送往錯誤裝置。[1][4]

以 sudoedit 在原有伺服器設定檔追加下列 peer,將大寫佔位符換成完整新公鑰,保留介面與其他 peer:

[Peer]
# new-device
PublicKey = NEW_DEVICE_PUBLIC_KEY
AllowedIPs = 10.77.0.3/32

在客戶端填入自己的私鑰、Address = 10.77.0.3/32、原有伺服器公鑰及 Endpoint,並只加入所需目的範圍。兩端的 AllowedIPs 用途不同,不能互相照抄。只存取伺服器子網的分流設定可使用 10.77.0.0/24;原有全隧道則保留已確立的路由、DNS、IPv6 及斷線政策,本文不擴闊其覆蓋。[2]

步驟 3:套用並核對 WireGuard peer 持久化

保存已審閱設定,維持 root 擁有及 0600 權限,然後重載正在運行的服務:

sudo systemctl reload wg-quick@wg0
sudo wg show wg0 peers
sudo wg show wg0 allowed-ips

Ubuntu 文件說明,reload 可在不重建既有隧道下增刪 peer。它只更新 WireGuard 設定,不會重設介面地址、系統路由、防火牆或 DNS 掛鈎。示例的新增 /32 位於現有直連 /24 內;新增路由子網須另行審閱路由,並可能要安排維護性重啟,不能把 reload 當成完整網絡重配置。[2]

由新裝置請求 10.77.0.1 上獲准使用的服務,檢查握手時間是否更新及服務是否回應,再讓未修改裝置重做應用請求。握手只證明 peer 間進行了加密通訊,不代表轉發、域名解析、應用權限或所有協議均正常。

若新裝置一直沒有握手,先對照身份清單,再採用密鑰配對檢查方法。若既有裝置失效,先停止新增並檢查本次更改的範圍;只從保存檔案刪除錯誤新條目,reload 運行中服務後重測既有裝置,不要替換整組 peer。

步驟 4:WireGuard 撤銷裝置要更新甚麼?

按對照表確認公鑰,不要把最近漫遊使用的公網地址當身份。已確認洩漏時,先立即從運行介面移除,再處理較慢的調查:

sudo wg set wg0 peer REVOKED_DEVICE_PUBLIC_KEY remove

先替換佔位符,再從保存檔案刪除相應整個 [Peer] 段,保存及 reload,確認 wg show wg0 peers 不再包含該公鑰。撤銷記錄要列出公鑰、日期、原因及受影響備份。只移除運行設定會在重啟時復活;只刪檔案則在套用前仍保留現有授權。[4]

如可安全操作持有舊設定的授權測試裝置,讓它重新連接並請求只經隧道可達的服務,預期不應取得新握手或受保護回應;同時以合法裝置作正向對照。若無法安全使用已撤銷裝置,記下客戶端負向測試未執行。伺服器清單沒有公鑰只是設定證據,並不等同實際拒絕測試。

異常用量需要獨立調查。在一段時間內比對 peer 歸屬、握手時間及傳輸計數變化;介面重建可能重設計數,數字也不能識別某個人或應用。撤銷已確認洩漏身份並核對拒絕後,才查雲端供應商用量與帳單。移除 peer 不會停止主機租用、快照或儲存等資源收費。

步驟 5:重啟與還原後應如何驗收?

先確認其他裝置及獨立控制台正常,再安排獲授權重啟。啟動後重查運行清單與客戶端;如介面未能啟動,應循啟動生命週期排查,不要直接還原不安全的舊檔。

檢查方法預期現象失敗處理
新裝置傳送獲准流量公鑰存在、握手更新、服務回應核對密鑰、地址及應用路徑
未改裝置重做請求原有存取繼續正常檢查範圍重疊,撤回窄範圍新增
舊設定嘗試新連接公鑰仍不存在,沒有新握手或受保護回應停止驗收,從所有有效寫入者移除身份
獲授權重啟後重測新 peer 保留,已撤銷 peer 不復活檢查檔案擁有者、產生器及啟動失敗
在隔離環境還原備份,啟動前套用撤銷記錄不會恢復已撤銷 peer對外開放前先修正還原檔案

單次請求失敗不能充分證明撤銷:網絡斷開也會令所有裝置失敗,所以正向對照要在同一窗口執行。記錄時間、介面、公鑰識別、動作及證據,不把秘密存進報告。

步驟 6:安全還原誤刪裝置

若確屬誤刪且裝置仍可信,只還原已審閱的 peer 段及地址,reload 後重做正向檢查。切勿為方便而重新啟用已洩漏密鑰;應發出新身份並棄用舊設定。必須整體回退時,先還原受保護檔案,重新套用之後所有撤銷記錄,核對權限,再按狀態 reload 或 start。

清理時不可覆寫唯一備份或刪除撤銷記錄。按存取及保留政策保存備份;一次性測試身份完成後,從運行與保存設定一併移除並驗證。搬遷主機還涉及 Endpoint 與身份選擇,可把已對齊清單帶入單客戶端遷移流程。

若長期只為日常互聯網存取維護多部裝置,可先比較 VPS 與託管 VPN 的管理責任,再決定是否增加維護工作。轉換方案不會撤銷既有密鑰,也不會取消舊伺服器帳單。

總結

  • 把設定檔與運行介面分開驗收。
  • 每部裝置使用獨立身份及不重疊地址。
  • 撤銷決定須跨重啟、回退與備份還原繼續生效。

常見問題

編輯檔案會立即撤銷 peer 嗎?

只改檔案不會更新運行介面。須移除運行 peer 或重載已審閱設定,再分別核對拒絕存取及持久化。

加入新子網後 reload 足夠嗎?

reload 只改 WireGuard peer 設定,不會建立系統路由。新子網的路由應獨立審閱,另行安排所需網絡改動。

裝置可以全部共用一把私鑰嗎?

每部裝置應有自己的密鑰對,才能清楚歸屬並逐一撤銷。共用身份會令選擇性移除不可靠。

舊握手時間足以證明撤銷嗎?

舊時間也可能表示裝置閒置或離線。應核對公鑰缺席,再作授權負向測試及合法裝置正向對照。

可以還原洩漏之前的備份嗎?

可以採用其中可信設定,但須先移除後來已撤銷的身份。舊備份並不包含之後的保安決定。

更換公鑰會停止伺服器收費嗎?

更換 peer 密鑰只影響授權,不影響供應商資源。保護存取後仍須分別核對運算、儲存、快照及流量帳目。

管理連接中斷時怎樣處理?

透過事先驗證的獨立控制台檢查並還原本次窄範圍改動。不要繼續經唯一且已故障的隧道作遠端修改。

來源:

  1. WireGuard — Quick Start — https://www.wireguard.com/quickstart/
  2. Ubuntu — Common tasks in WireGuard VPN — https://ubuntu.com/server/docs/how-to/wireguard-vpn/common-tasks/
  3. Ubuntu Noble — wg-quick(8) — https://manpages.ubuntu.com/manpages/noble/man8/wg-quick.8.html
  4. Ubuntu Noble — wg(8) — https://manpages.ubuntu.com/manpages/noble/man8/wg.8.html

Sources checked 2026 年 10 月 11 日。


延伸閱讀:

開啟 3 天免費試用

註冊即可免費體驗全部高級功能。

*只限新用戶;每位用戶只可獲得一次試用。

WireGuard 裝置增刪管理:熱更新、持久化與密鑰撤銷 | AethoVPN