Sett opp ditt eget private nettverk med OpenVPN

Vultr tilbyr deg fantastisk privat nettverkstilkobling for servere som kjører på samme sted. Men noen ganger ønsker man at to servere i forskjellige land/datasentre skal kunne kommunisere på en privat og sikker måte. Denne opplæringen vil vise deg hvordan du oppnår det ved hjelp av OpenVPN. Operativsystemene som brukes her er Debian og CentOS, bare for å vise deg to forskjellige konfigurasjoner. Dette kan enkelt tilpasses for Debian -> Debian, Ubuntu -> FreeBSD og så videre.

  • Maskin 1: Debian, vil fungere som server (sted: NL)
  • Maskin 2: CentOS, vil fungere som klient (sted: FR)

Maskin 1

Start på maskin 1 ved å installere OpenVPN:

apt-get install openvpn

Kopier deretter eksempelkonfigurasjonen og verktøyet for å generere nøkler, easy-rsa, til /etc/openvpn:

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

Standardverdiene for nøklene dine er ikke akkurat trygge lenger, for å fikse dette åpnes /etc/openvpn/easy-rsa/2.0/varsmed favoritttekstredigeringsprogrammet og endre følgende linje:

export KEY_SIZE=4096

Deretter må du sørge for at verdiene lastes inn i den nåværende økten, rydde opp i eksisterende nøkler og generere sertifiseringsinstansen din:

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

Du vil bli bedt om informasjon. Gjør livet ditt enklere ved å oppgi informasjon om serveren din, for eksempel hvor den er plassert og hva FQDN er/vil være. Dette er nyttig når du skal feilsøke problemer:

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

En annen nødvendighet er parametere for Diffie-Hellman nøkkelutveksling. Disse må også genereres:

./build-dh

Viktig : build-dhKommandoen er en relativt kompleks prosess som kan ta opptil ti minutter, avhengig av serverens ressurser.

For å forbedre sikkerheten til denne forbindelsen ytterligere, vil vi generere en statisk hemmelighet som må distribueres blant alle klienter:

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

Nå kan du generere nøkkelen for serveren:

./build-key-server server1

Denne kommandoen vil be om informasjon:

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

Det siste trinnet er å signere sertifikatforespørselen som nettopp ble generert med CAs nøkkel:

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

Kopier de nødvendige nøklene og sertifikatene til en egen mappe:

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

Nå for konfigurasjonen, pakk den ut ...

cd /etc/openvpn
gunzip server.conf.gz

... og åpne resultatet server.confmed din favoritt tekstredigerer. Konfigurasjonen skal se slik ut:

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

Etter å ha startet tjenesten på nytt bør du se loggen din litt ...

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

... for å sikre at alt fungerer. Hvis ingen feil oppdages, kan du generere nøklene for den andre serveren:

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

Igjen vil du bli bedt om informasjon:

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

Nå må du overføre de nødvendige filene til den andre serveren din, helst kryptert:

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

Maskin 2

På tide å bytte til SSH-tilkoblingen til din andre server . Det første trinnet er å installere OpenVPN ...

yum install openvpn

... og for å deaktivere firewalld. Erstatningen vil være vanlige iptables.

systemctl stop firewalld
systemctl disable firewalld

Pakk ut arkivet som du nettopp har flyttet til serveren, og angi rettigheter for filene:

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

Lag /etc/openvpn/client.confmed din favoritt tekstredigerer. Det skal se slik ut:

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

Det siste trinnet er å starte og aktivere tjenesten:

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

Hvis alt fungerer, bør du ikke ha noe problem med å pinge den første serveren:

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

Du har nå en privat tilkobling over Internett!

Hvis du trenger å feilsøke noen feil, prøv å sjekke loggene med følgende kommando:

journalctl -xn

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer