使用 OpenVPN 配置文件

使用 OpenVPN 配置文件

我花了几个小时尝试通过 if-up.d 方法实现此目的,如下所述:问题 258580

该脚本无法触发,我意识到这种方法已经过时了,因为 Ubuntu 不再使用 etc/network/interfaces - 自 v. 17.10 以来我们正在使用 Netplan。

然后我又花了几个小时研究和尝试如下所述的“systemd 服务”方法:问题 1184648这似乎是更现代的方法,但我的服务在执行过程中失败,我不知道原因。

我不知道接下来该怎么做。如果我的 ProtonVPN 可以在有网络连接时自动连接,那就太好了。请提供建议、同情或麻醉。

答案1

仅回答这一部分

如果我的 ProtonVPN 能够在我有网络连接时自动连接,那就太好了。

您可以使用网络管理器的内置功能来执行此操作。

编辑您正在使用的连接并勾选自动连接到 VPN 框。

在此处输入图片描述

答案2

这个答案是关于连接到网络时启动 ProtonVPN,而不是关于一般的问题。

使用 OpenVPN 配置文件

请参阅 ProtonVPN 的网站如何为 ProtonVPN 手动配置 OpenVPN

本指南将引导您完成如何从 ProtonVPN 创建、下载和设置 OVPN 文件。

完成网站上的所有操作后,打开应用程序高级网络配置。如果通过搜索应用程序找不到此应用程序,请打开终端并输入:

nm-connection-editor

选择您想要使用 VPN 的网络。例如,以太网连接,然后单击窗口左下角的齿轮图标。

在此处输入图片描述

前往常规选项卡然后选中自动连接到 VPN

然后使用旁边的下拉菜单选择您已经完成的 ProtonVPN 设置。

对每个想要使用 VPN 的 WiFi 网络重复此操作。

20.04LTS NetworkManager VPN - 始终开启了解更多信息。

登录时运行的脚本

编写一个脚本,检查是否有任何互联网连接以及 ProtonVPN 是否没有活动连接。如果满足这些条件,脚本将使用命令行客户端启动 ProtonVPN。

创建一个名为 的脚本/home/your_username/bin/start_proton。您可能需要创建文件夹/home/your_username/bin/来保存所有脚本。脚本的内容是:

#!/bin/bash
# Sccript:/home/username/bin/start_proton 
# Purpose: Check if there is internet and if proton is not running, then start VPN

STATUS=$(protonvpn-cli status | grep No)    # Checks VPN is not running
ping -c1 -4 google.com > /dev/null      # Check Internet is working
if [[ $? -eq 0 && $STATUS == "No active Proton VPN connection." ]]; then
    echo $STATUS
    protonvpn-cli connect --fastest
else
    echo "FAIL: Either no Internet Or VPN is running already" 
fi

注意:我使用了--fastestVPN 服务器选项。您可以编辑该行并使用适合您的其他选项。

通过右键单击文件中的脚本,转到其属性>权限选项卡,使脚本可执行。

测试脚本

确保您已连接到互联网并且 ProtonVPN 没有运行。

打开终端并输入命令:

start_proton

如果一切顺利,您将看到 ProtonVPN 启动并连接到其服务器。

添加到启动应用程序

现在打开启动应用程序应用程序并点击Add按钮。填写以下字段:

Name: Start VPN
Command: /home/username/bin/start_proton
Comment: starts VPN if there is any Internet

替换username为您在这台计算机的用户名。

单击Save按钮保存新条目。确保选中启动 VPN已检查。

下次您启动计算机并登录时,ProtonVPN 将启动。

希望这可以帮助

相关内容