断开连接后是否自动重新连接到VPN?


16

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

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

Answers:


20

从18.10开始(无法检入较早版本),NetworkManager中的VPN连接具有vpn.persistent仅用于以下目的的设置:连接断开时重新连接至VPN,直到您手动断开连接为止。它"no"默认设置为,不幸的是,既不在Gnome网络设置中也不在nm-connection-editor中公开。

但是您可以通过如下CLI进行设置:

nmcli connection modify <Your VPN connection name> vpn.persistent yes

当然,连接必须先存在


2
就是我想要的。感谢百万
Wyatt8740

由于此设置可用,为什么网络设置不显示它?您在哪里/如何找到?在developer.gnome.org/NetworkManager/stable/nmcli.html上没有提及此内容,但是由于运行该命令似乎成功,所以我想它可以工作...
Al F

@alf我想我只是通过在终端中的nmcli上找到此设置的,但也记录在developer.gnome.org/NetworkManager/stable/…和nm-settings手册页
m0NKey bR4中,

19

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

“指定ping间隔”告诉OpenVPN多久检查一次链接是否仍然有效。“指定退出或重新启动ping”指定了等待多长时间才能采取措施以及采取哪种措施。

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

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


1
这应该是公认的答案。
necbot

5
至少对于Ubuntu 18.04来说不是这样。我有ping间隔和ping重新启动,但是无论如何它都会禁用自身。
显示名称

@SargeBorsch:m0NKey bR4in的答案似乎有效(设置vpn.persistentyes)。
kontextify

1

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

我唯一要添加的是,一旦创建了脚本文件,就不必将其保存到/ home文件夹中。您可以将其保存在任何位置,使其可执行并添加到启动程序列表中。


0

在声称它是SMOP(编程的简单问题)之后,我写了一个bash脚本来监视“ Link Down”,然后执行一个用户脚本。与该while true....sleep 30方法相比,CPU使用率更低,响应速度更快。在这里查看我的答案。它与“旋转WiFi连接”有关,但也可能对您有用


0

此脚本将在nmcli con status不再适用的16.04上运行:

#!/bin/bash
CON="purple"
STATUS=`nmcli con show --active | grep purple | cut -f1 -d " "`
if [ -z "$STATUS" ]; then
    nmcli con up $CON
fi

有点短STATUS="$(nmcli con show -f name | grep purple)"。或者您可以通过执行以下操作简单地检查实际连接是否处于活动状态nmcli con show --active id 'purple'
smac89's

0

我认为基于其他答案的完整答案如下:

#!/bin/bash +x
  while [ "true" ]
   do
        CON="Your-VPN-Name"
        STATUS=`nmcli con show --active | grep $CON | cut -f1 -d " "`
        if [ -z "$STATUS" ]; then
                echo "Disconnected, trying to reconnect..."
                (sleep 1s && nmcli con up $CON)
        else
                echo "Already connected !"
        fi
        sleep 30
   done
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.