https://opensource.com/article/18/8/open-source-tools-vpn
作者 | Paul Bischoff
譯者 | heguangzhi ??共計翻譯:3.0 篇 貢獻時間:7 天
想嘗試建立您自己的 VPN,但是不確定從哪裡開始嗎?
如果您想嘗試建立您自己的 VPN,但是不確定從哪裡開始,那麼您來對地方了。我將比較 6 個在您自己的伺服器上搭建和使用 VPN 的最好的自由和開源工具。不管您是想為您的企業建立站點到站點的 VPN,還是隻是想建立一個遠端代理訪問以解除訪問限制並對 ISP 隱藏你的網際網路流量,都可以透過 VPN 來達成。
根據您的需求和條件,並參考您自己的技術特長、環境以及您想要透過 VPN 實現的標的。需要考慮以下因素:
Algo
Algo[1] 是從下往上設計的,可以為需要網際網路安全代理的商務旅客建立 VPN 專用網。它“只包括您所需要的最小化的軟體”,這意味著為了簡單而犧牲了可擴充套件性。Algo 是基於 StrongSwan 的,但是刪除了所有您不需要的東西,這有另外一個好處,那就是去除了新手可能不會註意到的安全漏洞。
作為額外的獎勵,它甚至可以遮蔽廣告!
Algo 只支援 IKEv2 協議和 Wireguard。因為對 IKEv2 的支援現在已經內建在大多數裝置中,所以它不需要像 OpenVPN 這樣的客戶端應用程式。Algo 可以使用 Ansible 在 Ubuntu (首選選項)、Windows、RedHat、CentOS 和 FreeBSD 上部署。 使用 Ansible 可以自動化安裝,它會根據您對一組簡短的問題的回答來配置服務。解除安裝和重新部署也非常容易。
Algo 可能是在本文中安裝和部署最簡單和最快的 VPN。它非常簡潔,考慮周全。如果您不需要其他工具提供的高階功能,只需要一個安全代理,這是一個很好的選擇。請註意,Algo 明確表示,它不是為瞭解除地理封鎖或逃避審查,主要是為了加密。
Streisand
Streisand[2] 可以使用一個命令安裝在任何 Ubuntu 16.04 伺服器上;這個過程大約需要 10 分鐘。它支援 L2TP、OpenConnect、OpenSSH、OpenVPN、Shadowsocks、Stunnel、Tor bridge 和 WireGuard。根據您選擇的協議,您可能需要安裝客戶端應用程式。
在很多方面,Streisand 與 Algo 相似,但是它提供了更多的協議和定製。這需要更多的工作來管理和維護,但也更加靈活。註意 Streisand 不支援 IKEv2。因為它的多功能性,我認為 Streisand 在某國和土耳其這樣的地方繞過審查制度更有效,但是 Algo 的安裝更容易和更快。
使用 Ansible 可以自動化安裝,所以不需要太多的專業技術知識。透過向用戶傳送自定義生成的連線指令,包括伺服器 SSL 證書的嵌入副本,可以輕鬆新增更多使用者。
解除安裝 Streisand 是一個快速無痛的過程,您也可以隨時重新部署。
OpenVPN
OpenVPN[3] 要求客戶端和伺服器應用程式使用其同名的協議建立 VPN 連線。OpenVPN 可以根據您的需求進行調整和定製,但它也需要更多專業技術知識。它支援遠端訪問和站點到站點配置;如果您計劃使用 VPN 作為網際網路代理,前者是您所需要的。因為在大多數裝置上使用 OpenVPN 需要客戶端應用程式,所以終端使用者必須保持更新。
伺服器端您可以選擇部署在雲端或你自己的 Linux 伺服器上。相容的發行版包括 CentOS 、Ubuntu 、Debian 和 openSUSE。Windows 、MacOS 、iOS 和 Android 都有客戶端應用程式,其他裝置也有非官方應用程式。企業可以選擇設定一個 OpenVPN 接入伺服器,但是對於想要使用社群版的個人來說,這可能有點過分。
OpenVPN 使用靜態金鑰加密來配置相對容易,但並不十分安全。相反,我建議使用 easy-rsa[4]來設定它,這是一個金鑰管理包,可以用來設定公鑰基礎設施(PKI)。這允許您一次連線多個裝置,並因此得到完美前向保密和其他好處的保護。OpenVPN 使用 SSL/TLS 進行加密,而且您可以在配置中指定 DNS 伺服器。
OpenVPN 可以穿透防火牆和 NAT 防火牆,這意味著您可以使用它繞過可能會阻止連線的閘道器和防火牆。它同時支援 TCP 和 UDP 傳輸。
StrongSwan
您可能會遇到一些名稱中有 “Swan” 的各種 VPN 工具。FreeS/WAN 、OpenSwan、LibreSwan 和 strongSwan[5] 都是同一個專案的分叉,後者是我個人最喜歡的。在伺服器端,strongSwan 可以執行在 Linux 2.6、3.x 和 4x 核心、Android、FreeBSD、macOS、iOS 和 Windows 上。
StrongSwan 使用 IKEv2 協議和 IPSec 。與 OpenVPN 相比,IKEv2 連線速度更快,同時提供了很好的速度和安全性。如果您更喜歡不需要在客戶端安裝額外應用程式的協議,這將非常有用,因為現在生產的大多數新裝置都支援 IKEv2,包括 Windows、MacOS、iOS 和 Android。
StrongSwan 並不特別容易使用,儘管檔案不錯,但它使用的詞彙與大多數其他工具不同,這可能會讓人比較困惑。它的模組化設計讓它對企業來說很棒,但這也意味著它不是很精簡。這當然不像 Algo 或 Streisand 那麼簡單。
訪問控制可以基於使用 X.509 屬性證書的組成員身份,這是 strongSwan 獨有的功能。它支援用於整合到其他環境(如 Windows Active Directory)中的 EAP 身份驗證方法。strongSwan 可以穿透NAT 網路防火牆。
SoftEther
SoftEther[6] 是由日本築波大學的一名研究生髮起的一個專案。SoftEther VPN 伺服器和 VPN 網橋可以執行在 Windows、Linux、OSX、FreeBSD 和 Solaris 上,而客戶端應用程式可以執行在 Windows、Linux 和 MacOS 上。VPN 網橋主要用於需要設定站點到站點 VPN 的企業,因此單個使用者只需要伺服器和客戶端程式來設定遠端訪問。
SoftEther 支援 OpenVPN、L2TP、SSTP 和 EtherIP 協議,由於採用“基於 HTTPS 的乙太網”偽裝,它自己的 SoftEther 協議聲稱能夠免疫深度資料包檢測。SoftEther 還做了一些調整,以減少延遲並增加吞吐量。此外,SoftEther 還包括一個克隆功能,允許您輕鬆地從 OpenVPN 過渡到 SoftEther。
SoftEther 可以穿透 NAT 防火牆並繞過防火牆。在只允許 ICMP 和 DNS 資料包的受限網路上,您可以利用 SoftEther 的基於 ICMP 或 DNS 的 VPN 方式來穿透防火牆。SoftEther 可與 IPv4 和 IPv6 一起工作。
SoftEther 比 OpenVPN 和 strongSwan 更容易設定,但比 Streisand 和 Algo 要複雜。
WireGuard
WireGuard[7] 是這個名單上最新的工具;它太新了,甚至還沒有完成。也就是說,它為部署 VPN 提供了一種快速簡便的方法。它旨在透過使 IPSec 更簡單、更精簡來改進它,就像 SSH 一樣。
與 OpenVPN 一樣,WireGuard 既是一種協議,也是一種用於部署使用所述協議的 VPN 的軟體工具。一個關鍵特性是“加密金鑰路由”,它將公鑰與隧道內允許的 IP 地址串列相關聯。
WireGuard 可用於 Ubuntu、Debian、Fedora、CentOS、MacOS、Windows 和安卓系統。WireGuard 可在 IPv4 和 IPv6 上工作。
WireGuard 比大多數其他 VPN 協議輕得多,它只在需要傳送資料時才傳送資料包。
開發人員說,WireGuard 還不應該被信任,因為它還沒有被完全審計過,但是歡迎你給它一個機會。這可能是下一個熱門!
自製 VPN vs. 商業 VPN
製作您自己的 VPN 為您的網際網路連線增加了一層隱私和安全,但是如果您是唯一一個使用它的人,那麼裝備精良的第三方,比如政府機構,將很容易追蹤到你的活動。
此外,如果您計劃使用您的 VPN 來解鎖地理鎖定的內容,自製的 VPN 可能不是最好的選擇。因為您只能從一個 IP 地址連線,所以你的 VPN 伺服器很容易被阻止。
好的商業 VPN 不存在這些問題。有了像 ExpressVPN[8] 這樣的提供商,您可以與數十甚至數百個其他使用者共享伺服器的 IP 地址,這使得跟蹤一個使用者的活動幾乎變得不可能。您也可以從成百上千的伺服器中選擇,所以如果其中一臺被列入黑名單,你可以切換到另一臺。
然而,商業 VPN 的權衡是,您必須相信提供商不會窺探您的網際網路流量。一定要選擇一個有明確的無日誌政策的信譽良好的供應商。
via: https://opensource.com/article/18/8/open-source-tools-vpn
作者:Paul Bischoff[10] 選題:lujun9972 譯者:heguangzhi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出