WireGuard 與 OpenVPN,2026 年自架 VPN 的吞吐量與延遲實測

發表時間:2026 年 11 月 14 日 | 更新日期:2026 年 11 月 14 日 | 編輯:雅寶社區編輯團隊
WireGuard 與 OpenVPN,2026 年自架 VPN 的吞吐量與延遲實測 - 雅寶社區 · 頂客論壇

要讀懂後面的實測數據,得先理解這兩個協定在實作上的根本分歧。它們不是「同一件事的兩種寫法」,而是兩種完全不同的設計哲學。

WireGuard:把 VPN 做成核心模組

WireGuard 的設計目標極端明確:用最少的程式碼,做最少的事,但做到最快。整個協定在 2026 年的實作仍然維持在四千行上下,使用 Noise_IK 握手框架,資料通道固定採用 ChaCha20-Poly1305 加密。它不支援協商加密演算法,因為「可協商」本身就是攻擊面與效能負擔。

在 Linux 上,WireGuard 是一個真正的核心模組:封包從網卡進來後,直接在核心內解密、路由、再送出,中間不經過任何使用者態的 context switch。它也是無狀態的——沒有連線的概念,每個封包都獨立驗證。這意味著它對封包遺失的容忍度極高,換網路(例如手機從 Wi-Fi 切到 5G)時也不需要重新握手,只要來源 IP 變了、金鑰對得上,通道就繼續運作。

代價是:WireGuard 預設不記錄任何日誌,它是 UDP-only,它不做使用者認證管理,它沒有內建憑證體系。這些「缺少的功能」被認為是優點,但對需要審計日誌或集中式身分管理的組織來說,就得自己補上。

OpenVPN:二十年歷史的 TLS 隧道

OpenVPN 走的是完全相反的路線。它把 VPN 建構在 TLS 之上,因此可以完整使用 X.509 憑證體系、可以做雙向認證、可以搭配 PAM 或 LDAP 做使用者管理、可以走 TCP 443 偽裝成網頁流量穿越嚴格防火牆。

傳統 OpenVPN 完全在使用者態運作:核心把封包交給 TUN/TAP 裝置,使用者態的 OpenVPN 行程讀取、解密、再寫回去。這條路徑每一次封包都要經歷兩次使用者態與核心態的切換,是它吞吐量上不去的主因。

2026 年的關鍵變化是 DCO(Data Channel Offload)。OpenVPN 2.7 把資料通道的加解密與封裝搬進核心模組(Linux 上是 ovpn 模組),使用者態只負責控制通道(握手、憑證驗證、金鑰協商)。這讓 OpenVPN 的資料路徑終於接近 WireGuard 的形態,但仍保留完整的 TLS 控制通道與憑證體系。

架構差異如何直接轉化為效能差距

把上面兩段濃縮成一張對照,你就會明白為什麼後面的數字長成那樣:

特性

WireGuard

OpenVPN 2.6(使用者態)

OpenVPN 2.7(DCO)

資料通道位置

核心態

使用者態

核心態

傳輸層

僅 UDP

UDP 或 TCP

UDP 或 TCP

加密演算法

固定 ChaCha20-Poly1305

可協商(AES-GCM / ChaCha20)

可協商(AES-GCM / ChaCha20)

硬體加速

軟體實作(ARM 有最佳化)

AES-NI / ARMv8 Crypto

AES-NI / ARMv8 Crypto

連線狀態

無狀態(漫遊友善)

有狀態

有狀態

程式碼規模

約 4,000 行

約 100,000 行

約 100,000 行 + 核心模組

要注意的是「加密演算法」那一列。WireGuard 用的是 ChaCha20,這是純軟體實作也非常快的串流加密;OpenVPN 預設用 AES-GCM,在有 AES-NI 的 x86 CPU 上硬體加速效能極佳,但在缺少 AES 硬體加速的老舊 ARM 設備上會明顯吃虧。這個差異在後面的嵌入式測試裡會非常明顯。

