Configurați-vă propria rețea privată cu OpenVPN

Vultr vă oferă o conectivitate minunată de rețea privată pentru serverele care rulează în aceeași locație. Dar uneori doriți ca două servere din diferite țări / centre de date să poată comunica în mod privat și sigur. Acest tutorial vă va arăta cum să obțineți asta cu ajutorul OpenVPN. Sistemele de operare utilizate aici sunt Debian și CentOS, doar pentru a vă arăta două configurații diferite. Acesta poate fi adaptat cu ușurință pentru Debian -> Debian, Ubuntu -> FreeBSD ș.a.

  • Mașina 1: Debian, va acționa ca server (Locație: NL)
  • Mașina 2: CentOS, va acționa ca client (Locație: FR)

Mașină 1

Porniți pe mașina 1 instalând OpenVPN:

apt-get install openvpn

Apoi, copiați exemplul de configurare și instrumentul pentru generarea cheilor easy-rsa, în /etc/openvpn:

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

Valorile implicite pentru cheile dvs. nu mai sunt exact sigure, pentru a repara acest lucru /etc/openvpn/easy-rsa/2.0/varscu editorul de text preferat și pentru a modifica următoarea linie:

export KEY_SIZE=4096

Apoi, asigurați-vă că valorile sunt încărcate în sesiunea curentă, curățați eventual cheile existente și generați autoritatea de certificare:

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

Vi se va solicita informații. Faceți-vă viața mai ușoară, furnizând informații despre serverul dvs., de exemplu, unde se află și care este / va fi FQDN. Acest lucru este util atunci când trebuie să depanați probleme:

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

O altă necesitate sunt parametrii pentru schimbul de chei Diffie-Hellman. Acestea trebuie să fie generate și:

./build-dh

Important : build-dhcomanda este un proces relativ complex care poate dura până la zece minute, în funcție de resursele serverului.

Pentru a îmbunătăți în continuare securitatea acestei conexiuni, vom genera un secret static care trebuie distribuit între toți clienții:

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

Acum, puteți genera cheia pentru server:

./build-key-server server1

Această comandă vă va solicita câteva informații:

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

Ultimul pas este semnarea cererii de certificat care tocmai a fost generată cu cheia CA:

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

Copiați cheile și certificatele necesare într-un folder separat:

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

Acum pentru configurare, decuplați-o ...

cd /etc/openvpn
gunzip server.conf.gz

... și deschideți rezultatul server.confcu editorul de text preferat. Configurația ar trebui să arate similar cu aceasta:

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

După repornirea serviciului, ar trebui să urmăriți un pic jurnalul ...

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

... pentru a vă asigura că totul funcționează. Dacă nu sunt detectate erori, atunci puteți genera cheile pentru al doilea server:

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

Din nou, vi se va solicita informații:

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

Acum, trebuie să transferați fișierele necesare pe al doilea server, de preferință criptat:

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

Mașina 2

E timpul să treceți la conexiunea SSH a celui de - al doilea server . Primul pas este instalarea OpenVPN ...

yum install openvpn

... și pentru a dezactiva firewalld. Înlocuirea va fi simplă.

systemctl stop firewalld
systemctl disable firewalld

Despachetați arhiva pe care tocmai ați mutat-o ​​pe server și setați în mod corespunzător permisiunile pe fișiere:

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

Creați /etc/openvpn/client.confcu editorul de text preferat. Ar trebui să arate astfel:

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

Ultimul pas este pornirea și activarea serviciului:

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

Dacă totul funcționează, atunci nu ar trebui să aveți nicio problemă să faceți clic pe primul 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

Acum aveți o conexiune privată pe Internet!

Dacă trebuie să rezolvați erori, încercați să verificați jurnalele cu următoarea comandă:

journalctl -xn

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe