Configurare un server OpenVPN su Windows

Prerequisiti:

  • Avere un PC con Windows 7 o successi
  • Il computer in questione deve avere un IP pubblico su internet

Installazione pacchetto OpenVPN

  • Scaricare e installare OpenVPN (community) da QUI
  • Prima di procedere con l’installazione cliccare su “Customize”
  • Mentre sei nella finestra “Custom Installation” , scrolla in basso fino a cercare “OpenSSL Utilities” → “EasyRSA 3 Certificate Management Scripts” e assicurati che venga installato assieme a OpenVPN, ora puoi procedere cliccando su “Install Now”

EasyRSA

Per la generazione delle chiavi useremo EasyRSA 3 l’applicazione che abbiamo installato negli step precedenti con OpenVPN. Gli script di EasyRSA devono essere eseguiti con il Command Promt di windows.

  • Apriamo il Command Promt di Windows in modalita di Amministratore
  • Rechiamoci nella directory di EasyRSA, dovrebbe essere la seguente:
cd "C:\Program Files\OpenVPN\easy-rsa"
  • Lanciamo EasyRSA con
EasyRSA-Start.bat
  • Prima di generare le chiavi prima occorre inizializzare la directory per la struttura a chiave pubblica (PKI). Questo è fatto tramite il comando
./easyrsa init-pki
  • Apriamo in modifica il file vars.bat con notepad
notepad vars.bat
  • Questo è il template per generare i certificati, le informazioni sono usate come default nella generazione. Trova e modifica le seguenti linee secondo le tue esigenze:
set KEY_COUNTRY=US
set KEY_PROVINCE=CA
set KEY_CITY=SanFrancisco
set KEY_ORG=OpenVPN
set [email protected]
  • Puoi anche importare la lunghezza del parametro di Diffie Hellman
set DH_KEY_SIZE=2048
  • una volta terminate le modifiche salva e esegui questo comando
./easyrsa clean-all

Generare i certificati e le chiavi

  • Iniziamo con il generare il certificato (CA), questo certificato verrà usato per firmare le chiavi.
./easyrsa build-ca nopass
  • Successivamente potremo generare il certificato per il server e la chiave.
./easyrsa build-server-full server nopass
  • Ora possiamo generare quello per il client con la rispettiva chiave
./easyrsa build-client-full Client1 nopass

Nota: Cambia Client1 con il nome del client che verrà usato. Rimuovi “nopass” e ti verrà chiesto di scegliere una password per i Client.

  • Come ultimo passaggio possiamo generare il parametro di Diffie Hellman
./easyrsa gen-dh

Tutte le chiavi e i certificati generati sono presenti in questi percorsi:

FileLocation
Certificato CAC:\Program Files\OpenVPN\easy-rsa\pki
Parametro Diffie HellmanC:\Program Files\OpenVPN\easy-rsa\pki
Chiave del Client e del ServerC:\Program Files\OpenVPN\easy-rsa\pki\private
Certificato del Client e del ServerC:\Program Files\OpenVPN\easy-rsa\pki\issued

Configurazione del Server OpenVPN

In questa parte spieghiamo con configurare un tunnel OpenVPN (TUN) che usa:

  • Protocollo UDP
  • Autenticazione TLS

Come template per la configurazione useremo un file di sample.

  • Copia il file server.ovpn che sta nella cartella C:\Program Files\OpenVPN\sample-config in C:\Program Files\OpenVPN\config
  • Copia i file ca.crt, server.crt, server.key, dh2048.pem (la loro posizione è riportata nella tabella del capitolo precedente) in C:\Program Files\OpenVPN\config
  • Modifica le seguenti linee come segue
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
key "C:\\Program Files\\OpenVPN\\config\\server.key"
dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"

Il parametro Diffie Hellman cambia a seconda di ciò che hai specificato nel file vars.bat

  • Infine rimangono i settaggi addizionali… TCP o UDP, Tunnel o Bridge, ecc…

Esempio di un file di configurazione

port 10000
proto udp
dev tun
ca "C:/Program Files/OpenVPN/config/ca.crt"
cert "C:/Program Files/OpenVPN/config/server.crt"
key "C:/Program Files/OpenVPN/config/server.key"
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
#tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
;compress lz4-v2
;push "compress lz4-v2"
;comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
;mute 20
explicit-exit-notify 1

Configurazione dei client

Per configurare i client sara necessario

  • Copiare i file ca.crt , client.crt and client.key sulla macchina client
  • Modificare e caricare il file client.ovpn (un sample si trova nella cartella del server C:\Program Files\OpenVPN\sample-config)

Connessione e avvio del Server

Una volta completati tutti i passaggi riportati sopra sarà possibile avviare il server, facendo click con il tasto destro sull’icona e premendo “Connect”

Was this article helpful?