6 款用于构建你自己的 VPN 的开源工具

想要尝试构建你自己的 VPN,但不确定从哪里开始?
444 位读者喜欢这个。

如果你想尝试构建自己的 VPN,但不确定从哪里开始,那么你来对地方了。我将比较六款最佳的免费和开源工具,用于在你自己的服务器上设置和使用 VPN。无论你是想为你的企业设置站点到站点 VPN,还是只想创建一个远程访问代理来解锁网站并将你的互联网流量对 ISP 隐藏,这些 VPN 都适用。

哪个最好取决于你的需求和限制,因此请考虑你自己的技术专长、环境以及你想通过 VPN 实现什么目标。特别是,请考虑以下因素

  • VPN 协议
  • 客户端数量和设备类型
  • 服务器发行版兼容性
  • 所需的技术专长

Algo

Algo 从底层向上设计,旨在为需要安全互联网代理的企业旅行者创建 VPN。它“仅包含你所需的最少软件”,这意味着你牺牲了可扩展性以换取简洁性。Algo 基于 StrongSwan,但去除了所有你不需要的东西,这还额外带来了消除新手可能不会注意到的安全漏洞的好处。

作为额外奖励,它甚至可以阻止广告!

Algo 仅支持 IKEv2 协议和 Wireguard。由于大多数设备现在都内置了 IKEv2 支持,因此它不需要像 OpenVPN 这样的客户端应用程序。Algo 可以使用 Ansible 部署在 Ubuntu(首选选项)、Windows、RedHat、CentOS 和 FreeBSD 上。设置使用 Ansible 自动化,Ansible 会根据你对一组简短问题的回答配置服务器。它也很容易拆卸并在需要时重新部署。

Algo 可能是此列表中设置和部署最简单、最快的 VPN。它非常整洁且经过深思熟虑。如果你不需要其他工具提供的任何更高级的功能,而只需要一个安全的代理,那么它是一个不错的选择。请注意,Algo 明确声明它不适用于地理解锁或规避审查,主要设计用于保密。

Streisand

Streisand 可以使用单个命令安装在任何 Ubuntu 16.04 服务器上;该过程大约需要 10 分钟。它支持 L2TP、OpenConnect、OpenSSH、OpenVPN、Shadowsocks、Stunnel、Tor 桥和 WireGuard。根据你选择的协议,你可能需要安装客户端应用程序。

在许多方面,Streisand 与 Algo 相似,但它提供了更多的协议和自定义选项。这需要付出更多的管理和安全努力,但也更灵活。请注意,Streisand *不* 支持 IKEv2。我会说 Streisand 由于其多功能性,在绕过中国和土耳其等地的审查方面更有效,但 Algo 更容易且设置速度更快。

设置使用 Ansible 自动化,因此不需要太多的技术专长。你可以通过向用户发送自定义生成的连接说明来轻松添加更多用户,其中包含服务器 SSL 证书的嵌入式副本。

拆卸 Streisand 是一个快速而轻松的过程,你可以根据需要重新部署。

OpenVPN

OpenVPN 需要客户端和服务器应用程序才能使用同名协议设置 VPN 连接。OpenVPN 可以进行调整和自定义以满足你的需求,但它也需要此处介绍的工具中最多的技术专长。支持远程访问和站点到站点配置;如果你计划将 VPN 用作互联网代理,则前者是你需要的。由于在大多数设备上使用 OpenVPN 都需要客户端应用程序,因此最终用户必须保持它们更新。

在服务器端,你可以选择在云端或 Linux 服务器上部署。兼容的发行版包括 CentOS、Ubuntu、Debian 和 openSUSE。客户端应用程序适用于 Windows、MacOS、iOS 和 Android,并且还有适用于其他设备的非官方应用程序。企业可以选择设置 OpenVPN 访问服务器,但这对于个人用户来说可能有点过头了,他们会想要社区版。

OpenVPN 使用静态密钥加密相对容易配置,但它并不是那么安全。相反,我建议使用 easy-rsa 进行设置,这是一个密钥管理包,你可以使用它来设置公钥基础设施。这允许你一次连接多个设备,并使用完全前向保密等优点来保护它们。OpenVPN 使用 SSL/TLS 进行加密,你可以在配置中指定 DNS 服务器。

OpenVPN 可以穿透防火墙和 NAT 防火墙,这意味着你可以使用它来绕过可能阻止连接的网关和防火墙。它支持 TCP 和 UDP 传输。

StrongSwan

你可能遇到过一些名称中带有“Swan”的不同 VPN 工具。FreeS/WAN、OpenSwan、LibreSwan 和 strongSwan 都是同一项目的分支,而后者是我个人最喜欢的。在服务器端,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 独有的功能。它支持 EAP 身份验证方法,以便集成到 Windows Active Directory 等其他环境中。StrongSwan 可以穿透 NAT 防火墙。

