如果您正在尋找實用且完整的指南來設定自己的 VPN 有了 WireGuard,您就來對地方了。 本教程將您需要了解的所有內容匯集在一起。:它是什麼,它的優點和缺點,如何在 Linux 上安裝它,如何在伺服器和客戶端(Windows、macOS、Android、iOS)上配置它,如何激活拆分隧道,如果出現問題該怎麼辦(網絡共享、IPv6、DNS、防火牆),甚至如何在具有 QNAP、OPNsense、Teltonika 或安全集成的專業環境中利用它。
WireGuard 是一款遊戲規則改變者,具有簡約的設計、現代加密技術和出色的效能。 它比 IPsec 或 OpenVPN 等傳統選項更快、更易於配置且更有效率並且在行動網路和漫遊場景下也提供了出色的穩定性。讓我們一步一步,循序漸進,穩紮穩打。
什麼是 WireGuard 以及它為何脫穎而出

WireGuard 是一款開源軟體,用於建立僅透過 UDP 運行的第 3 層 (L3) VPN 隧道。 他們的理念是盡量減少複雜性- 原始核心少於 4.000 行,而歷史實作中有數十萬行,這使得稽核程式碼和偵測漏洞變得更加容易。
它是相容於 IPv4 和 IPv6 的隧道型 VPN(非傳輸模式),能夠將 IPv4 封裝在 IPv6 中,反之亦然。 它採用一組固定的穩健演算法進行操作 這樣就無需協商加密套件,從而簡化了配置並避免了不相容問題。此外,當沒有流量時,其「靜默」行為可以降低功耗並延長行動裝置的電池壽命。
使用者體驗非常簡單:每個裝置產生一個金鑰對,交換公鑰,並且每側都有一個簡單的設定文件,您就擁有了一個功能隧道。 無需複雜的嚮導、X.509 憑證或一長串神秘參數如果您從 Wi-Fi 切換到行動數據,會話會因為快速握手而自動重設。
另一個優點是:它的設計使您不必「聚集」VPN。 你不需要檢查 日誌 不斷或重新啟動服務 只需稍作改變;在大多數情況下,只需調整位址、ListenPort、AllowedIPs、Endpoint,就可以了。
優點和可能的限制
從積極的一面來看,WireGuard 以其速度和極低的延遲而引人注目。 啟動幾乎是即時的,且吞吐量優於 IPsec 和 OpenVPN。 在各種環境中,包括路由器、NAS 和資源有限的設備。
在行動裝置上,它提供更快的會話、更快的重新連接和更低的電池消耗。 允許您在網路之間跳轉而不會丟失隧道 並在從 Wi-Fi 切換到 4G/5G 時恢復連線。在 iOS 上,你甚至可以重新啟動 路由器 無需 VPN 中斷。
面對遊戲和 流,它的低延遲是一個偉大的盟友。 許多用戶報告抖動減少且速度損失最小。,如果您在線玩遊戲或使用對延遲敏感的應用程序,這一點至關重要。
緊湊的程式碼庫減少了攻擊面並加快了審計速度。 由於行數較少,尋找和糾正錯誤變得更加可行。,從而提高了在關鍵環境中的信心。
作為缺點,值得考慮一些細節。 它的跨平台支援依賴第三方與某些系統的整合。 而且,在傳統生態系統中,你可能找不到像 OpenVPN/IPsec 那麼成熟的解決方案。公鑰與允許的 IP 範圍相關聯,如果發生洩漏,會對隱私造成影響。儘管它已經過審計, 它不像 IPsec 那樣累積那麼多的正式認證。雖然其核心已經很好地實現了它的承諾,但它附帶的額外功能(連接腳本、本機混淆等)也較少。
密碼學和內部設計

