Konfigurera ditt eget privata nätverk med OpenVPN

Vultr erbjuder dig fantastisk privat nätverksanslutning för servrar som körs på samma plats. Men ibland vill man att två servrar i olika länder/datacenter ska kunna kommunicera på ett privat och säkert sätt. Denna handledning visar dig hur du uppnår det med hjälp av OpenVPN. Operativsystemen som används här är Debian och CentOS, bara för att visa dig två olika konfigurationer. Detta kan enkelt anpassas för Debian -> Debian, Ubuntu -> FreeBSD och så vidare.

  • Maskin 1: Debian, kommer att fungera som server (Plats: NL)
  • Maskin 2: CentOS, kommer att fungera som klient (Plats: FR)

Maskin 1

Börja på maskin 1 genom att installera OpenVPN:

apt-get install openvpn

Kopiera sedan exempelkonfigurationen och verktyget för att generera nycklar, easy-rsa, till /etc/openvpn:

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

Standardvärdena för dina nycklar är inte exakt säkra längre, för att fixa detta öppnas /etc/openvpn/easy-rsa/2.0/varsmed din favorittextredigerare och ändra följande rad:

export KEY_SIZE=4096

Se sedan till att värdena läses in i din nuvarande session, rensa upp eventuella befintliga nycklar och generera din certifikatutfärdare:

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

Du kommer att bli tillfrågad om information. Gör ditt liv enklare genom att tillhandahålla information om din server, till exempel var den finns och vad FQDN är/kommer att bli. Detta är användbart när du måste felsöka problem:

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 annan nödvändighet är parametrar för Diffie-Hellman-nyckelutbytet. Dessa måste också genereras:

./build-dh

Viktigt : build-dhKommandot är en relativt komplex process som kan ta upp till tio minuter, beroende på din servers resurser.

För att ytterligare förbättra säkerheten för denna anslutning kommer vi att generera en statisk hemlighet som måste distribueras bland alla klienter:

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

Nu kan du skapa nyckeln för servern:

./build-key-server server1

Detta kommando kommer att fråga efter viss information:

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 sista steget är att signera certifikatbegäran som just genererades med CA:s nyckel:

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

Kopiera nödvändiga nycklar och certifikat till en separat mapp:

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

Nu för konfigurationen, packa upp den ...

cd /etc/openvpn
gunzip server.conf.gz

... och öppna resultatet server.confmed din favorittextredigerare. Konfigurationen bör se ut så här:

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

Efter att ha startat om tjänsten bör du titta på din logg lite ...

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

...för att se till att allt fungerar. Om inga fel upptäcks kan du generera nycklarna för din andra server:

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

Återigen kommer du att bli tillfrågad om information:

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

Nu måste du överföra de nödvändiga filerna till din andra server, helst krypterade:

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

Dags att byta till SSH-anslutningen för din andra server . Det första steget är att installera OpenVPN ...

yum install openvpn

... och för att avaktivera firewalld. Ersättningen kommer att vara vanliga iptables.

systemctl stop firewalld
systemctl disable firewalld

Packa upp arkivet som du just flyttade till servern och ställ in behörigheter för filerna korrekt:

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

Skapa /etc/openvpn/client.confmed din favorittextredigerare. Det ska se ut så här:

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 sista steget är att starta och aktivera tjänsten:

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

Om allt fungerar bör du inte ha några problem att pinga den första servern:

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 nu en privat anslutning över Internet!

Om du behöver felsöka några fel, försök att kontrollera loggarna med följande kommando:

journalctl -xn

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer