Nastavte si svou vlastní soukromou síť s OpenVPN

Vultr vám nabízí úžasné připojení k privátní síti pro servery běžící na stejném místě. Někdy však chcete, aby dva servery v různých zemích / datových centrech mohly komunikovat soukromým a bezpečným způsobem. Tento tutoriál vám ukáže, jak toho dosáhnout pomocí OpenVPN. Zde použité operační systémy jsou Debian a CentOS, abychom vám ukázali dvě různé konfigurace. To lze snadno upravit pro Debian -> Debian, Ubuntu -> FreeBSD a tak dále.

  • Počítač 1: Debian, bude fungovat jako server (Umístění: NL)
  • Počítač 2: CentOS, bude fungovat jako klient (Umístění: FR)

Stroj 1

Začněte na počítači 1 instalací OpenVPN:

apt-get install openvpn

Poté zkopírujte ukázkovou konfiguraci a nástroj pro generování klíčů, easy-rsa, do /etc/openvpn:

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

Výchozí hodnoty pro vaše klíče již nejsou přesně bezpečné, opravte to, otevřete /etc/openvpn/easy-rsa/2.0/varssvůj oblíbený textový editor a upravte následující řádek:

export KEY_SIZE=4096

Dále se ujistěte, že jsou hodnoty načteny do vaší aktuální relace, případně vyčistěte existující klíče a vygenerujte certifikační autoritu:

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

Budete požádáni o informace. Usnadněte si život poskytnutím informací o vašem serveru, například kde se nachází a jaké FQDN je/bude. To je užitečné, když potřebujete ladit problémy:

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

Další nutností jsou parametry pro výměnu klíčů Diffie-Hellman. I ty je potřeba vygenerovat:

./build-dh

Důležité : build-dhPříkaz je poměrně složitý proces, který může trvat až deset minut, v závislosti na prostředcích vašeho serveru.

Abychom dále zlepšili zabezpečení tohoto připojení, vygenerujeme statické tajemství, které je třeba distribuovat mezi všechny klienty:

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

Nyní můžete vygenerovat klíč pro server:

./build-key-server server1

Tento příkaz vás vyzve k zadání některých informací:

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

Posledním krokem je podepsání žádosti o certifikát, která byla právě vygenerována pomocí klíče CA:

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

Zkopírujte potřebné klíče a certifikáty do samostatné složky:

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

Nyní pro konfiguraci, rozbalte jej ...

cd /etc/openvpn
gunzip server.conf.gz

... a výsledek otevřete ve server.confsvém oblíbeném textovém editoru. Konfigurace by měla vypadat takto:

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 restartu služby byste měli trochu sledovat svůj protokol ...

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

... abyste se ujistili, že vše funguje. Pokud nebudou zjištěny žádné chyby, můžete vygenerovat klíče pro svůj druhý server:

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

Opět budete požádáni o informace:

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

Nyní musíte přenést potřebné soubory na druhý server, nejlépe zašifrované:

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

Je čas přejít na SSH připojení vašeho druhého serveru . Prvním krokem je instalace OpenVPN ...

yum install openvpn

... a deaktivovat firewalld. Náhradou budou obyčejné iptables.

systemctl stop firewalld
systemctl disable firewalld

Rozbalte archiv, který jste právě přesunuli na server, a správně nastavte oprávnění k souborům:

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

Vytvářejte /etc/openvpn/client.confpomocí svého oblíbeného textového editoru. Mělo by to vypadat takto:

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

Posledním krokem je spuštění a povolení služby:

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

Pokud vše funguje, neměli byste mít problém pingnout na první 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

Nyní máte soukromé připojení přes internet!

Pokud potřebujete odstranit nějaké chyby, zkuste zkontrolovat protokoly pomocí následujícího příkazu:

journalctl -xn

CentOS, Debian, sítě

Zanechat komentář

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Umělá inteligence není v budoucnosti, je zde přímo v současnosti V tomto blogu si přečtěte, jak aplikace umělé inteligence ovlivnily různé sektory.

Útoky DDOS: Stručný přehled

Útoky DDOS: Stručný přehled

Jste také obětí DDOS útoků a nemáte jasno v metodách prevence? Chcete-li vyřešit své dotazy, přečtěte si tento článek.

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Přemýšleli jste někdy, jak hackeři vydělávají peníze?

Možná jste slyšeli, že hackeři vydělávají spoustu peněz, ale napadlo vás někdy, jak takové peníze vydělávají? Pojďme diskutovat.

Revoluční vynálezy od Googlu, které vám usnadní život.

Revoluční vynálezy od Googlu, které vám usnadní život.

Chcete vidět revoluční vynálezy Google a jak tyto vynálezy změnily život každého dnešního člověka? Pak si přečtěte na blogu a podívejte se na vynálezy od Googlu.

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Friday Essential: Co se stalo s auty řízenými umělou inteligencí?

Koncept aut s vlastním pohonem, která vyrazí na silnice s pomocí umělé inteligence, je snem, který už nějakou dobu máme. Ale přes několik slibů nejsou nikde vidět. Přečtěte si tento blog a dozvíte se více…

Technologická singularita: vzdálená budoucnost lidské civilizace?

Technologická singularita: vzdálená budoucnost lidské civilizace?

Jak se věda vyvíjí rychlým tempem a přebírá mnoho našeho úsilí, stoupá také riziko, že se vystavíme nevysvětlitelné singularitě. Přečtěte si, co pro nás může znamenat singularita.

Funkcionality vrstev referenční architektury velkých dat

Funkcionality vrstev referenční architektury velkých dat

Přečtěte si blog, abyste co nejjednodušším způsobem poznali různé vrstvy v architektuře velkých dat a jejich funkce.

Evoluce ukládání dat – Infografika

Evoluce ukládání dat – Infografika

Způsoby ukládání dat se mohou vyvíjet od narození dat. Tento blog se zabývá vývojem ukládání dat na základě infografiky.

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

6 úžasných výhod toho, že máme v životě zařízení pro chytrou domácnost

V tomto digitálním světě se chytrá domácí zařízení stala klíčovou součástí života. Zde je několik úžasných výhod chytrých domácích zařízení o tom, jak náš život stojí za to žít a zjednodušit jej.

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Aktualizace doplňku macOS Catalina 10.15.4 způsobuje více problémů než řešení

Apple nedávno vydal doplňkovou aktualizaci macOS Catalina 10.15.4, která opravuje problémy, ale zdá se, že aktualizace způsobuje další problémy, které vedou k zablokování počítačů mac. Přečtěte si tento článek a dozvíte se více