Algo VPN 教程:部署个人 WireGuard 和 IPsec VPN

Algo VPN 教程:部署个人 WireGuard 和 IPsec VPN

Algo VPN 是一组 Ansible 脚本,可自动在云中部署个人 WireGuard 和 IPsec VPN 服务器。您无需租用商业 VPN 提供商的服务,而是在 DigitalOcean、AWS Lightsail、Vultr、Linode 或其他受支持的提供商上配置自己的服务器,Algo 会以安全优先的默认设置处理配置。

本教程将引导您完成整个过程:选择提供商、运行部署、在各大平台上配置客户端、管理用户以及验证您的流量是否真正受到保护。最后,您将拥有一个可用的自托管 VPN,支持 WireGuard 和 IKEv2,并采用强加密。

Algo VPN 有何不同

Algo VPN 教程:部署个人 WireGuard 和 IPsec VPN - Algo VPN 有何不同。

Algo 是刻意固执己见的。它并不试图支持所有协议或遗留配置。正是这种专注使其易于部署且难以错误配置。

Algo 支持:

  • 适用于 iOS、macOS、Android、Windows 11 和 Linux 的 WireGuard
  • 适用于 iOS、macOS 和 Linux 的 IKEv2,使用 AES-GCM、SHA2 和 P-256
  • 自动生成 WireGuard 客户端的 .conf 文件和二维码
  • 自动配置 iOS 和 macOS 设备进行 IPsec 的 Apple 配置文件
  • 用于添加、删除和管理用户的辅助脚本
  • 可选的本地 DNS 广告拦截
  • 用于隧道流量的受限 SSH 用户
  • 自动日志轮换的最小日志记录

Algo 有意避免:

  • 遗留协议,如 L2TP、IKEv1 或 RSA
  • Tor、OpenVPN 或其他扩大攻击面的服务器
  • 任何匿名或规避审查的声明

这很重要,因为较小的功能集意味着更少的配置错误。Algo 为您提供一个 VPN,可在不受信任的网络上可靠地用于日常隐私保护,而不会假装是匿名工具。

先决条件

Algo VPN 教程:部署个人 WireGuard 和 IPsec VPN - 先决条件。

在开始之前,请确保您具备:

  • 受支持的云提供商账户。DigitalOcean 是最适合初学者的选择,但 Amazon Lightsail、Amazon EC2、Vultr、Microsoft Azure、Google Compute Engine、Scaleway、Hetzner Cloud、Linode 以及基于 OpenStack 的提供商也可用。
  • 运行 macOS、Linux 或带有 WSL 的 Windows 的本地机器。部署脚本需要类 Unix 环境。
  • Python 3.11 或更高版本。Algo 安装程序会在首次运行时自动处理 Python 环境。
  • 对终端的基本熟悉。您不需要成为 Ansible 专家;Algo 抽象了大部分复杂性。

第 1 步:获取 Algo 副本

Algo VPN 教程:部署个人 WireGuard 和 IPsec VPN - 第 1 步:获取 Algo 副本。

您可以下载 Algo 的 ZIP 存档或使用 Git 克隆仓库。克隆通常更简洁,因为它使将来的更新更容易。

git clone https://github.com/trailofbits/algo.git
cd algo

如果您更喜欢 ZIP 方式,请从 Algo GitHub 仓库 下载存档,解压缩,然后进入生成的 algo-master 目录。

第 2 步:配置您的用户

Algo VPN 教程:部署个人 WireGuard 和 IPsec VPN - 第 2 步:配置您的用户。

在文本编辑器中打开 config.cfg。最重要的设置是 users 列表。为您计划连接的每个设备创建一个唯一的用户名。例如:

users:
  - phone
  - laptop
  - tablet

为每个设备使用单独的用户可以让您以后更好地控制。如果设备丢失或受损,您可以撤销该单个用户,而不会影响其他连接。

在部署前查看 config.cfg 中的其他选项。某些选择(例如是否保留 PKI 密钥)在服务器上线后很难更改。特别是,如果您认为以后需要添加或删除 IPsec 用户,请将 retain the keys (PKI) 设置为 yes。

第 3 步:运行部署

从 Algo 目录开始,启动部署脚本:

macOS 或 Linux:

./algo

Windows:

.\algo.ps1

首次运行会自动安装所需的 Python 环境。之后,脚本会立即启动。Algo 会询问一系列交互式问题:

  1. 您要使用哪个云提供商
  2. 您的提供商 API 凭据
  3. 服务器区域和名称
  4. 要启用哪些可选功能

对于可用的 VPN,这些可选功能都不是必需的。如果您不确定,请接受默认值,并且仅在您想要本地 DNS 解析器过滤广告时才启用广告拦截。

部署完成后,Algo 会打印一条成功消息,其中包含配置文件和凭据的位置。输出类似于:

#                         恭喜!                            #
#                     您的 Algo 服务器正在运行。                     #
#    配置文件和证书位于 ./configs/ 目录中。    #
#              连接后访问 https://whoer.net/               #
#        并确保您的所有流量都通过 VPN。      #
#                     本地 DNS 解析器 172.16.0.1                    #