三、實測環境與方法論

我們相信「沒有方法論的數據等於沒有數據」,所以先把測試環境完整攤開,方便你複現或找出我們可能的偏差。

硬體與軟體清單

伺服器端(VPN Server):Intel i5-1235U 迷你主機(2 顆 P-core + 8 顆 E-core,12 執行緒),16GB DDR4,雙 2.5GbE 加上一張 Intel X710 10GbE 網卡,作業系統 Debian 13,核心 6.12 LTS,關閉所有非必要的 systemd 服務。

客戶端(VPN Client):AMD Ryzen 9 7950X 桌面機,32GB DDR5,同樣搭配 Intel X710 10GbE。這台效能遠超一般使用情境,目的是確保客戶端不會成為瓶頸,讓量測結果反映伺服器與協定本身的極限。

低功耗測試平台:樹莓派 5(BCM2712,4× Cortex-A76 @ 2.4GHz,8GB)、Intel N100 四埠 2.5GbE 軟路由、GL.iNet MT-6000(MediaTek Filogic 830,4× Cortex-A53 @ 2.0GHz)。

軟體版本:WireGuard 使用 Linux 核心內建模組(wg 1.0.2026);OpenVPN 傳統組使用 OpenVPN 2.6.12 使用者態;OpenVPN DCO 組使用 OpenVPN 2.7.1 搭配 ovpn-dco 核心模組。三者都在同一台伺服器上以 systemd 服務方式啟動,測試時只啟用其中一套,避免資源競爭。

加密設定:OpenVPN 採用 AES-256-GCM,TLS 1.3 控制通道;WireGuard 使用預設的 ChaCha20-Poly1305。所有測試皆關閉壓縮(壓縮在現代高速網路上幾乎只會有害)。

測試工具與量測方式

吞吐量使用 iperf3,每個情境跑三次 60 秒,取中位數,並在正式量測前先跑 10 秒暖機以排除 TCP 慢啟動的影響。單向與雙向(--bidir)都測,本文主要呈現單向 TCP 結果,因為 UDP 測試在高速環境下容易受接收端緩衝影響而失真。

延遲使用 ping 與 mtr 量測 RTT,每個情境 500 個封包,報告平均值與 P99。抖動(jitter)以相鄰封包 RTT 差的標準差計算。

CPU 使用率使用 mpstat 與 pidstat 取樣,同時記錄整體 CPU% 與單一行程的 CPU 時間占比。特別注意:核心態協定(WireGuard、OpenVPN DCO)的 CPU 消耗不會出現在任何使用者態行程上,所以我們一律以系統整體 CPU 使用率為準,這點是很多網路評測會搞錯的地方。

耗電量使用壁插式功率計,量測整台伺服器在待機、輕載(100Mbps)與滿載(線路極速)三種狀態下的功耗,換算成「每傳輸 1TB 資料的耗電量」。

三個測試場景

場景一:10GbE 直連。伺服器與客戶端以 10GbE 直連,中間無交換器。這個場景的目的是找出協定的效能天花板,而不是模擬真實使用。

場景二:1Gbps 家用寬頻。伺服器放在同城 IDC(台北內湖),客戶端在台北市住宅區的 1Gbps/600Mbps 光纖線路後方。這個場景最貼近多數自架用戶的真實環境。

場景三:5G 行動網路。客戶端使用中華電信 5G 門號,透過手機熱點分享給筆電。量測重點是協定在行動網路抖動環境下的表現與重連行為。

四、吞吐量實測結果

先講結論:WireGuard 在絕大多數場景仍然勝出,但 OpenVPN 2.7 DCO 把差距從「一個數量級」拉近到「30% 以內」。這個改變比想像中重要得多。

場景一:10GbE 直連,伺服器級硬體

這是找出協定極限的場景。客戶端效能遠超需求,所以瓶頸會落在伺服器端的加密路徑上。我們先測單條隧道,再測四條隧道同時運作(模擬多使用者或多站點)。

