Errore durante il tentativo di connessione alla VPN all'avvio


13

Questa domanda è stata aggiornata Si prega di vedere la fine di questo post.

Sto cercando di configurare il mio computer Mythbuntu per la connessione a un servizio VPN all'avvio. La mia speranza è che il computer Mythbuntu utilizzi sempre la VPN per tutte le sue connessioni Internet.

Ho trovato una sceneggiatura che apparentemente lo farà, e sembra così:

#!/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

Quando eseguo questo script sul mio computer, viene visualizzato il seguente errore:

$ /home/mythbuntu/VPN_start.sh
Disconnected, trying to reconnect...
Error: Connection activation failed: Not authorized to control networking.

Ho pensato che potesse essere un problema di autorizzazione, quindi ho provato a eseguirlo con 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.

Come faccio a far funzionare questo script senza errori in modo da poterlo eseguire all'avvio o al login in modo da poter essere sicuro di connettermi sempre tramite VPN.

Se qualcuno ha uno script o un metodo migliore, sarebbe sufficiente anche una risposta.


Questi sono i contenuti del mio file / etc / NetworkManager / system-connections / MyVPN (alcuni dettagli sostituiti con x caratteri per la privacy):

[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

Inoltre, voglio solo aggiungere che quando accendo la VPN usando l'applet nell'angolo in alto a destra del pannello Xfce, non si collega nessun problema. Quindi il problema non mi sembra essere un'autorizzazione errata, ma della configurazione quando provo a farlo dalla riga di comando.

Aggiornare:

Non sono del tutto sicuro di cosa sia cambiato, forse qualcosa nell'aggiornamento alla 12.10, ma ora posso avviare il mio servizio VPN dalla riga di comando. Tuttavia, questo comando funziona solo una volta al primo avvio del computer e deve essere eseguito anche con 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:~$

Dal momento che ho bisogno di usare sudoper eseguire questo, non posso eseguirlo automaticamente all'avvio.

Come posso ottenerlo in modo da poter avviare la mia VPN senza le autorizzazioni dei super utenti?

Risposte:


8

Il problema sembra essere che la tua password nel keyring non è accessibile.

fonte

La soluzione menzionata è di aprire il file / etc / NetworkManager / system-connections / ConnectionName e impostare il file

password-flags=0

e aggiungi le righe sottostanti al file

 [vpn-secrets]
 password=YourPassword

Quindi riavviare il gestore di rete per ritirare la modifica:

 sudo restart network-manager

Per maggiori informazioni consultare la fonte


Grazie per queste informazioni utili. Una parte su cui sono bloccato è che non avevo un /etc/NetworkManager/system-connections/ConnectionNamefile, quindi quando si dice "modifica sotto [vpn]", non sono sicuro di come gestirlo. Posso semplicemente creare il file?
Interrogante

sì / etc / NetworkManager / system-connections / <name-of-your-vpn-connection> e cambia il password-flagsmodulo da 1 a 0. Utilizzare nmcli conper elencare le connessioni.
devav2

Okay, l'ho capito adesso. Mi sono reso conto che stavo commettendo un errore nel trovare il file giusto. Tuttavia, ora ho apportato tutte le modifiche suggerite, purtroppo sto ancora riscontrando lo stesso Not authorized to control networkingerrore.
Interrogante

Prova a riaprire l'editor di connessione di NetworkManager e a inserire nuovamente le password oi segreti della VPN.
devav2

Ho aperto Network Manager e reinserito la password (era vuota quando ho aperto l'interfaccia). Non ho visto nient'altro che riguardasse i "segreti". Ho salvato e quindi riprovato lo script. Sempre lo stesso messaggio di errore.
Interrogante

2

Per avviare automaticamente la VPN all'avvio

Supponendo che i file delle credenziali funzionino, dovresti essere in grado di utilizzare a dispatcher.d script come in origine dovevi avviare la tua VPN. Ho modificato un po 'il tuo script per farlo funzionare con 2 connessioni (router wireless a casa e connessione cablata al lavoro). La ragione di ciò è che voglio che inizi la VPN se non viene avviata quando una delle mie connessioni Internet richieste è attiva. Nel mio esempio, li ho configurati con nomi predefiniti, ma è necessario modificarli in modo che corrispondano ai propri nomi.

Inseriscilo nel file /etc/NetworkManager/dispatcher.d/vpn-upe rendilo eseguibile conchmod +x

#! /bin/bash

REQUIRED_CONNECTION1_NAME="linksys"
REQUIRED_CONNECTION2_NAME="Wired connection 1"
VPN_CONNECTION_NAME="My VPN"


activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION1_NAME}\|${REQUIRED_CONNECTION2_NAME}")
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")
if [ "${activ_con}" -a ! "${activ_vpn}" ];
then
    nmcli con up id "${VPN_CONNECTION_NAME}"
fi

Per configurare i certificati client in NetworkManager

Se stai usando un certificato client con password per autenticarti sulla tua VPN, è un po 'non documentato.

Dopo aver sfogliato le specifiche delle impostazioni di NetworkManager 0.9 , non sono stato in grado di determinare come specificare un passaggio cert vpn nel file di configurazione. Ho aperto seahorsee trovato il mio " segreto VPN " (password del certificato).

È stato elencato come qualcosa come " Segreto cert-pass VPN per My VPN / org.freedesktop.NetworkManager.openvpn / vpn ". Fare clic sulla scheda dei dettagli mi ha dato un indizio per il setting-keynome:

setting-name: vpn
setting-key: cert-pass
connection-uuid: 0badcafe-f00d-dead-beef-feedfacef00d

Per avviare automaticamente una VPN come root su Ubuntu 12.04 (Precise Pangolin) usando NetworkManager 0.9.4.0:

Apri /etc/NetworkManager/system-connections/My VPNe aggiungi il cert-passsegreto VPN in modo che il file assomigli a:

[connection]
id=My VPN
uuid=0badcafe-f00d-dead-beef-feedfacef00d
type=vpn
timestamp=1234567890

[vpn]
service-type=org.freedesktop.NetworkManager.openvpn
key=/home/<your-user>/path/to/certs/your.secure.key
ca=/home/<your-user>/path/to/certs/your.vpnca.crt
connection-type=tls
cert=/home/<your-user>/path/to/certs/your.crt
remote=your.vpn-server.com
cert-pass-flags=0
[vpn-secrets]
cert-pass=your-vpn-pass

[ipv4]
method=auto
never-default=true

Grazie per questa risposta Il mio system-connectionsdifferisce dal tuo, tuttavia, quindi non sono sicuro di applicare le tue modifiche. Non ho un keyo timestampe il mio tipo di connessione è passwordno tls. Ho aggiunto il mio file alla mia domanda.
Interrogante

Se stai usando connection-type=passwordprobabilmente dovresti usare password-flags=0e password=YourPasswordsotto l' [vpn-secrets]intestazione come suggerito da devav2.
TrinitronX,

Tuttavia, l'errore visualizzato indica che l'utente in esecuzione VPN_start.shnon dispone delle autorizzazioni per gestire la rete. Se si desidera gestire le connessioni VPN come utente non root che non dispone di autorizzazioni, potrebbe essere necessario aggiungere alcuni criteri al /etc/dbus-1/system.d/org.freedesktop.NetworkManager.conffile.
TrinitronX,

Se fosse solo una questione di autorizzazioni, lo script non funzionerebbe se lo avessi eseguito sudo? Come notato nella mia domanda, fallisce anche quando lo eseguo sudo.
Interrogante

Buon punto! Non sono sicuro del motivo per cui ti darebbe questo errore se stai eseguendo con sudo. Non sono stato in grado di testare il tuo tipo di VPN da solo, poiché il mio router non sembra essere facilmente configurabile per questo. Se la connessione VPN funziona correttamente all'avvio tramite l'applet NetworkManager, non so cos'altro controllare.
TrinitronX,
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.