所有证书和客户端配置文件都存储在 configs/<server_ip>/ 下。将这些文件视为机密。许多文件包含私钥。

第 4 步:配置 VPN 客户端

Algo 为每个客户端平台生成所需的一切。具体文件取决于您使用 WireGuard 还是 IPsec。

Apple 设备

Algo 为每个用户生成一个 WireGuard .conf 文件和一个二维码。在 iOS 上,从 App Store 安装 WireGuard 应用,然后扫描二维码或通过 AirDrop 将配置文件发送到设备。在 macOS 上,从 Mac App Store 安装 WireGuard 应用,点击 WireGuard 菜单栏图标,选择 Import tunnel(s) from file...,然后选择 .conf 文件。

如果您更喜欢 Apple 设备上的内置 IPsec 客户端,Algo 可以生成 Apple 配置文件。IPsec 路由支持自动“按需连接”规则和排除的 Wi-Fi 网络,而 WireGuard 不会自动配置这些。有关详细步骤,请参阅 官方 Apple IPsec 客户端指南。

Android

从 Play Store 安装 WireGuard 应用。导入生成的 wireguard/<username>.conf 文件,然后激活隧道。该过程不到一分钟。

Windows

从 wireguard.com/install 安装 WireGuard 客户端。点击 Add Tunnel,选择 wireguard/<username>.conf 文件,然后点击 Activate。Windows 11 完全受支持;较旧的 Windows 版本可以使用 WireGuard,但 Algo 项目不会对其进行同等程度的测试。

Linux

Linux 客户端可以使用 WireGuard 或 IPsec。对于 WireGuard,安装 wireguard-tools 包并导入 .conf 文件。对于 IPsec,Algo 在 ipsec/manual/ 下生成 strongSwan 配置文件。Algo 文档 包含针对 Ubuntu 和其他发行版的分步说明。

OpenWrt 路由器

如果您希望整个家庭网络通过 Algo 路由,OpenWrt 路由器可以直接导入 WireGuard 配置。这是保护无法运行 VPN 客户端的设备(如智能电视或游戏机)的强大选项。

第 5 步:验证您的 VPN 是否正常工作

连接到 VPN 只是工作的一半。您需要确认您的真实 IP 地址不会通过 DNS 请求、WebRTC 或其他渠道泄漏。Algo 自己的成功消息会引导用户使用外部检查器,但更彻底的验证可以让您对设置充满信心。

连接到您的 Algo 服务器后,运行以下检查:

  1. 确认您的公共 IP 地址。 访问 IP 查找工具,并验证显示的 IP 与您的 Algo 服务器 IP 匹配,而不是您的家庭或移动连接。
  2. 测试 DNS 泄漏。 当您的设备在 VPN 隧道之外发送域名查找时,就会发生 DNS 泄漏,从而向您的 ISP 透露您访问的网站。使用专用的 DNS 泄漏测试来确认所有查询都通过 Algo 的 DNS 解析器解析。
  3. 测试 WebRTC 泄漏。 即使 VPN 处于活动状态,WebRTC 也可能暴露您的真实 IP 地址,尤其是在浏览器中。WebRTC 泄漏测试会检查您的浏览器是否泄漏底层网络地址。
  4. 检查您的浏览器指纹。 VPN 会更改您的 IP 地址,但不会更改您的浏览器指纹。了解您的指纹会揭示什么,有助于您决定是否需要额外的隐私措施。

BrowserScan 为所有这些检查提供免费的基于浏览器的工具。其 DNS 和 WebRTC 泄漏测试 验证您的 Algo 隧道是否暴露了您的真实 IP 地址,而 IP 地址查找 显示您当前连接的地理位置、ISP 和代理状态。浏览器指纹分析 通过显示网站无论您的 IP 地址如何仍能了解您的设备的信息,补充了 VPN 检查。无需安装;您只需打开页面并运行测试。

如果任何测试显示您的真实 IP 地址,请立即断开连接并检查您的客户端配置。常见原因包括忘记启用隧道、使用绕过 VPN 的浏览器扩展,或启用了 WebRTC 而没有适当的保护。

部署后管理用户

Algo 包含用于持续用户管理的辅助脚本。要添加新用户,请编辑 config.cfg,然后从 Algo 目录运行相应的更新命令。确切命令因版本而异,因此请查看 Algo 文档 以获取当前语法。

对于 IPsec 用户,这仅在部署期间在 Do you want to retain the keys (PKI)? 提示符处选择 yes 时才有效。如果没有保留的证书颁发机构,您无法签发新的 IPsec 证书,必须重新部署服务器才能添加用户。WireGuard 用户不受此限制的影响。

可选:SSH 隧道

如果您在部署期间启用了 SSH 隧道角色,Algo 会为 config.cfg 中的每个条目创建受限 SSH 用户。这些账户没有 shell 访问权限,只能建立隧道。要通过您的 Algo 服务器启动 SOCKS 代理:

ssh -D 127.0.0.1:1080 -f -q -C -N <user>@algo -i configs/<ip>/ssh-tunnel/<user>.pem -F configs/<ip>/ssh_config

