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?
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?
Réponses:
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, NetworkManager contient un bogue qui peut annuler la fonction "Se connecter automatiquement à ce réseau". ( Edit : ce bug a maintenant été 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 ne puisse pas obtenir le mot de passe VPN de l'utilisateur gnome-keyring-daemon
. Une solution consiste à laisser NetworkManager stocker le mot de passe en texte clair dans le fichier de configuration /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 du fichier est généralement le nom que vous avez attribué à votre VPN).password-flags=1
enpassword-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.
nm-connection-editor
vous pouvez trouver ceci lors de l'édition d'une connexion dans l' onglet général .
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+ Tsur 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 sur "Ajouter" à nouveau. Maintenant, redémarrez et essayez-le.
Source: SourceForge
vpnautoconnect
? Leur site Web est une page de projet SourceForge abandonnée et le package ne fournit pas de pages de manuel. Dur, cela semble prometteur.
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étera 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 sur le fichier avec le bouton droit de la souris 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 modifiez 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"
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", puis 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.
Vpnautoconnect fonctionne correctement dans Ubuntu 12.04, 13.04 et 13.10 (je pense que dans le 13.10, l'option "se connecter automatiquement" dans Network-Manager 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 :-)
Voici un script très robuste et fiable qui:
Ceci est particulièrement utile si vous vous connectez régulièrement à différents VPN puisqu'il n'est pas nécessaire 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
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.
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 !!