43 votes

VPN Connexion automatique

Je suis sous Ubuntu 13.04 avec Gnome et j'ai récemment mis en place un (open)VPN. Existe-t-il un moyen de l'activer par défaut ? À chaque démarrage ou même perte de ma connexion, je dois activer le VPN manuellement. Y a-t-il une option que je ne vois pas ?

0voto

Guest Points 1

Voici un script très robuste et fiable qui va :

  • Vérifier si vous êtes connecté à un VPN
  • Si ce n'est pas le cas, connectez-vous au VPN le plus récemment actif

Cela est particulièrement utile si vous vous connectez régulièrement à différents VPN car vous n'avez pas à spécifier une seule connexion VPN à laquelle vous reconnecter.

#!/bin/bash

nmcli --mode multiline --fields uuid,vpn connection status | grep -qc "^VPN:.*yes" 1>/dev/null 2>&1

if [ $? -ne 0 ]; then
        last_vpn_uuid=`nmcli --mode tabular --fields uuid,type,timestamp connection list | grep -E "\s+vpn\s+" | sort -k3 -nr | head -n1 | awk '{ print $1 }'`

        nmcli connection up uuid "$last_vpn_uuid"
fi

0voto

apos Points 489

Je suis sur Ubuntu 14.04 LTS sur plusieurs machines. En raison du fait que j'ai certaines exigences particulières:

  1. Je ne veux pas enregistrer le mot de passe dans le gestionnaire de mots de passe
  2. Je utilise une machine virtuelle VirtualBox qui perd la connexion VPN lors d'une reconnexion réseau
  3. La boîte de dialogue du mot de passe s'ouvre plusieurs fois lors de la reconnexion
  4. Je utilise un serveur VPN de secours (failover)
  5. Utilisation d'un fichier de configuration pour mes identifiants

Je travaille avec ce script très éprouvé et très fiable:

Cependant, il y a quelques inconvénients avec l'applet de gestion du réseau que j'ai pu résoudre temporairement (voir la section Dépannage de l'article).

vpnautoconnect ne fonctionne pas pour moi.

0voto

Sharath B.J Points 101

La réponse de @vincentYo semble directe, mais je n'ai pas réussi à le faire, donc j'ai fait comme ci-dessous.

Étape 1 : créez un script shell et ajoutez la commande vpn

vim auto_vpn.sh

#!/bin/sh vpnc --enable-1des

Étape 2 : ouvrez un fichier sudoer et indiquez au noyau de ne pas demander de mot de passe pour ce fichier.

sudo vim /etc/sudoers

La plupart des choses à l'intérieur de ce fichier seront commentées, ajoutez simplement comme ci-dessous

username ALL=(root) NOPASSWD:your_shell_script.sh

exemple :

sharath ALL=(root) NOPASSWD:/home/sharath/workspace/work/src/auto_vpn.sh

Étape 3 : configurez une tâche cron, qui déclenchera ce script shell, la tâche cron ci-dessous s'exécutera toutes les minutes (car mon internet se connecte et se déconnecte, donc chaque minute)

* * * * * sudo /home/sharath/workspace/work/src/auto_vpn.sh

Je l'utilise depuis plusieurs jours, cela fonctionne bien sous Ubuntu 16.04 LTS ..Cheers !!

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X