Come installare e configurare il server OpenVPN su Ubuntu Linux

Sommario

OpenVPN È senza dubbio il modo migliore per stabilire una connessione sicura a una rete tramite Internet.

OpenVPN è una risorsa VPN di Open Source Ciò consente a noi utenti di mascherare la nostra navigazione per evitare di essere vittime del furto di informazioni sulla rete. Questi sono aspetti molto importanti a livello di sicurezza che dobbiamo tenere in considerazione e questa volta analizzeremo il processo di configurazione di OpenVPN in un ambiente Ubuntu 16.04.

OpenVPN utilizzaGrazie a OpenVPN possiamo eseguire attività come:

  • Proteggi il traffico durante il processo di navigazione web.
  • Funziona come un tunnel su qualsiasi indirizzo IP utilizzando una singola porta TCP o UDP.
  • Impostare più server VPN scalabile.
  • Utilizzo funzioni di crittografia e autenticazione per proteggere il traffico.
  • Scambio di tasti dinamici.
  • Crea ponti di Ethernet sicuro.
  • Gestione VPN utilizzando un'interfaccia grafica da ambienti Windows e Mac OS.

Requisiti OpenVPNPrima di iniziare il processo di installazione è importante soddisfare alcuni requisiti, questi sono:

  • Utente root
  • Gocciolina Ubuntu 16.04

1. Come installare Aggiorna e installa OpenVPN su Ubuntu 16.04

Passo 1
Prima di tutto, aggiorneremo Ubuntu 16.04 usando il seguente comando:

 sudo apt-get update 
Passo 2
Una volta aggiornato il sistema, procediamo con l'installazione di OpenVPN utilizzando il seguente comando. Accettiamo il download e la rispettiva installazione dei pacchetti OpenVPN.
 sudo apt-get install openvpn easy-rsa 

INGRANDIRE

In questo modo abbiamo installato OpenVPN su Ubuntu 16 e ora sarà necessario eseguire il processo di configurazione.

2. Come impostare la directory CA in Ubuntu 16.04


Il Directory CA (Certificate Authority- Certificate of Authority) è il mezzo con cui possiamo emettere certificati affidabili poiché OpenVPN è una VPN che utilizza il Protocolli TLS/SSL.

Passo 1
Per questo copieremo i modelli da easy-rsa nella nostra home directory usando il comando make-cadir, inseriremo quanto segue nel terminale Ubuntu 16.04:

 make-cadir ~ / openvpn-ca 
Passo 2
Ora accederemo al percorso creato in precedenza:
 cd ~ / openvpn-ca 

INGRANDIRE

3. configurare le variabili dei certificati di autorità in Ubuntu 16.04


È necessario configurare i valori che verranno utilizzati dall'autorità o dai certificati CA e per questo dobbiamo modificare il file vars all'interno della directory.

Passo 1
Possiamo aprire questo file utilizzando l'editor preferito, in questo caso sarà nano:

 sudo nano vars 

INGRANDIRE

Passo 2
In questo file troviamo le variabili che possiamo regolare e configurare per determinare il modo in cui verranno creati i certificati di autorità. Scorreremo fino alla fine del file finché non troviamo queste variabili:

 export KEY_COUNTRY = esportazione "US" KEY_PROVINCE = esportazione "CA" KEY_CITY = esportazione "SanFrancisco" KEY_ORG = esportazione "Fort-Funston" KEY_EMAIL = esportazione "[email protected]" KEY_OU = "MyOrganizationalUnit"

INGRANDIRE

Passaggio 3
Modifichiamo questi valori in base ai parametri richiesti. Allo stesso modo modificheremo la linea esporta KEY_NAME assegnato il nome appropriato, in questo caso lo abbiamo chiamato server.

INGRANDIRE

Passaggio 4
Manteniamo cambia utilizzando la combinazione:

Ctrl + O

siamo usciti dall'editor usando

Ctrl + X

4. Come creare il certificato di autorità in Ubuntu 16.04


Con questi valori definiti si procede alla creazione del certificato di autorità.

NotaRicordati che dobbiamo essere nella directory ~ / openvpn-ca.

Passo 1
Una volta entrati nella directory eseguiremo il seguente comando:

 fonte vars 

INGRANDIRE

