如果你想尝试构建自己的 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 的权衡是你必须信任提供商不会窥探你的互联网流量。请务必选择信誉良好的提供商,并制定明确的无日志政策。
4 条评论