什麼是 WireGuard?為什麼 Linux 使用者為它瘋狂?
從普通的 Linux 使用者到 Linux 建立者 Linus Torvalds,每個人都對 WireGuard 很感興趣。什麼是 WireGuard,它為何如此特別?
什麼是 WireGuard?
WireGuard 是一個易於配置、快速且安全的開源 VPN,它利用了最新的加密技術。目的是提供一種更快、更簡單、更精簡的通用 VPN,它可以輕鬆地在樹莓派這類低端裝置到高階伺服器上部署。
IPsec 和 OpenVPN 等大多數其他解決方案是幾十年前開發的。安全研究人員和核心開發人員 Jason Donenfeld 意識到它們速度慢且難以正確配置和管理。
這讓他建立了一個新的開源 VPN 協議和解決方案,它更加快速、安全、易於部署和管理。
WireGuard 最初是為 Linux 開發的,但現在可用於 Windows、macOS、BSD、iOS 和 Android。它仍在活躍開發中。
為什麼 WireGuard 如此受歡迎?
除了可以跨平臺之外,WireGuard 的最大優點之一就是易於部署。配置和部署 WireGuard 就像配置和使用 SSH 一樣容易。
看看 WireGuard 設定指南。安裝 WireGuard、生成公鑰和私鑰(像 SSH 一樣),設定防火牆規則並啟動服務。現在將它和 OpenVPN 設定指南進行比較——有太多要做的了。
WireGuard 的另一個好處是它有一個僅 4000 行程式碼的精簡程式碼庫。將它與 OpenVPN(另一個流行的開源 VPN)的 100,000 行程式碼相比。顯然,除錯 WireGuard 更加容易。
不要因其簡單而小看它。WireGuard 支援所有最新的加密技術,例如 Noise 協議框架、Curve25519、ChaCha20、Poly1305、BLAKE2、SipHash24、HKDF 和安全受信任結構。
由於 WireGuard 執行在核心空間,因此可以高速提供安全的網路。
這些是 WireGuard 越來越受歡迎的一些原因。Linux 創造者 Linus Torvalds 非常喜歡 WireGuard,以至於將其合併到 Linux Kernel 5.6 中:
我能否再次宣告對它的愛,並希望它能很快合併?也許程式碼不是完美的,但我不在乎,與 OpenVPN 和 IPSec 的恐怖相比,這是一件藝術品。
Linus Torvalds
如果 WireGuard 已經可用,那麼將其包含在 Linux 核心中有什麼大驚小怪的?
這可能會讓新的 Linux 使用者感到困惑。你知道可以在 Linux 上安裝和配置 WireGuard VPN 伺服器,但同時也會看到 Linux Kernel 5.6 將包含 WireGuard 的訊息。讓我向您解釋。
目前,你可以將 WireGuard 作為核心模組安裝在 Linux 中。而諸如 VLC、GIMP 等常規應用安裝在 Linux 核心之上(在 使用者空間中),而不是內部。
當將 WireGuard 安裝為核心模組時,基本上需要你自行修改 Linux 核心並向其新增程式碼。從 5.6 核心開始,你無需手動新增核心模組。預設情況下它將包含在核心中。
在 5.6 核心中包含 WireGuard 很有可能擴充套件 WireGuard 的採用,從而改變當前的 VPN 場景。
總結
WireGuard 之所以受歡迎是有充分理由的。諸如 Mullvad VPN 之類的一些流行的關注隱私的 VPN 已經在使用 WireGuard,並且在不久的將來,採用率可能還會增長。
希望你對 WireGuard 有所瞭解。與往常一樣,歡迎提供反饋。
via: https://itsfoss.com/wireguard/
作者:Abhishek Prakash 選題:lujun9972 譯者:geekpi 校對:wxy
相關文章
- 為什麼JavaScript開發如此瘋狂JavaScript
- ITAM是什麼?為什麼它很重要?
- 什麼是客戶分析,為什麼它很重要?
- 什麼是Nginx?Linux為什麼使用Nginx?NginxLinux
- 【Learning eBPF-1】什麼是 eBPF?為什麼它很吊?eBPF
- 邊緣計算是什麼以及為什麼需要它
- 【知識分享】香港伺服器的IPMI是什麼?為什麼需要它?伺服器
- GC是什麼?為什麼要有GC?GC
- 什麼是Docker?為什麼使用docker?Docker
- Linux是什麼系統?為什麼要學習Linux?Linux
- 為什麼為什麼為什麼為什麼為什麼你要做一名程式設計師?程式設計師
- 什麼是框架?為什麼說 Angular 是框架?框架Angular
- 為什麼要有 Servlet ,什麼是 Servlet 容器,什麼是 Web 容器?ServletWeb
- 什麼是shell指令碼?Linux為什麼學習shell?指令碼Linux
- Linux是什麼?為什麼推薦學習Linux技術?Linux
- 什麼是Linux?為什麼企業會需要Linux運維?Linux運維
- TypeScript是什麼,為什麼要使用它?TypeScript
- Elasticsearch:是什麼?你為什麼需要他?Elasticsearch
- heredoc是什麼?它能為PHP做什麼?PHP
- Python是什麼?為什麼這麼搶手?Python
- [譯] 一文教你什麼是漸進增強,為什麼它很重要?
- 為什麼是.jspa???JS
- 交換機是什麼,它的工作原理是什麼
- 公司為什麼要使用OKR,目的是什麼?OKR
- 【前端筆記】Vuex 是什麼,為什麼需要前端筆記Vue
- 什麼是隧道代理 為什麼選隧道代理
- 【譯】為什麼命名“它”為依賴屬性(DependencyProperty)
- 什麼是行為資料?企業為什麼要使用它?
- 為什麼redis是單執行緒的以及為什麼這麼快?Redis執行緒
- 什麼是AMD Gonzalo,為什麼說它與下一代主機有關?Go
- 什麼是資料標註,它的用途是什麼?
- 在Linux中,什麼是Linux作業系統,它的特點是什麼?Linux作業系統
- Kali Linux 是什麼,你需要它嗎?Linux
- Python是什麼?為什麼要掌握python?Python
- GC是什麼?為什麼我們要去使用它GC
- 什麼是垃圾蒐集(GC)?為什麼要有GC呢?GC
- 【Java面試】什麼是 ISR,為什麼需要引入 ISRJava面試
- 什麼是Web workers?為什麼我們需要他Web