断开连接时自动重新连接到 VPN?

Pat*_*rik 22 vpn ubuntu-gnome

我是 Ubuntu GNOME 用户,我想知道是否有办法在断开连接时自动重新连接到 VPN。我正在使用OpenVPN协议。

我已经彻底检查了网络管理器,但找不到这样的选项,只能在连接到特定 WiFi 时连接到 VPN。

m0N*_*4in 40

从 18.10 开始(无法检查早期版本),NetworkManager 中的 VPN 连接有一个设置vpn.persistent:在连接丢失时重新连接到 VPN,直到您手动断开连接。它"no"默认设置为,不幸的是在 Gnome 网络设置和 nm-connection-editor 中都没有公开。

但是您可以通过这样的 CLI 设置它:

nmcli connection modify <Your VPN connection name> connection.autoconnect-retries 0
nmcli connection modify <Your VPN connection name> vpn.persistent yes
Run Code Online (Sandbox Code Playgroud)

当然,在您这样做之前,连接必须存在。并且autoconnect-retries 0实际上意味着“永远重试”,因为很明显,还有什么0可以代表!?

来源:

  • 使用“nmcli con show”列出终端中的 VPN 名称(以及 wifi 连接名称) (4认同)
  • _这个_就是我想要的。太感谢了 (2认同)

Ott*_*sen 21

OpenVPN 有一个内置机制来自动检测死链接并重新连接。在网络管理器中转到“编辑连接”,选择您的 VPN 连接并选择“编辑”。在“VPN”选项卡中单击“高级...”并转到“常规”选项卡。您有两个相关选项:

“指定 ping 间隔”告诉 OpenVPN 检查链接是否仍然有效的频率。“指定退出或重新启动 ping”告诉它等待多长时间,直到它采取行动以及采取何种行动。

示例:我的设置是“30 / ping-restart / 300”。这意味着 OpenVPN 每 30 秒检查一次链接是否仍处于活动状态。如果链接关闭 300 秒,它会启动重新启动。

这样就不需要外部脚本了......

  • 至少对于 Ubuntu 18.04 而言,情况并非如此。我有 ping 间隔和 ping-restart 但它会自动禁用。 (5认同)

Pat*_*rik 1

经过一番挖掘后,我找到了这个答案,并对其进行了测试(在 Ubuntu GNOME 15.04 上),到目前为止它似乎有效。

我唯一要补充的是,创建脚本文件后,不一定需要将其保存到 /home 文件夹中。您可以将其保存在任何地方,使其可执行并将其添加到启动程序列表中。


wal*_*tor 0

在声称这是 SMOP(简单编程)之后,我编写了一个 bash 脚本来监视“链接断开”,然后执行用户脚本。CPU 使用率更低,响应速度比该while true....sleep 30方法更快。在这里查看我的答案。这是关于“旋转 WiFi 连接”的内容,但可能也适合你