開啟 3 天免費試用
註冊即可免費體驗全部高級功能。
*只限新用戶;每位用戶只可獲得一次試用。


WireGuard 重啟後不啟動,應先調查啟動狀態,才決定是否改路由。確認目標介面及 systemd 單元、區分未啟用與失敗、讀取首個相關錯誤,只修正該原因後再安排下一次開機驗收。
關鍵要點:
- 保留獨立於故障隧道的供應商控制台。
- enabled 表示開機政策,active 表示目前服務狀態。
- 單元正常但流量失效,應走另一條診斷分支。
本文適用於 Ubuntu 24.04 LTS、發行版 WireGuard 工具與原生 wg-quick@wg0 服務,按官方文件整理,未進行完整端到端實測。檢查項目是你應觀察的預期,並非作者錄得的結果。自建網絡維護框架協助區分主機責任與客戶端設定。
你需要 sudo 權限,以及已驗證的供應商控制台或另一條不經 wg0 的管理途徑。記錄事故時間、預期介面、上次正常開機及之後的設定或套件更改。不要反覆重啟共享主機或停止無關服務;若無法使用還原控制台,應在可能替換唯一管理路由前停止。
若 wg0 存在、peer 握手更新,卻無法存取應用,應改用已連接但沒有互聯網的路由檢查。重啟正常服務會掩蓋問題並中斷其他裝置。先判斷介面沒有出現、設定期間失敗,還是介面正常但下游失效。
在受影響伺服器逐條執行。狀態查詢以非零結束是待解讀證據,不表示應直接執行下一項修復:
sudo systemctl is-enabled wg-quick@wg0
sudo systemctl is-active wg-quick@wg0
sudo systemctl is-failed wg-quick@wg0
sudo systemctl status --no-pager wg-quick@wg0
ip -brief link show wg0
sudo wg show interfaces
把單元名稱與實際介面核對。wg-quick@home0 與 wg-quick@wg0 讀取不同檔案,錯誤實例即使啟用也不能啟動目標介面。Ubuntu 以實例名稱控制對應介面生命週期。[1]
| 觀察 | 含義 | 後續動作 |
|---|---|---|
| disabled 及 inactive | 未設定此實例開機啟用 | 確認管理歸屬後才啟用 |
| enabled 及 failed | 已要求啟動,但設定失敗 | 查本次開機首個相關錯誤 |
| enabled、active 及介面存在 | 生命週期可能正常 | 先測 peer,再查路由與應用 |
| active (exited) 及介面存在 | oneshot 完成後可保持 active | 查單元類型及介面,不要求常駐 PID |
| 介面存在、單元 inactive | 可能由其他程序或人手管理 | 啟動第二個管理者前先核對歸屬 |
systemd Type=oneshot 配合 RemainAfterExit=yes,可在設定命令結束後仍顯示 active。Linux WireGuard 數據路徑不需要常駐 wg-quick 程序;反過來,active 亦不足以證明所有網絡設定正確。[2]
閱讀失敗開機的日誌,並檢查發行版單元及本機覆寫:
sudo journalctl -b -u wg-quick@wg0 --no-pager -n 100
sudo systemctl cat wg-quick@wg0
sudo systemctl show wg-quick@wg0 -p FragmentPath -p DropInPaths -p Type -p RemainAfterExit
輸出可能披露基建名稱、掛鈎參數或含設定文字的錯誤。應私下審閱,分享前遮除敏感資料。不要為方便支援報告而輸出完整私鑰設定。若故障在上次開機發生,須明確選取該次 journal,不能假設目前開機仍包含事故。
找出該次呼叫最先失敗的命令:缺檔、密鑰格式錯誤、地址衝突、輔助工具缺失、DNS 查詢失敗或 PostUp 不成功。之後清理出錯可能只是後果。記下正確單元與錯誤類型,不公開被寫入掛鈎的憑證。
確認介面擁有者。面板、NetworkManager、容器或人手 wg-quick up 都可能與原生單元衝突;不要靠猜測停止另一管理者。若該歸屬屬刻意安排,退出本文流程並依該管理者文件處理。搬遷改變主機或介面名稱時,先核對遷移設定清單,再編輯單元。
這個實例預期使用 /etc/wireguard/wg0.conf。只查看目錄及檔案中繼資料,不輸出秘密內容:
sudo stat -c '%U:%G %a %n' /etc/wireguard /etc/wireguard/wg0.conf
sudo test -s /etc/wireguard/wg0.conf
command -v wg
command -v wg-quick
command -v resolvectl
由 root 擁有並使用嚴格權限:目錄 0700、檔案 0600;如獨立審閱的管理政策要求其他安排,按該政策處理。缺失或空白檔案須由可信備份還原,改權限不會補回內容。編輯之前以唯一名稱保存原檔。
經可信控制台用 sudoedit 檢查介面名稱、現有地址、密鑰格式、peer 公鑰及掛鈎命令。私鑰應是本機產生的有效值,不是文件佔位符。不要把重新產生伺服器密鑰當通用啟動修復,否則還需協調所有客戶端身份更新。[3]
檢查 SaveConfig;true 可能令關閉時的運行設定覆蓋檔案編輯。先對齊預期檔案及最後可信運行清單,再採用省略或 false 的檔案管理模式。備份若早於撤銷,重新開放服務前須移除相關身份。[3]
域名 Endpoint 在設定時需要可用解析器。檢查主機解析服務,只以正常本機工具查自己的授權端點,例如 getent ahosts YOUR_ENDPOINT_NAME,並比對預期結果。任意公網名稱能解析,不能充分證明這項依賴正常。Endpoint 解析說明區分初始解析與之後 peer 漫遊。
Ubuntu 通常使用 systemd-resolved,而 wg-quick 的 DNS= 需要 resolvconf,不會自動設定 resolved。先確認檔案實際採用哪個機制。Ubuntu 以 resolvectl 掛鈎作為其中一個選項,但介面 DNS 政策仍須審閱;不要同時加入 DNS= 與多個競爭解析管理者,也不要用無條件成功壓下失敗掛鈎。[1][3]
啟動次序可幫助已確認依賴,但 network-online.target 不保證所有 DNS 服務或遠端端點已可達。加入窄範圍覆寫前,先看發行版單元及實際 wait-online 實作。不要遮蔽依賴、加入無限等待迴圈、關閉防火牆或清空路由來消除紅色狀態。
依證據選動作。未啟用而本身正常的實例,可在確認歸屬後啟用;缺設定檔時還原可信備份並重套撤銷記錄;掛鈎錯誤則修正輔助工具或語法;單元覆寫有誤只改該覆寫,更換 peer 密鑰並不能修復。
只有單元或 drop-in 更改才需重載 systemd 定義;純設定更改不需要 daemon-reload。再對未啟動介面作一次受控 start:
sudo systemctl daemon-reload
sudo systemctl start wg-quick@wg0
sudo systemctl is-active wg-quick@wg0
sudo wg show wg0 latest-handshakes
首行只適用於單元更改分支。若單元已 active,不能以此取代判斷應用 peer reload 還是維護性 restart。start 失敗便返回新日誌證據,不要接着反覆重啟。
人手啟動及應用檢查成功後,按需要設定開機政策:
sudo systemctl enable wg-quick@wg0
sudo systemctl is-enabled wg-quick@wg0
enable 只設定日後啟動,並不證明失敗服務已恢復。記下原啟用狀態以便還原;清除 failed 標記同樣不會修正失敗命令。[1][2]
先確認還原控制台、可信備份及目前修復後行為。若未獲維護權限,須先取得針對此主機的重啟授權。容器重新啟動不代表宿主開機生命週期通過。
| 檢查方法 | 預期現象 | 失敗處理 |
|---|---|---|
| 開機前查 enabled、active 及介面 | 正確管理者啟動目標介面 | 先解決歸屬或設定錯誤 |
| 授權時段重啟後查同一單元 | 介面出現,沒有設定失敗日誌 | 用控制台查本次開機 journal |
| 授權客戶端傳送獲准流量 | 有新握手及必要服務回應 | 分開查密鑰、端點及轉發 |
| 重查檔案與撤銷 peer 清單 | 設定持久保存,舊身份沒有復活 | 查 SaveConfig 或外部寫入者 |
| 重測獨立管理途徑 | 還原途徑仍可用 | 停止驗收,先還原管理 |
wg0 正常後,只驗證原定流量範圍。互聯網出口設定須查客戶端所選公網出口,另查 DNS、IPv6 及斷線行為;私人服務分流不要求瀏覽器 IP 改變。開機成功不表示具備流量阻擋政策。
從真正客戶端應用路徑使用公網 IP 核對工具,而非伺服器瀏覽器。握手恢復但流量仍失效時,回到路由分支,不要撤回已正確的啟動修復。
若修復造成退化,經獨立控制台操作。必要時只停此單元,從受保護副本還原具體更改的檔案或 drop-in,重套之後的憑證撤銷,恢復已登記擁有者及權限。只有單元定義還原才執行 daemon-reload;按需恢復原有開機啟用狀態,再啟動一次並重做檢查。
若仍採用 SaveConfig,stop 可覆蓋已編輯檔案;停止後才還原可信檔案,並在重啟前對齊該政策。不要刪除發行版單元、移除無關 drop-in、清空防火牆,或為撤回單一設定而還原整部主機。首次還原失敗應保存錯誤並維持服務不可用,不可擴大開放存取。
Xray 升級與回退程序亦要分開二進制、設定及單元歸屬,但命令不同。服務恢復後,若啟動依賴成為主要維護負擔,可再評估自控出口的長期責任。
啟用代表日後會要求激活,不代表成功。先讀本次開機日誌,找出失敗設定命令,再更改網絡設定。
oneshot 配合 RemainAfterExit 時可正常出現此狀態。查單元定義、介面及 peer 流量,不要求常駐程序。
只啟用真正擁有目標介面的實例。面板、NetworkManager 或容器管理的系統須採用各自生命週期設定。
域名 Endpoint 或解析掛鈎可以獨立失敗。更換憑證前,先查相關依賴及實際管理機制。
它重新讀取 systemd 單元定義。peer 檔案須以適當介面 reload 套用;地址或掛鈎更改可能需受控 restart。
重複開機無法識別失敗前提,並會影響其他服務。先修首個相關錯誤,再有控制台保護地測一次授權重啟。
套用還原設定之前,先移除後來已撤銷身份。語法正確的舊備份亦不可推翻之後的存取控制決定。
來源:
Sources checked 2026 年 10 月 11 日。
延伸閱讀:
註冊即可免費體驗全部高級功能。
*只限新用戶;每位用戶只可獲得一次試用。