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 ?
Réponses
Trop de publicités?À travers l'indicateur du gestionnaire de réseau nm-applet (l'applet de la barre système GNOME ou Unity installé par défaut), vous pouvez configurer NetworkManager pour se connecter automatiquement à un VPN lorsqu'un réseau est connecté.
- Cliquez sur l'icône de la barre système et cliquez sur "Modifier les connexions...", ou exécutez
nm-connection-editor
. - Sélectionnez une connexion réseau et cliquez sur "Modifier..."
- Cochez "Se connecter automatiquement au VPN lors de l'utilisation de cette connexion" et sélectionnez le VPN souhaité dans la liste déroulante.
- Enregistrez.
Lorsque cela est activé, il y a un bug dans NetworkManager qui peut affecter la fonction "se connecter automatiquement à ce réseau". (Éditer : ce bug a maintenant été marqué comme "corrigé" dans Ubuntu 16.04). Si NetworkManager essaie de se connecter automatiquement et échoue, vous verrez une ligne comme celle-ci dans /var/log/syslog
:
[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 échoue à obtenir le mot de passe VPN de l'utilisateur depuis gnome-keyring-daemon
. Une solution de contournement est de laisser NetworkManager stocker le mot de passe en texte brut dans le fichier de configuration dans /etc/NetworkManager/system-connections/
. Pour ce faire :
- Ouvrez un terminal.
sudoedit /etc/NetworkManager/system-connections/
, où est le fichier de configuration de votre VPN (le nom de fichier est généralement le nom que vous avez attribué à votre VPN).- Modifiez la ligne
password-flags=1
enpassword-flags=0
- Enregistrez et quittez.
NetworkManager stockera désormais lui-même le mot de passe VPN (voir man nm-settings
pour plus de détails), et la connexion automatique au réseau fonctionnera à nouveau.
Jetez un œil à vpnautoconnect.
vpnautoconnect est un démon qui vous permet de vous 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 également:
utilisez la fonctionnalité AUTOSTART dans /etc/default/openvpn
Ou
Découvrez 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.
Démarrez la connexion dans un terminal. Appuyez simplement sur Ctrl+Alt+T sur votre clavier pour ouvrir le Terminal. Lorsqu'il s'ouvre, exécutez la ou les commandes ci-dessous :
nmcli con up uuid
Configurez ceci pour s'exécuter au démarrage.
Allez dans Dash, tapez et choisissez Applications au 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 voulez utiliser, et dans Commande mettez toute la ligne nmcli ci-dessus. Cliquez de nouveau sur "Ajouter". Maintenant, redémarrez et essayez.
Source : SourceForge
Je recommanderais de consulter 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 la commande suivante :
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.
J'ai fait des recherches et combiné un peu de code existant pour faire mon premier script bash. Il vérifie si une connexion VPN donnée est active, et se connectera si ce n'est pas le cas. S'il est connecté, il dormira pendant un certain temps, par exemple 1 minute, et répétera le processus indéfiniment.
#! /bin/bash
while true
do
connection="Auto Ethernet"
vpn_connection="Ma connexion VPN"
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 vide nommé par exemple vpn-auto-connector.sh (je l'ai enregistré dans mon dossier personnel. Cliquez avec le bouton droit sur le fichier et choisissez Propriétés->Autorisations et cochez "Autoriser l'exécution du fichier en tant que programme". (Vous devrez peut-être enregistrer le fichier ailleurs et/ou modifier également les autorisations de lecture/écriture/exécution si votre ordinateur a 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"
Elles peuvent être trouvées en ouvrant le gestionnaire de réseau. Dans mon cas, connection="Auto Ethernet" est ma connexion filaire active (je n'ai pas 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 pour répéter le script.
-
Ouvrez Applications->Outils Système->Préférences->Applications au 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 s'exécutera au démarrage et continuera à vérifier si la connexion VPN est active. Vous pouvez l'essayer en déconnectant la connexion VPN et elle devrait être activée à nouveau automatiquement.
Vpnautoconnect fonctionne bien sous Ubuntu 12.04, 13.04 et 13.10 (Je pense que dans la version 13.10, l'option "se connecter automatiquement" dans le Network-Manager a été corrigée et fonctionne maintenant)
Donc, si vous rencontrez des problèmes pour l'installer ou le faire fonctionner, ou si vous ne trouvez pas l'option "openvpn" dans le menu déroulant du Network-Manager pour créer une connexion vpn ouverte, vous pouvez suivre ce tuto, qui vous donne Toutes les étapes, très claires et faciles à appliquer.
Jetez un œil ICI
Et faites-moi savoir :-)
- Réponses précédentes
- Plus de réponses