然后将您的浏览器或应用程序配置为使用 127.0.0.1:1080 作为 SOCKS 代理。这会通过 Algo 服务器路由流量,而无需完整的 VPN 隧道,这对于特定应用程序可能很有用。

常见问题排查

在 Ubuntu 24.04 上部署失败

一些社区报告表明,由于 Ansible 兼容性问题,Algo 部署在 Ubuntu 24.04 上可能会失败。如果您遇到错误,请为部署机器使用 Ubuntu 22.04 LTS 或 20.04 LTS。Algo 服务器本身运行 Ubuntu 22.04 LTS,无论您的本地操作系统如何。

客户端连接但没有互联网

检查隧道是否处于活动状态,以及您的设备是否同时连接到另一个 VPN。另外,验证您的云提供商防火墙是否允许 WireGuard 端口上的 UDP 流量。某些提供商要求您在其 Web 控制台中打开端口,而不仅仅是服务器自身的防火墙。

速度慢

自托管 VPN 的速度取决于云提供商、服务器区域以及您与服务器的距离。选择靠近您实际位置的区域。如果速度仍然不佳,请尝试其他提供商或更大的实例大小。

IP 地址仍然可见

如果泄漏测试显示您的真实 IP 地址,则 VPN 隧道未承载您的所有流量。禁用任何管理代理的浏览器扩展,在浏览器设置中关闭 WebRTC,并确保没有活动的拆分隧道配置。

Algo VPN 与商业 VPN 服务

在 Algo 和商业 VPN 之间进行选择取决于您的威胁模型和优先级。

因素 Algo VPN 商业 VPN
成本 仅云提供商费用,通常每月 5-10 美元 每月 3-15 美元订阅
信任 您控制服务器;没有第三方看到您的流量元数据 提供商可能根据司法管辖区记录或共享数据
IP 声誉 您的 IP 是唯一的,因此网站不太可能阻止它 共享 IP 经常被流媒体和银行网站标记
对 ISP 的隐私 是 是
匿名性 否;服务器与您的云账户关联 有限;提供商知道您的身份,除非您匿名支付
易用性 需要终端舒适度和持续维护 一键应用和自动更新
协议支持 仅 WireGuard 和 IKEv2 OpenVPN、WireGuard、IKEv2 和专有协议

如果您想要一个私密、快速的 VPN 用于自己的设备,并且愿意管理服务器,Algo 是理想的选择。如果您需要向 VPN 提供商本身保持匿名,想要访问多个国家的服务器以解锁地理限制,或者不想处理维护,商业 VPN 更好。

相关阅读

来源和进一步阅读

常见问题解答

Algo VPN 免费吗?

Algo 软件是免费开源的。您只需为部署它的云服务器付费。许多提供商提供每月 5-10 美元范围内的实例,有些提供免费试用额度。

Algo VPN 可以在 Windows 上使用吗?

可以。Windows 11 完全支持 WireGuard。较旧的 Windows 版本也可以使用 WireGuard,但 Algo 项目将测试重点放在 Windows 11 上。

我可以在手机上使用 Algo VPN 吗?

可以。Algo 为 iOS 和 Android 生成二维码和配置文件。安装 WireGuard 应用,扫描二维码,然后激活隧道。

Algo VPN 会隐藏我的身份吗?

不会。Algo 明确不声称提供匿名性。服务器注册在您的云提供商账户下,您的付款信息与该账户关联。Algo 保护您在不受信任网络上的流量,并隐藏您的浏览活动免受 ISP 的监视,但它不是匿名工具。

如何知道我的 Algo VPN 是否泄漏了我的 IP 地址?

连接到您的 Algo 服务器,然后运行 DNS、WebRTC 和 IP 地址测试。BrowserScan 为所有三项检查提供免费的基于浏览器的工具。如果任何测试显示您的真实 IP 地址,则您的隧道配置不正确。

部署后可以添加更多用户吗?

可以。编辑 config.cfg 并运行更新命令。对于 IPsec 用户,您必须在初始部署期间在 PKI 保留提示符处选择 yes。WireGuard 用户可以随时添加。

我应该选择哪个云提供商?

DigitalOcean 是最适合初学者的选择,并且在 Algo 社区中有很好的文档。AWS Lightsail、Vultr 和 Linode 也很受欢迎。选择数据中心靠近您实际位置的提供商以获得最佳速度。

结论

Algo VPN 在信任商业 VPN 提供商和手动从头配置服务器之间提供了一个引人注目的中间地带。基于 Ansible 的部署处理了困难的部分,而 WireGuard 和 IKEv2 的专注保持了较小的攻击面和简单的配置。

部署后,不要跳过验证步骤。通过 DNS 或 WebRTC 泄漏您的 IP 地址的 VPN 会提供虚假的信心。运行上述检查,确认您的流量完全隧道化,并在更改设备或网络时重新访问配置。使用可用的 Algo 服务器和经过验证的泄漏保护,您拥有一个私密、自控的 VPN,无需向第三方重复订阅即可为您的设备提供服务。