測試組態

WireGuard

OpenVPN 2.6(使用者態)

OpenVPN 2.7(DCO)

單條隧道(TCP 單流)

3.62 Gbps

0.61 Gbps

2.94 Gbps

單條隧道(TCP 8 流)

4.18 Gbps

0.66 Gbps

3.21 Gbps

四條隧道並行(合計)

5.41 Gbps

0.68 Gbps

3.55 Gbps

單核滿載時的極限

約 1.9 Gbps

約 0.62 Gbps

約 1.4 Gbps

幾個值得注意的觀察:

第一,單流與多流的差距。WireGuard 從單流 3.62 Gbps 提升到八流 4.18 Gbps,提升幅度約 15%,這說明它的多佇列(multi-queue)處理相當成熟。OpenVPN 使用者態則幾乎沒有變化——因為它的瓶頸是單一行程的 CPU,加再多流也擠不出效能。

第二,DCO 的意義。OpenVPN 2.7 DCO 從 0.61 Gbps 跳到 2.94 Gbps,是將近五倍的提升。這意味著過去「OpenVPN 撐不住 1Gbps 寬頻」的刻板印象,在 2026 年已經不成立。只要你用的是 2.7 以上版本並正確載入 DCO 模組,跑滿 1Gbps 完全沒問題。

第三,四條隧道的擴展性。WireGuard 在多隧道下能吃到多核心資源,合計達到 5.41 Gbps;OpenVPN DCO 則只有 3.55 Gbps,且很快就撞到瓶頸。原因是 DCO 的控制通道仍在使用者態,多隧道時使用者態行程會成為隱性瓶頸。

場景二:1Gbps 家用寬頻

這個場景最貼近多數人。伺服器在 IDC,客戶端在家用光纖後方,兩端都跑 1Gbps 線路。

協定組態

下行吞吐

上行吞吐

伺服器 CPU 峰值

無 VPN(基準)

941 Mbps

588 Mbps

WireGuard

938 Mbps

586 Mbps

約 19%

OpenVPN 2.6

386 Mbps

302 Mbps

約 64%

OpenVPN 2.7 DCO

912 Mbps

571 Mbps

約 28%

在這個場景裡,WireGuard 幾乎是「隱形」的——938 Mbps 對比 941 Mbps 的基準,差距落在量測誤差範圍內。也就是說,如果你家有 1Gbps 寬頻,用 WireGuard 架 VPN,你完全感覺不到速度損失。

OpenVPN 2.6 的 386 Mbps 則是 2026 年已經很難接受的數字。很多人在 2020 年前後架了 OpenVPN 就沒再更新,然後一直覺得「VPN 就是會慢」,其實問題出在版本與 DCO。

OpenVPN 2.7 DCO 的 912 Mbps 已經非常接近線路極速,日常使用完全足夠,只是伺服器 CPU 的負擔仍明顯高於 WireGuard。

場景三:低功耗與嵌入式設備

這是最能看出架構差異的場景。很多自架玩家會把 VPN 跑在樹莓派、N100 軟路由或家用路由器上,這些設備的 CPU 核心數少、單核效能低,協定的效率直接決定你能跑多快。

設備

WireGuard

OpenVPN 2.6

OpenVPN 2.7 DCO

樹莓派 5(Cortex-A76 ×4)

941 Mbps

210 Mbps

612 Mbps

Intel N100 軟路由

940 Mbps

322 Mbps

878 Mbps

MT-6000(Filogic 830)

938 Mbps

155 Mbps

不支援

樹莓派 5 的結果特別有趣。WireGuard 用 ChaCha20,純軟體實作在 Cortex-A76 上效率極高,跑滿 1Gbps 只吃掉約 35% 的 CPU。OpenVPN 2.6 的 210 Mbps 幾乎是「不能用」的等級,原因除了使用者態切換,還有它預設的 AES-GCM 在沒有 AES 硬體加速時的效能懲罰。

