WireGuard是什麼?比OpenVPN好在哪

2026年9月更新:補充各 VPN 供應商對 WireGuard 的私隱處理方式,及 App 內的協議選項。

WireGuard 是一個開源的 VPN 協議,用 UDP 傳送加密後的 IP 封包,設計目標是程式碼少、容易審核、連線快。它由 Jason A. Donenfeld 設計,2020 年進入 Linux 核心,現時 Windows、macOS、iOS、Android 都有官方版本。

如果你只是用 Surfshark、NordVPN 這類 VPN App,大多數情況下不需要自己設定:App 已內建 WireGuard(NordVPN 稱為 NordLynx),在協議選項揀它,或者交俾 App 自動揀,就已經在用。

重點摘要

WireGuard 是什麼?

WireGuard 是一個 VPN 協議,意思是它規定兩部機器之間如何建立加密連線和傳送資料。你可以把它想像成兩地之間的一條加密專線:你的裝置和 VPN 伺服器各持一對密鑰,互相認證之後,所有經過的 IP 封包都先加密,再用 UDP 傳送。

它的官方網站這樣描述自己:使用 Noise 協議框架、Curve25519、ChaCha20、Poly1305、BLAKE2、SipHash24 和 HKDF 等現代加密技術((WireGuard 官方網站,2026))。設計者 Jason A. Donenfeld 在 2017 年的 NDSS 研討會論文中提出,它的目標是在大多數情況下取代 IPsec,以及 OpenVPN 這類使用者空間或 TLS 為本的方案((NDSS Symposium,2017))。

時間線可以這樣記:2017 年發表論文;2020 年初 Linus Torvalds 把它併入 Linux 網絡代碼的上游((The Register,2020)),成為 Linux 核心 5.6 的一部分((WireGuard 安裝頁,2026))。之後它擴展到 Windows、macOS、BSD、iOS 和 Android,所以現在大部分商業 VPN 都提供 WireGuard 選項。

如果你還未清楚 VPN 本身是什麼,先看 VPN是什麼?點樣運作、有咩用。想同時比較其他協議,見 VPN協議比較。

WireGuard 點解快?

「快」要分開講。WireGuard 有幾個結構上的原因,但本頁不放任何速度數字,因為 top-vpn.hk 沒有自己的實驗室,而 WireGuard 官方效能頁自己也註明,頁內的基準測試「old, crusty, and not super well conducted」,正在等待新數據取代((WireGuard 效能頁,2026))。以下是可以查證的設計原因。

1. 程式碼少

論文指 WireGuard 在 Linux 上可以用不足 4,000 行程式碼實現((NDSS 2017 論文摘要,2017))。NordVPN 在自己的支援頁把它與 OpenVPN 比較,說是約 4,000 行對約 400,000 行((NordVPN 支援,2026)),這是供應商的說法,但方向與 WireGuard 官方一致:代碼愈少,愈少地方出錯,也愈少地方拖慢。

2. 握手快,換網絡不用重新來過

WireGuard 的握手基於 Noise_IK,只需兩個訊息,而且它是「無連線」設計:裝置換了 Wi-Fi 或轉用 5G,協議會自動重新協商,不需要用戶手動重連((WireGuard 協議頁,2026))。Proton VPN 指它通常不到一秒就連上伺服器((Proton VPN,2026))。對經常在港鐵、商場、住家之間轉網絡的香港手機用戶,這點比紙面上的速度更有感覺。

3. 加密算法對手機和路由器友善

WireGuard 用 ChaCha20-Poly1305。RFC 8439 指出,在沒有專用 AES 硬件的平台上,ChaCha20 在純軟件下比 AES 快得多,約為三倍((RFC 8439,2018))。不過要平衡地看:WireGuard 官方的已知限制頁承認 ChaCha20-Poly1305 缺乏廣泛的專用硬件支援,但現代 CPU 的向量指令通常能追平甚至超越 AES-NI((WireGuard 已知限制,2026))。結論是:在平價路由器和舊手機上優勢最明顯,在新電腦上差距細得多。

4. 在核心內運作

Linux 上的 WireGuard 在核心內處理封包,少了使用者空間和核心之間來回搬資料的開銷。Windows、macOS、iOS、Android 上則用使用者空間實現,所有版本必須遵守同一份協議規格((WireGuard 跨平台說明,2026))。所以「核心內運作」的優勢主要體現在 Linux 伺服器端,手機和電腦上的 App 未必享有同樣的加成。

WireGuard 用咩加密?

WireGuard 的協議頁列出固定的一組加密原語((WireGuard 協議頁,2026)):

用途 算法 白話解釋
握手框架 Noise_IK 雙方用各自的公鑰互相認證,一個來回完成
密鑰交換 Curve25519 雙方在不公開私鑰的情況下算出同一個共用密鑰
封包加密與認證 ChaCha20-Poly1305 加密之餘同時驗證封包沒有被改動
雜湊 BLAKE2s 用來核對資料和派生密鑰
密鑰派生 HKDF 從共用密鑰產生實際使用的多把密鑰

協議頁還提到幾個重要性質:具備前向保密(即使日後私鑰外洩,過去的通訊也不能被解開)、避免密鑰洩露偽裝攻擊、會每隔幾分鐘自動更換會話密鑰,並且對未通過認證的人保持「沉默」,不回應陌生封包。

這套組合的取捨是:WireGuard 不像 OpenVPN 可以由用戶挑選加密算法,協議頁只列出這一組。好處是不會有人被誘導去用較弱的設定,壞處是日後算法出問題時,要發佈新版本協議才能更換。加密的更多背景見 VPN加密是什麼?AES-256點保護你。

WireGuard 的私隱問題:固定位址與 NordLynx

