introduzione
OpenVPN è una VPN sicura che utilizza SSL (Secure Socket Layer) e offre una vasta gamma di funzionalità. In questa guida tratteremo il processo di installazione di OpenVPN su Ubuntu 16 utilizzando l'autorità di certificazione ospitata da easy-rsa.
Installare
Per iniziare, abbiamo bisogno di alcuni pacchetti installati:
sudo su
apt-get update
apt-get install openvpn easy-rsa
Autorità di certificazione
OpenVPN è una VPN SSL, il che significa che agisce come autorità di certificazione al fine di crittografare il traffico tra le due parti.
Impostare
Possiamo iniziare con l'impostazione dell'autorità di certificazione del nostro server OpenVPN eseguendo il comando seguente:
make-cadir ~/ovpn-ca
Ora possiamo passare alla nostra nuova directory creata:
cd ~/ovpn-ca
Configurazione
Apri il file con il nome vars
e dai un'occhiata ai seguenti parametri:
export KEY_COUNTRY="US"
export KEY_PROVINCE="NJ"
export KEY_CITY="Matawan"
export KEY_ORG="Your Awesome Organization"
export KEY_EMAIL="me@your_awesome_org.com"
export KEY_OU="YourOrganizationUnit"
E modificali con i tuoi valori. Dobbiamo anche cercare e modificare la seguente riga:
export KEY_NAME="server"
Costruire
Ora possiamo iniziare a costruire la nostra autorità di certificazione eseguendo il comando seguente:
./clean-all
./build-ca
Il completamento di questi comandi potrebbe richiedere alcuni minuti.
Server-Key
Ora, possiamo iniziare a costruire la chiave del nostro server eseguendo il comando seguente:
./build-key-server server
Mentre il server
campo deve essere sostituito con KEY_NAME
abbiamo impostato nel vars
file in precedenza. Nel nostro caso, possiamo continuare server
.
Il processo di compilazione della chiave del nostro server potrebbe porre alcune domande, come la scadenza di se stesso. Rispondiamo a tutte queste domande con y
.
Chiave forte
Nel passaggio successivo, creiamo una Diffie-Hellman
chiave forte che verrà utilizzata durante lo scambio delle nostre chiavi. Digita il seguente comando per crearne uno:
./build-dh
HMAC
Ora possiamo creare una firma HMAC per rafforzare la verifica dell'integrità TLS del server:
openvpn --genkey --secret keys/ta.key
Genera una chiave client
./build-key client
Dopo aver creato con successo la nostra Autorità di certificazione, possiamo iniziare a copiare tutti i file necessari e configurare OpenVPN stesso. Ora copiamo le chiavi e i certificati generati nella nostra directory OpenVPN:
cd keys
cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn
cd ..
Successivamente, possiamo copiare un file di configurazione OpenVPN di esempio nella nostra directory OpenVPN eseguendo il comando seguente:
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | tee /etc/openvpn/server.conf
Modifica la configurazione
Ora possiamo iniziare a modificare la nostra configurazione per adattarla alle nostre esigenze. Apri il file /etc/openvpn/server.conf
e decommenta le seguenti righe:
push "redirect-gateway def1 bypass-dhcp"
user nobody
group nogroup
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
tls-auth ta.key 0
Dobbiamo anche aggiungere una nuova linea alla nostra configurazione. Posiziona la seguente riga sotto la tls-auth
riga:
key-direction 0
Consenti inoltro
Poiché vogliamo consentire ai nostri clienti di accedere a Internet tramite il nostro server, apriamo il seguente file /etc/sysctl.conf
e decommentiamo questa riga:
net.ipv4.ip_forward=1
Ora dobbiamo applicare le modifiche:
sysctl -p
NAT
Al fine di fornire l'accesso a Internet ai nostri client VPN, dobbiamo anche creare una regola NAT. Questa regola è una breve riga che assomiglia a questa:
iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE
Inizio
Ora possiamo avviare il nostro server OpenVPN e consentire ai client di connettersi digitando la chiave seguente:
service openvpn start
Conclusione
Questo conclude il nostro tutorial. Goditi il tuo nuovo server OpenVPN!