WireGuard – 實踐指南

WireGuard 是一種實驗性 VPN 協議,在 VPN 領域引起了相當多的關注。

它非常輕量(只有 3782 行代碼),這使得它比 OpenVPN 和 IPsec 等傳統 VPN 協議快得多。代碼的簡潔性也使得審計變得容易,並且因為它使用經過驗證的加密原語,所以它應該非常安全。

因此,WireGuard 具有巨大的潛力,但仍處於實驗和開發階段。它尚未經過適當的安全問題審核,並且缺乏跨服務器的安全密鑰共享系統,目前阻礙了廣泛的商業推廣。

最後一個問題可以通過使用更傳統的公鑰密碼系統(例如 RSA)來分發密鑰來解決。但這樣做會增加複雜性,從而消除使用 WireGuard 的許多優勢。

因此,WireGuard 是一項正在進行中的工作。然而,非常有趣的是,一些提供商開始嘗試新協議。特別感謝 NordVPN,我們非常高興有機會親自體驗它。

另請查看什麼是 WireGuard VPN 協議?更詳細地了解這個新 VPN 協議背後的理論。

目前,WireGuard 已正式支持 Android 和 Linux,不過很快就會支持 Windows 和 iOS。它還可用於使用 Homebrew 或 MacPorts 的 macOS 命令行。

官方客戶端的替代方案是 TunSafe。這是作為商業企業開發的,其軟件最初是封閉課程。 TunSafe 仍然提供使用 WireGuard 協議的商業 VPN 服務,該協議內置於其所有客戶端(儘管目前是免費的)。

然而,該軟件本身現已完全開源,可以使用任何第三方配置文件進行設置。

正如我們將看到的,TunSafe 軟件通常比官方客戶端功能更全面。它以完整的 GUI 形式提供,適用於 Windows、Android 和 iOS。

它還可以從 Linux、macOS 或 FreeBSD 命令行運行。這需要從源代碼進行編譯,但為此提供了簡單且易於遵循的說明。

Linux

官方 WireGuard 客戶端

WireGuard 是專為 Linux 內核設計的。官方 WireGuard 客戶端僅支持命令行,作為終端內的服務運行。

除了需要修復一些依賴性問題($ sudo apt installwireguard openresolv linux-headers-$(uname -r)wireguard-dkmswireguard-tools就可以解決問題)之外,安裝和使用非常簡單。

WireGuard 協議在 VPN 隧道內具有完整的 IPv4 和 IPv6 路由。在任何平台上使用它時,我們都沒有檢測到任何類型的 DNS 洩漏,但據報導,TunSafe for Windows 可以通過 Tun 接口洩漏 IPv6)。

沒有內置的終止開關,但可以通過將 iptables 命令添加到配置文件來創建一個終止開關。

有關如何手動執行此操作的一個很好的示例(應適用於任何 WireGuard 配置文件)可以在以下位置找到:穆爾瓦德的WireGuard 設置頁面。或者 VPN 提供商可以簡單地將命令添加到其標準配置文件中。

如前所述,基本的 WireGuard 客戶端也可以使用 Homebrew 或 MacPorts 在 macOS 中運行。

敦安

要在 Linux 中運行 TunSafe,您必須自己編譯源代碼。幸運的是,這遠沒有聽起來那麼可怕。網站上的說明非常清楚,我們在短短幾分鐘內就啟動並運行了命令行守護程​​序。

但必須指出的是,我們看不出使用 TunSafe 相對於官方 Linux 客戶端沒有任何優勢。 TunSafe 還可以從 macOS 和 FreeBSD 的源代碼進行編譯。

安卓

官方 WireGuard 應用程序

官方 Android 應用程序可通過F-機器人網站。

該應用程序缺乏功能(實際上沒有任何功能),但它的易用性彌補了這一點。 NordVPN 使用我們想像的將成為配置 WireGuard 設置的標準方法,為我們提供了包含其實驗性 WireGuard 服務器的二維碼的圖像。

我們所要做的就是使用手機攝像頭掃描每台服務器的代碼,然後就完成了!設置完成。還可以手動添加安裝文件,甚至創建您自己的安裝文件。

這就是該應用程序的全部內容。設置完成後,它會立即連接並完全正常工作。

TunSafe VPN 應用程序

既然它是開源的,TunSafe 成為官方 Android 應用程序的一個很好的替代品。該應用程序的核心功能與其所基於的開源官方應用程序幾乎相同。因此,它可以配置為通過 QR 碼、配置文件或從新創建連接到任何 WireGuard 服務器。

主要區別是 TunSafe 還運行 VPN 服務,因此默認情況下您可以選擇連接到 TunSafe 的 VPN 服務器。雖然最終是一個商業企業,但目前TunSafe VPN是100%免費使用的。然而,30 天后,TunSafe 服務器的帶寬將限制為 1GB/天。

使用超出服務器運營商收費的第三方配置文件沒有任何限制。根據其隱私政策, TunSafe VPN 是一項無日誌服務。

與官方應用程序不同,TunSafe for Android 具有終止開關和分割隧道(“排除的應用程序”)。它還可以顯示自己服務器的 ping 時間,但不能顯示第三方服務器的 ping 時間。對於高級用戶,可以在 Linux 中自行設置 WireGuard 服務器。

視窗

敦安

截至撰寫本文時,在 Windows 中運行 WireGuard 的唯一方法是使用 TunSafe。與 OpenVPN 一樣,TunSafe for Windows 需要TAP 以太網適配器為了工作。

這樣做的主要問題是 TAP 適配器可能會將 IPv6 DNS 請求洩漏到 VPN 接口之外。因此強烈建議在 Windows 中禁用 IPv6使用 TunSafe for Windows 時。

另一個問題是,使用 TAP 適配器給 WireGuard 的簡單性增加了複雜性。這在某種程度上違背了使用 WireGuard 的主要優勢之一。

客戶端使用簡單的 GUI,這使得導入 WireGuard .conf 文件變得非常容易。沒有通過二維碼導入文件的選項,但這是可以理解的,因為許多 Windows PC 沒有攝像頭。

它還提供了一個終止開關,可以使用(基於客戶端的)路由規則或(系統)防火牆規則來工作。或者兩者兼而有之。這非常方便。

Pre-Alpha 圖形用戶界面

2025 年 5 月 邊緣安全宣布Windows 版 WireGuard 的官方 pre-alpha 版本還處於早期階段,但 GUI 客戶端顯示了該項目的發展方向。

最需要注意的是,與 TunSafe 客戶端不同,不需要 OpenVPN TAP 適配器。相反,客戶端使用 Wintun,這是一款適用於 Windows 的最小第 3 層 TUN 驅動程序,也是由 WireGuard 團隊開發的。

另外值得注意的是(從 GUI 中看不出來),客戶端具有內置的自動“kill-switch”功能,可以阻止 VPN 隧道之外的流量。

除此之外,我們可以確認隧道之間的切換是一個非常順利的過程。所以一切看起來都非常有希望!

速度測試

除了本身的簡單性之外,WireGuard 相對於 OpenVPN 的最大優勢之一是,增加的簡單性也應該使 WireGuard 更快所以我們進行了一些測試...

我們選擇使用這是因為 Mulvad 完全支持 Linux。它還支持同一服務器(或至少非常相似的服務器位置)上的 WireGuard 和 OpenVPN,從而可以進行良好的同類比較。

測試是使用 speedtest.net 進行的,就像我們自己的一樣速度測試系統需要 OpenVPN 文件才能工作。所有測試均在英國進行。平均 ping(延遲)率顯示在括號中。

理論上,WireGuard 應該比 OpenVPN 快得多。但這些測試並沒有證實這一點。但應該記住,對於 WireGuard 的實際實施來說,現在還處於早期階段,Mullvad 還處於早期階段。速度極快當談到 OpenVPN 性能時。

結論

目前,WireGuard 尚未經過充分的審核和滲透測試,無法推薦作為 OpenVPN 和 IKEv2 等安全 VPN 協議的嚴肅替代方案。但它看起來確實非常有前途。

它易於設置和使用,在我們的測試中,它連接速度很快並且保持了非常穩定的連接。

從理論上講,WireGuard 的功能比 OpenVPN 強大得多。我們的測試結果可能是因為完整的實現還處於原型階段,也可能是因為我們測試環境的限制。

它們是通過 WiFi 執行的,而我們目前擁有的唯一與 Linux 兼容的 WiFi 連接器是(有點諷刺的是)非常便宜的 802.11g 加密狗,售價約為 5 美元。

因此,您可以根據我們的速度測試結果進行任意操作。除此之外,我們對 WireGuard 的進展印象深刻,迫不及待地等待它接受進一步的改進測試。對於任何分享這種熱情的人來說,捐款非常歡迎該項目。