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

Assegna indirizzi IP statici ai client OpenVPN

In questa guida impareremo come assegnare indirizzi IP statici ai client OpenVPN. Nella maggior parte dei casi, ad esempio, se nel tuo ambiente sono presenti alcuni controlli che richiedono che gli host dispongano di un indirizzo IP statico per la gestibilità di tali controlli, molto probabilmente dovrai assegnare un indirizzo IP statico ai tuoi client specifici. OpenVPN supporta l'assegnazione di indirizzi IP statici.

Assegna indirizzi IP statici ai client OpenVPN

OpenVPN ha la capacità di assegnare ai client indirizzi IP specifici dal pool IP definito. Per ottenere ciò, utilizza tre tipi di algoritmi di selezione dell'indirizzo IP del client. Questi includono, nell'ordine in cui vengono utilizzati;

  1. Utilizzo di --client-connect script . Ciò comporta l'esecuzione dello script specificato che genera un file contenente indirizzi IP statici sul server quando un client si connette. Questo metodo è solitamente la prima scelta essere considerato.
  2. Utilizzo di --client-config-dir . Ciò comporta l'uso di un file che contiene indirizzi IP statici per i client in base al nome comune (CN) del certificato client (seconda scelta ).
  3. Utilizzo di --ifconfig-pool per l'allocazione per IP dinamico (ultima scelta ).

Per ulteriori informazioni, consulta man openvpn .

In questa guida utilizzeremo la seconda opzione, tramite la quale configureremo il nostro server OpenVPN per leggere un file specifico, che contiene i nomi comuni dei client e gli indirizzi IP mappati. Ciò garantisce che a un client di connessione venga assegnato un indirizzo IP statico in base al nome comune definito sul certificato client.

Nella nostra guida precedente, abbiamo trattato l'installazione e la configurazione di un server OpenVPN sul sistema CentOS 8.

Crea un file per memorizzare indirizzi IP statici

L'uso della client-config-dir opzione, richiede che gli indirizzi IP statici da assegnare ai client di connessione siano archiviati in un file che può essere letto dal server OpenVPN.

Pertanto, apri il file di configurazione del server OpenVPN, /etc/openvpn/server/server.conf e imposta il tuo percorso al file di assegnazione IP statico come valore per client-config-dir parametro.

vim /etc/openvpn/server/server.conf
...
# EXAMPLE: Suppose you want to give
# Thelonious a fixed VPN IP address of 10.9.0.1.
# First uncomment out these lines:
client-config-dir /etc/openvpn/ccd
...

In questa demo, impostiamo il percorso in cui archiviare il file di assegnazione di indirizzi IP statici/fissi in /etc/openvpn/ccd . Bene, ho provato a utilizzare il percorso predefinito, /etc/openvpn/server/ccd, ma ha provocato l'errore di seguito;

Could not access file 'ccd/koromicha': Permission denied (errno=13)
Could not access file 'ccd/DEFAULT': Permission denied (errno=13)

Quindi, come soluzione alternativa, abbiamo scelto di utilizzare un percorso diverso, come sopra.

Assegna indirizzi IP statici ai client OpenVPN

Per ogni client OpenVPN a cui vuoi assegnare un indirizzo IP statico, devi estrarre il nome comune da quel certificato client specifico.

Nella nostra demo, abbiamo creato due client OpenVPN, koromicha e johndoe . Per estrarre i nomi comuni dal certificato client, utilizzare openssl comando come mostrato di seguito. Assicurati di sostituire i certificati client .

openssl x509 -subject -noout -in /etc/openvpn/client/koromicha/koromicha.crt
subject=CN = koromicha
openssl x509 -subject -noout -in /etc/openvpn/client/johndoe/johndoe.crt
subject=CN = johndoe

Una volta che hai i nomi comuni per i client, puoi quindi assegnare loro indirizzi IP statici usando il ifconfig-push opzione. Ad esempio, per assegnare il client utilizzando il certificato con koromicha come nome comune un indirizzo IP, 10.8.0.50 e client utilizzando il certificato con johndoe come CN e indirizzi IP di 10.8.0.60 , ecco come viene eseguito il compito;

echo "ifconfig-push 10.8.0.50 255.255.255.0" > /etc/openvpn/ccd/koromicha
echo "ifconfig-push 10.8.0.60 255.255.255.0" > /etc/openvpn/ccd/johndoe

Nota che il modo in cui assegni gli indirizzi IP statici dipende dalla topologia che hai configurato sul tuo server OpenVPN. Nel nostro caso, impostiamo la topologia su subnet;

# Network topology
...
topology subnet

Maggiori informazioni sui concetti di indirizzamento di OpenVPN.

Riavvia il server OpenVPN;

systemctl restart [email protected]

Assicurati di controllare sempre i log;

tail -f /var/log/openvpn/openvpn.log

Verifica l'assegnazione dell'indirizzo IP statico sui client OpenVPN

Supponendo che tu abbia già il rispettivo file di configurazione OpenVPN del client sui tuoi client, avvia la connessione e verifica l'assegnazione dell'indirizzo IP.

sudo openvpn johndoe.ovpn

Verifica dell'indirizzo IP assegnato;

ip add show tun0
8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.60/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::ea62:fbae:5b45:2d78/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Sull'altro client;

ip add show tun0
12: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.50/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::c928:c76d:fbd4:6c6a/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Verifica della connettività tra i due client;

ping 10.8.0.60 -c 3
PING 10.8.0.60 (10.8.0.60) 56(84) bytes of data.
64 bytes from 10.8.0.60: icmp_seq=1 ttl=64 time=4.67 ms
64 bytes from 10.8.0.60: icmp_seq=2 ttl=64 time=3.86 ms
64 bytes from 10.8.0.60: icmp_seq=3 ttl=64 time=4.05 ms

--- 10.8.0.60 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 3.864/4.196/4.670/0.351 ms

Questo è tutto. Siamo giunti al termine della nostra guida su come assegnare indirizzi IP statici ai client OpenVPN.

Esercitazioni correlate

Connettiti a OpenVPN utilizzando Network Manager su CentOS 8/Ubuntu 18.04

Installa e configura il client OpenVPN su CentOS 8/Ubuntu 18.04

Configura il client VPN strongSwan su Ubuntu 18.04/CentOS 8

OpenVPN
  1. CLIENT OPENVPN Per Windows e Linux

  2. Come configurare il desktop per un indirizzo IP statico?

  3. Come assegnare un IP statico a un contenitore Docker

  4. I 5 migliori client di Google Drive per Linux

  5. I 7 migliori client BitTorrent per Linux nel 2021

PiVPN:configurazione e configurazione OpenVPN più semplici, progettata per Raspberry Pi

Configurazioni di indirizzi IP statici e dinamici per DHCP

Come assegnare un indirizzo IP statico su Ubuntu Linux

Creazione di certificati e chiavi per il tuo server OpenVPN

Come assegnare un indirizzo IP dedicato per un sito Web in Plesk?

Indirizzo IP statico con NetworkManager per Fedora