web-dev-qa-db-fra.com

Reconnexion automatique au VPN lors de la déconnexion?

Je suis un utilisateur Ubuntu GNOME et je me demandais s’il existe un moyen de se reconnecter automatiquement à un VPN lors de la déconnexion . J'utilise le protocole OpenVPN .

J'ai minutieusement vérifié Network Manager, mais je n'ai pas trouvé cette option, mais uniquement pour me connecter au VPN lorsqu'il est connecté à un réseau WiFi spécifique.

10
Inoki

OpenVPN a un mécanisme intégré pour détecter automatiquement les liens morts et se reconnecter. Dans Network Manager, sélectionnez "Modifier les connexions", sélectionnez votre connexion VPN, puis "Modifier". Dans l'onglet "VPN", cliquez sur "Avancé ..." et sélectionnez l'onglet "Général". Là vous avez deux options pertinentes:

"Spécifier un intervalle de ping" indique à OpenVPN à quelle fréquence vérifier si le lien est toujours actif. "Spécifiez l'exit ou le redémarrage du ping" indique au serveur combien de temps attendre et quelle action doit être entreprise.

Exemple: Mes paramètres sont "30/ping-restart/300". Cela signifie que OpenVPN vérifie toutes les 30 secondes si le lien est toujours actif. Si la liaison est interrompue pendant 300 secondes, il redémarre.

De cette façon, il n'y a pas besoin de scripts externes ...

16
OttoEisen

À partir de 18.10 (impossible de vérifier dans les versions antérieures), les connexions VPN dans NetworkManager ont un paramètre vpn.persistent qui permet justement de se reconnecter à un VPN en cas de perte de connexion jusqu'à ce que vous vous déconnectiez manuellement. Il est défini par défaut sur "no" et, malheureusement, il n'est exposé ni dans les paramètres réseau de Gnome ni dans l'éditeur de nm-connection.

Mais vous pouvez le définir via une CLI comme ceci:

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

La connexion doit exister avant de faire cela, bien sûr

8
m0NKey bR4in

Après quelques recherches, j'ai trouvé cette réponse , testé (sous Ubuntu GNOME 15.04) et jusqu'à présent, cela semble fonctionner.

La seule chose que je pourrais ajouter, c'est qu'une fois le fichier de script créé, il ne doit pas nécessairement être enregistré dans votre dossier/home. Vous pouvez l'enregistrer n'importe où, le rendre exécutable et l'ajouter à la liste des programmes de démarrage.

1
Inoki

Après avoir prétendu que c'était un SMOP (Simple Matter of Programming), j'ai écrit un script bash qui surveille "Link Down", puis exécute un script utilisateur. Moins d'utilisation du processeur, plus réactif que la méthode while true....sleep 30. Voir ma réponse à ici . Il s'agit de "connexions WiFi rotatives", mais cela fonctionnera probablement pour vous aussi

0
waltinator

Je pense que la réponse complète basée sur d'autres réponses va comme suit:

#!/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
0
ali mohebbi

ce script fonctionnera le 16.04 où nmcli con status ne fonctionnera plus:

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