Auto reconectar a VPN na desconexão?

6

Sou um usuário do Ubuntu GNOME e gostaria de saber se existe uma maneira de poder reconectar-se automaticamente a uma VPN na desconexão . Estou usando o protocolo OpenVPN .

Eu verifiquei o Network Manager completamente, mas não consegui encontrar essa opção, apenas para conectar-me à VPN quando conectado a um WiFi específico.

    
por Inoki 27.09.2015 / 19:24

5 respostas

11

O OpenVPN possui um mecanismo embutido para detectar automaticamente links mortos e reconectar. No Network Manager, vá em "Editar conexões", selecione sua conexão VPN e escolha "Editar". Na guia "VPN", clique em "Avançado ..." e vá para a guia "Geral". Lá você tem duas opções relevantes:

"Especifique o intervalo de ping" informe ao OpenVPN com que frequência verificar se o link ainda está ativo. "Especificar sair ou reiniciar ping" informa quanto tempo aguardar até que seja executada uma ação e qual ação tomar.

Exemplo: minhas configurações são "30 / ping-restart / 300". Isso significa que o OpenVPN verifica a cada 30 segundos se o link ainda está ativo. Se o link estiver inativo por 300 segundos, ele inicia uma reinicialização.

Desta forma, não há necessidade de scripts externos ...

    
por OttoEisen 30.05.2016 / 10:43
1

Depois de cavar um pouco, achei esta resposta , testei (no Ubuntu GNOME 15.04) e até agora parece funcionar.

A única coisa que devo acrescentar é que, uma vez criado o arquivo de script, ele não precisa necessariamente ser salvo em sua pasta / home. Você pode salvá-lo em qualquer lugar, torná-lo executável e adicioná-lo à lista de programas de inicialização.

    
por Inoki 27.09.2015 / 19:40
0

Depois de afirmar que era um SMOP (Simple Matter of Programming), escrevi um script bash que monitora "Link Down" e, em seguida, executa um script de usuário. Menos uso de CPU, mais responsivo do que o método while true....sleep 30 . Veja minha resposta em aqui . É sobre "rotacionar conexões WiFi", mas provavelmente funcionará para você também

    
por waltinator 29.09.2015 / 00:48
0

este script funcionará em 16.04, onde nmcli con status não funciona mais:

#!/bin/bash
CON="purple"
STATUS='nmcli con show --active | grep purple | cut -f1 -d " "'
if [ -z "$STATUS" ]; then
    nmcli con up $CON
fi
    
por george 15.03.2017 / 07:04
0

Acho que a resposta completa com base em outras respostas é a seguinte:

#!/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
    
por ali mohebbi 13.05.2018 / 17:38