Configura la teva pròpia xarxa privada amb OpenVPN

Vultr us ofereix una connectivitat de xarxa privada fantàstica per a servidors que s'executen a la mateixa ubicació. Però de vegades voleu que dos servidors en diferents països/centres de dades es puguin comunicar d'una manera privada i segura. Aquest tutorial us mostrarà com aconseguir-ho amb l'ajuda d'OpenVPN. Els sistemes operatius utilitzats aquí són Debian i CentOS, només per mostrar-vos dues configuracions diferents. Això es pot adaptar fàcilment per a Debian -> Debian, Ubuntu -> FreeBSD, etc.

  • Màquina 1: Debian, actuarà com a servidor (Ubicació: NL)
  • Màquina 2: CentOS, actuarà com a client (Ubicació: FR)

Màquina 1

Comenceu a la màquina 1 instal·lant OpenVPN:

apt-get install openvpn

A continuació, copieu la configuració d'exemple i l'eina per generar claus, easy-rsa, a /etc/openvpn:

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

Els valors per defecte de les teves claus ja no són exactament segurs, per solucionar-ho obert /etc/openvpn/easy-rsa/2.0/varsamb el teu editor de text preferit i modificar la línia següent:

export KEY_SIZE=4096

A continuació, assegureu-vos que els valors es carreguin a la vostra sessió actual, netegeu les claus eventualment existents i genereu la vostra autoritat de certificació:

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

Se us demanarà informació. Faciliteu-vos la vida proporcionant informació sobre el vostre servidor, per exemple, on es troba i quin és/serà el FQDN. Això és útil per quan heu de depurar problemes:

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 [mail@host.domain]:youraddress@yourdomain.tld

Una altra necessitat són els paràmetres per a l'intercanvi de claus Diffie-Hellman. També s'han de generar:

./build-dh

Important : l' build-dhordre és un procés relativament complex que pot trigar fins a deu minuts, depenent dels recursos del vostre servidor.

Per millorar encara més la seguretat d'aquesta connexió, generarem un secret estàtic que s'ha de distribuir entre tots els clients:

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

Ara, podeu generar la clau per al servidor:

./build-key-server server1

Aquesta ordre demanarà informació:

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 [mail@host.domain]:youraddress@yourdomain.tld

L'últim pas és signar la sol·licitud de certificat que s'acaba de generar amb la clau de la CA:

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

Copieu les claus i els certificats necessaris en una carpeta independent:

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/*

Ara per a la configuració, descomprimiu-la...

cd /etc/openvpn
gunzip server.conf.gz

... i obriu el resultat server.confamb el vostre editor de text preferit. La configuració hauria de semblar a aquesta:

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

Després de reiniciar el servei, hauríeu de mirar una mica el vostre registre...

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

... per assegurar-nos que tot funciona. Si no es detecta cap error, podeu generar les claus per al vostre segon servidor:

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

De nou, se us demanarà informació:

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 [mail@host.domain]:youraddress@yourdomain.tld

Ara, heu de transferir els fitxers necessaris al vostre segon servidor, preferiblement encriptats:

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

Màquina 2

És hora de canviar a la connexió SSH del segon servidor . El primer pas és instal·lar OpenVPN...

yum install openvpn

... i per desactivar firewalld. El reemplaçament serà iptables senzill.

systemctl stop firewalld
systemctl disable firewalld

Descomprimiu l'arxiu que acabeu de moure al servidor i configureu correctament els permisos dels fitxers:

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

Crea /etc/openvpn/client.confamb el teu editor de text preferit. Hauria de ser així:

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'últim pas és iniciar i habilitar el servei:

systemctl start openvpn@client.service
systemctl enable openvpn@client.service

Si tot funciona, no hauríeu de tenir cap problema per fer ping al primer servidor:

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

Ara teniu una connexió privada a Internet!

Si necessiteu solucionar qualsevol error, proveu de comprovar els registres amb l'ordre següent:

journalctl -xn

Deixa un comentari

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

La Intel·ligència Artificial no està en el futur, és aquí mateix en el present. En aquest bloc Llegiu com les aplicacions d'Intel·ligència Artificial han afectat diversos sectors.

Atacs DDOS: una breu visió general

Atacs DDOS: una breu visió general

També ets víctima d'atacs DDOS i estàs confós sobre els mètodes de prevenció? Llegiu aquest article per resoldre les vostres consultes.

Us heu preguntat mai com guanyen diners els pirates informàtics?

Us heu preguntat mai com guanyen diners els pirates informàtics?

Potser haureu sentit que els pirates informàtics guanyen molts diners, però us heu preguntat mai com guanyen aquest tipus de diners? anem a discutir.

Invents revolucionaris de Google que us facilitaran la vida.

Invents revolucionaris de Google que us facilitaran la vida.

Vols veure els invents revolucionaris de Google i com aquests invents van canviar la vida de tots els éssers humans actuals? A continuació, llegiu al bloc per veure els invents de Google.

Divendres essencial: què va passar amb els cotxes impulsats per IA?

Divendres essencial: què va passar amb els cotxes impulsats per IA?

El concepte de cotxes autònoms per sortir a les carreteres amb l'ajuda de la intel·ligència artificial és un somni que tenim des de fa temps. Però malgrat les diverses promeses, no es veuen enlloc. Llegeix aquest blog per saber-ne més...

Singularitat tecnològica: un futur llunyà de la civilització humana?

Singularitat tecnològica: un futur llunyà de la civilització humana?

A mesura que la ciència evoluciona a un ritme ràpid, fent-se càrrec de molts dels nostres esforços, també augmenten els riscos de sotmetre'ns a una singularitat inexplicable. Llegeix, què pot significar per a nosaltres la singularitat.

Funcionalitats de les capes darquitectura de referència de Big Data

Funcionalitats de les capes darquitectura de referència de Big Data

Llegeix el blog per conèixer de la manera més senzilla les diferents capes de l'Arquitectura Big Data i les seves funcionalitats.

Evolució de lemmagatzematge de dades – Infografia

Evolució de lemmagatzematge de dades – Infografia

Els mètodes d'emmagatzematge de les dades que han anat evolucionant poden ser des del naixement de les dades. Aquest bloc tracta l'evolució de l'emmagatzematge de dades a partir d'una infografia.

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

6 avantatges sorprenents de tenir dispositius domèstics intel·ligents a les nostres vides

En aquest món digital, els dispositius domèstics intel·ligents s'han convertit en una part crucial de les vides. A continuació, es mostren alguns avantatges sorprenents dels dispositius domèstics intel·ligents sobre com fan que la nostra vida valgui la pena i sigui més senzilla.

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Lactualització del suplement de macOS Catalina 10.15.4 està causant més problemes que no pas solucions

Recentment, Apple va llançar macOS Catalina 10.15.4, una actualització de suplements per solucionar problemes, però sembla que l'actualització està causant més problemes que provoquen el bloqueig de les màquines Mac. Llegiu aquest article per obtenir més informació