OpenWrt WireGuard 客戶端設定:路由、DNS 與流量核對

OpenWrt WireGuard 客戶端設定:路由、DNS 與流量核對

Kevin Wu
2026年10月11日· 7 分鐘讀完

OpenWrt WireGuard 客戶端必須有正確 peer、路由、轉發許可及回程,LAN 裝置才可使用隧道。先以一部獲授權裝置連接一個指定目標,再分開核對 DNS 和 IPv6,之後才擴大覆蓋。

關鍵要點

  • 最近握手只表示 peer 能通訊,不能證明 LAN 轉發正常。
  • AllowedIPs、系統路由、防火牆和 DNS 各司其職。
  • 有線管理入口須獨立於隧道。
  • 更改預設路由可能影響其他裝置及路由器本身。
  • 此例不保證自動阻止流量回落 WAN。

OpenWrt WireGuard 客戶端適合你的網絡嗎?

適用範圍是 OpenWrt 25.12 穩定系列、fw4/nftables,硬件須受支援並有足夠儲存空間。此系列使用 apk,不要混用舊版 opkg 套件或快照內核;安裝前先確認機型的韌體支援。[1]

本文根據所列官方文件與實作整理,未進行完整端到端硬件實測。以下是讀者驗收方法及預期現象,並非作者量得的結果。只可操作自有或獲授權的網絡與端點。

先用自建工作責任清單安排密鑰管理及還原責任。若只需日常上網而非控制路由器,先比較整部裝置與單一應用的覆蓋。終端連上隧道不會自動涵蓋其他 LAN 裝置。

步驟 1:保存支援條件、憑證及還原基線

以網線接駁管理電腦,透過原有 LAN 地址開啟新的 LuCI 或 SSH 工作階段,記錄其地址、子網、閘道及 DNS。管理電腦不參與出口切換,並須確認機型的本地救援程序。更換韌體前參考韌體變更準備事項;安裝套件與升級韌體是兩回事。

在 LuCI 備份頁下載封存檔,私下存放於路由器以外,當中可能包含密碼和私鑰。另列本次新增 network、firewall 段落;整份還原會覆蓋備份後其他人的修改。

準備自有端點域名、UDP 連接埠、伺服器公鑰、選用的預先共享密鑰及獲分配隧道地址。與伺服器負責人確認此身份獲准連接及轉發,或存取指定私網服務。不要將私密設定交給網上轉換器或放入公開診斷報告。

示例以 192.168.8.10 為測試裝置、192.168.8.0/24 為 LAN、10.77.0.2/32 為隧道客戶端,目標是獲授權的 10.77.0.1。地址不同或重疊須先調整。sh25_ 段落與 wg_test 接口名稱必須未被使用;如有同名設定便停止。

步驟 2:新增接口及 peer,暫不接管預設路由

只從路由器已設定、可信的 25.12 套件庫安裝。遇上相依項目或內核版本錯誤便停止,不強制安裝,也不混入另一版本的內核模組。[2]

apk update
apk add wireguard-tools luci-proto-wireguard

在 Network → Interfaces 新增 wg_test,協議選 WireGuard VPN,於本機填入客戶端私鑰及地址。新增一個 peer,填伺服器公鑰、端點及連接埠,其餘接口維持原有定義。

下列只是設定片段,不能覆蓋整份 /etc/config/network。大寫字串須以真實資料私下替換,只有端點設定要求時才加入預先共享密鑰。[3]

config interface 'wg_test'
        option proto 'wireguard'
        option private_key 'CLIENT_PRIVATE_KEY'
        list addresses '10.77.0.2/32'

config wireguard_wg_test 'sh25_peer'
        option public_key 'SERVER_PUBLIC_KEY'
        option endpoint_host 'AUTHORIZED_ENDPOINT_HOST'
        option endpoint_port 'AUTHORIZED_UDP_PORT'
        list allowed_ips '10.77.0.0/24'
        option route_allowed_ips '1'