Passo 2
Procediamo ad eseguire il comando indicato per avere un ambiente pulito:

 ./pulisci tutto 
Passaggio 3
Ora creeremo il certificato CA radice utilizzando il seguente comando:
 ./build-ca 
Passaggio 4
Possiamo vedere una serie di domande che abbiamo già configurato nel file vars per le quali dobbiamo solo premere accedere da completare automaticamente. così abbiamo creato il certificato che sarà utile per il resto del processo.

INGRANDIRE

5. Come creare certificati server, chiavi e file crittografati in Ubuntu 16.04


A questo punto andremo a creare il certificato del server e le sue rispettive chiavi.

Passo 1
Per questo eseguiremo il seguente comando:

 ./build-key-server server 
Dobbiamo sostituire il nome del server con quello assegnato nella riga esporta KEY_NAME dal file vars). Verranno emessi automaticamente i valori già definiti nel file vars, per cui premiamo Invio.

Passo 2
Possiamo vedere che il certificato è stato creato correttamente.

INGRANDIRE

Passaggio 3
Successivamente, creeremo altri parametri come il Crittografia Diffie-Hellman che può essere utilizzato durante lo scambio di chiavi, per questo utilizzeremo la riga seguente.

 ./build-dh 

INGRANDIRE

Passaggio 4
Questo processo richiede alcuni minuti per essere completato. Possiamo anche generare una firma HMAC che ci consente di migliorare i livelli di integrità TLS del server, per questo inseriamo quanto segue.

 openvpn --genkey --chiave segrete / ta.key 

6. Come creare certificati server, chiavi e file crittografati in Ubuntu 16.04


Questo processo può essere eseguito sulla macchina client e successivamente firmato utilizzando il server CA, ma questa volta lo eseguiremo direttamente per risparmiare tempo Accedendo nuovamente alla directory, se non siamo già presenti. ~ / openvpn-ca e lì eseguiremo il comando source vars.

Passo 1
Ora inseriremo la seguente riga in cui definiamo il nome del cliente:

 ./build-key solvetic1 
dobbiamo premere accedere nelle rispettive domande già configurate sopra

INGRANDIRE

Passo 2
Questo comando crea credenziali senza richiedere una password, se per motivi di sicurezza vogliamo stabilire una credenziale con una password, dobbiamo eseguire la seguente riga:

 ./build-key-pass (nome cliente) 

7. Come configurare il servizio OpenVPN in Ubuntu 16.04


Il prossimo passo è configurare il servizio OpenVPN in modo che tutto funzioni come desideri. Prima di tutto copieremo i file che abbiamo creato nel percorso ~ / openvpn-ca nel percorso / etc / openvpn, ricorda che i certificati CA, le chiavi, il file Diffie-Hellman e il file HMAC.

Passo 1
Per questo accederemo alla seguente directory:

 cd ~ / openvpn-ca / keys 
Passo 2
Una volta lì, eseguiremo la seguente riga per il processo di copia:
 sudo cp ca.crt ca.key server.crt server.key ta.key dh2048.pem / etc / openvpn 
Passaggio 3
Ora dobbiamo copiare e decomprimere a File di configurazione OpenVPN in quella directory da usare come base. Per questo inseriremo quanto segue:
 gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf 

INGRANDIRE

8. Come regolare le impostazioni di OpenVPN in Ubuntu 16.04

Passo 1
Una volta che abbiamo questi file nel percorso necessario, procediamo a regolare la configurazione di OpenVPN accedendo al file server.conf:

 sudo nano /etc/openvpn/server.conf 

INGRANDIRE

Passo 2
Lì faremo le seguenti regolazioni. Andiamo alla linea tls-auth ta.key 0 # Questo file è segreto e sotto di esso aggiungeremo quanto segue.

 direzione chiave 0 
Passaggio 3
Sulla linea cifrario AES-128-CBC rimuoviamo il simbolo; situato all'inizio di esso e sotto questa riga inseriremo quanto segue.
 auth SHA256 
Passaggio 4
Questo per creare una linea di autenticazione per scegliere l'algoritmo del messaggio. Sulle linee utentegruppo rimuoviamo il simbolo di; situato all'inizio.

INGRANDIRE

Come alternative facoltative possiamo aggiungere quanto segue.

