Nastavite svoje zasebno omrežje z OpenVPN

Vultr vam ponuja odlično zasebno omrežno povezljivost za strežnike, ki delujejo na isti lokaciji. Včasih pa želite, da bi dva strežnika v različnih državah/podatkovnih centrih lahko komunicirala na zaseben in varen način. Ta vadnica vam bo pokazala, kako to doseči s pomočjo OpenVPN. Tukaj uporabljena operacijska sistema sta Debian in CentOS, samo zato, da vam pokažem dve različni konfiguraciji. To je mogoče enostavno prilagoditi za Debian -> Debian, Ubuntu -> FreeBSD in tako naprej.

  • Stroj 1: Debian, bo deloval kot strežnik (Lokacija: NL)
  • Stroj 2: CentOS, bo deloval kot odjemalec (Lokacija: FR)

Stroj 1

Začnite na stroju 1 z namestitvijo OpenVPN:

apt-get install openvpn

Nato kopirajte primer konfiguracije in orodje za generiranje ključev, easy-rsa, v /etc/openvpn:

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

Privzete vrednosti za vaše ključe niso več povsem varne, če želite to popraviti, odprite /etc/openvpn/easy-rsa/2.0/varss svojim najljubšim urejevalnikom besedil in spremenite naslednjo vrstico:

export KEY_SIZE=4096

Nato zagotovite, da so vrednosti naložene v vašo trenutno sejo, počistite morebitne obstoječe ključe in ustvarite potrdilo:

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

Pozvani boste za informacije. Olajšajte si življenje tako, da zagotovite informacije o svojem strežniku, na primer, kje se nahaja in kakšen je/bo FQDN. To je uporabno, ko morate odpraviti težave:

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

Druga nuja so parametri za izmenjavo ključev Diffie-Hellman. Prav tako jih je treba ustvariti:

./build-dh

Pomembno : build-dhUkaz je razmeroma zapleten proces, ki lahko traja do deset minut, odvisno od virov vašega strežnika.

Za dodatno izboljšanje varnosti te povezave bomo ustvarili statično skrivnost, ki jo je treba razdeliti med vse stranke:

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

Zdaj lahko ustvarite ključ za strežnik:

./build-key-server server1

Ta ukaz bo zahteval nekaj informacij:

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

Zadnji korak je podpisati zahtevo za potrdilo, ki je bila pravkar ustvarjena s ključem CA:

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

Kopirajte potrebne ključe in potrdila v ločeno mapo:

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

Zdaj za konfiguracijo, jo odpakirajte ...

cd /etc/openvpn
gunzip server.conf.gz

... in odprite rezultat server.confs svojim najljubšim urejevalnikom besedil. Konfiguracija bi morala izgledati podobno:

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

Po ponovnem zagonu storitve morate malo paziti na svoj dnevnik ...

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

... da se prepričam, da vse deluje. Če ni zaznanih nobenih napak, lahko ustvarite ključe za svoj drugi strežnik:

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

Ponovno boste pozvani k informacijam:

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

Zdaj morate prenesti potrebne datoteke na svoj drugi strežnik, po možnosti šifrirane:

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

Stroj 2

Čas je, da preklopite na SSH povezavo vašega drugega strežnika . Prvi korak je namestitev OpenVPN ...

yum install openvpn

... in deaktivirati firewalld. Zamenjava bo navaden iptables.

systemctl stop firewalld
systemctl disable firewalld

Razpakirajte arhiv, ki ste ga pravkar premaknili na strežnik, in pravilno nastavite dovoljenja za datoteke:

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

Ustvarite /etc/openvpn/client.confs svojim najljubšim urejevalnikom besedil. Izgledalo bi takole:

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

Zadnji korak je zagon in omogočanje storitve:

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

Če vse deluje, ne bi smeli imeti težav s pingiranjem prvega strežnika:

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

Zdaj imate zasebno povezavo prek interneta!

Če morate odpraviti kakršne koli napake, poskusite preveriti dnevnike z naslednjim ukazom:

journalctl -xn

Pusti komentar

Vzpon strojev: aplikacije AI v resničnem svetu

Vzpon strojev: aplikacije AI v resničnem svetu

Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.

DDOS napadi: kratek pregled

DDOS napadi: kratek pregled

Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Ste se kdaj vprašali, kako hekerji zaslužijo denar?

Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Revolucionarni Googlovi izumi, ki vam bodo olajšali življenje.

Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Friday Essential: Kaj se je zgodilo z avtomobili, ki jih poganja umetna inteligenca?

Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Tehnološka singularnost: oddaljena prihodnost človeške civilizacije?

Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Funkcionalnosti slojev referenčne arhitekture velikih podatkov

Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.

Razvoj shranjevanja podatkov – Infografika

Razvoj shranjevanja podatkov – Infografika

Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

6 neverjetnih prednosti pametnih naprav za dom v našem življenju

V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Posodobitev dodatka macOS Catalina 10.15.4 povzroča več težav kot jih rešuje

Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več