Cette question a été mise à jour. S'il vous plaît voir la fin de ce post.
J'essaie de configurer mon ordinateur Mythbuntu pour qu'il se connecte à un service VPN au démarrage. J'espère que l'ordinateur Mythbuntu utilisera toujours le VPN pour toutes ses connexions Internet.
J'ai trouvé un script qui ferait ça, et ça ressemble à ça:
#!/bin/bash
while [ "true" ]
do
VPNCON=$(nmcli con status)
if [[ $VPNCON != "*MyVPNConnectionName*" ]]; then
echo "Disconnected, trying to reconnect..."
(sleep 1s && nmcli con up uuid df648abc-d8f7-4ce4-bdd6-3e12cdf0f494)
else
echo "Already connected !"
fi
sleep 30
done
Lorsque j'exécute ce script sur ma machine, j'obtiens l'erreur suivante:
$ /home/mythbuntu/VPN_start.sh
Disconnected, trying to reconnect...
Error: Connection activation failed: Not authorized to control networking.
Je pensais que cela pourrait être un problème d'autorisation, j'ai donc essayé de l'exécuter avec sudo:
$ sudo /home/mythbuntu/VPN_start.sh
[sudo] password for mythbuntu:
Disconnected, trying to reconnect...
Active connection state: unknown
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/1
state: VPN connecting (need authentication) (2)
Error: Connection activation failed: no valid VPN secrets.
Comment puis-je exécuter ce script sans erreur afin de pouvoir l'exécuter au démarrage ou à la connexion afin de m'assurer que je me connecte toujours par VPN.
Si quelqu'un a un meilleur script ou une meilleure méthode, cela suffirait également comme réponse.
Voici le contenu de mon fichier / etc / NetworkManager / system-connections / MyVPN (certains détails remplacés par x caractères pour la confidentialité):
[connection]
id=MyVPN
uuid=xxxxxxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxxxxxxxx
type=vpn
[vpn]
service-type=org.xxxxxxxxxxxxxx.xxxxxxxxxxxxxxx.openvpn
username=xxxxxxxxxx
comp-lzo=yes
remote=us-xxxxxx.xxxxxxx.com
connection-type=password
password-flags=0
ca=/etc/openvpn/xxxxxxx.crt
[vpn-secrets]
password=xxxxxxxxxxx
[ipv4]
method=auto
never-default=true
De plus, je veux juste ajouter que lorsque j'allume le VPN en utilisant l'applet dans le coin supérieur droit du panneau Xfce, il ne se connecte pas de problème. Le problème ne me semble donc pas être une autorisation incorrecte, mais de la configuration lorsque vous essayez de le faire à partir de la ligne de commande.
Mise à jour:
Je ne sais pas exactement ce qui a changé - peut-être quelque chose dans la mise à niveau vers 12.10 - mais je peux maintenant démarrer mon service VPN à partir de la ligne de commande. Cependant, cette commande ne fonctionne qu'une seule fois lorsque je démarre l'ordinateur pour la première fois, et elle doit également être exécutée avec sudo
.
mythbuntu@mythbuntu:~$ nmcli con up id "Private Internet Access SSL"
Error: Connection activation failed: Not authorized to control networking.
mythbuntu@mythbuntu:~$ sudo nmcli con up id "Private Internet Access SSL"
[sudo] password for mythbuntu:
mythbuntu@mythbuntu:~$
Comme je dois l'utiliser sudo
pour l'exécuter, je ne peux pas l'exécuter automatiquement au démarrage.
Comment l'obtenir afin de pouvoir démarrer mon VPN sans les autorisations de super utilisateur?
/etc/NetworkManager/system-connections/ConnectionName
fichier, donc quand il est dit de "modifier sous [vpn]", je ne sais pas comment gérer cela. Puis-je simplement créer le fichier?password-flags
formulaire 1 en 0. Utiliseznmcli con
pour lister les connexions.Not authorized to control networking
erreur.Pour démarrer VPN automatiquement au démarrage
En supposant que vos fichiers d'informations d'identification fonctionnent, vous devriez pouvoir utiliser un
dispatcher.d
script comme vous aviez à l'origine pour démarrer votre VPN. J'ai un peu modifié votre script pour le faire fonctionner avec 2 connexions (routeur sans fil à la maison et connexion filaire au travail). La raison en est que je veux qu'il démarre le VPN s'il n'est pas démarré lorsque l'une de mes connexions Internet requises est en vie. Dans mon exemple, je les ai configurés avec des noms par défaut, mais vous devez les modifier pour qu'ils correspondent à vos propres noms.Mettez ceci dans le fichier
/etc/NetworkManager/dispatcher.d/vpn-up
, et rendez exécutable avecchmod +x
Pour configurer les certificats clients dans NetworkManager
Si vous utilisez un certificat client avec mot de passe pour vous authentifier auprès de votre VPN, il est un peu non documenté.
Après avoir parcouru la spécification des paramètres de NetworkManager 0.9 , je n'ai pas pu déterminer comment spécifier une passe de certificat vpn dans le fichier de configuration. J'ai ouvert
seahorse
et trouvé mon « secret VPN » (mot de passe du certificat).Il a été répertorié comme quelque chose comme « Secret de passe-passe VPN pour My VPN / org.freedesktop.NetworkManager.openvpn / vpn ». Cliquer sur l'onglet détails m'a donné un indice pour le
setting-key
nom:Pour démarrer un VPN automatiquement en tant que root sur Ubuntu 12.04 (Precise Pangolin) à l'aide de NetworkManager 0.9.4.0:
Ouvrez
/etc/NetworkManager/system-connections/My VPN
et ajoutez lecert-pass
secret VPN pour que le fichier ressemble à:la source
system-connections
diffère du vôtre, cependant, donc je ne suis pas sûr d'appliquer vos modifications. Je n'ai pas dekey
outimestamp
, et mon type de connexion ne l'estpassword
pastls
. J'ai ajouté mon dossier à ma question.connection-type=password
vous devriez probablement utiliserpassword-flags=0
etpassword=YourPassword
sous l'en-[vpn-secrets]
tête comme suggéré par devav2.VPN_start.sh
n'a pas les autorisations pour gérer le réseau. Si vous souhaitez gérer les connexions VPN en tant qu'utilisateur non root qui ne dispose pas d'autorisations, vous devrez peut-être ajouter certaines stratégies au/etc/dbus-1/system.d/org.freedesktop.NetworkManager.conf
fichier.sudo
? Comme indiqué dans ma question, il échoue également lorsque je l'exécute avecsudo
.