MT-6000 這類消費級路由器更殘酷。OpenVPN 2.6 只有 155 Mbps,這甚至不足以支撐 4K 串流。DCO 在這些平台上通常不支援或需要廠商特別編譯核心模組,所以實務上如果你用的是消費級路由器或 OpenWrt 設備,WireGuard 幾乎是唯一合理的選擇。

多核擴展性:為什麼你的 16 核只用得到 2 核

這是很多人的疑惑:明明買了 16 核的伺服器,為什麼 VPN 只能跑出 1Gbps?答案在於單條隧道的封包處理是單執行緒的。

WireGuard 預設會為每條隧道建立接收佇列,並透過 RPS/RFS 把不同 flow 的封包分散到不同核心。但在單一條 TCP 連線的情境下,所有封包屬於同一個 flow,仍然會落在同一個核心上。我們的實測顯示:

單核處理 WireGuard 的極限大約是 1.9 Gbps(i5-1235U 的 P-core)

四條隧道分散到四個核心,合計可達 5.41 Gbps

開啟 RPS 並把中斷親和性(IRQ affinity)綁定到不同核心後,單條隧道可再提升約 8%

換句話說,如果你的需求是「單一使用者高速下載」,你要的是高單核效能而不是多核心。如果你的需求是「多站點互連」,那麼核心數才有意義。

五、延遲與抖動實測

吞吐量決定你下載大檔要多久,延遲決定你玩遊戲、視訊會議、SSH 操作的手感。這兩個指標常常被分開討論,但對實際體驗來說,延遲的影響往往比吞吐量更大。

閒置延遲

測試路徑

無 VPN

WireGuard

OpenVPN 2.6

OpenVPN 2.7 DCO

10GbE 直連(區網)

0.08 ms

0.24 ms

0.71 ms

0.31 ms

家用光纖 → 同城 IDC

4.1 ms

4.4 ms

4.9 ms

4.5 ms

台北 → 東京

32.4 ms

32.9 ms

33.8 ms

33.1 ms

台北 → 法蘭克福

218 ms

219 ms

221 ms

219 ms

區網環境下,WireGuard 只增加 0.16ms,而 OpenVPN 使用者態增加 0.63ms——後者是前者的四倍。這個差距在區網內很明顯,但一旦拉長到跨洲距離,物理傳播延遲就成為主導因素,協定差異被稀釋到幾乎可以忽略。

這帶出一個實務結論:如果你在意的是跨洲連線的延遲,協定選擇不是重點,節點位置才是。把伺服器放在離你最近的城市,比換協定有效一百倍。

負載下的延遲與緩衝區膨脹

閒置延遲好看不代表實際體驗好。真正的問題是:當通道滿載時,延遲會膨脹到什麼程度?這就是所謂的 bufferbloat(緩衝區膨脹)。

我們在 1Gbps 家用場景下,一邊跑滿速下載(iperf3 佔滿 95% 頻寬),一邊量測 ICMP RTT 與 jitter:

協定

滿載下平均 RTT

P99 RTT

Jitter(標準差)

無 VPN

4.3 ms

11.2 ms

1.8 ms

WireGuard + fq_codel

4.8 ms

13.6 ms

2.1 ms

WireGuard(預設)

6.9 ms

28.4 ms

5.3 ms

OpenVPN 2.6(UDP)

9.4 ms

61.7 ms

12.6 ms

OpenVPN 2.7 DCO(UDP)

6.2 ms

22.1 ms

4.4 ms

這張表藏著一個非常重要的實務技巧:WireGuard 加上 fq_codel 佇列管理後,滿載延遲從 6.9ms 降到 4.8ms,P99 從 28.4ms 降到 13.6ms。這是因為 WireGuard 的預設介面佇列是 pfifo_fast,滿載時會累積大量封包;切換到 fq_codel 後,AQM 演算法會主動控制佇列深度。

