雷騰

網路自由聯盟

2026-10 流量偽裝已升級:舊設定已停用,請登入後在「流量偽裝」頁面為每台裝置重新掃碼匯入。
2026-09 路由器新韌體已發布,請及時更新;「專網」方式回歸——下載設定檔,匯入即用,一鍵連線。
2026-09 「個人」方案全新上線:每月 4 美元、2 台裝置,同樣支援路由器——每個人都應該有一台翻牆路由器。
首頁路由專網思科偽裝代理私網聯絡

相關指南

深入瞭解 WireGuard:原理與發展

更新於 2026-10-13

WireGuard 是一個開源的 VPN 協定,由 Jason A. Donenfeld 設計,2015 年前後公開,2020 年正式進入 Linux 核心。它的特點可以歸結為一個詞:少。程式碼少——核心實現只有幾千行,而 OpenVPN 和 IPsec 是幾十萬行;選項少——加密演算法只有固定的一套,不讓你挑;狀態少——沒有「連線中」「已斷開」這些概念,有資料就發,沒資料就安靜。少帶來的是快、省電、容易審計,也帶來了它的侷限:只走 UDP、沒有偽裝、不管金鑰怎麼分發。下面先講它是怎麼工作的,再講它是怎麼一步步成為新一代 VPN 的基礎的。

設計思路:把 VPN 做得像一塊網絡卡

在 WireGuard 之前,主流的選擇是 IPsec 和 OpenVPN。IPsec 是一大族標準,設定項極多,不同廠商之間對接是出了名的麻煩;OpenVPN 跑在使用者模式、依賴龐大的 TLS 庫,靈活但慢。兩者的程式碼量都大到很難有人完整審計一遍。

WireGuard 的想法是反過來:只做一件事,把它做對。它在系統裡表現為一塊虛擬網絡卡(比如 wg0),你給這塊網絡卡配上自己的私鑰和幾個對端的公鑰,往它發資料包就會被加密送出去,收到的包解密後從它出來。其餘的事——路由、防火牆、地址分配——全部交給系統裡已有的工具。

它故意不做的事也很明確:不協商演算法、不管帳號密碼、不分配地址、不偽裝流量。這些要麼被認為是漏洞的來源,要麼留給上層的工具去做。

金鑰路由:公鑰就是身份

WireGuard 裡每個裝置有一對金鑰,公鑰就是它的身份,類似 SSH 的用法:兩邊互相把對方的公鑰寫進自己的設定,就建立了信任,沒有證書、沒有使用者名稱密碼。

設定裡給每個對端寫一條「允許的地址」(AllowedIPs)。它同時管兩個方向:發包時,目的地址落在誰的允許範圍裡,就用誰的公鑰加密發給誰;收包時,解密後看源地址是不是在這個對端的允許範圍裡,不是就丟掉。這套做法叫金鑰路由(cryptokey routing)——路由表和訪問控制合成了一張表。

所以把某個對端的允許地址寫成 0.0.0.0/0,就是「所有流量都交給它」,也就是通常說的全域性 VPN;只寫一個內網網段,就是隻有訪問那個網段時才走隧道。

握手和加密:固定的一套演算法

兩臺裝置第一次通訊前要握手:發起方發一個包,響應方回一個包,一來一回就完成了,雙方得到一組只用於這段時間的會話金鑰。握手基於 Noise 協定框架,用雙方的長期金鑰互相認證,同時用臨時金鑰保證前向保密——即使以後長期私鑰洩露,過去錄下來的流量也解不開。

會話金鑰每隔幾分鐘自動更換一次,整個過程對使用者不可見,也沒有「重連」這回事。

加密演算法是固定的:金鑰交換用 Curve25519,資料加密用 ChaCha20-Poly1305,雜湊用 BLAKE2s。沒有協商,也就沒有降級攻擊——攻擊者沒法誘使兩邊改用更弱的演算法。如果將來其中某個演算法被攻破,辦法是出一個新版本的協定整體替換,而不是加一個選項。

另外可以再加一把預共享金鑰,和公鑰機制疊加使用,為的是防備將來量子計算機對公鑰演算法的威脅。