SoftEther

SoftEther 最初是日本筑波大学一名研究生的项目。SoftEther VPN 服务器和 VPN 网桥在 Windows、Linux、OSX、FreeBSD 和 Solaris 上运行,而客户端应用程序在 Windows、Linux 和 MacOS 上运行。VPN 网桥主要用于需要设置站点到站点 VPN 的企业,因此个人用户只需要服务器和客户端程序来设置远程访问。

SoftEther 支持 OpenVPN、L2TP、SSTP 和 EtherIP 协议,但其自身的 SoftEther 协议声称能够通过“以太网 over HTTPS”伪装来免疫深度数据包检测。SoftEther 还进行了一些调整以减少延迟并提高吞吐量。此外,SoftEther 还包括克隆功能,使你可以轻松地从 OpenVPN 过渡到 SoftEther。

SoftEther 可以穿透 NAT 防火墙并绕过防火墙。在仅允许 ICMP 和 DNS 数据包的受限网络上,你可以利用 SoftEther 的 VPN over ICMP 或 VPN over DNS 选项来穿透防火墙。SoftEther 可与 IPv4 和 IPv6 一起使用。

SoftEther 比 OpenVPN 和 strongSwan 更容易设置,但比 Streisand 和 Algo 稍微复杂一些。

WireGuard

WireGuard 是此列表中最新的工具;它非常新,甚至还没有完成。话虽如此,它提供了一种快速简便的 VPN 部署方式。它的目标是通过使其更简单、更精简(如 SSH)来改进 IPSec。

与 OpenVPN 类似,WireGuard 既是一种协议,也是一种用于部署使用该协议的 VPN 的软件工具。一个关键功能是“加密密钥路由”,它将公钥与隧道内允许的 IP 地址列表关联起来。

WireGuard 适用于 Ubuntu、Debian、Fedora、CentOS、MacOS、Windows 和 Android。WireGuard 可在 IPv4 和 IPv6 上运行。

WireGuard 比大多数其他 VPN 协议更轻巧,并且仅在需要发送数据时才传输数据包。

开发人员表示,WireGuard 尚不应被信任,因为它尚未经过全面审核,但欢迎你试用一下。它可能是下一个重要的东西!

自制 VPN 与商业 VPN

制作自己的 VPN 为你的互联网连接增加了一层隐私和安全性,但如果你是唯一的使用者,那么装备精良的第三方(例如政府机构)相对容易将活动追溯到你。

此外,如果你计划使用 VPN 解锁受地理位置限制的内容,则自制 VPN 可能不是最佳选择。由于你只会从单个 IP 地址连接,因此你的 VPN 服务器很容易被阻止。

优秀的商业 VPN 没有这些问题。使用像 ExpressVPN 这样的提供商,你与数十甚至数百个其他用户共享服务器的 IP 地址,这几乎不可能追踪单个用户的活动。你还可以获得数百或数千个服务器的巨大范围可供选择,因此如果一个服务器被列入黑名单,你可以切换到另一个服务器。

然而,商业 VPN 的权衡是你必须信任提供商不会窥探你的互联网流量。请务必选择信誉良好的提供商,并制定明确的无日志政策。

标签
User profile image.
Paul Bischoff 是一位隐私倡导者,也是 Comparitech 的编辑,Comparitech 是一个专注于安全的技术服务评论网站。自 2012 年以来,他一直在为多个媒体报道 IT 相关主题,并且对隐私、言论自由和网络中立充满热情。

4 条评论

列表中缺少一些胜过所有这些的东西。
你也没有包括 tinc...
还有谷歌的 Outline VPN...
最好的一个应该仍然是鲜为人知的。好吧,实际上没有最好的……每个人都面临不同的情况。

你可能对 openvpn 不感兴趣,顶级 vpn 公司使用最古老的技术 OpenVPN 是有原因的,一旦克服,它只会显示事件的预测,因为它太旧并且经过了许多测试。而且网络都是相同的拓扑结构……只是安全更新和带有新名称的编辑协议。有些只是轻便快速,但在远程 nat 逻辑方面很糟糕或在漏洞上不一致。或者只是喜欢启动且没什么特别的协议,有些在一个方向上非常好。但是,我最好的不是 openvpn,但总的来说,它是非常值得尊敬的软件。我很高兴思科在精简版中缺失。在 gre ipsec 爱好者来喷我之前我先走了。

Tinc 也是一个不错的选择,特别是对于低功耗设备。Outline 更适合企业 imo,但感谢你的意见!

回复 作者 Sean (未验证)

还有 tinc ("there is no cabal")
https://tinc-vpn.org/
它具有内置的网状路由,这非常方便。

Tinc 也是一个不错的选择!不过,我必须在某个地方结束列表,而且我已经超过了我的字数限制 :)

回复 作者 fmyhr

© . All rights reserved.