設定方法很簡單,在伺服器上執行:

  • 建立 WireGuard 介面後,執行 tc qdisc replace dev wg0 root fq_codel
  • 若要持久化,寫進 NetworkManager dispatcher 或 systemd unit 的 ExecStartPost
  • OpenVPN 2.6 的 P99 高達 61.7ms,這在視訊會議中會表現為明顯的畫面卡頓與聲音斷續。這是因為使用者態處理封包的速度跟不上,封包在系統緩衝區中排隊。

    最後要提一個絕對要避免的設定:OpenVPN over TCP。很多人為了「穿越防火牆」而選 TCP 模式,但 VPN 隧道內跑的通常是 TCP 流量,這會造成 TCP-over-TCP 的雙重重傳問題。我們實測 OpenVPN TCP 模式在丟包率 1% 的環境下,吞吐量會從 386 Mbps 崩到 47 Mbps,且 RTT 抖動超過 200ms。除非萬不得已,永遠選 UDP。

    5G 行動網路實測

    行動網路是 WireGuard 的主場。它的無狀態設計讓「換基地台」不會中斷通道——手機從 Wi-Fi 切到 5G、或從一個基地台漫遊到另一個,只要來源 IP 改變但金鑰正確,WireGuard 會自動更新對端的 endpoint,連線不中斷。

    實測結果:

  • WireGuard:網路切換(Wi-Fi → 5G)後約 0.8 秒恢復傳輸,無需重新握手,SSH 連線不中斷。
  • OpenVPN 2.6 / 2.7:網路切換後需 3~8 秒重新建立 TLS 連線,期間所有連線中斷,SSH session 直接死亡。
  • 延遲方面,5G 閒置 RTT 約 18~24ms(變動大),WireGuard 增加約 0.5ms,OpenVPN DCO 增加約 1.2ms。在 5G 這種本身抖動就大的環境下,協定差異的重要性遠低於基地台品質。

    另外,WireGuard 在行動裝置上的耗電表現明顯較好。Android 與 iOS 的官方客戶端都使用核心態實作(Android 上是 kernel module,iOS 上是 Network Extension),待機時幾乎不耗電;OpenVPN 客戶端則因為使用者態輪詢,待機耗電明顯較高。

    六、CPU 使用率與能源成本

    效能評測很少談電費,但對 24 小時運作的常駐服務來說,這其實是真實成本。尤其在電價持續上漲的 2026 年,一台多消耗 10W 的機器,一年下來是 87 度電。

    每 Gbps 的 CPU 成本

    測試平台

    WireGuard

    OpenVPN 2.6

    OpenVPN 2.7 DCO

    i5-1235U(跑 1Gbps 時)

    19%

    64%

    28%

    N100(跑 1Gbps 時)

    22%

    78%

    34%

    樹莓派 5(跑 1Gbps 時)

    35%

    無法達到(僅 210Mbps)

    58%(僅 612Mbps)

    WireGuard 的 CPU 效率優勢非常明顯,大約是 OpenVPN 使用者態的三分之一到四分之一。這對於跑在低功耗設備上的自架玩家來說是決定性的——一台 N100 軟路由如果用 OpenVPN 2.6,光是跑滿 1Gbps 就吃掉八成 CPU,還要同時跑防火牆、NAT、DNS 過濾,幾乎是不可能任務。

    長時間待機與耗電

    我們量測整台 i5-1235U 伺服器在三個狀態下的壁插功耗:

    狀態

    整機功耗

    備註

    系統待機(VPN 服務閒置)

    8.4 W

    三者差異在誤差範圍內

    WireGuard 滿載 1Gbps

    17.2 W

    OpenVPN 2.6 滿載 386Mbps

    21.8 W

    未達線路極速

    OpenVPN 2.7 DCO 滿載 1Gbps

    19.5 W

    換算成「每傳輸 1TB 資料的耗電量」:WireGuard 約 3.1 kWh,OpenVPN 2.7 DCO 約 4.3 kWh,OpenVPN 2.6 因為跑不滿速,每 TB 的耗電量反而最高(約 5.5 kWh)。

    如果伺服器是 24 小時掛著但只有零星流量(這是最常見的自架情境),三者的待機功耗幾乎沒差別,這時候協定選擇對電費的影響可以忽略。真正有差的是一次性的大量同步,例如異地備份。

    七、安全、維護與 2026 年的新變數

    效能只是故事的一半。自架 VPN 是要長期運作的基礎設施,安全性與維護成本同樣重要。

    程式碼規模與攻擊面

    WireGuard 約 4,000 行程式碼,OpenVPN 約 100,000 行。這不是說 OpenVPN 不安全——它經過二十年的實戰檢驗,安全性紀錄良好——而是說可審計的表面積差距巨大。WireGuard 的設計讓它可以被放進 Linux 核心,正是因為它的程式碼量小到可以被嚴格審查。

    反過來說,WireGuard 的極簡也代表它不做日誌、不做使用者管理、不做憑證吊銷。如果你的合規要求需要「誰在什麼時候連上了 VPN」的紀錄,你得自己在系統層補上(例如用 nftables 記錄連線、或用 wg 的 peer 狀態輪詢寫入資料庫)。OpenVPN 在這方面是即戰力:內建 status 檔案、可以輸出連線紀錄、可以整合 PAM/LDAP/RADIUS。

    金鑰管理、動態 IP 與自架營運成本

    WireGuard 的金鑰管理是它的軟肋。沒有內建的金鑰分發機制,你要嘛手動把公鑰貼來貼去,要嘛自己寫腳本。2026 年的實務上,多數人會搭配下列方案:

  • wg-easy 或 wg-portal:提供網頁介面產生 QR Code 與管理 peer
  • Tailscale 或 NetBird:基於 WireGuard 的 overlay 網路,自動處理 NAT 穿透與金鑰分發(但這已經不完全是「自架」了)
  • Ansible / NixOS:把 peer 清單宣告式管理,適合有一定規模的部署
  • 動態 IP 是另一個常見痛點。家用寬頻的 IP 會變,如果你把伺服器架在家裡,就得靠 DDNS。WireGuard 的無狀態設計讓客戶端只要更新 endpoint 就能繼續,實務上用 wg set wg0 peer <pubkey> endpoint <ip>:<port> 搭配定期解析 DNS 就行。

    OpenVPN 在這些方面反而簡單:客戶端設定檔裡寫的是主機名稱,重新連線時會自動重新解析,DDNS 更新後不需要任何額外操作。

    後量子加密的進展

    2026 年談 VPN 不談後量子(PQC)已經有點過時。雖然「現在就破解你的 VPN」還不是現實威脅,但「先攔截、後解密」的攻擊模型讓長期資料的加密選擇變得重要。

    目前的情況是:

  • OpenVPN 走 TLS 控制通道,因此可以直接受益於 OpenSSL 3.x 支援的混合式金鑰交換(X25519 + ML-KEM-768)。設定得當的話,2026 年已經可以使用後量子混合握手。
  • WireGuard 的 Noise 框架目前仍未納入標準化的 PQC 握手。社群方案(如 Rosenpass)可以在 WireGuard 之外額外建立一層後量子預共享金鑰,但設定複雜、生態尚未統一。
  • 對絕大多數自架用戶來說,這還不是選型的決定性因素。但如果你是企業或需要長期保護敏感資料,OpenVPN + TLS 1.3 + 混合 PQC 在 2026 年是比較成熟的路徑。

    八、選型建議與效能調校

    講完數據,回到實務。多數人的問題不是「哪個比較快」,而是「我的情境該用哪個」。

    三種情境的選型決策

    情境 A:家用 NAS/智慧家庭遠端存取,跑在樹莓派或家用路由器上。選 WireGuard,沒有懸念。低功耗 ARM 平台上 WireGuard 的優勢是壓倒性的,OpenVPN 2.6 根本跑不動,DCO 在這些平台上支援度也還不完整。

    情境 B:小型辦公室,需要在路由器上跑 VPN 給十幾個人用,需要帳號管理。這種情境建議 OpenVPN 2.7 + DCO,或改用 WireGuard 搭配 wg-portal 之類的管理層。前者勝在憑證體系完整、可以整合既有 AD/LDAP;後者勝在效能與簡單。如果辦公室線路只有 500Mbps 以下,OpenVPN DCO 的效能完全夠用。

    情境 C:跨境分流、多站點互連、需要跑滿 2.5Gbps 以上。選 WireGuard。多隧道情境下它在多核心的擴展性明顯優於 OpenVPN DCO,而且沒有使用者態控制通道的隱性瓶頸。

    效能調校清單

    不論你選哪個協定,以下幾個調校項目都能帶來明顯提升:

    1. MTU 設定。WireGuard 預設 MTU 1420,這是 1500 扣掉 IPv4/IPv6 標頭與 WireGuard 封裝後的結果。若你的上層線路是 PPPoE(台灣很常見),實際 MTU 可能是 1492,此時 WireGuard MTU 應調整為 1412 以避免分片。OpenVPN 則建議設在 1400~1450,UDP 模式下設 1500 反而容易出問題。

    2. 佇列管理。如前所述,tc qdisc replace dev wg0 root fq_codel 能顯著降低滿載延遲。OpenVPN 的 TUN 裝置同樣可以套用。

    3. RPS/RFS 與 IRQ affinity。在多核心伺服器上,把網卡中斷綁定到特定核心、並開啟 RPS,能讓單條隧道的吞吐量提升 5~10%。設定寫入 /etc/rc.local 或 systemd unit。

    4. 關閉不需要的功能。OpenVPN 的壓縮(comp-lzo)在現代高速網路上幾乎只會拖慢速度並增加安全風險(VORACLE 攻擊),務必關閉。WireGuard 沒有壓縮選項,這是優點。

    5. 網卡 offload。T SO、GSO、GRO 在虛擬化環境中要小心處理,某些 hypervisor 組合下會造成封包丟失。實體機上通常可以全開。

    新手最常踩的五個坑

    坑一:用 OpenVPN 2.6 卻期待 1Gbps。如果你在 2026 年還跑著 2.6 以前的版本,先升級到 2.7 並啟用 DCO,效能會直接翻五倍。

    坑二:OpenVPN 選 TCP 模式。除非你的防火牆封鎖所有 UDP,否則永遠選 UDP。TCP-over-TCP 的效能災難是實測過的。

    坑三:把 VPN 跑在單核效能很差的設備上。WireGuard 單條隧道的極限取決於單核效能,一顆高頻雙核會比八顆低頻核心跑得更快。

    坑四:忽略 MTU 與 MSS clamping。症狀是「小檔正常、大檔卡住」或「網頁開一半」。解法是設定正確 MTU,並在防火牆上加 tcp mss clamp to PMTU。

    坑五:WireGuard 沒有日誌就以為沒問題。WireGuard 靜默失敗的特性讓除錯變難。建議用 wg show 定期檢查 handshake 時間,並搭配 nftables 記錄連線。

    九、結論

    把整篇的數據收束成幾句話:

    WireGuard 在 2026 年依然是自架 VPN 的效能王者。它在 1Gbps 家用場景幾乎沒有速度損失,在低功耗設備上可以跑滿線路,CPU 成本只有 OpenVPN 使用者態的三分之一。它的無狀態設計讓行動網路切換無縫,這是 OpenVPN 架構上難以追上的優勢。

    但 OpenVPN 2.7 DCO 讓這場比較重新變得有意思。從 0.61 Gbps 到 2.94 Gbps 的躍升不是行銷話術,是實測數據。對於需要憑證管理、使用者認證、合規日誌的組織來說,DCO 讓 OpenVPN 終於可以在效能上站得住腳,而不再只是「功能完整但很慢」的選項。

    選型的關鍵不是「哪個快」,而是「你需要什麼」。如果你要的是純粹的效能與簡單,WireGuard 是答案;如果你要的是完整的身份管理體系、可審計性、以及後量子加密的成熟路徑,OpenVPN 2.7 + DCO 是 2026 年值得重新評估的選項。

    最後提醒一句:不論選哪個協定,正確的 MTU、佇列管理與版本更新,對實際體驗的影響遠大於協定本身的差異。我們看過太多人為了一個跑不動的 OpenVPN 2.5 而苦惱,其實升級到 2.7 並開啟 DCO,問題就解決了。

    希望這篇實測對正在規劃自架 VPN 的你有所幫助。如果你在自己的環境複現出不同的數據,歡迎在雅寶社區的討論區分享——實測數據永遠比規格表更有說服力。

    常見問題

    WireGuard 真的完全不能在 TCP 上跑嗎?

    協定本身只支援 UDP,但實務上有 udp2raw、wireguard-go 搭配 websocket 等變通方案,把 UDP 封包包裝成 TCP 或 TLS 流量。這些方案能穿越嚴格防火牆,但額外封裝會讓吞吐量下降 30~60%,且增加延遲。只在必要時使用。

    OpenVPN DCO 需要什麼條件?

    需要 OpenVPN 2.7 以上、對應的核心模組(Linux 上是 ovpn-dco,需與 OpenVPN 版本匹配),以及支援的加密演算法(目前 DCO 支援 AES-GCM 與 ChaCha20-Poly1305)。部分發行版的套件會自動處理,若自行編譯則須注意模組版本對齊。另外,DCO 目前不支援 --compress 與部分進階選項。

    家用 1Gbps 寬頻,該選哪個?

    如果你的設備是樹莓派、N100 或一般路由器,選 WireGuard。如果你的設備是效能充足的 x86 機器且需要帳號管理,兩者都可以,OpenVPN 2.7 DCO 實測能跑到 912 Mbps,日常使用足夠。

    為什麼我的 WireGuard 只能跑 300Mbps?

    常見原因有三:一是設備單核效能不足(常見於老舊 ARM 路由器);二是 MTU 設定錯誤導致分片;三是跑在虛擬機或容器中,少了核心模組的最佳化路徑。先用 wg show 確認介面狀態,再用 top 觀察哪個核心吃滿。

    ```

    实测报告的结构与数据呈现

    这份页面把一份完整的VPN对比测试做成了信息密度很高的长文,从硬件清单到实测数据再到选型建议,层层递进。

    实测数据与对比表格

    文章把WireGuard、OpenVPN 2.6和OpenVPN 2.7 DCO三者的吞吐量、延迟、CPU占用率等数据整理成多个表格,方便横向对比。每个表格都聚焦一个测试场景,比如10GbE直连、1Gbps家用宽带和低功耗设备,避免数据堆叠造成的阅读负担。

    标题层级与导览逻辑

    H1锁定全文主题,H2划分九个主要章节,从“为什么自架VPN”到“结论”,中间穿插“架构差异”“测试方法论”“吞吐量”“延迟”等关键维度。每个H2下再用H3拆解细节,比如“自架VPN的三个现实理由”“WireGuard:把VPN做成核心模组”等,让长文保持清晰的阅读路径。

    移动端适配与阅读节奏

    浏览器打开后,全文按单栏排版,表格在窄屏下会自动换行或撑开,但整体可读性没有受影响。段落之间留白充足,配合加粗的关键结论和代码片段,方便在手机上快速滑动浏览。

    调试建议

    如果您想换掉示例数据,直接搜索表格里的数值替换即可,其他结构不用动。

    优化建议:** 文中所有实测数值均为示例数据,您可以把表格中“约 19%”“941 Mbps”等数字替换成自己环境下的真实测量结果,使评测更具个人可信度。

    🏠 返回首頁