Spingendo il traffico DNS attraverso la VPNQuesta opzione è pratica quando vogliamo instradare tutto il traffico esclusivamente attraverso la VPN.

 Per questo faremo le seguenti modifiche al file precedente: Decommentiamo le righe: push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220"

Modifica la porta in OpenVPNPer impostazione predefinita, OpenVPN utilizza la porta 1194 e il protocollo di rete UDP per le connessioni client. Se vogliamo modificare questa porta andiamo alla riga porta e assegniamo la nuova porta in base all'esigenza attuale.

INGRANDIRE

Allo stesso modo possiamo regolare il protocollo sulla linea proto.

Regolazione delle impostazioni di rete - Inoltro IPQuesto punto è importante in quanto consente a tutto il traffico OpenVPN di essere instradato correttamente.

Per prima cosa abiliteremo il Inoltro dell'indirizzo IP, cioè che il server inoltri il traffico, per questo dobbiamo modificare il file /etc/sysctl.conf:

 sudo nano /etc/sysctl.conf 
All'interno del file posizioneremo la riga net.ipv4.ip_forward = 1 e lo decommentiamo rimuovendo il simbolo # posto all'inizio di esso.

INGRANDIRE

Manteniamo le modifiche e usciamo dal file. Per tutte le modifiche da applicare nella sessione corrente eseguiremo il seguente comando.

 sudo sysctl -p

Impostazione delle regole nel firewall di Ubuntu 16.04L'utilizzo del firewall è fondamentale poiché ci protegge dalle connessioni in entrata al sistema, a questo punto dobbiamo modifica il file delle regole per la configurazione del traffico mascherato. Prima di tutto, dobbiamo conoscere l'interfaccia di rete pubblica del server, per questo eseguiamo il seguente comando:

 ip route | grep predefinito 

INGRANDIRE

In questo esempio l'interfaccia di rete pubblica è enp0s3. Ora accediamo al file di configurazione delle regole per la tua regolazione, inseriamo quanto segue:

 sudo nano /etc/ufw/before.rules 
Verrà visualizzata la seguente finestra.

INGRANDIRE

Questo file gestisce la configurazione che deve essere preceduta prima dell'esecuzione delle tipiche regole UFW. In alto inseriremo le seguenti righe che stabiliranno la configurazione di POSTROUTING:

 # START OPENVPN RULES # NAT table rules * nat: POSTROUTING ACCEPT [0: 0] # Consenti traffico dal client OpenVPN a (interfaccia) -A POSTROUTING -s 10.8.0.0/8 -o (interfaccia) -j MASQUERADE COMMIT # END OPENVPN REGOLE

INGRANDIRE

È importante che in campo enp0s3 impostiamo il nome corretto dell'interfaccia da utilizzare. Manteniamo cambia utilizzando la combinazione:

Ctrl + O

siamo usciti dall'editor utilizzando:

Ctrl + X

Ora dobbiamo consentire il UFW accettare pacchi in modo predefinito, per questo eseguiremo il seguente comando:

 sudo nano / etc / default / ufw 
Sulla linea DEFAULT_FORWARD_POLICY modifichiamo il termine DROP con ACCEPT.

INGRANDIRE

Manteniamo i cambiamenti.

Apertura delle porte VPN e abilitazione delle modificheIl prossimo passo è regolare le impostazioni del firewall per consentire tutto il traffico a OpenVPN. Per questo noi eseguiamo il seguente comando.

 sudo ufw allow 1194 / udp 
NotaSe abbiamo modificato la porta e il protocollo, dobbiamo cambiarlo in questo comando, questi sono i valori predefiniti di OpenVPN.

Aggiungiamo anche il Porta SSH:

 sudo ufw allow OpenSSH 

INGRANDIRE

a carica le modifiche useremo i seguenti comandi.

 sudo ufw disabilita sudo ufw abilita
Possiamo controllare che le regole siano state aggiunte usando il comando sudo ufw status:

INGRANDIRE

9. Come avviare e abilitare il servizio OpenVPN in Ubuntu 16.04


Con questi valori già definiti Siamo in grado di avviare il servizio OpenVPN in Ubuntu e per questo sarà necessario specificare il nome che abbiamo assegnato.