WireGuard 使用現代的、預先定義的「加密包」來避免複雜的協商。 其支柱包括噪音協議框架、用於 ECDH 的 Curve25519、用於對稱加密的 ChaCha20 和用於身份驗證的 Poly1305。 透過 AEAD。
對於散列,它依賴 BLAKE2,對於密鑰表,它依賴 SipHash24(在某些參考文獻中你會看到它是這樣寫的),對於密鑰派生,它依賴 HKDF。 如果有一天,該協議的一部分被宣佈為不安全,那麼發布新版本的協議就足夠了。 所有參與者都採用這個“版本 2”,保持簡單性。
結果是一個強大、高效的方案,佔用的記憶體和 CPU 空間較小。 非常適合路由器, 物聯網、虛擬化和低功耗設備,無需放棄非常高的速度 硬件 現代的
相容性和平台
它誕生於 Linux 內核,但如今它是跨平台的:Windows、macOS、FreeBSD、Android 和 iOS 都得到官方支援。 所有系統上的客戶端和伺服器語法都是相同的。,從而可以輕鬆地在不同的機器之間克隆配置,而不會帶來任何麻煩。
在防火牆和路由器領域,OPNsense 將 WireGuard 直接整合到核心中,實現 穩定性高,上傳/下載速度快pfSense 有其優點和缺點:它被包含在 2.5.0 中,然後由於發現一些小的安全問題而被刪除,並在整合完善時作為可選套件提供。
在 QNAP,WireGuard 是其 VPN(QVPN)產品的一部分,簡化了其在 NAS 上的採用。 配置很簡單,適合不想讓事情複雜化的使用者。,且不損失性能。
如果您使用 Teltonika 設備,則可以使用一個軟體包在其路由器上安裝 WireGuard。 如果您需要 Teltonika 的安裝指南或購買設備,您可以查看商店:https://shop.davantel.com
實踐表現
WireGuard 具有非常低的延遲和快速的重新連接。 它在不穩定的網路或「激進」的 NAT 上表現尤其出色。,快速握手和及時保持連線會產生影響。
在針對 L2TP/IPsec 和 OpenVPN 的比較測試中,為了避免營運商瓶頸,在本地網路上執行,證實了它們的優勢。 高階測試設備,例如搭載 Ryzen 7 2700、64 GB RAM 的 QNAP TS-1277 和 10 GbE 連接,以及配備 Ryzen 7 3800X 的 PC,使我們能夠使用 iperf3 測量「上限」性能。
此設定包括 10GbE 卡(ASUS XG-C100C、QNAP QXG-10G2T-107)和 D-Link DXS-1210-10TS 交換器。 結論很明確:WireGuard 的性能大約提高了一倍。 在該場景中,L2TP/IPsec 和 OpenVPN 的表現優於其他兩種 VPN,證實了它們在持續吞吐量和延遲方面的優勢。
在 Linux 上安裝(Debian/Ubuntu 及其衍生版本)
在現代發行版中,從官方儲存庫中提取就足夠了。 在 Debian 上,如果你沒有在穩定分支中看到它,你可以謹慎地拉取“不穩定” 獲取最新版本。
sudo echo "deb https://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
sudo printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
sudo apt update
sudo apt install wireguard
在 Ubuntu 及其衍生產品上,通常使用簡單的 apt 安裝 wireguard 這就夠了 記得以管理員權限執行 如果適用,則載入模組:
sudo modprobe wireguard
您也可以使用 FreeBSD、OpenBSD 和 OpenWrt(透過 opkg)中的軟體包。 在 Android 和 iOS 手機上 應用程序 Google Play 和 App Store 上的官方,準備透過檔案或二維碼導入配置。
配置伺服器(Linux)
首先為伺服器和客戶端產生金鑰。 前往 /etc/wireguard 並建立公用/私有對:
cd /etc/wireguard/
wg genkey | tee server_private.key | wg pubkey > server_public.key
wg genkey | tee client1_private.key | wg pubkey > client1_public.key
準備好密鑰後,建立 /etc/wireguard/wg0.conf 檔案。 定義 VPN 伺服器 IP、偵聽連接埠和允許的對等體:
[Interface]
Address = 192.168.2.1/24
PrivateKey = <server_private_key>
ListenPort = 51820
# Si quieres NAT al exterior, puedes automatizarlo (ajusta la interfaz física):
# PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
PublicKey = <client1_public_key>
AllowedIPs = 0.0.0.0/0
使用快速實用程式啟動介面並觀察路線和規則的自動建立。 就像跑步一樣簡單:
sudo wg-quick up wg0
如果您的防火牆策略有限制,請允許虛擬介面上的流量。 此規則開啟 wg0 的條目:
sudo iptables -I INPUT 1 -i wg0 -j ACCEPT
為了使客戶端能夠透過伺服器瀏覽互聯網,請啟用 IP 轉送和 NAT。 啟動轉送並配置屏蔽:
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
sudo iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
如果您想在 Debian/Ubuntu 上保留規則,請安裝對應的軟體套件。 這樣就可以避免重啟後遺失設定。:
sudo apt install iptables-persistent netfilter-persistent
sudo netfilter-persistent save
最後,從每個開始 開機: 啟用綁定到介面的服務.
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
配置客戶端
客戶端還需要其金鑰對和設定檔。 所有流量都經過 VPN 的基本範例:
[Interface]
PrivateKey = <client_private_key>
Address = 192.168.2.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = <server_public_key>
Endpoint = <IP_publica_del_servidor>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
如果您位於 NAT 或嚴格的防火牆後面,PersistentKeepalive 有助於保持映射開放。 在大多數情況下,25 秒通常就足夠了。在 Windows 和 macOS 上,您可以直接匯入 .conf 檔案;在行動裝置上,使用官方應用程式進行掃描。
在某些 Windows 10 裝置上,使用 AllowedIPs = 0.0.0.0/0(完整隧道)與官方用戶端時會出現問題。 另一種方法是使用特定的子網路或相容的用戶端,如 TunSafe 對於特定情況,匯入相同的設定語法。
如果您使用 QNAP,通常會使用這樣的範本(調整網域和範圍)。 在 Windows 上,混合式「分割」預設路由:
[Interface]
PrivateKey = AUTOGENERADA
Address = IP_ASIGNADA_WG/24
DNS = IP_DE_VPN_QNAP
[Peer]
PublicKey = CLAVE_PUBLICA_QNAP
AllowedIPs = RANGO_LOCAL.1/24, RANGO_VPN.1/24, 0.0.0.0/1, 128.0.0.0/1
Endpoint = <tu_nombre.myqnapcloud.com>:51820
PersistentKeepalive = 21
在 macOS 上,完整隧道通常與 AllowedIPs = 0.0.0.0/0 一起使用。 根據您的部署調整 DNS 和端點:
[Interface]
PrivateKey = AUTOGENERADA
Address = IP_ASIGNADA_WG/24
DNS = IP_DE_VPN_QNAP
[Peer]
PublicKey = CLAVE_PUBLICA_QNAP
AllowedIPs = 0.0.0.0/0
Endpoint = <tu_nombre.myqnapcloud.com>:51820
PersistentKeepalive = 21
分割隧道:何時以及如何
分割隧道可讓您決定哪些流量透過 VPN 傳輸以及哪些流量直接傳輸到網際網路。 它對於最大限度地減少敏感應用程式中的延遲或分割對內部資源的存取很有用。 無需將整個流量拖曳過隧道。
有幾種方法:反向隧道分離(除了排除的內容之外,所有內容都通過 VPN)、基於 IP/路由的策略(基於前綴的表調整), 透過瀏覽器擴充功能基於 URL 和應用程式分段(在支援它的客戶端上)。
在 WireGuard 中,主要的切換是客戶端上的 AllowedIPs。 對於全隧道:
AllowedIPs = 0.0.0.0/0
若要僅存取遠端 LAN(例如 192.168.1.0/24)並讓其餘流量透過常規連線: 將 AllowedIPs 限製到感興趣的網絡:
AllowedIPs = 192.168.1.0/24
在安全性方面,分割隧道比完整隧道的限制更少。 在採用 BYOD 的企業環境中,受損的端點可能會帶來風險在允許隧道傳輸到內部資源之前,請考慮預先存取控制,例如 NAC(例如 PacketFence)、防毒軟體和作業系統版本。
典型錯誤及解決方法
如果您正在將手機上的行動數據共用到筆記型電腦,但 VPN 無法正常運作,則可能有多種原因。 首先,請檢查您的電信業者是否允許網路共用,並且您沒有使用計量連線。 按系統策略。
重新啟動手機和裝置有時可以解決網路崩潰問題。 斷開並重新連接,然後重新啟動兩個設備 清理網路堆疊中的奇怪狀態。
在 Windows 網路介面卡上停用 IPv6 可能會解鎖某些情況。 前往網路中心>更改適配器設定>屬性並取消選取 IPv6,再次應用並測試。
保持客戶端和伺服器更新。 更新修復了漏洞並提高了相容性和效能. 對作業系統執行相同操作, 驅動程序 網絡。
丟棄 惡意軟件 使用良好的防毒/反惡意軟體,如果一切都失敗了,請重新安裝客戶端。 損壞的設定檔或故障的驅動程式可能會導致隧道無法開啟。。另外,請驗證路由器和防火牆上的 UDP 連接埠是否打開,並使用 wg/wg show 進行診斷。
在行動裝置上使用:優點和缺點
連接你的 智能手機 透過自己的 WireGuard 伺服器,它可以在公共和開放的 Wi-Fi 上保護您。 所有流量都對您的伺服器進行端對端加密。,避免在咖啡店、機場或飯店網路中嗅探、MITM 攻擊和其他恐慌。
它還可以幫助保護您的隱私,不讓 ISP 竊取: 如果您使用 HTTPS/TLS 上的 DNS 並透過 VPN 移動所有內容,電信業者將看不到您的活動。。此外,對於有限制的國家/地區的 P2P,VPN 可能是必不可少的。
另一個常見的用途是遠端存取您的家庭或辦公室。 您將伺服器安裝在網路上並透過行動裝置連接以存取電腦、NAS 或內部服務。 就像你就在那裡一樣。
如果您旅行,您可以繞過地理封鎖。 當你使用所在國家/地區的伺服器 IP 上網時,您可以造訪在目前位置受到限制的平台和網站。
作為弱點,請記住速度和延遲總是會受到一些影響,並且您依賴伺服器的可用性。 好消息是,WireGuard 通常比 IPsec 和 OpenVPN 增加的延遲更少。,尤其是在行動連接上。
企業中的 WireGuard
遠端辦公和不同地點之間的連接是自然的用例。 使用 WireGuard,您可以建立網站到網站或遠端存取隧道 配置簡單,效能高。
在企業網路中,將其與 LDAP 或 Active Directory 等目錄服務結合可以加強存取控制。 與 IDS/IPS(例如 Snort)和 Nessus 等漏洞掃描程式集成 提高可見度和降低風險。
為了備份和恢復,隧道對本地端和雲端之間的傳輸進行加密。 在 SD-WAN 部署中,WireGuard 適合作為站點之間的安全傳輸 以及遠端工作人員,成本低且易於維護。
如果您的組織允許 BYOD,請考慮使用像 PacketFence 這樣的 NAC 來在授予 VPN 存取權限之前驗證合規性。 它具有強制門戶、集中管理和多種整合相容性。,非常適合細粒度的存取策略。
實際案例和跨平台
使用 QNAP,您可以從其 VPN 套件中啟動 WireGuard,並使用適用於 Windows/macOS/iOS/Android 的簡單精靈和設定檔。 透過行動裝置上的二維碼導入可加快啟動速度,並且如果願意的話,您可以合併拆分預設路由。
在 Teltonika 路由器上,您有一個安裝 WireGuard 的套件。 如果您需要購買硬體或套件安裝指南,請查看 https://shop.davantel.com
在 Linux 桌面或雲端伺服器(VPS)上,典型的流程是:安裝、產生金鑰、設定 wg0.conf、啟用 IP 轉送、NAT、開啟 UDP 連接埠、啟用自動啟動。 在 macOS 和 Windows 上,官方應用程式可讓您透過貼上 .conf 或掃描二維碼來新增設定。.
對於更多注重隱私或尋找漏洞的設定文件,使用 WireGuard 設定 VPS 可讓您輪換 IP 和分離活動。 使用良好的防火牆並將“AllowedIPs”設定為最低限度,您可以保持低成本和完全控制。
安全提示和最佳實踐
保護您的私鑰並限製檔案權限。 產生金鑰時使用 umask 077 並監控對 /etc/wireguard 的存取。
將每個對等點的 AllowedIPs 限制在嚴格必要的範圍內,避免無緣無故地成為“敞開的大門”,如果檢測到掃描,則旋轉端口。 始終保持您的軟體為最新版本,無論是在伺服器還是客戶端。
加強所選 UDP 連接埠的防火牆,並考慮在用戶端上啟用終止開關。 使用 wg show 監控對等狀態和流量 並在需要時自動發出警報。
請記住,在 Windows 上,某些特定場景可能需要替代配置(例如,分割預設路徑)。 測試、測量並記錄您的部署以避免將來發生意外。.
WireGuard 已成為一種現代、快速且易於使用的 VPN 解決方案,適合家庭用戶、愛好者和企業。 透過一些明確的指導,您可以在幾分鐘內準備好隧道,並獲得最大的穩定性。、按需分割隧道、漫遊支援、所有平台上的官方應用程式以及超越舊協議的效能。
對字節世界和一般技術充滿熱情的作家。我喜歡透過寫作分享我的知識,這就是我在這個部落格中要做的,向您展示有關小工具、軟體、硬體、技術趨勢等的所有最有趣的事情。我的目標是幫助您以簡單有趣的方式暢遊數位世界。
