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 中的步骤进行操作。
*.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-gtk3 和 gnome-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