come avviare automaticamente openvpn (client) su Ubuntu Cli?


16

Sto usando Ubuntu 12.04 a 64 bit. Ho un *.ovpnfile che funziona se scrivo:

sudo openvpn client.ovpn

Ora vorrei avviare openvpnquando avvio il computer.

Come posso fare questo?

Risposte:


22
  1. Scarica il OpenVPNConfigFile.ovpn. Nota che puoi rinominare il file come preferisci.

  2. Sposta il file ovpn in /etc/openvpn

  3. cd /etc/openvpn cartella e invio sudo nano yourserver.txt

    your_server_user_name
    your_server_passowrd
    

    Salva e chiudi

  4. sudo nano OpenVPNConfigFile.ovpn

    Trova auth-user-passe aggiungi yourserver.txtaccanto ad esso in modo che diventi

    auth-user-pass yourserver.txt
    

    Ciò ti consentirà di saltare l'inserimento delle tue credenziali ogni volta che avvii la connessione openvpn

  5. Rinomina OpenVPNConfigFile.ovpninOpenVPNConfigFile.conf

    sudo mv OpenVPNConfigFile.ovpn OpenVPNConfigFile.conf
    
  6. sudo nano /etc/default/openvpn

    Rimuovere il commento AUTOSTART="all"

  7. sudo service openvpn start

    Dovresti vedere un messaggio che dice che sei connesso. La connessione verrà stabilita ogni volta che avvii il computer.


5
Se stai eseguendo systemd, dovrai eseguirlo systemctl daemon-reloadprima di riavviare il servizio
Mario Campa,

6

Il openvpnpacchetto viene fornito con uno script init /etc/init.d/openvpn. Questo script imposta automaticamente la connessione per ogni file .conf(attenzione all'estensione) in /etc/openvpn.

Trovato questo in base alle informazioni qui: https://openvpn.net/index.php/open-source/documentation/howto.html#startup

Se installi OpenVPN tramite un pacchetto RPM o DEB su Linux, il programma di installazione imposta un initscript. Una volta eseguito, initscript cercherà i file di configurazione .conf in / etc / openvpn e, se trovato, avvierà un demone OpenVPN separato per ogni file.


2

Sarebbe bello avere un modo un hacker di farlo, ma questo dovrà farlo per ora.

1) Crea il file myopenvpn in /etc/init.d/

nano /etc/init.d/myopenvpn

2) Inserisci in myopenvpn e salva:

# OpenVPN autostart on boot script

start on runlevel [2345]
stop on runlevel [!2345]

respawn

exec /usr/sbin/openvpn --status /var/run/openvpn.client.status 10 --cd /etc/openvpn --config /etc/openvpn/client.conf --syslog openvpn

FONTE: http://www.hackerway.ch/2012/12/11/how-to-auto-start-openvpn-client-in-debian-6-and-ubuntu-12-04/#comment-79


2

Mi sono bloccato un po 'su questo e ho finito per scrivere tutte le istruzioni per configurarlo con systemd manualmente.

Questo ha funzionato per me usando Ubuntu 16.10 e openvpn 2.3.11

Configurare il tuo VPN per l'esecuzione da bash

Questi esempi usano expressvpn ma la maggior parte funzionerebbe allo stesso modo

Scarica il file di configurazione ovpn del tuo provider VPN, ad esempio my_express_vpn_amsterdam_2 . ovpn

spostalo in /etc/openvpn/e rinominalo per terminare in .conf

sudo mv ~/Downloads/my_express_vpn_amsterdam_2.ovpn /etc/openvpn/amsterdam-2.conf

Il tuo provider VPN ti fornirà un nome utente e una password per la connessione su openvpn. Salvare il nome utente e quindi password ciascuno sulla propria riga

sudo vim /etc/openvpn/express-vpn-crednetials.txt
# add these lines
YOUR_VPN_USERNAME
YOUR_VPN_PASSWORD
# save the file

ora modifica /etc/openvpn/amsterdam-2.conf cerca una riga che dice auth-user-passe sostituiscilo con il percorso del tuo file di credenziali

auth-user-pass /etc/openvpn/express-vpn-crednetials.txt

Metti alla prova la tua configurazione! Inizia openvpn in questo modo

sudo openvpn --config /etc/openvpn/amsterdam-2.conf

openvpn dovrebbe connettersi senza richiedere username o password

Rimuovere la configurazione di servizio (non funzionante) esistente per openvpn

sudo rm /etc/systemd/system/multi-user.target.wants/openvpn.service

Installa openvpn per l'esecuzione come servizio systemd

La configurazione fornita con openvpn è stata interrotta, quindi l'ho rimosso e ne ho creato uno nuovo basato su questa risposta

Crea un servizio systemd per openvpn

sudo vim /usr/lib/systemd/system/openvpn@service

aggiungi questa configurazione:

[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=syslog.target network.target

[Service]
PrivateTmp=true
Type=forking
PIDFile=/var/run/openvpn/%i.pid
ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf

[Install]
WantedBy=multi-user.target

la %iviene utilizzato come un carattere jolly in modo che questo servizio può essere utilizzato per più configurazioni VPN. Configuralo per il amsterdam-2.conffile che abbiamo creato in precedenza

sudo systemctl start openvpn@amsterdam-2.service

il servizio systemd dovrebbe ora essere in esecuzione sulla VPN di Amsterdam. controlla lo stato in questo modo

sudo systemctl status openvpn@amsterdam-2.service

dovresti vedere diverse righe di output che finiscono Initialization Sequence Completede la tua VPN dovrebbe essere in esecuzione.

Spero che sia di aiuto! lettura correlata:

/unix/206058/how-to-start-2fa-using-openvpn-with-systemd/206490#206490

Come avviare il servizio client OpenVPN su Ubuntu 15.04

/unix/148990/using-openvpn-with-systemd/149003#149003?newreg=53ca53879fcc489f94304f91bbc82ab3

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.