Passo 1
Per questo eseguiremo la seguente riga:

 sudo systemctl start openvpn @ server 
Passo 2
Successivamente convalidiamo lo stato di OpenVPN usando la riga:
 sudo systemctl status openvpn @ server 

INGRANDIRE

Passaggio 3
Possiamo vedere che il suo stato è corretto ed è stato avviato con successo. Premiamo la lettera q per tornare alla riga di comando. Allo stesso modo possiamo verificare l'interfaccia tun0 di OpenVPN inserendo quanto segue:

 ip addr mostra tun0 

INGRANDIRE

Passaggio 4
Affinché il servizio OpenVPN venga eseguito automaticamente ad ogni accesso, dobbiamo inserire il seguente parametro:

 sudo systemctl abilita openvpn @ server 

INGRANDIRE

10. Come creare la struttura del client OpenVPN su Ubuntu 16.04

Passo 1
Il prossimo passo è creare i file di configurazione del client, per questo creeremo questa struttura all'interno della directory personale eseguendo quanto segue:

 mkdir -p ~ / client-configs / file 
Passo 2
Bloccheremo le autorizzazioni in quel percorso poiché le chiavi create si trovano lì, utilizzeremo la seguente riga:
 chmod 700 ~ / client-configs / file 

11. Come creare una base di configurazione OpenVPN su Ubuntu 16.04

Passo 1
A questo punto copieremo una base di configurazione del client nella directory per averla come base, eseguiamo quanto segue:

 cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~ / client-configs / base.conf 
Passo 2
Apriamo questo file con il nostro editor preferito:
 sudo nano ~ / client-configs / base.conf 

INGRANDIRE

Passaggio 3
Lì individuiamo la linea a distanza e inseriremo l'indirizzo IP del server che è seguito dalla porta UDP 1194:

INGRANDIRE

Passaggio 4
In questo stesso file apporteremo le seguenti modifiche:

  • Decommentiamo le righe utentegruppo rimozione del segno;
  • Commentiamo, aggiungendo il simbolo #, alle righe corrente alternata, certochiave
  • Aggiungiamo le righe cifrario AES-128-CBCauth SHA256
  • Sotto la riga precedente scriviamo chiave-direzione 1
  • Alla fine del file aggiungiamo le seguenti righe:
 script-security 2 / # up / etc / openvpn / update-resolv-conf / # down / etc / openvpn / update-resolv-conf

Se non funziona per te, prova quest'altra forma di comando script-security:

 script-security 2 / up / etc / openvpn / update-resolv-conf / down / etc / openvpn / update-resolv-conf

INGRANDIRE

Passaggio 5
Manteniamo cambia utilizzando la combinazione:

Ctrl + O

siamo usciti dall'editor utilizzando:

Ctrl + X

12. Come creare uno script per la configurazione di OpenVPN su Ubuntu 16.04

Passo 1
Questo script si occuperà di compilare gli eventi più importanti del certificato, della chiave e dei file di crittografia nel percorso ~ / configurazioni client / file. Creeremo un file chiamato make_config.sh utilizzando la seguente sintassi:

 sudo nano ~ / client-configs / make_config.sh
Passo 2
Si aprirà un file vuoto in cui aggiungeremo le seguenti righe:
 #! / bin / bash # Primo argomento: Identificatore client KEY_DIR = ~ / openvpn-ca / keys OUTPUT_DIR = ~ / client-configs / files BASE_CONFIG = ~ / client-configs / base.conf cat $ {BASE_CONFIG} \ <(echo -e '') \ $ {KEY_DIR} /ca.crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .crt \ <(echo -e '\ n') \ $ {KEY_DIR} / $ {1} .key \ <(echo -e '\ n') \ $ {KEY_DIR} /ta.key \ <(echo -e '') \> $ {OUTPUT_DIR} / $ {1} .ovpn

INGRANDIRE

Passaggio 3
Manteniamo le modifiche e siamo usciti dall'editore. Renderemo eseguibile questo file inserendo quanto segue:

 sudo chmod 700 ~ / client-configs / make_config.sh 

13. Come configurare i file client OpenVPN su Ubuntu 16.04


Il prossimo passo è creare i file di configurazione per il client, che abbiamo creato come Solvetico1.

