187513 Letture

OpenVPN: la guida passo-passo per creare una rete virtuale privata e sicura

Una VPN (acronimo di Virtual Private Network) può essere considerata come un'estensione di una rete privata che si occupa di instaurare dei "collegamenti" tra due o più sistemi che debbono scambiarsi dati in modo sicuro, utilizzando una rete condivisa o comunque pubblica qual è Internet.
Una rete VPN permette di scambiare dati in modo simile a quanto accade in una connessione privata punto-punto. L'approccio utilizzato dà modo di rendere il computer remoto parte di una rete privata interna alla struttura aziendale creando un "tunnel" virtuale attraverso la rete Internet.
Per simulare un collegamento punto-punto, i dati vengono incapsulati con l'aggiunta di un'intestazione che fornisce le informazioni di routing e cifrati in modo da renderne possibile la lettura da parte di eventuali aggressori, sprovvisti delle necessarie chiavi crittografiche.

Tutti i sistemi Windows integrano il supporto per le reti VPN: lo stesso Windows XP può operare sia in modalità client che fungere da server VPN. Purtroppo, però, configurato in questa seconda modalità, Windows XP non accetta più di una connessione in ingresso.


OpenVPN è una valida soluzione opensource, disponibile per svariati sistemi operativi, che consente di implementare una VPN a costo zero senza quindi doversi necessariamente rivolgere a Windows Server.

Scaricare ed installare OpenVPN per Windows

L'ultima versione del pacchetto OpenVPN, contenente anche l'interfaccia grafica (GUI), in precedenza distribuita separatamente, è prelevabile – nella versione per Windows – facendo riferimento a questa pagina quindi cliccando sul link openvpn-2.1.1-install.exe.

OpenVPN può essere configurato, in Windows, come servizio di sistema: ciò significa che il programma verrà automaticamente avviato insieme con il sistema operativo. Il software può essere impostato affinché abiliti automaticamente il "tunnel" oppure effettui quest'operazione solamente su esplicita richiesta dell'utente.

Per avviare l'installazione di OpenVPN, è sufficiente fare doppio clic sul file eseguibile precedentemente scaricato. Nel caso in cui si utilizzi un "personal firewall", si dovrà acconsentire alle comunicazioni messe in atto da OpenVPN. Alla comparsa del messaggio che informa circa il tentativo di installazione di un driver sconosciuto, si dovrà rispondere affermativamente accettandone il caricamento sul sistema in uso.

La procedura d'installazione di OpenVPN è chiara e semplice da condurre a termine.
L'unica riflessione dovrà essere effettuata alla comparsa della finestra per la scelta dei componenti da installare. Di solito, le impostazioni predefinite sono valide per la maggior parte di casi.


Nell'elenco che riportiamo di seguito, tuttavia, indichiamo quali componenti si rivelano indispensabili per un'installazione server e quali su una macchina client:

OpenVPN User-Space Components:              client   server
OpenVPN GUI: client
OpenVPN RSA Certificate Management Scripts: server
OpenVPN Service: server
OpenVPN File Associations: client server
OpenSSL DLLs: client server
OpenSSL Utilities: client server
TAP Virtual Ethernet Adapter: client server
Add OpenVPN to PATH: client server
Add Shortcuts to Start Menu: client server



Installando la GUI di OpenVPN (scelta consigliata), non appena si cliccherà sull'omonima icona aggiunta al desktop di Windows, nella traybar in basso a destra apparirà un'indicazione circa l'avvenuto avvio del programma.

Configurazione di OpenVPN

Accingiamoci a configurare OpenVPN con l'intento di creare il primo "tunnel" tra due sistemi Windows.
Innanzi tutto, accediamo al menù Start, Programmi, OpenVPN e verifichiamo le voci aggiunte dalla procedura d'installazione:

Utilities, Generate a static OpenVPN key consente di creare una chiave crittografica utilizzabile per generare i "tunnel".
Shortcuts, OpenVPN configuration file directory permette di aprire direttamente la cartella c:\programmi\OpenVPN\config all'interno della quale sono conservate le configurazioni dell'applicazione.
Shortcuts, OpenVPN log file directory per accedere rapidamente alla directory c:\programmi\OpenVPN\log che contiene i file di log delle attività del programma.
Shortcuts, OpenVPN Sample Configuration Files apre la cartella contenente alcuni file di configurazione di esempio per OpenVPN.
OpenVPN GUI avvia l'interfaccia grafica di OpenVPN aggiungendo un'icona nella traybar di Windows (generalmente, in basso a destra).

Prima di poter fare in modo che due sistemi siano in grado di connettersi attraverso un "tunnel" OpenVPN, è necessario generare una chiave che sarà impiegata per crittografare tutte le comunicazioni. Questa chiave deve essere "installata" su entrambi i sistemi poiché, nel caso di una crittografia a chiave simmetrica, entrambi "gli interlocutori" useranno la medesima chiave.
Per procedere, è sufficiente cliccare sul link Generate a static OpenVPN key.


Il programma mostrerà una finestra a caratteri testuali invitando a premere un tasto qualsiasi per avviare la pocedura di generazione della chiave. OpenVPN produrrà una chiave crittografica a 2048 bit che sarà memorizzata nella sottocartella config con il nome di key.txt.

Per creare una prima connessione di test con OpenVPN, si inizi col copiare il file sample.ovpn dalla cartella contenente i file di esempio nella cartella config.
In Windows, l'estensione di default utilizzata per i file di configurazione di OpenVPN è .ovpn mentre in Linux è .conf.


Dopo aver avviato OpenVPN GUI, cliccando sull'icona nella traybar con il tasto destro del mouse, si clicchi su Edit config: verrà così immediatamente aperto il contenuto del file di configurazione sample.ovpn.

In questo file è necessario, innanzi tutto, modificare alcuni parametri essenziali. In particolare, vanno indicati il nome o l'indirizzo IP dell'altro host coinvolto nella VPN, il nome del file contenente la chiave, l'indirizzo IP della VPN e l'host.
Si scelga quindi un indirizzo IP per ciascun host della VPN: ad esempio, 10.3.0.1, 10.3.0.2 e così via.

Ecco un esempio di configurazione:

Computer A (IP assegnato dal provider Internet: 87.18.100.100):
remote 87.20.100.100
ifconfig 10.3.0.1 255.255.255.0
secret key.txt


Computer B (IP assegnato dal provider Internet: 87.20.100.100):
remoto 87.18.100.100
ifconfig 10.3.0.2 255.255.255.0
secret key.txt


Com'è facile intuire, remote consente di definire il sistema che è situato dall'altra parte del "tunnel" mentre ifconfig permette di assegnare un IP ed una netmask all'interfaccia "tunnel" locale. La direttiva secret, invece, indica ad OpenVPN il file contenente la chiave statica precedentemente generata.
Gli IP 87.18.100.100 e 87.20.100.100 sono stati scelti in modo casuale. Si pensi a tali IP come agli indirizzi assegnati all'interfaccia di rete Ethernet "reale".


In una comunicazione OpenVPN sono insomma quattro le interfacce di rete coinvolte: due sono "reali" (schede di rete Ethernet dei due rispettivi sistemi remoti) mentre le altre due sono "virtuali" (TUN/TAP).

Una volta configurato OpenVPN sul primo host, è possibile replicare la configurazione sul secondo sistema (modificando ovviamente gli IP; vedasi l'esempio di massima sopra riportato).

A questo punto, avviando OpenVPN GUI su entrambe le macchine remote e cliccando su Connect, l'icona della traybar dovrebbe visualizzare due computer di colore verde.
Il colore giallo viene mostrato ogniqualvolta OpenVPN tenti di stabilire una connessione.


Cliccando con il tasto destro sull'icona di OpenVPN GUI nella traybar quindi selezionando Show Status, si otterranno maggiori informazioni sulla connessione VPN appena avviata.

E' possibile "testare" il corretto funzionamento del "tunnel" effettuando, ad esempio, un semplice ping dal prompt dei comandi. Esempio: ping 10.3.0.2 dall'host A verso il computer B.

OpenVPN: la guida passo-passo per creare una rete virtuale privata e sicura - IlSoftware.it