Configura la tua rete privata con OpenVPN

Vultr ti offre una straordinaria connettività di rete privata per server che funzionano nella stessa posizione. Ma a volte vuoi che due server in diversi paesi / data center siano in grado di comunicare in modo privato e sicuro. Questo tutorial ti mostrerà come raggiungerlo con l'aiuto di OpenVPN. I sistemi operativi usati qui sono Debian e CentOS, solo per mostrarti due diverse configurazioni. Questo può essere facilmente adattato per Debian -> Debian, Ubuntu -> FreeBSD e così via.

  • Macchina 1: Debian, fungerà da server (Posizione: NL)
  • Macchina 2: CentOS, fungerà da client (Posizione: FR)

Macchina 1

Avviare sulla macchina 1 installando OpenVPN:

apt-get install openvpn

Quindi, copia la configurazione di esempio e lo strumento per generare le chiavi easy-rsa, in /etc/openvpn:

cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn

I valori predefiniti per le tue chiavi non sono più esattamente sicuri, per risolvere questo problema /etc/openvpn/easy-rsa/2.0/varscon il tuo editor di testo preferito e modificare la seguente riga:

export KEY_SIZE=4096

Successivamente, assicurati che i valori siano caricati nella sessione corrente, pulisca eventualmente le chiavi esistenti e generi l'autorità di certificazione:

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./clean-all
./build-ca

Ti verranno richieste informazioni. Semplifica la vita fornendo informazioni sul tuo server, ad esempio, dove si trova e quale sarà / sarà l'FQDN. Ciò è utile per i problemi di debug:

Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [changeme]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [[email protected]]:[email protected]

Un'altra necessità sono i parametri per lo scambio di chiavi Diffie-Hellman. Anche quelli devono essere generati:

./build-dh

Importante : il build-dhcomando è un processo relativamente complesso che può richiedere fino a dieci minuti, a seconda delle risorse del server.

Per migliorare ulteriormente la sicurezza di questa connessione, genereremo un segreto statico che deve essere distribuito tra tutti i client:

mkdir /etc/openvpn/keys
openvpn --genkey --secret /etc/openvpn/keys/ta.key

Ora puoi generare la chiave per il server:

./build-key-server server1

Questo comando richiederà alcune informazioni:

Country Name (2 letter code) [US]:NL
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter NL
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) [server1]:yourserver1.yourdomain.tld
Name [changeme]:-
Email Address [[email protected]]:[email protected]

Il passaggio finale consiste nel firmare la richiesta di certificato appena generata con la chiave della CA:

1 out of 1 certificate requests certified, commit? [y/n]y

Copia le chiavi e i certificati necessari in una cartella separata:

cd /etc/openvpn/easy-rsa/2.0/keys
cp dh4096.pem ca.crt server1.crt server1.key /etc/openvpn/keys/
chmod 700 /etc/openvpn/keys
chmod 600 /etc/openvpn/keys/*

Ora per la configurazione, decomprimilo ...

cd /etc/openvpn
gunzip server.conf.gz

... e apri il risultato server.confcon il tuo editor di testo preferito. La configurazione dovrebbe essere simile a questa:

port 1194
proto udp
dev tun

ca keys/ca.crt
cert keys/server1.crt
key keys/server1.key 
dh keys/dh4096.pem
server 10.8.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt

# Uncomment this if you have multiple clients
# and want them to be able to see each other
;client-to-client

keepalive 10 120
tls-auth keys/ta.key 0 

tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384
comp-lzo

user nobody
group nogroup

persist-key
persist-tun
verb 3
mute 20

Dopo aver riavviato il servizio, dovresti guardare un po 'il tuo registro ...

service openvpn restart && tail -f /var/log/syslog

... per assicurarsi che tutto funzioni. Se non vengono rilevati errori, è possibile generare le chiavi per il secondo server:

cd /etc/openvpn/easy-rsa/2.0
source ./vars
./build-key server2

Ancora una volta, ti verranno richieste informazioni:

Country Name (2 letter code) [US]:FR
State or Province Name (full name) [CA]:-
Locality Name (eg, city) [SanFrancisco]:Vultr Datacenter FR
Organization Name (eg, company) [Fort-Funston]:-
Organizational Unit Name (eg, section) [changeme]:-
Common Name (eg, your name or your server's hostname) 
[server2]:yourserver2.yourdomain.tld
Name [changeme]:-
Email Address [[email protected]]:[email protected]

Ora, è necessario trasferire i file necessari sul secondo server, preferibilmente crittografati:

cd /etc/openvpn/easy-rsa/2.0/keys
cp /etc/openvpn/keys/ta.key .
tar -cf vpn.tar ca.crt server2.crt server2.key ta.key
scp vpn.tar yourusername@server2:~/
rm vpn.tar

Macchina 2

È ora di passare alla connessione SSH del secondo server . Il primo passo è installare OpenVPN ...

yum install openvpn

... e per disattivare firewalld. La sostituzione sarà semplice iptables.

systemctl stop firewalld
systemctl disable firewalld

Decomprimere l'archivio appena spostato sul server e impostare correttamente le autorizzazioni sui file:

cd /etc/openvpn
mkdir keys
chmod 700 keys
cd keys
tar -xf ~/vpn.tar -C .
chmod 600 *

Crea /etc/openvpn/client.confcon il tuo editor di testo preferito. Dovrebbe sembrare come questo:

client
dev tun
proto udp

remote yourserver yourport
resolv-retry infinite
nobind
user nobody
group openvpn


persist-key
persist-tun

ca keys/ca.crt
cert keys/server2.crt
key keys/.key

ns-cert-type server
tls-auth keys/ta.key 1

tls-cipher DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES128-SHA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
cipher AES-256-CBC
auth SHA384

remote-cert-tls server

comp-lzo
verb 3
mute 20

L'ultimo passaggio è avviare e abilitare il servizio:

systemctl start [email protected]
systemctl enable [email protected]

Se tutto funziona, non dovresti avere problemi a eseguire il ping del primo server:

PING 10.8.100.1 (10.8.100.1) 56(84) bytes of data.
64 bytes from 10.8.100.1: icmp_seq=1 ttl=64 time=17.8 ms
64 bytes from 10.8.100.1: icmp_seq=2 ttl=64 time=17.9 ms
64 bytes from 10.8.100.1: icmp_seq=3 ttl=64 time=17.8 ms

Ora hai una connessione privata su Internet!

Se è necessario risolvere eventuali errori, provare a controllare i registri con il comando seguente:

journalctl -xn


Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.