Passo 1
Per questo inseriremo le seguenti righe:

 cd ~ / client-configs ./make_config.sh client1 [plain] Passaggio 2 [/ plain] Possiamo vedere il contenuto di questa cartella usando il comando ls: ls ~ / client-configs / files

INGRANDIRE

Vediamo che c'è il client Solvetic1 creato correttamente.

14. Come trasferire le impostazioni OpenVPN su macchine client OpenVPN su Ubuntu 16.04


Una volta che abbiamo completato tutto il processo di configurazione in Ubuntu 16, è il momento di trasferire il File Solvetic1.ovpn ai rispettivi dispositivi quali computer o dispositivi mobili.

Passo 1
Possiamo utilizzare il client di trasferimento che vogliamo in base al sistema che utilizziamo, un esempio di trasferimento può essere il seguente in un ambiente Fedora 25:

 sftp [email protected]: client-configs / files / Solvetic1.ovpn ~ / 
Passo 2
In questo esempio useremo finestre e il cliente Filezilla:

INGRANDIRE

15. Come installare ed eseguire OpenVPN su Ubuntu 16.04


Passo 1
OpenVPN è disponibile per Windows, Linux, Mac OS, Android, FreeBSD, ecc. Nel seguente link possiamo scaricare la versione appropriata di OpenVPN:

Passo 2
Successivamente, vedremo come eseguire OpenVPN sui vari sistemi operativi.

Esegui OpenVPN su WindowsNel finestre, che è il sistema di esempio, dobbiamo copia il file .ovpn nel percorso:

 C: \ Programmi \ OpenVPN \ config 
Passaggio 3
Da lì possiamo fare clic con il tasto destro sul file e selezionare l'opzione Avvia OpenVPN su questo file di configurazione

INGRANDIRE

In questo modo ci collegheremo con il server OpenVPN.

NotaOpenVPN deve essere eseguito con privilegi amministrativi.

Esegui OpenVPN su LinuxIl processo sui sistemi Linux dovrebbe essere il seguente:

Per prima cosa aggiorniamo il sistema e installiamo OpenVPN utilizzando i seguenti comandi:

 sudo apt-get update 
 sudo apt-get install openvpn 
Se usiamo CentOS useremo i seguenti comandi:
 sudo yum install epel-release sudo yum install openvpn
Una volta installato OpenVPN eseguiremo il seguente comando:
 ls / etc / openvpn 
Il prossimo passo è modifica il file .ovpn trasferiti con l'editor desiderato.
 sudo nano file.ovpn 
Nel file aperto dobbiamo decommentare le seguenti righe:
 script-security 2 up / etc / openvpn / update-resolv-conf
 down / etc / openvpn / update-resolv-con 
Ora possiamo connetterci alla VPN utilizzando la seguente sintassi:
 sudo openvpn --config File.ovpn

Esegui OpenVPN su Mac OSSe usiamo Mac OS, si applica a macOS Sierra, possiamo usare l'utilità tunnelblick che possiamo scaricare gratuitamente al seguente link:

Quando si esegue l'applicazione nella barra del titolo vedremo l'icona corrispondente, fare clic lì e selezionare Collegare e scegliamo il client che abbiamo configurato, ad esempio, Solvetico1.

Esegui OpenVPN su AndroidPer gli utenti Android che desiderano connettersi a Linux tramite VPN, possiamo scaricare l'applicazione OpenVPN Connect al seguente link:

Il file .ovpn dobbiamo trasferirlo tramite USB al telefono per l'uso.
Quando eseguiamo l'applicazione andiamo nel menu e selezioniamo la posizione in cui abbiamo il file .ovpn e da lì lo importiamo. Per connetterci clicchiamo sul pulsante Collegare.

In uno dei modi indicati, l'obiettivo è accedere a Ubuntu 16.04 tramite VPN, godendo dei vantaggi offerti da OpenVPN.

INGRANDIRE

Come puoi vedere, la configurazione di un server OpenVPN in Ubuntu è alquanto complessa, ma con questo manuale completo hai passo dopo passo tutto ciò che devi fare per inserirlo in questo sistema. Se oltre a Ubuntu usi altre distro, qui ti lasciamo come configurare e installare un server OpenVPN su Debian.

Server Debian OpenVPN

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave