J'utilise Ubuntu 13.04 avec Gnome et j'ai récemment créé un VPN (ouvert). Est-il possible de l'activer par défaut? Chaque fois que je démarre ou que ma connexion est perdue, je dois activer le VPN manuellement. Y a-t-il une option qui me manque?
Grâce à l'applet nm de Network Manager (l'applet de plateau réseau GNOME ou Unity installé par défaut), vous pouvez configurer NetworkManager pour qu'il se connecte automatiquement à un VPN lorsqu'un réseau est connecté.
nm-connection-editor
.Lorsque cette option est activée, un bogue dans NetworkManager peut annuler la fonction "Se connecter automatiquement à ce réseau". ( Edit : ce bogue est maintenant marqué comme "correctif publié" dans Ubuntu 16.04). Si NetworkManager essaie de se connecter automatiquement et échoue, vous verrez une ligne comme celle-ci dans /var/log/syslog
:
<error> [1401130450.367538] [nm-vpn-connection.c:1374] get_secrets_cb(): Failed to request VPN secrets #2: (6) No agents were available for this request.
Il semble que NetworkManager n’ait pas réussi à obtenir le mot de passe VPN de l’utilisateur auprès de gnome-keyring-daemon
. Une solution consiste à laisser NetworkManager stocker le mot de passe en texte clair dans le fichier de configuration dans /etc/NetworkManager/system-connections/
. Pour faire ça:
sudoedit /etc/NetworkManager/system-connections/<VPN>
, où <VPN>
est le fichier de configuration de votre VPN (le nom de fichier est généralement le nom que vous avez attribué à votre VPN).password-flags=1
par password-flags=0
NetworkManager va maintenant stocker le mot de passe VPN lui-même (voir man nm-settings
pour plus de détails), et la connexion automatique au réseau fonctionnera à nouveau.
Jetez un coup d'oeil à vpnautoconnect.
vpnautoconnect est un démon qui vous permet de reconnecter automatiquement (au démarrage également) un vpn créé avec le gestionnaire de réseau. Il peut se reconnecter très rapidement et surveiller la bande passante. Il fonctionne avec les connexions pptp et openvpn.
Pour plus d'informations et pour télécharger, visitez le site web .
Essayez ceci aussi:
utiliser la fonction AUTOSTART dans /etc/default/openvpn
Ou
Déterminez l'UUID de votre connexion VPN.
nmcli con list | grep -i vpn
L'UUID est la deuxième colonne avec les lettres, les chiffres et les tirets.
Commencez la connexion dans un terminal. Appuyez simplement sur Ctrl+Alt+T sur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez les commandes ci-dessous:
nmcli con up uuid <put you UUID here>
Configurez-le pour qu'il soit exécuté au démarrage.
Allez dans Dash, tapez et choisissez Applications de démarrage, cliquez sur Ajouter et ajoutez la commande nmcli ci-dessus (avec l'UUID). Cliquez sur "Ajouter". Dans le nom, tapez le nom que vous souhaitez utiliser, puis dans Command, placez la ligne entière nmcli au-dessus. Cliquez à nouveau sur "Ajouter". Maintenant, redémarrez et essayez-le.
Source: SourceForge
Je recommanderais de vérifier le script dans cet article :
#!/bin/bash
# YourVPN here is the name of desired vpn connection to monitor
# edit this line:
##################
VPNNAME=YourVPNUUID
# enter desired time between checks here (in seconds)
SLEEPTIME=15
##################
Nice=0
for (( ; ; )); do
# creating infinite loop
tested=$(nmcli con status uuid $VPNNAME | grep -c UUID)
#possible results:
# 0 - no connection - need to start
# 1 - working connection, continue.
case $tested in
"0")
echo "Not connected - starting"
#increase Nice counter
Nice=$[Nice+1]
#if "Nice start" fails for 3 times
if [ $Nice -ge 3 ];
then
#TRY to knock hard way, resetting the network-manager (sometimes it happens in my kubuntu 12.04).
echo "HARD RESTART!"
nmcli nm enable false
nmcli nm enable true
sleep 5
nmcli con up uuid $VPNNAME
Nice=0
else
#not yet 3 falures - try starting normal way
echo "trying to enable."
nmcli con up uuid $VPNNAME
fi
;;
"1")
echo "VPN seems to work"
;;
esac
sleep $SLEEPTIME
done
Pour connaître la valeur de YourVPNUUID
pour $ VPNNAME, exécutez simplement ce qui suit:
nmcli con list | grep -i vpn
vpnautoconnect n'a pas fonctionné pour moi dans 12.04 LTS, et je ne semble pas être le seul.
Je l'ai un peu étudié et j'ai combiné du code existant pour créer mon premier script bash. Il vérifie si une connexion VPN donnée est active et se connectera sinon. S'il est connecté, il dormira pendant un temps donné, par exemple. 1 minute, et répétez le processus indéfiniment.
#! /bin/bash
while true
do
connection="Auto Ethernet"
vpn_connection="My VPN connection"
run_interval="60"
active_connection=$(nmcli dev status | grep "${connection}")
active_vpn=$(nmcli dev status | grep "${vpn_connection}")
if [ "${active_connection}" -a ! "${active_vpn}" ];
then
nmcli con up id "${vpn_connection}"
fi
sleep $run_interval
done
Instructions:
Créez un fichier texte vierge nommé par exemple vpn-auto-connector.sh (Je l'ai enregistré dans mon dossier personnel. Cliquez avec le bouton droit de la souris sur le fichier et choisissez Propriétés-> Autorisations et cochez la case "Autoriser l'exécution du fichier en tant que programme". (Vous devrez peut-être stocker le fichier ailleurs et/ou modifier le autorisations de lecture/écriture/exécution si votre ordinateur compte plusieurs utilisateurs.)
Copiez le code ci-dessus dans le fichier que vous avez créé. Remplacez les valeurs des trois variables suivantes:
connection = "Auto Ethernet"
vpn_connection = "Ma connexion VPN"
run_interval = "60"
Ils peuvent être trouvés en ouvrant le gestionnaire de réseau. Dans mon cas, connection = "Auto Ethernet" est ma connexion câblée active (je n'ai pas encore testé avec le sans fil) et vpn_connection = "Ma connexion VPN" est le nom de ma connexion VPN. run_interval = "60" est l'intervalle de temps en secondes permettant de répéter le script.
Ouvrez Applications-> Outils système-> Préférences-> Applications de démarrage. Ajoutez un nom approprié, par exemple "VPN Auto Connector" et, pour la commande, choisissez le fichier .sh que vous avez enregistré précédemment. Maintenant, le script bash sera exécuté au démarrage et continuera de vérifier si la connexion VPN est active. Vous pouvez l'essayer en déconnectant la connexion VPN. Elle devrait être réactivée automatiquement.
Voici un script très robuste et fiable qui:
Cela est particulièrement utile si vous vous connectez régulièrement à différents VPN, car vous n'avez pas besoin de 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
Vpnautoconnect fonctionne bien sous Ubuntu 12.04, 13.04 et 13.10 (Je pense que dans le 13.10, l'option "se connecter automatiquement" du gestionnaire de réseau a été corrigée et fonctionne maintenant)
Donc, si vous avez des problèmes pour l'installer ou le faire fonctionner, ou que vous ne trouvez pas l'option "openvpn" dans le menu déroulant de Network-Manager pour créer une connexion vpn ouverte, vous pouvez suivre ce tuto, qui vous donne les étapes, très claires et faciles à appliquer.
Regardez ICI
Et laisse moi savoir :-)
répondre par @vincentYo a l'air franc, mais je ne pouvais pas le faire, alors j'ai fait comme ci-dessous.
step1: créer un script shell et ajouter une commande vpn
vim auto_vpn.sh
#!/bin/sh vpnc --enable-1des
step2: ouvrez un fichier sudoer et dites au noyau de ne pas demander le 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
nom d'utilisateur ALL = (root) NOPASSWD: your_Shell_script.sh
exemple:
sharath ALL = (racine) NOPASSWD: /home/sharath/workspace/work/src/auto_vpn.sh
étape 3: configurez un travail cron, qui déclenchera ce script Shell; en dessous, le travail cron sera exécuté toutes les minutes (bcz mon internet reste allumé et éteint, donc chaque minute)
* * * * * Sudo /home/sharath/workspace/work/src/auto_vpn.sh
je l'utilise depuis plusieurs jours et fonctionne très bien à Ubuntu 16.04 LTS ..Chears !!
Je suis sur Ubuntu 14.04 LTS sur plusieurs machines. En raison de certaines conditions préalables particulières:
Je travaille avec ce script très éprouvé et très fiable:
Il y a cependant quelques réserves avec l'applet du gestionnaire de réseau que je pourrais résoudre temporairement (voir la section Dépannage de l'article).
vpnautoconnect ne fonctionne pas pour moi.