J'ai résolu le problème avec un script dans
/etc/NetworkManager/dispatcher.d
Ce dossier contient des scripts appelés par ordre alphabétique par le gestionnaire de réseau chaque fois qu'il y a un changement d'état du réseau. Cela a l'avantage (différent d'une autre solution que j'ai vue) que votre VPN n'est pas seulement activé au démarrage / démarrage, mais également à la reprise après la suspension / veille.
Pour que cela fonctionne, vous avez besoin d'une connexion VPN déjà configurée dans votre gestionnaire de réseau, ce que je suppose que vous avez, sinon vous n'auriez pas posé la question.
Première étape: j'ai suivi les conseils de cette page (allemande) ( https://wiki.ubuntuusers.de/NetworkManager/Dispatcher/ ). J'ai ouvert et nommé un nouveau script 02VPN1
sudo YOURTEXTEDITOR /etc/NetworkManager/dispatcher.d/02VPN1
et a écrit:
#!/bin/bash
VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
if [ "$2" = "up" ]; then
sleep "3s"
nmcli con up id "${VPN_CONNECTION_NAME}"
fi
NAME_OF_YOUR_VPN_CONNECTION est le nom du fichier de connexion NAME_OF_YOUR_VPN_CONNECTION.conf que vous avez utilisé pour configurer la connexion à laquelle vous souhaitez vous connecter automatiquement.
La condition si ["$ 2" = "up"] signifie que la connexion VPN n'est connectée automatiquement qu'à lorsque vous démarrez la connexion réseau (votre connexion Internet); une fois le service VPN exécuté, vous pouvez le désactiver ou choisir un autre VPN.
Si vous souhaitez uniquement et à chaque fois exécuter ce VPN sans pouvoir le désactiver, vous pouvez écrire le script sans cette condition If:
#!/bin/bash
VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
sleep "3s"
nmcli con up id "${VPN_CONNECTION_NAME}"
Vous ne pouvez configurer ce fichier qu'en tant que root, il appartient donc à root sans que vous ayez à faire quoi que ce soit de plus. Voilà comment il devrait être.
Enfin: rendez ce fichier exécutable, sinon le script ne s'exécutera pas. Dans le terminal:
sudo chmod +x /etc/NetworkManager/dispatcher.d/02VPN1
- Deuxième étape (DIFFÉRENTE des instructions dans le lien ci-dessus; j'ai utilisé les conseils d'ici:
https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post12990193
Ce processus est exécuté par root et root n'a pas encore accès au mot de passe que vous utilisez pour votre VPN. Procédez comme suit: Ouvrez le fichier NAME_OF_YOUR_VPN_CONNECTION dans / etc / NetworkManager / system-connections en tant que root. Ouvrez un terminal et faites:
sudo YOURTEXTEDITOR /etc/NetworkManager/system-connections/NAME_OF_YOUR_VPN_CONNECTION
a) Changer la ligne
password-flags=1
à
password-flags=0
b) En bas, ajoutez
[vpn-secrets]
password=PASSWORDOFYOURCONNECTION
Enregistrez et fermez le fichier.
Redémarrez maintenant votre Network Manager. Terminal:
systemctl restart NetworkManager
pour initialiser les nouveaux paramètres. Vous devriez avoir terminé.
Je l'ai fait hier, et pour autant que je puisse voir, cela fonctionne bien. Aucune garantie!