web-dev-qa-db-fra.com

Connexion automatique au VPN lors de l'utilisation d'un réseau spécifique dans Ubuntu GNOME 16.04

Sous Unity, Network Manger dispose d'une case à cocher pour chaque connexion configurant l'utilisation automatique d'un VPN lorsque la connexion est active:

Picture of Connection setting in ubuntu 16.06 Unity

Existe-t-il un moyen d’obtenir une telle option dans Ubuntu GNOME 16.04? (qui utilise GNOME 3.18). Comme la page de configuration de la connexion manque de cette option: enter image description here

11
S.Mohsen sh

J'ai trouvé la réponse à cela. Bizarrement, vous devez ouvrir Network Manager manuellement (au lieu d'utiliser le panneau ou les paramètres).

Donc, dans Terminal, tapez nm-connection-editor. Après cela, la fenêtre qui s'ouvre aura les options dans la première image des PO.

Cela fonctionne pour moi dans 16.04 et 17.04. Espérons qu'ils intégreront les différents gestionnaires de réseau dans les prochaines versions de GNOME.

20
Rsync

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 que l'état du réseau change. Cela présente l'avantage (différent d'une autre solution que j'ai vue) que votre VPN n'est pas simplement activé au démarrage/au 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, sinon vous n’auriez pas posé la question.

  1. 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 voulez 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 pouvez uniquement configurer ce fichier en tant que root. Il appartient donc à root sans que vous ne fassiez rien 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
  1. Deuxième étape (DIFFÉRENT des instructions dans le lien ci-dessus; j’ai utilisé les conseils d’ici: https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post1299019

Ce processus est exécuté par root et ce dernier 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 racine. 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) Au bas, ajoutez

    [vpn-secrets]
    password=PASSWORDOFYOURCONNECTION

Enregistrez et fermez le fichier.

  1. Maintenant, redémarrez votre gestionnaire de réseau. Terminal:

    systemctl restart NetworkManager
    

pour initialiser les nouveaux paramètres. Vous devriez être fait.

Je l'ai fait hier et, autant que je sache, cela fonctionne bien. Aucune garantie!

1
Xenon