只走 UDP、不回應陌生人、換網路不掉線

  • 只走 UDP:WireGuard 把每個資料包單獨加密後放進一個 UDP 包裡發出去。不用 TCP 是有意的——在 TCP 裡再跑 TCP,兩層都在重傳,丟包時會互相拖累。
  • 不回應陌生人:沒有透過認證的包一律不回覆。對掃描連接埠的人來說,這個連接埠看起來就像沒有開,無從知道上面跑著 WireGuard。
  • 漫遊:WireGuard 不認「連線」,只認公鑰。對端換了地址——手機從 Wi‑Fi 切到流量——它發來的下一個包只要認證透過,這邊就自動把回包發往新地址。所以切換網路時隧道不會斷。
  • 安靜:沒有資料要發的時候,隧道不產生任何流量,手機上因此很省電。只有當裝置躲在路由器後面、又需要一直能被對方找到時,才要開啟定時保活(PersistentKeepalive),每隔幾十秒發一個小包維持路由器上的對映。

為什麼快

  • 在核心裡跑:Linux 上的 WireGuard 是核心模組,資料包不用在核心和使用者程式之間來回複製;OpenVPN 傳統上跑在使用者模式,每個包都要多繞一圈。
  • 演算法適合所有 CPU:ChaCha20 不依賴專門的硬體加速指令,在手機、路由器這類沒有 AES 指令的晶片上尤其佔便宜。
  • 握手短:一來一回就能發資料,建立連線幾乎沒有等待。
  • 程式碼少:路徑短,能做的最佳化都做在了關鍵的那幾步上。
  • 要注意的是,這些說的是協定和實現本身的開銷。跨境線路上的實際速度,更多取決於線路的丟包和運營商對 UDP 的態度。

發展:從一個人的專案到進入核心

  • 2015 年前後:Jason A. Donenfeld 開始開發並公開 WireGuard,最初是 Linux 上一個獨立的核心模組。
  • 2017 年:描述其設計的論文在網路安全會議 NDSS 上發表,協定隨後經過了多項獨立的形式化驗證。同一年前後,Mullvad 等 VPN 服務商開始提供 WireGuard 接入。
  • 2018 年:Linux 的創始人 Linus Torvalds 在郵件列表裡稱讚它的程式碼,並說和 OpenVPN、IPsec 相比它簡直是一件藝術品,這句話讓它在開發者圈子裡廣為人知。
  • 2019 年:Cloudflare 釋出用 Rust 寫的使用者模式實現 BoringTun,並把 WireGuard 用在它的 WARP 上;NordVPN 推出基於 WireGuard 的 NordLynx;Tailscale 也在這一時期以 WireGuard 為資料面起步。
  • 2020 年 3 月:WireGuard 隨 Linux 5.6 正式合入核心主線,同時釋出 1.0 版本。從此主流 Linux 發行版自帶 WireGuard,不用另裝模組。同年 OpenBSD 也在核心里加入了它。
  • 2021 年:Windows 上推出核心模式實現 WireGuardNT,效能比之前的使用者模式實現高出一截;FreeBSD 隨後也有了核心實現。
  • 現在:Windows、macOS、Linux、iOS、安卓都有官方用戶端,OpenWrt、群暉等路由器和 NAS 系統普遍內建支援,絕大多數商業 VPN 把它列為預設或可選協定。

它不做什麼,以及由此帶來的侷限

  • 不管金鑰分發:每加一臺裝置,都要把它的公鑰寫進其他裝置的設定。裝置一多就管不過來,這正是 Tailscale 這類工具存在的理由。
  • 不動態分配地址:每個對端的內網地址是寫死在設定裡的,沒有 OpenVPN 那種「連上後發一個地址」的機制。商業 VPN 用它時都要在外面自己再做一層。
  • 隱私上的顧慮:伺服器需要記住每個對端最近一次的公網地址才能回包。對「不留日誌」有要求的 VPN 服務商,通常要額外做處理(比如定期清除、雙重地址轉換)。
  • 只有 UDP:在封鎖或限速 UDP 的網路裡不通或很慢。想讓它走 TCP 或 443 連接埠,只能在外面再套一層別的工具。
  • 沒有偽裝:握手包和資料包的格式、長度都有固定特徵,很容易被識別出來。它的設計目標是安全和簡單,不是抗審查。
  • 沒有帳號體系:協定裡沒有使用者名稱、密碼、到期時間這些概念,認的只是公鑰。

