Connetti automaticamente a VPN quando si utilizza una rete specifica in Ubuntu GNOME 16.04


12

In Unity, Network Manger ha una casella di controllo disponibile per ogni connessione che configura l'uso automatico di una VPN quando la connessione è attiva:

Immagine dell'impostazione della connessione in Ubuntu 16.06 Unity

C'è un modo per ottenere un'opzione come questa in Ubuntu GNOME 16.04? (che utilizza GNOME 3.18). Poiché nella pagina delle impostazioni di connessione manca questa opzione: inserisci qui la descrizione dell'immagine


Benvenuto in Ask Ubuntu! Questa risposta suggerisce che entrambi condividono lo stesso NetworkManager. Potresti per favore ricontrollare? Nel caso in cui siano diversi, potresti anche includere uno screenshot di NetworkManager in Ubuntu GNOME?
Andrea Lazzarotto,


@AndreaLazzarotto grazie! Ho fornito la schermata. Proverò vpnautoconnect che è stato suggerito in questa domanda per vedere se funziona. Ma mi chiedo se l'impostazione potrebbe essere attivata in Network Manger stesso poiché, come hai detto, è lo stesso Network Manger in entrambi i gusti.
S.Mohsen,

Questa funzionalità sembra ancora mancare in Ubuntu 17.04. Non sono chiaro il motivo per cui sarebbe stato rimosso. Dopo aver cercato una soluzione e aver trovato pochissimo, sembra strano che più persone non utilizzino le VPN e preferiscano la funzione di connessione automatica.
Rsync,

A condizione che il tuo sistema abbia una /etc/NetworkManager/system-connectionsdirectory popolata di profili di connessione e non ti dispiaccia modificare le configurazioni, potrebbe valere la pena di verificare la risposta che ho postato altrove sull'argomento della connessione automatica a una VPN per una determinata interfaccia di rete.
S0

Risposte:


22

Ho trovato la risposta a questo. Stranamente, devi aprire Network Manager manualmente (invece di usare il pannello o le Impostazioni.

Quindi nel Terminaltipo nm-connection-editor. Dopo aver fatto ciò, la finestra che si aprirà avrà le opzioni nella prima immagine dei PO.

Questo funziona per me nel 16.04 e 17.04. Si spera che integrino i vari gestori di rete nelle prossime versioni di GNOME.


Questo funziona anche per me nel 18.04 - grazie! Non è stato immediatamente chiaro dove fossero quelle impostazioni.
JohnnyCoder,

Funziona anche con Debian 9 Stretch. Grazie!
Christian Toffolo,

1

Ho risolto il problema con uno script in

/etc/NetworkManager/dispatcher.d

Questa cartella contiene script che vengono chiamati in ordine alfabetico dal gestore della rete ogni volta che viene modificato lo stato della rete. Questo ha il vantaggio (diverso da un'altra soluzione che ho visto) che la tua VPN non è solo attivata all'avvio / avvio, ma anche al riavvio dopo la sospensione / sospensione.

Perché ciò funzioni è necessaria una connessione VPN già impostata nel gestore della rete, che presumo tu abbia, altrimenti non avresti posto la domanda.

  1. Primo passo: ho seguito i consigli di questa pagina (in tedesco) ( https://wiki.ubuntuusers.de/NetworkManager/Dispatcher/ ). Ho aperto e nominato un nuovo script 02VPN1

    sudo YOURTEXTEDITOR /etc/NetworkManager/dispatcher.d/02VPN1
    

e ha scritto:

    #!/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 è il nome del file di connessione NAME_OF_YOUR_VPN_CONNECTION.conf che hai usato per impostare la connessione a cui vuoi connetterti automaticamente.

La condizione se ["$ 2" = "up"] significa che la connessione VPN viene automaticamente connessa solo quando si avvia la connessione di rete (la tua connessione Internet); una volta eseguito il servizio VPN, è possibile disabilitarlo o scegliere un'altra VPN.

Se solo e ogni volta vuoi eseguire questa VPN senza la possibilità di disabilitarla, puoi scrivere lo script senza questa If-condizione:

    #!/bin/bash
    VPN_CONNECTION_NAME="NAME_OF_YOUR_VPN_CONNECTION"
    sleep "3s"
    nmcli con up id "${VPN_CONNECTION_NAME}"

Puoi solo impostare questo file come root, quindi è di proprietà di root senza che tu faccia nulla in più. Ecco come dovrebbe essere.

Infine: Rendi eseguibile questo file, altrimenti lo script non verrà eseguito. Nel terminal:

    sudo chmod +x  /etc/NetworkManager/dispatcher.d/02VPN1
  1. Secondo passaggio (DIVERSO dalle istruzioni nel link sopra; ho usato i consigli da qui: https://ubuntuforums.org/showthread.php?t=2193559&p=12990193#post12990193

Questo processo è eseguito da root e root non ha ancora accesso alla password che usi per la tua VPN. Procedi come segue: Apri il file NAME_OF_YOUR_VPN_CONNECTION in / etc / NetworkManager / system-connections come root. Apri un Terminale ed esegui:

    sudo YOURTEXTEDITOR /etc/NetworkManager/system-connections/NAME_OF_YOUR_VPN_CONNECTION

a) Cambia la linea

    password-flags=1 

per

    password-flags=0

b) In fondo, aggiungi

    [vpn-secrets]
    password=PASSWORDOFYOURCONNECTION

Salva e chiudi il file.

  1. Ora riavvia Network Manager. Terminale:

    systemctl restart NetworkManager
    

per inizializzare le nuove impostazioni. Dovresti aver finito.

L'ho fatto ieri e, per quanto posso vedere, funziona bene. Nessuna garanzia!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.