WireGuard 要求伺服器為每個用戶記住一組公鑰和固定內部位址,這在自架伺服器時沒問題,但對商業 VPN 來說,等於要把「誰用哪個位址」存起來,與「不保留記錄」的承諾有衝突。供應商各有解法:

換句話說,「用了 WireGuard」不等於「私隱做得好」,要看供應商怎樣處理這個設計上的缺口。這也是 不記錄日誌的 VPN 值得看獨立審核的原因。

WireGuard 官方承認的限制

WireGuard 的已知限制頁列出幾項((WireGuard 已知限制,2026)):

WireGuard 與 OpenVPN 怎樣揀?

項目 WireGuard OpenVPN
程式碼規模 不足 4,000 行(論文) 大得多,NordVPN 稱約 400,000 行
傳輸 只有 UDP UDP 與 TCP 皆可
連線速度 握手一個來回 握手步驟較多
穿越嚴格防火牆 較弱,特徵明顯 TCP 443 可混入一般網頁流量
加密選擇 固定一組 可配置,預設清單含 AES-256-GCM
審核 Linux 版獨立審核,另有形式化驗證 OSTIF 與 QuarksLab 獨立審核過
歷史 2017 年論文,2020 年進入 Linux 2001 年首度發佈

上表的審核、TCP 與防火牆比較來自 Proton VPN 的文章((Proton VPN,2026))。簡單的選擇規則:

各大 VPN App 點樣開 WireGuard?

在 VPN App 入面,操作大同小異:打開設定,找到「協議」,揀 WireGuard。

各供應商的協議名單和各平台的支援情況常有改動,例如 Proton VPN 現時在支援頁把 OpenVPN 列為只限 Linux,Surfshark 亦已從 Windows App 移除 IKEv2,揀之前請以 App 內顯示為準。

不用 App,自己用官方 WireGuard 軟件

如果供應商提供手動設定檔(Surfshark 是其中之一),你也可以直接用 WireGuard 官方 App:Windows 從官方下載頁取得安裝程式,macOS 和 iOS 用 App Store,Android 用 Google Play 或官方 APK((WireGuard 安裝頁,2026))。步驟大致是:

  1. 在供應商的帳戶頁產生設定檔或金鑰,下載 .conf 檔或掃描 QR 碼。
  2. 在 WireGuard App 按「新增通道」,匯入檔案。
  3. 打開開關即可連線。

要留意,手動設定通常不會享有 App 內的額外功能,例如上文提到的 Surfshark 後量子保護。自己在電腦上產生金鑰的做法見官方快速入門頁,但那是給技術人員的,普通用戶用供應商的 App 就夠了。

什麼情況 WireGuard 不是最佳選擇

想知道 VPN 在日常還有什麼用,見 VPN有咩用?10個實際用途;覺得速度未如理想,見 VPN好慢點算?提速方法及測速;其餘疑問可翻 VPN常見問題。

常見問題

WireGuard 是什麼?

WireGuard 是一個開源的 VPN 協議,透過 UDP 傳送加密封包,程式碼不足 4,000 行,已納入 Linux 核心 5.6,亦有 Windows、macOS、iOS、Android 官方版本。

WireGuard 比 OpenVPN 快嗎?

一般較快,主因是程式碼精簡、握手只需一個來回、加密組合固定。不過實際速度視乎伺服器距離和負載,官方自己也說舊基準測試已過時。

WireGuard 安全嗎?

協議設計和加密組合獲密碼學界分析,Linux 版本亦經獨立審核。它的弱點在私隱處理和易被封鎖,前者要靠供應商補救,後者可改用 OpenVPN TCP。

WireGuard 會記錄我的 IP 嗎?

協議本身要求伺服器記住每個用戶的固定內部位址,供應商要自行處理。NordVPN 用雙重 NAT,Proton VPN 也說採用雙重 NAT,都是為避免儲存用戶身份。

VPN App 入面點樣轉用 WireGuard?

打開 App 的設定頁,找到「協議」或「Protocol」一欄,揀 WireGuard 或 NordLynx 就得。Proton VPN 預設用智能協議,Surfshark 預設自動揀,通常已經揀到它。

WireGuard 可以用在學校或公司網絡嗎?

有時不行。它只用 UDP,流量特徵明顯,容易被防火牆封鎖。網絡管理員有權限制 VPN,先確認規則,再考慮改用 OpenVPN TCP 或供應商的抗封鎖協議。

資料來源

  1. WireGuard 官方網站(2026-09-30 核對)
  2. WireGuard 協議與加密說明(2026-09-30 核對)
  3. WireGuard 已知限制(2026-09-30 核對)
  4. WireGuard 效能頁(官方註明基準已過時)(2026-09-30 核對)
  5. WireGuard 安裝頁(各平台官方來源)(2026-09-30 核對)
  6. WireGuard 跨平台說明(2026-09-30 核對)
  7. WireGuard: Next Generation Kernel Network Tunnel(NDSS 2017)(2026-09-30 核對)
  8. The Register:WireGuard 進入 Linux 上游(2020)(2026-09-30 核對)
  9. RFC 8439:ChaCha20 與 Poly1305(2026-09-30 核對)
  10. NordVPN:NordLynx 說明(2026-09-30 核對)
  11. NordVPN 支援:應該揀哪個協議(2026-09-30 核對)
  12. Surfshark:VPN 協議(2026-09-30 核對)
  13. Proton VPN:OpenVPN 與 WireGuard 比較(2026-09-30 核對)
  14. Proton VPN 支援:更改 VPN 協議(2026-09-30 核對)
  15. ExpressVPN:VPN 協議介紹(2026-09-30 核對)
SurfShark
1098 評價
$2.49 每月(Starter,24個月方案,另送3個月)
訪問網站