核對後使用 LuCI Save & Apply,再連回未更改的管理地址。若失去連接,讓待確認變更自動回復,不要反覆接受設定。啟用此出站接口毋須開放 WAN 管理。

OpenWrt VPN 客戶端路由會改變哪些路徑?

AllowedIPs 決定目標屬於哪個 peer,亦限制隧道可接收的來源地址,並不授予防火牆許可。OpenWrt 的 route_allowed_ips 另外要求加入系統路由;實作預設為 0,此有限目標示例明確設為 1。[3]

層次核對項目所能確認的事情
接口wg_test、獲分配地址本機隧道接口存在
Peer端點、公鑰、AllowedIPs對端與允許地址集合
路由10.77.0.0/24 經隧道目標選用該接口
防火牆測試來源獲准前往隧道客戶端的轉發權限
回程伺服器路由或獲准轉換回應能送返原請求方
DNS實際解析器與路由查詢從哪條路徑離開

擴大地址範圍前,先釐清AllowedIPs 與路由的分工。把有限前綴換成 0.0.0.0/0 並啟用自動路由,會更改 IPv4 預設出口,可能影響所有 LAN 裝置及路由器自身請求。只可在隔離測試 LAN 或已批准維護時段進行,並保留經 WAN 到端點的路由。

未啟用 nohostroute 時,netifd 通常會追蹤端點可達性。檢查解析後端點的實際路由,避免進入自己的隧道;隧道啟動前亦須能解析端點域名。預設路由不是斷線保護。兩部裝置需要不同路徑時,改用按裝置分流流程,不要套用全局預設路由示例。[3]

步驟 3:只開放必要轉發

新增獨立 zone sh25_wg,納入 wg_test,設定 input REJECT、output ACCEPT、forward REJECT。以 IPv4 流量規則允許 192.168.8.10 從實際 LAN zone 前往 sh25_wg,例如命名 sh25_client_forward。不要增加 WAN 到 LAN 或路由器管理面的權限。[4]

有限私網測試須選定回程方式:伺服器有獲授權的 LAN 回程路由及對應 peer AllowedIPs,或在獨立隧道 zone 啟用 IPv4 masquerading。與伺服器負責人確認並記錄其中一種。轉換可簡化回程,但遠端服務會失去各 LAN 來源的身份,亦不代表獲得存取授權。

保留原有 WAN 及管理規則,套用前檢查設定,再查看生成的 nftables 規則。設定正確仍須由測試裝置發出真實請求。不清空全局防火牆,以免刪除其他服務的保護與權限。

如何核對 OpenWrt WireGuard DNS 及 IPv6?

記錄裝置現用解析器。查詢若送到路由器,會在本機處理,其後路由器的上游查詢是另一條流,來源不再是原 LAN 裝置。設定檔有 DNS 地址,不能證明查詢經哪個接口。[4]

若選用隧道內可達解析器,應在相關客戶端或路由器 DNS 設定明確指定,核對路由,再解析一次自己控制的新域名。分別比對客戶端解析器、路由器上游及應用行為;瀏覽器加密 DNS 可能另用端點。不要向全 LAN 派發不可達的解析器。

只改 IPv4,現有 IPv6 預設路徑仍獨立。只有端點支援獲授權 IPv6 轉發、地址有效、伺服器接受所需來源,並已設計防火牆和回程,才加入 ::/0。IPv4 masquerading 不會修復 IPv6 回程。條件不足便不能宣稱整機覆蓋,更不可停用共享網絡的 IPv6 來製造合格結果。

步驟 4:驗證、斷線、重新啟動與還原

以下命令只查看狀態,不顯示私鑰。公鑰身份與端點資料亦只在必要且獲授權時才放進共享報告。[3]

ifstatus wg_test
wg show wg_test latest-handshakes
wg show wg_test transfer
ip -4 route show
ip -6 route show
nft list ruleset
檢查方法預期現象失敗處理
裝置請求 10.77.0.1 的獲授權服務請求成功,對應隧道計數增加分開查 peer、路由、轉發及回程
路由器本身重複請求另行記錄結果不以此推論 LAN 成功
查新 DNS 查詢及解析器解析器與路徑符合設計還原 DNS 更改並查上游路由
已批准全出口分支分別測兩個地址族IPv4、IPv6 出口符合各自政策缺失或繞行的 IPv6 仍未解決
只停用 wg_test,建立新連接私網目標失敗,公網按一般路由回落不宣稱失敗時封鎖,保留有線管理
恢復接口,只重新啟動獲授權測試路由器已保存設定恢復,結果一致本地救援並核對持久設定

公網出口分支請在測試裝置核對互聯網可見出口。IP 結果不能證明 DNS、每個應用的路徑或入站保護。每次變更後建立新連接,舊工作階段及 DNS 快取可能掩蓋路由變化。

還原時先恢復裝置改過的閘道及 DNS,再經有線管理停用 wg_test。僅移除本次 sh25_peer、wg_test、sh25_client_forward、sh25_wg,以及本次加入的路由或 DNS,交由原設定管理者套用。重查 LAN 管理、原 WAN 路由、DNS 及未參與裝置。套件只在本次獨用且無其他相依項目時才移除。

管理不可達時使用機型的本地救援程序與私密備份,不先重設共享路由器。新的請求重新沿原路徑運作,才算恢復,不只是 LuCI 能開啟。

總結

  • 先核對有限目標,再考慮互聯網預設路由。
  • LAN 轉發與伺服器回程分別驗證。
  • 明確記錄 DNS、IPv6、斷線及重新啟動行為。
  • 還原只移除本次設定。

常見問題

握手正常是否表示所有 LAN 裝置都用 WireGuard?

不是。握手只證明 peer 通訊,各裝置請求仍取決於路由、轉發許可和回程,須由需要覆蓋的裝置親自測試。

應否立即加入 0.0.0.0/0?

應先使用獲授權私網前綴。預設前綴配合自動路由可能改變其他裝置及路由器請求,擴大前須評估全網影響。

客戶端是否需要 WAN 管理規則?

此出站客戶端程序毋須開放 WAN 管理。LuCI 與 SSH 應留在原受限管理路徑,不能為排解連接問題而公開。

為何路由器能連伺服器,手提電腦卻不能?

路由器自身請求走 output,手提電腦需要 forwarding 和有效回程。先核對來源地址及獨立隧道 zone 的許可。

DNS 會跟隧道自動切換嗎?

不要作此假設。須分別查客戶端解析器和路由器上游,包括應用加密 DNS,才可描述 DNS 覆蓋。

停用 WireGuard 是否會封鎖一般上網?

此設定沒有這項保證。原 WAN 路由和許可可能接手新的公網請求;需要封鎖時須另設失效政策並驗證。

還原備份前是否要檢查其他修改?

要。整機還原可覆蓋備份後的設定,宜先移除本次命名段落;使用完整備份須有明確獲授權的還原範圍。

來源:

  1. OpenWrt — 25.12.0 release notes — https://openwrt.org/releases/25.12/notes-25.12.0
  2. OpenWrt — WireGuard client and documentation index — https://openwrt.org/docs/guide-user/services/vpn/wireguard/client ; https://openwrt.org/docs/guide-user/services/vpn/wireguard/start
  3. OpenWrt 25.12 — WireGuard netifd protocol implementation — https://raw.githubusercontent.com/openwrt/openwrt/openwrt-25.12/package/network/utils/wireguard-tools/files/wireguard.sh
  4. OpenWrt — Firewall configuration — https://openwrt.org/docs/guide-user/firewall/firewall_configuration

Sources checked 2026 年 10 月 11 日。


延伸閱讀:

開啟 3 天免費試用

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

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

OpenWrt WireGuard 客戶端設定:路由、DNS 與流量核對 | AethoVPN