和 OpenVPN、IPsec 的比較

  • 程式碼量:WireGuard 核心幾千行;OpenVPN 加上它依賴的 TLS 庫、IPsec 的各種實現都在幾十萬行的量級。
  • 傳輸:WireGuard 只有 UDP;OpenVPN 兩種都行,能走 TCP 443 混在 HTTPS 流量的連接埠上;IPsec 用自己的協定號和 UDP 500 / 4500。
  • 設定:WireGuard 一個對端幾行;OpenVPN 的設定檔案選項很多但很靈活;IPsec 最複雜。
  • 效能:乾淨的網路上 WireGuard 通常最快、最省電;OpenVPN 在新版本里也有了核心加速(DCO),差距在縮小。
  • 功能:帳號密碼認證、動態下發地址和路由、走 TCP,這些 OpenVPN 自帶,WireGuard 都要靠外面的系統來補。
  • 裝置支援:OpenVPN 歷史長,老路由器、NAS、各種嵌入式裝置幾乎都認;WireGuard 在近幾年的系統上已經普及,老裝置上不一定有。

在 WireGuard 上面長出來的東西

  • Tailscale:在 WireGuard 上加了登入、金鑰分發、NAT 穿透和中繼,做成自動組網,見《深入瞭解 Tailscale》。Headscale 是它的開源控制伺服器實現。
  • Netmaker、NetBird、Firezone 等:同樣是「WireGuard 做資料面、自己做管理面」的組網或零信任產品。
  • Cloudflare WARP:面向普通使用者的 WireGuard 用戶端,把流量送進 Cloudflare 的網路。
  • 商業 VPN 的自家包裝:NordLynx 等,在 WireGuard 外加一層地址分配和隱私處理。
  • AmneziaWG 等變種:修改包頭和填充來隱藏 WireGuard 的固定特徵,用於檢查嚴格的網路;它們和標準的 WireGuard 用戶端互不相容。

在國內的網路上

  • 能不能用,首先看 UDP:不少寬頻和行動網路對大流量 UDP 做限速,表現為剛連上很快、跑一會兒變慢,或者晚高峰明顯示卡。
  • 跨境直連容易被識別:WireGuard 的握手包特徵固定,在跨境鏈路上可能被識別並干擾,表現為握手不上或用一段時間後斷流。這是協定沒有偽裝的直接後果。
  • 國內裝置之間組網(公司和家裡、手機和 NAS)不經過跨境鏈路,一般沒有這個問題,只受 UDP 限速和打洞成功率影響。
  • 所以它更適合做組網和遠端訪問;要長期穩定地跨境,需要有偽裝或能走 TCP / TLS 的方式配合,各協定的比較見《VPN 協定比較》。

雷騰 哪裡用到了 WireGuard

雷騰 的「私網」欄目用的是 Tailscale,資料面就是 WireGuard:裝置之間的隧道、到各地區出口節點的隧道,都是它在加密和傳輸。你不需要自己生成金鑰或寫設定,登入本站帳號後由用戶端自動完成。怎麼用見《私網(Tailscale)是什麼》,入口在私網頁面。

私網之外,同一個帳號還有不依賴 UDP 的方式:思科(AnyConnect)走 TLS,專網(OpenVPN)可以走 TCP,流量偽裝(Hysteria2)專門對付丟包。所在網路裡私網又慢又不穩時,換一種方式即可,見《各種連線方式適用的場景》。

常見問題

WireGuard 和 OpenVPN 哪個好?

乾淨、不限制 UDP 的網路上,WireGuard 更快、更省電、切換網路不掉線;需要走 TCP、需要帳號密碼登入、或者裝置比較老的時候,OpenVPN 更合適。兩者都是開源且經過長期檢驗的協定,安全性上都可靠。

WireGuard 安全嗎?

它用的是一套現代而保守的演算法,協定經過形式化驗證,程式碼量小、便於審計,目前沒有已知的實際攻破方法。要注意的是它不負責金鑰的保管和分發:私鑰洩露、或者把公鑰配錯了物件,協定本身幫不了你。

WireGuard 為什麼只支援 UDP?

設計上的取捨。在 TCP 連線裡再跑 TCP,丟包時兩層同時重傳,效能會急劇下降;而且 UDP 讓「不回應陌生人」和漫遊都容易實現。代價是在封 UDP 的網路裡用不了。

WireGuard 在中國能用嗎?

國內裝置之間組網一般可以。跨境直連不穩定:它的流量沒有偽裝,容易被識別和干擾,加上部分線路對 UDP 限速。需要穩定跨境時,要配合有偽裝或走 TLS 的方式。

WireGuard 是誰開發的,什麼時候進的 Linux 核心?

由 Jason A. Donenfeld 設計開發,2015 年前後公開;2020 年 3 月隨 Linux 5.6 合入核心主線,同時釋出 1.0 版本。

Tailscale 是不是就是 WireGuard?

不是同一個東西。WireGuard 是加密隧道的協定;Tailscale 是用 WireGuard 做資料傳輸的一套組網系統,另外解決了登入、金鑰分發、NAT 穿透和中繼。詳見《深入瞭解 Tailscale》。

用 WireGuard 需要自己設定金鑰嗎?

直接用 WireGuard 需要:每臺裝置生成金鑰,再把公鑰、地址、對端地址寫進設定。透過 Tailscale 或商業 VPN 的用戶端使用時,這些由軟體代勞。在 雷騰 的私網裡,登入帳號即可。

相關頁面

  • 深入瞭解 Tailscale:裝置之間是怎麼直接連上的 →
  • 私網(Tailscale)是什麼 →
  • VPN 協定比較:WireGuard、OpenVPN、Hysteria2 →
  • OpenVPN 怎麼用、什麼時候選它 →
  • 私網頁面:用戶端下載與登入 →
  • 在大陸選哪個地區最快 →
  • 連不上、慢、斷線怎麼查 →
  • Mac 提示「已毀損」怎麼辦,以及怎麼核驗安裝檔 →
  • macOS「網路延伸功能」授權是什麼 →
  • Mac 如何手動移除思科 →
  • 思科報錯「remote user is disabled」怎麼辦 →
  • VPN 速度慢怎麼辦:怎麼測速、慢在哪一段 →
  • DNS 污染與 DNS 洩漏:怎麼檢測和解決 →
  • 海外看騰訊視頻提示版權限制怎麼辦 →
  • 回國 VPN 怎麼選 →
  • 留學生回國 VPN 怎麼配 →
  • 在國外看大陸家裡的監控和 NAS →
  • 出差旅行怎麼設 →
  • ChatGPT 在中國大陸怎麼用:無法存取、無法登入的原因 →
  • 在大陸用 Telegram、Instagram、TikTok:收不到驗證碼怎麼辦 →
  • 在中國怎麼用 VPN:落地前全部設好 →
  • VPN 在中國連不上、很慢:原因和排查順序 →
  • 中國 VPN 推薦怎麼看:自己判斷的五條標準 →
  • 國外大牌 VPN 在中國能用嗎:各家官方怎麼說 →
  • 去中國用 eSIM 還是 VPN:差別和搭配 →
  • WhatsApp 在中國大陸能用嗎、怎麼用 →
  • Google 在大陸打不開怎麼辦:Gmail、Google 地圖 →
  • YouTube 在大陸怎麼看:卡頓與 Netflix 提示代理 →
  • AnyConnect 在中國能用嗎 →
  • 機場訂閱連結怎麼匯入 →
  • 網頁代理是什麼、什麼時候用 →
  • 各種連線方式適用的場景 →
  • 機場協定比較:SS、VMess、VLESS、Trojan、Hysteria2、TUIC →
  • 翻牆路由器怎麼選 →
  • 路由器刷韌體:從原廠韌體一步步刷成本站韌體 →
  • 路由器韌體能做什麼 →
  • 給家裡長輩和電視用 →
  • 路由器分流是怎麼做的 →
  • 軟路由是什麼:OpenWrt、旁路由與翻牆路由器 →
  • 帶去中國的旅行路由器:出差、外派怎麼用 →
  • iOS 裝不了應用怎麼辦 →
  • 公司電腦怎麼用:沒有管理員權限、已連著公司 VPN →
  • 多裝置一次設定、換手機不重來 →
  • 群暉、威聯通 NAS 怎麼走線路 →
  • Linux 伺服器和命令列工具怎麼走線路 →
  • Dropbox 等軟體要填 HTTP / SOCKS 代理怎麼辦 →
  • iPhone 上怎麼用 VPN:選哪種方式、怎麼設定 →
  • Android 手機怎麼翻牆:用什麼用戶端、怎麼設定 →
  • 電腦怎麼翻牆:Windows 和 Mac 用哪種方式 →
  • 回國 VPN 免費還是付費 →
  • 我們比其他 VPN 強在哪 →
  • 如何識別有風險的 VPN 軟體 →
  • 連線不夠裝置用怎麼辦 →
  • VPN 是什麼、怎麼用 →
  • 機場、加速器和 VPN 的區別 →
  • VPN 安全嗎:誰能看到什麼、怎麼自我檢查 →
  • 怎麼聯繫我們、怎麼不失聯 →
  • RustDesk 遠端協助怎麼用 →
  • 如何有效溝通 AI 客服 →
  • 退款政策與問題回饋 →

Flags by Twemoji (CC-BY 4.0)·IP Geolocation by DB-IP

關於指南聯絡

© 2006–2026雷騰