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


為甚麼 WireGuard 需要 Endpoint?WireGuard Endpoint 告訴一個 peer,應把加密 UDP 封包傳送至外層網絡的哪個位置。它通常寫成 IP 地址或主機名稱加 UDP 連接埠。Endpoint 不是 peer 身份、隧道地址,也不是要路由給它的目的地清單;這些都是密碼學路由模型內不同部分。
VPN 完整指南整理應用程式至 VPN 伺服器的完整路徑。本文只回答一個較窄的問題:WireGuard 選出 peer 後,哪個外層目的地能真正收到數據報?
關鍵要點
- Endpoint 是目前用來向 peer 交付 UDP 的外層
地址:連接埠。- 公開密鑰識別 peer,Endpoint 只說明它目前在哪裏可達。
- 初始 Endpoint 在設定模型中可選,但主動發起的 peer 必須有可用目的地。
- 正確驗證的封包可把保存的 Endpoint 更新為最新來源地址與連接埠。
AllowedIPs、系統路由、DNS 解析和 Endpoint 各自解決不同問題。
wg(8) 把 Endpoint 定義為 IP 地址或主機名稱,後面接一個連接埠。此欄位可以省略;WireGuard 會把它自動更新為來自相應 peer、最近一個正確驗證封包的來源 IP 及連接埠。[1]在常見客戶端—伺服器部署中,客戶端通常取得伺服器的公網主機名稱或 IP 及監聽 UDP 連接埠,才能送出首個發起封包。
「外層」是避免混淆的重點。隧道承載的封包有內層來源與目的地址,例如 10.0.0.2 和 10.0.0.1。加密結果要穿過真實網絡,還需要外層來源與目的地,例如客戶端公網映射及 203.0.113.8:51820。Endpoint 指的正是外層 UDP 交付的遠端位置。
連接埠不可省略,因為 IP 地址只識別主機或網絡介面,不能單獨識別監聽 socket。同一地址上的不同服務,甚至不同 WireGuard 介面,都可使用不同 UDP 連接埠。主機名稱只是方便的設定輸入;傳送封包前仍要解析成地址。
WireGuard 以靜態公開密鑰識別已設定 peer。白皮書把公開密鑰與獲准隧道地址之間的關聯稱為密碼學路由。[2]peer 可以在外層網絡之間移動而沿用同一密鑰,因此其身份毋須等同某個固定 IP。
隧道地址位於另一地址空間。10.0.0.2 這類內層地址供作業系統及 WireGuard peer 選擇規則在隧道內使用。它不會自動在公網可達,也不能代替 Endpoint。
AllowedIPs 又是另一項設定。它把內層 IP 前綴連到 peer,用於出站選擇及入站來源地址驗證。AllowedIPs 指南分別說明兩個方向。即使 AllowedIPs 選對 peer,缺少或過時的 Endpoint 仍會令外層交付失敗。
| 值 | 它回答的問題 | 常見例子 |
|---|---|---|
| 公開密鑰 | 這是哪個密碼學 peer? | Base64 編碼密鑰材料 |
| Endpoint | 加密 UDP 目前要傳往哪裏? | 203.0.113.8:51820 |
| 隧道地址 | 介面使用哪個內層地址? | 10.0.0.2/32 |
AllowedIPs | 哪些內層前綴屬於該 peer? | 10.0.0.0/24 |
| 系統路由 | 某目的地應交給哪個介面? | 指向 10.0.0.0/24 的路由 |
圖例:1 是傳送方 WireGuard peer;2 是已設定的密碼學 peer;3 是名為 Endpoint 的外層 UDP 目的地 203.0.113.8:51820;4 是受保護內層封包,其隧道地址和 peer 選擇仍與外層目的地分開。
至少一方要知道如何開始。如果漫遊手提電腦既沒有設定 Endpoint,也沒有較早學到的可達地址,就無法向伺服器發起連線。伺服器通常可省略客戶端 Endpoint,因為它會先在監聽 socket 等待客戶端聯絡。收到驗證發起封包後,伺服器便學習客戶端目前的來源地址及連接埠。
所以,設定語法中的「可選」並不表示「任何拓撲都不需要」。它只表示 peer 條目可不綁定固定初始位置。回應方可從有效流量學習位置;發起方需要某個可用地址,不論是直接設定,還是較早驗證流量留下的狀態。
主機名稱亦引入 WireGuard peer 身份以外的解析行為。名稱解析給出外層地址,工具或實作按各自生命週期套用。DNS 不會驗證 WireGuard peer,密鑰交換才會;相反,正確密鑰也不會把錯誤 DNS 答案變成正確主機。
若伺服器本身在 NAT 後,其監聽連接埠還要透過邊緣裝置轉送或映射才可達。把伺服器私有地址填入遠端客戶端 Endpoint,並不會令私有地址自動取得公網路由。
WireGuard 的漫遊設計從有效流量學習位置。當來自已知公開密鑰的封包通過驗證,WireGuard 便把該封包外層來源 IP 及 UDP 連接埠記為 peer 最新 Endpoint。之後發給該 peer 的封包會用新位置。只有密碼學檢查通過,位置才獲信任。[1][2]
因此,手機由家中 Wi-Fi 轉至流動網絡時仍可用同一公開密鑰身份。伺服器看到下一個來自新來源映射的驗證封包,便在該位置回覆。漫遊說明再處理時序、雙方同時移動限制及應用程式邊界。
未經驗證的數據報不能只宣稱「把該 peer 流量傳給我」便更換位置。它必須以已設定 peer 身份通過 WireGuard 驗證。在驗證通過前,單是從新來源地址收到數據報,不會更換已保存的 Endpoint。這保護機密性及 peer 身份。
保存的 Endpoint 因而更像目前運作狀態,而非永久身份紀錄。NAT 重新綁定、網絡商轉變、IPv4/IPv6 轉換及連接埠變化,都可令昨天的外層組合失效,而公開密鑰保持有效。
作業系統一般先決定把內層目的地送往哪個介面。封包到達 WireGuard 介面後,WireGuard 再按 AllowedIPs 表選擇 peer,並把封包封裝傳往其 Endpoint。這是兩個層次的查找。
wg-quick(8) 可從 peers 的 AllowedIPs 推導作業系統路由,並特別處理預設路由。[3]這項便利令設定看似一次完成,但概念仍然獨立。直接使用 wg、其他網絡管理器或自訂政策時,相同 peer 設定可對應不同系統路由表。
分層可解釋多種故障:
AllowedIPs:WireGuard 無法為內層目的地選 peer。在 AethoVPN 中,與選擇 Endpoint 最接近的用戶操作,是在 App 內選擇伺服器位置:清單會顯示負載,綠色表示狀態良好,另外亦有智能推薦節點。如果某個位置沒有回應,便切換到另一個綠色位置比較結果,而不是去找隱藏的 Endpoint 欄位;如果在某個網絡上所有位置都失敗,而換一個網絡就正常,外層路徑便是較可能的故障層。該產品沒有文件說明 Endpoint 欄位或特定隧道協議,所以本文的一般例子適用於自管的 WireGuard。可開始 3 日免費試用來試試切換位置。
Endpoint 回答「傳往哪裏」,PersistentKeepalive 則決定安靜的 peer 是否週期送出驗證空封包。PersistentKeepalive 指南說明 NAT 後 peer 為何可能需要這種流量保留回程映射。
保活不能取代 Endpoint。傳送方每個封包,包括空封包,仍需要目前外層目的地。相反,普通流量已更新狀態,或 peer 閒置時無須由遠端聯絡,正確 Endpoint 亦不要求保活。
排查時不要同時修改兩者。先確認目的地址及 UDP 連接埠,再觀察是否有有效握手,然後才評估閒置到期。否則週期封包只會產生更多失敗流量,不能指出錯誤層次。
先檢查外層目的地:主機名稱是否按預期解析,系統路由能否到達所選地址及 UDP 連接埠;再確認回應能以目標公開密鑰完成驗證。UDP 連接埠開放本身不能證明 peer 身份。
握手後比較目前 Endpoint 與收發計數器,再分別檢查內層目的地址、AllowedIPs 及系統路由。App 的載入指示不能分辨 DNS、外層 UDP、驗證或內層路由故障,因此應記錄每一層的觀察結果。
AllowedIPs、系統路由、隧道地址與 DNS 仍是不同契約。不是。Endpoint 是聯絡 peer 的外層地址及 UDP 連接埠。VPN 或隧道 IP 位於加密路徑內,並參與路由規則。
可以。wg(8) 接受主機名稱加連接埠。名稱解析提供外層地址,WireGuard 驗證仍按公開密鑰識別 peer。
監聽伺服器可等待客戶端先發起。正確驗證的封包到達後,伺服器會學習該客戶端來源 IP 及 UDP 連接埠。
不會。系統路由把流量送至介面,AllowedIPs 為內層目的地選擇 WireGuard peer,之後才使用 Endpoint 交付外層 UDP。
設定上可以,例如兩者在同一轉換地址後,但公開密鑰仍然不同,實際 NAT 映射及可達性亦必須正確。
不是。漫遊正是讓外層地址及連接埠可變,同時保留靜態公開密鑰身份。
不能。保活封包仍傳往目前 Endpoint。若目的地錯誤或不可達,重複傳送不會修正,除非其後收到來自新位置的有效 peer 流量。
來源:
wg(8): https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8wg-quick(8): https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8Sources checked 2026 年 9 月 12 日。
延伸閱讀:
註冊即可免費體驗全部高級功能。
*只限新用戶;每位用戶只可獲得一次試用。