GNU/Linux >> Linux Esercitazione >  >> Panels >> OpenVPN

Configura il tuo server OpenVPN su Linux

OpenVPN crea un tunnel crittografato tra due punti, impedendo a terzi di accedere al traffico di rete. Configurando il tuo server di rete privata virtuale (VPN), diventi il ​​​​tuo provider VPN. Molti servizi VPN popolari utilizzano già OpenVPN, quindi perché collegare la tua connessione a un provider specifico quando puoi avere il controllo completo?

Il primo articolo di questa serie ha configurato un server per la tua VPN e il secondo articolo ha dimostrato come installare e configurare il software del server OpenVPN. Questo terzo articolo mostra come avviare OpenVPN con l'autenticazione in atto.

Maggiori informazioni sulla sicurezza

  • La guida alla codifica difensiva
  • Webinar:automazione della sicurezza del sistema e della conformità con un sistema operativo standard
  • 10 livelli di sicurezza dei container Linux
  • Libro da colorare SELinux
  • Altri articoli sulla sicurezza

Per configurare un server OpenVPN, devi:

  • Crea un file di configurazione.
  • Imposta il sysctl valore net.ipv4.ip_forward = 1 per abilitare il routing.
  • Configura la proprietà appropriata per tutti i file di configurazione e autenticazione per eseguire il demone del server OpenVPN con un account non root.
  • Imposta OpenVPN in modo che inizi con il file di configurazione appropriato.
  • Configura il tuo firewall.

File di configurazione

Devi creare un file di configurazione del server in /etc/openvpn/server/ . Puoi iniziare da zero se lo desideri e OpenVPN include diversi file di configurazione di esempio da utilizzare come punto di partenza. Dai un'occhiata a /usr/share/doc/openvpn/sample/sample-config-files/ per vederli tutti.

Se vuoi creare un file di configurazione a mano, inizia con server.conf o roadwarrior-server.conf (a seconda dei casi) e posiziona il tuo file di configurazione in /etc/openvpn/server . Entrambi i file sono ampiamente commentati, quindi leggi i commenti e decidi quale ha più senso per la tua situazione.

Puoi risparmiare tempo e fatica utilizzando i miei modelli di file di configurazione client e server predefiniti e sysctl file per attivare il routing di rete. Questa configurazione include anche la personalizzazione per registrare connessioni e disconnessioni. Mantiene i log sul server OpenVPN in /etc/openvpn/server/logs .

Se utilizzi i miei modelli, dovrai modificarli per utilizzare i tuoi indirizzi IP e nomi host.

Per utilizzare i miei modelli di configurazione, script e sysctl predefiniti per attivare l'inoltro IP, scarica il mio script:

$ curl \
https://www.dgregscott.com/ovpn/OVPNdownloads.sh > \
OVPNdownloads.sh

Leggi lo script per avere un'idea di cosa fa. Ecco una rapida panoramica delle sue azioni:

  • Crea le directory appropriate sul tuo server OpenVPN
  • Scarica i modelli di file di configurazione di server e client dal mio sito web
  • Scarica i miei script personalizzati e li inserisce nella directory corretta con i permessi corretti
  • Scarica 99-ipforward.conf e lo inserisce in /etc/sysctl.d per attivare l'inoltro IP al prossimo avvio
  • Imposta la proprietà per tutto in /etc/openvpn

Una volta che sei soddisfatto di aver capito cosa fa lo script, rendilo eseguibile ed eseguilo:

$ chmod +x OVPNdownloads.sh
$ sudo ./OVPNdownloads.sh

Ecco i file che copia (notare la proprietà del file):

$ ls -al -R /etc/openvpn
/etc/openvpn:
total 12
drwxr-xr-x.   4 openvpn openvpn   34 Apr  6 20:35 .
drwxr-xr-x. 139 root    root    8192 Apr  6 20:35 ..
drwxr-xr-x.   2 openvpn openvpn   33 Apr  6 20:35 client
drwxr-xr-x.   4 openvpn openvpn   56 Apr  6 20:35 server

/etc/openvpn/client:
total 4
drwxr-xr-x. 2 openvpn openvpn   33 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn   34 Apr  6 20:35 ..
-rw-r--r--. 1 openvpn openvpn 1764 Apr  6 20:35 OVPNclient2020.ovpn

/etc/openvpn/server:
total 4
drwxr-xr-x. 4 openvpn openvpn   56 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn   34 Apr  6 20:35 ..
drwxr-xr-x. 2 openvpn openvpn   59 Apr  6 20:35 ccd
drwxr-xr-x. 2 openvpn openvpn    6 Apr  6 20:35 logs
-rw-r--r--. 1 openvpn openvpn 2588 Apr  6 20:35 OVPNserver2020.conf

/etc/openvpn/server/ccd:
total 8
drwxr-xr-x. 2 openvpn openvpn  59 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn  56 Apr  6 20:35 ..
-rwxr-xr-x. 1 openvpn openvpn 917 Apr  6 20:35 client-connect.sh
-rwxr-xr-x. 1 openvpn openvpn 990 Apr  6 20:35 client-disconnect.sh

/etc/openvpn/server/logs:
total 0
drwxr-xr-x. 2 openvpn openvpn  6 Apr  6 20:35 .
drwxr-xr-x. 4 openvpn openvpn 56 Apr  6 20:35 ..

Ecco il 99-ipforward.conf file:

# Turn on IP forwarding. OpenVPN servers need to do routing
net.ipv4.ip_forward = 1

Modifica OVPNserver2020.conf e OVPNclient2020.ovpn per includere i tuoi indirizzi IP. Inoltre, modifica OVPNserver2020.conf per includere i nomi dei certificati del server precedenti. Successivamente, rinominerai e modificherai una copia di OVPNclient2020.ovpn da utilizzare con i computer client. I blocchi che iniziano con ***? mostrarti dove modificare.

Proprietà del file

Se hai utilizzato lo script automatico dal mio sito Web, la proprietà del file è già in atto. In caso contrario, devi assicurarti che il tuo sistema abbia un utente chiamato openvpn questo è un membro di un gruppo chiamato openvpn . Devi impostare la proprietà di tutto in /etc/openvpn a quell'utente e gruppo. È sicuro farlo se non sei sicuro che l'utente e il gruppo esistano già perché useradd rifiuterà di creare un utente con lo stesso nome di uno già esistente:

$ sudo useradd openvpn
$ sudo chown -R openvpn.openvpn /etc/openvpn

Firewall

Se hai deciso di non disabilitare il servizio firewalld nel passaggio 1, il servizio firewall del tuo server potrebbe non consentire il traffico VPN per impostazione predefinita. Usando il firewall-cmd comando, puoi abilitare il servizio OpenVPN, che apre le porte necessarie e instrada il traffico secondo necessità:

$ sudo firewall-cmd --add-service openvpn --permanent
$ sudo firewall-cmd --reload

Non c'è bisogno di perdersi in un labirinto di iptables!

Avvia il tuo server

Ora puoi avviare il tuo server OpenVPN. In modo che si avvii automaticamente dopo un riavvio, usa enable sottocomando di systemctl :

systemctl enable --now [email protected]

Passaggi finali

Il quarto e ultimo articolo di questo articolo mostrerà come configurare i client per connettersi a OpenVPN da lontano.

Questo articolo è basato sul blog di D. Greg Scott e viene riutilizzato previa autorizzazione.


OpenVPN
  1. 9 cose da fare nei tuoi primi 10 minuti su un server Linux

  2. 7 passaggi per proteggere il tuo server Linux

  3. Come monitorare il tuo server Linux?

  4. Configura i client OpenVPN per utilizzare un server DNS specifico

  5. Installa e configura il client OpenVPN su Rocky Linux 8

Configura un server VPN Linux utilizzando OpenVPN – Guida passo passo

Come configurare OpenVPN su Ubuntu 16.04

Come configurare e configurare un server OpenVPN su Ubuntu 22.04

Come controllare il carico del tuo server in Linux

Come configurare la replica FreeIPA su Rocky Linux/Alma Linux/Centos 8

Come installare KernelCare sul tuo server Linux