Jak nastavit a konfigurovat server OpenVPN na CentOS 7

Úvodní informace

OpenVPN představuje open-source řešení pro vytváření virtuálních privátních sítí (VPN), umožňující bezpečné a šifrované propojení mezi vzdálenými klienty a serverem. Tato technologie umožňuje uživatelům zabezpečený přístup k síťovým zdrojům, jako jsou soubory, služby a aplikace, s pocitem, že jsou součástí lokální sítě.

OpenVPN je populární volbou pro implementaci VPN serverů díky svému důrazu na bezpečnost, flexibilitu a relativní jednoduchost konfigurace. Tento průvodce vás provede jednotlivými kroky potřebnými pro nastavení a konfiguraci OpenVPN serveru na operačním systému CentOS 7.

Instalace nezbytného softwaru

Začněte instalací OpenVPN a podpůrného balíčku EasyRSA na váš CentOS 7 server pomocí těchto příkazů:


yum install epel-release
yum install openvpn easy-rsa

EasyRSA je soubor nástrojů pro správu certifikátů, který slouží k vytváření certifikátů a klíčů, jež jsou nezbytné pro provoz OpenVPN serveru.

Generování certifikátů a klíčů serveru

Následujícím krokem je vygenerování certifikátu a klíče pro server OpenVPN s pomocí EasyRSA. Postupujte podle těchto příkazů:


cd /usr/share/easy-rsa/3
./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server

Tímto krokem vytvoříte serverový certifikát a klíč s názvy server.crt a server.key, které budou uloženy v adresáři /usr/share/easy-rsa/3/pki/issued/.

Vytváření klientských certifikátů

Dále je potřeba vygenerovat certifikáty a klíče pro jednotlivé OpenVPN klienty. To provedete následovně:


./easyrsa gen-req client1 nopass
./easyrsa sign-req client client1

Výsledkem tohoto procesu je klientský certifikát a klíč s názvy client1.crt a client1.key, opět uložené v adresáři /usr/share/easy-rsa/3/pki/issued/. Opakujte tento proces pro každého klienta, který se bude k VPN připojovat.

Konfigurace OpenVPN serveru

Nyní přejdeme ke konfiguraci samotného OpenVPN serveru úpravou konfiguračního souboru /etc/openvpn/server.conf. Otevřete tento soubor v textovém editoru a proveďte následující změny:


port 1194
proto udp
dev tun
ca /usr/share/easy-rsa/3/pki/ca.crt
cert /usr/share/easy-rsa/3/pki/issued/server.crt
key /usr/share/easy-rsa/3/pki/private/server.key
dh /usr/share/easy-rsa/3/pki/dh.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3

Detailní popis použitých nastavení:

port Číslo portu, na kterém bude OpenVPN server naslouchat.
proto Protokol používaný OpenVPN (UDP nebo TCP).
dev Jméno virtuálního síťového rozhraní, které OpenVPN vytvoří.
ca Cesta k certifikátu certifikační autority (CA).
cert Cesta k certifikátu serveru.
key Cesta k soukromému klíči serveru.
dh Cesta k parametrům Diffie-Hellman.
server IP adresa a maska podsítě pro virtuální síť OpenVPN.
push Nastavení DHCP, která jsou odesílána klientům.
keepalive Interval a počet pingů pro udržení aktivního spojení.
cipher Šifra pro šifrování datového přenosu.
user Uživatel, pod kterým bude OpenVPN proces běžet.
group Skupina, pod kterou bude OpenVPN proces běžet.
persist-key Udržuje klíče certifikátů v paměti pro rychlejší opětovné připojení.
persist-tun Udržuje virtuální síťové rozhraní v paměti pro rychlejší opětovné připojení.
status Cesta k souboru, kam se zapisují informace o stavu.
verb Úroveň detailu výstupu v protokolu.

Spuštění OpenVPN serveru

Po uložení změn v konfiguračním souboru spusťte OpenVPN server pomocí následujícího příkazu:


systemctl start openvpn@server

Pro automatické spouštění serveru při startu systému použijte:


systemctl enable openvpn@server

Konfigurace OpenVPN klienta

Pro konfiguraci OpenVPN klienta budete potřebovat certifikáty a klíče vygenerované v předchozích krocích. Zkopírujte si certifikát ca.crt, klientský certifikát client1.crt a klientský klíč client1.key.

Následně vytvořte konfigurační soubor klienta, například client.conf, s následujícím obsahem:


client
dev tun
proto udp
remote <server_ip_address> 1194
ca ca.crt
cert client1.crt
key client1.key
cipher AES-256-CBC
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-client.log
verb 3

Nezapomeňte nahradit <server_ip_address> skutečnou IP adresou nebo doménovým jménem vašeho OpenVPN serveru.

Připojení ke OpenVPN serveru

Pro připojení ke OpenVPN serveru pomocí konfiguračního souboru klienta použijte tento příkaz:


openvpn --config client.conf

Po úspěšném připojení budete mít přístup k síťovým zdrojům na serveru, jako byste byli připojeni k lokální síti.

Závěrem

OpenVPN je efektivní VPN řešení, které umožňuje zabezpečený a šifrovaný vzdálený přístup k síťovým zdrojům. S pomocí tohoto návodu můžete jednoduše zprovoznit OpenVPN server na CentOS 7 a připojit se k němu prostřednictvím OpenVPN klienta. OpenVPN nabízí řadu výhod, včetně zabezpečeného přístupu k datům, online ochrany soukromí a možnosti překonávat geografická omezení.

Často kladené otázky (FAQ)

1. Jaký je rozdíl mezi UDP a TCP protokolem v OpenVPN?

UDP je bezstavový protokol, zatímco TCP je protokol orientovaný na spojení. UDP je obecně rychlejší a má menší režii, a je proto vhodnější pro aplikace náročné na rychlost přenosu, jako jsou online hry nebo streamování videa. TCP je spolehlivější a garantuje doručení všech dat ve správném pořadí, což je klíčové pro aplikace jako přenos souborů a e-maily.

2. Který šifrovací algoritmus je doporučeno používat s OpenVPN?

Doporučuje se používat šifrovací algoritmus AES-256-CBC. Tento algoritmus poskytuje vysokou úroveň zabezpečení a je považován za silný šifrovací standard.

3. Jak zjistím, zda OpenVPN server běží?

Stav OpenVPN serveru můžete ověřit pomocí následujícího příkazu:


systemctl status openvpn@server

4. Jak řešit problémy s připojením k OpenVPN serveru?

Pokud máte potíže s připojením, zkontrolujte:

  • Zda je OpenVPN server aktivní a běží.
  • Zda je váš OpenVPN klient správně nakonfigurován.
  • Zda nemáte na firewallu blokované porty, které brání OpenVPN připojení.

5. Jak mohu změnit výchozí port, na kterém OpenVPN server naslouchá?

Výchozí port lze změnit editací konfiguračního souboru OpenVPN serveru, konkrétně změnou parametru „port“.