Sto usando Ubuntu 13.04 con Gnome e di recente ho impostato una VPN (aperta). C'è un modo per abilitarlo di default? Ogni volta che avvio o addirittura ho perso la connessione, devo abilitare manualmente la VPN. C'è un'opzione che mi manca?
Sto usando Ubuntu 13.04 con Gnome e di recente ho impostato una VPN (aperta). C'è un modo per abilitarlo di default? Ogni volta che avvio o addirittura ho perso la connessione, devo abilitare manualmente la VPN. C'è un'opzione che mi manca?
Risposte:
Tramite l'indicatore Network Manager nm-applet (l'applet della barra delle reti GNOME o Unity installato per impostazione predefinita), è possibile configurare NetworkManager per connettersi automaticamente a una VPN quando è connessa una rete.
nm-connection-editor
.Quando questo è abilitato, c'è un bug in NetworkManager che può interrompere la funzione "connettiti automaticamente a questa rete". ( Modifica : questo bug è stato ora contrassegnato come "correzione rilasciata" in Ubuntu 16.04). Se NetworkManager prova a connettersi automaticamente e fallisce, vedrai una linea come la seguente in /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.
Sembra che NetworkManager non riesca a ottenere la password VPN dell'utente da gnome-keyring-daemon
. Una soluzione alternativa consiste nel consentire a NetworkManager di archiviare la password in testo normale nel file di configurazione in /etc/NetworkManager/system-connections/
. Per farlo:
sudoedit /etc/NetworkManager/system-connections/<VPN>
, dove si <VPN>
trova il file di configurazione per la tua VPN (il nome del file è generalmente il nome che hai assegnato alla tua VPN).password-flags=1
inpassword-flags=0
NetworkManager ora memorizzerà la password VPN stessa (vedere man nm-settings
per i dettagli) e la connessione automatica di rete funzionerà ancora una volta.
nm-connection-editor
puoi trovarlo quando modifichi una connessione nella scheda generale .
Dai un'occhiata a vpnautoconnect.
vpnautoconnect è un demone che ti consente di riconnetterti automaticamente (anche all'avvio) creando una VPN con Network Manager. Può riconnettersi molto rapidamente e monitorare la banda con, Funziona con pptp e connessione openvpn.
Per ulteriori informazioni e per scaricare visitare il sito Web .
Prova anche questo:
utilizzare la funzione AUTOSTART in /etc/default/openvpn
O
Scopri l'UUID della tua connessione VPN.
nmcli con list | grep -i vpn
L'UUID è la seconda colonna con lettere, numeri e trattini.
Avviare la connessione in un terminale. Premi Ctrl+ Alt+ Tsulla tastiera per aprire Terminale. Quando si apre, esegui i seguenti comandi:
nmcli con up uuid <put you UUID here>
Impostare questo per l'esecuzione all'avvio.
Vai a Dash, digita e scegli Startup Applications, fai clic su Aggiungi e aggiungi il comando nmcli sopra (con l'UUID). Fai clic su "Aggiungi". Nel nome digita il nome che vuoi usare e in Comando metti l'intera riga nmcli sopra. Fai di nuovo clic su "Aggiungi". Ora riavvia e prova.
Fonte: SourceForge
vpnautoconnect
? Il loro sito Web è una pagina del progetto SourceForge abbandonata e il pacchetto non fornisce pagine man. Duro sembra promettente.
Consiglierei di dare un'occhiata allo script in questo articolo :
#!/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
Per scoprire il valore di YourVPNUUID
$ VPNNAME, eseguire semplicemente quanto segue;
nmcli con list | grep -i vpn
vpnautoconnect non ha funzionato per me in 12.04 LTS e non mi sembra l'unico.
L'ho cercato un po 'e ho combinato del codice esistente per creare il mio primo script bash. Verifica se una determinata connessione VPN è attiva e, in caso contrario, si connetterà. Se è collegato, dormirà per un determinato tempo, ad esempio 1 minuto, e ripeterà il processo indefinitamente.
#! /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
Istruzioni:
Crea un file di testo vuoto chiamato ad esempio vpn-auto-connector.sh (l'ho salvato nella mia cartella home. Fai clic con il pulsante destro del mouse e seleziona Proprietà-> Autorizzazioni e seleziona "Consenti l'esecuzione del file come programma". (Potrebbe essere necessario archiviare il file da qualche altra parte e / o alterare le autorizzazioni di lettura / scrittura / presentazione anche se il tuo computer ha più utenti.)
Copia il codice dall'alto nel file che hai creato. Sostituisci i valori delle seguenti tre variabili:
connessione = "Auto Ethernet"
vpn_connection = "La mia connessione VPN"
run_interval = "60"
Possono essere trovati aprendo il gestore di rete. Nel mio caso connection = "Auto Ethernet" è la mia connessione cablata attiva (non è stata testata con wireless) e vpn_connection = "La mia connessione VPN" è il nome della mia connessione VPN. run_interval = "60" è l'intervallo di tempo in secondi per quando ripetere lo script.
Apri Applicazioni-> Strumenti di sistema-> Preferenze-> Applicazioni di avvio. Aggiungi un nome adatto, ad es. "VPN Auto Connector", e per il comando scegli il file .sh che hai salvato in precedenza. Ora lo script bash verrà eseguito all'avvio e continuerà a verificare se la connessione VPN è attiva. Puoi provarlo disconnettendo la connessione VPN e dovrebbe essere riattivato automaticamente.
Vpnautoconnect funziona bene in Ubuntu 12.04, 13.04 e 13.10 (penso che nel 13.10 l'opzione "connettiti automaticamente" in Network-Manager sia stata riparata e funzioni ora)
Quindi, se hai problemi ad installarlo o farlo funzionare, o non trovi l'opzione "openvpn" nel menu a discesa di Network-Manager per creare una connessione vpn aperta, puoi seguire questo tutorial che ti dà tutto i passaggi, molto chiari e facili da applicare.
Dai un'occhiata QUI
E fammi sapere :-)
Ecco uno script molto robusto e affidabile che:
Ciò è particolarmente utile se ci si collega abitualmente a VPN diverse poiché non è necessario specificare una singola connessione VPN a cui riconnettersi.
#!/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
Sono su Ubuntu 14.04 LTS su diverse macchine. A causa del fatto, ho alcuni prerequisiti speciali:
Sto lavorando con questo script molto collaudato e molto affidabile:
Esistono tuttavia alcuni avvertimenti con l'applet del gestore di rete che potrei temporaneamente risolvere (vedere la sezione Risoluzione dei problemi dell'articolo).
vpnautoconnect non funziona per me.
la risposta di @vincentYo sembra diretta, ma non ho potuto farlo, quindi ho fatto come di seguito.
step1: crea uno script di shell e aggiungi il comando vpn
vim auto_vpn.sh
#!/bin/sh
vpnc --enable-1des
step2: aprire un file sudoer e dire al kernel di non chiedere la password per questo file.
sudo vim / etc / sudoers
la maggior parte delle cose all'interno di questo file saranno commentate, basta aggiungere come di seguito
nome utente ALL = (root) NOPASSWD: your_shell_script.sh
esempio:
sharath ALL = (root) NOPASSWD: /home/sharath/workspace/work/src/auto_vpn.sh
step3: imposta un cron job, che attiverà questo script di shell, sotto cron job verrà eseguito ogni minuto (bcz il mio internet si accende e si spegne, quindi ogni minuto)
* * * * * sudo /home/sharath/workspace/work/src/auto_vpn.sh
sto usando questo da molti giorni, lavorando benissimo in Ubuntu 16.04 LTS ..Chears !!