ProtonVPN

来自 ArchWiki

此条目或章节的事实准确性存在争议。

原因: 最好使用上游定义,而不是简单地说它是一个使用 OpenVPN 的 VPN,这毫无帮助!(在 Talk:ProtonVPN 中讨论)

ProtonVPN 是一家 VPN 提供商,它使用 OpenVPN 和 WireGuard 协议。

安装

安装以下之一

OpenVPN

安装 openvpn 软件包,然后按照 OpenVPN 设置进行操作。

WireGuard

安装 wireguard-tools 软件包。 确保也安装了 systemd-resolvconf。 然后按照 WireGuard 设置进行操作。

官方 ProtonVPN 客户端

安装 proton-vpn-gtk-app - 最新的 GTK 版本。

您还必须使用 NetworkManager安装 network-manager-applet,否则 VPN 将无法连接。 您仍然可以使用当前的网络管理器,尽管不建议运行多个网络管理器。

设置

OpenVPN 设置

ProtonVPN 下载页面下载一个或多个 OpenVPN 配置文件。

*.ovpn 客户端配置文件复制到 /etc/openvpn/client/ 并备份原始文件。

按照 OpenVPN#The update-systemd-resolved custom script 中的步骤确保所有网络流量都使用 VPN(注意:这些步骤提到了一个 client.conf 文件,它对应于 *.ovpn 文件。)如果您使用的 systemd 版本低于 229,请按照 OpenVPN#The update-resolv-conf custom script 中的步骤进行操作。

注意: 如果您在上述步骤中安装了 openvpn-update-systemd-resolvedAUR,请记住删除 *.ovpn 中引用 /etc/openvpn/update-resolv-conf 的行,因为该脚本位于 /usr/bin/update-systemd-resolved 中。

有关使用说明,请参阅 使用 OpenVPN

WireGuard 设置

通过登录 ProtonVPN 并转到下载 → WireGuard 配置,下载 WireGuard 配置文件。

.conf 文件移动到 /etc/wireguard。 如果需要,请考虑重命名 .conf 文件,因为 WireGuard 可能无法很好地处理过长的名称。

如果您尚未这样做,请 启动/启用 systemd-resolved

使用

使用 OpenVPN

连接到 VPN

# openvpn /etc/openvpn/client/client_config_file.ovpn

ProtonVPN 账户页面提供 OpenVPN / IKEv2 用户名

Ctrl+c 关闭 VPN 连接。

使用 WireGuard

要添加并启动接口,请将 CONFIG_FILE 替换为配置文件,例如 /etc/wireguard/wgnet0.conf

# wg-quick up CONFIG_FILE

要检查连接状态,请运行

# wg

要关闭并移除接口

# wg-quick down CONFIG_FILE

技巧与诀窍

启动时启用 VPN

有关 systemd 服务配置,请参阅 OpenVPN#systemd service configuration

仅通过网络命名空间为特定应用程序运行 VPN

vopono 支持为 ProtonVPN 自动生成配置文件,并允许您在临时网络命名空间内运行应用程序,以便只有这些应用程序通过 VPN 运行。

保存登录信息

要为后续连接保留 VPN 凭据,请创建以下文件,其中包含您自己的登录信息,占两行,并将其放置在您将运行上面列出的启动脚本的目录中。

username
password

然后将 auth-user-pass login.conf 行添加到任何相关的 *.ovpn 文件中。

系统托盘/指示器

为了使系统/托盘指示器工作,请确保您已安装 libappindicator-gtk3gnome-shell-extension-appindicator

防止 IPv6 泄漏

ProtonVPN 的服务器默认使用 IPv6 互联网协议及其官方 Linux 客户端。 如果观察到 IPv6 泄漏,您可以通过阻止 IPv6 流量或禁用 IPv6 来防止泄漏。 请参阅 IPv6#禁用 IPv6

启用端口转发

对于付费 ProtonVPN 用户,请参阅 ProtonVPN 的文档以启用端口转发,因为这在 Linux 上不是完全自动化的。 无论您选择哪种安装方法,都需要采取额外的步骤。

故障排除

官方客户端无法连接

尝试连接时,您可能会看到类似“发生未知原因。”的错误消息。

安装 NetworkManager(并根据需要进行配置),然后安装 network-manager-applet。 无论您使用的是 GUI 还是 CLI 应用程序,都需要同时运行两者,ProtonVPN 官方客户端才能连接。

社区 ProtonVPN 脚本

另一种选择是 protonvpn-cli-communityAUR