VPN: Virtuální privátní sít

13. ledna 2022

Pokud chcete zvýšit bezpečnost nebo propojit počítače v různých místech, tak k obojímu výborně poslouží VPN. VPN je zkratka slov virtuální privání sít. A v tomto článku vám popíši co to VPN-ka, jak si svoji VPN-ku vytvořit za pomoci opensource softwaru OpenVPN. Tedy jak ji nainstalovat a nakonfigurovat na OS Linux nebo Windows v pozici klienta i serveru.

Zkratka VPN plným názvem Virtual Privaci Network, je technologie, která vytváří mezi zařízeními virtuální soukromou sít, a tak zařízení, která jsou v ní, mají přístup k sobě na přímo přístup. Typicky je tento provoz zabalen do šifrované komunikace tudíž je zajištěna i vetší bezpečnost.

Video co je to VPN-ka

Video kde popisuji co je to VPN-ka:

OpenVPN

OpenVPN je opensource software, pomocí, kterého můžete vytvořit centrální bod=server, ke kterému se pak můžou připojovat ostatní zařízení klienti. A po připojení se mezi těmito zařízeními vytvoří sít, která virtuálně na přímo propojuje tyto zařízení, tedy aniž by byly přímo propojeny fyzickým kabelem.
Navíc veškerá komunikace, která tímto spojením teče je šifrovaná.

Virtuální Privátní Síť se hodí například v případech, kdy nemají veřejnou IPv4 adresu, a tak se nemůžete jednoduše na daná PC dostal. VPNka vám jednoduchý přistup umožní.

Možností použití OpenVPN je víc, proto je potřeba ze začátku podrobnější nastudování.

Přihlašovat se k VPNcei můžete pomocí jména a hesla nebo pomocí certifikátu. Použití certifikátu doporučuji preferovat. Pro generování autority, klíčů a certifikátů jak pro server tak pro klienty se používá utilita easy-rsa.

Existují i předpřipravené Linuxové distribuce pro routery, které v sobě obsahují OpenVPN. U takových řešení bývá webové administrační rozhraní, které umožňuje přidávat a editovat uživatele VPNky velmi pohodlně.
Jsou to například: OPN sense, PF sense nebo Pritunl.

Instalace OpenVPN

Protože je OpenVPN opensource řešení je možno tuto VPN provozovat nejen na Linuxu, ale i na MS Windows a mnoha dalších operačních systémech.
Já popíši instalaci pro Windows a Linux.

Instalace OpenVPN Linux

Na Linuxu provede instalaci jednoduše.
Příkaz pro instalace v distribuci Mageia:

urpmi openvpn
Příkaz pro instalace v distribuci Debian:
apt-get install  openvpn
Nainstaluje se kompletní OpenVPN, kterou můžete provozovat jak v módu klient tak jako server.

Instalace OpenVPN Windows

Zde stáhněte klienta pro windows. Zde stáhněte serverovou/kompletní verzi OpenVPN pro Windows Samozřejmě je potřeba pro Windows vybrat správný instalátor, dle architektury procesoru. Máte možnost stáhnout i jiné starší verze.

Já když jsem v roce 2019 instaloval OpenVPN na Windows, tak jsem měl problém s generováním certifikátů. Jednalo se o instalátor OpenVPN ve verzi 2.4.6-I602. V tomto směru byly ve verzi pro windows nějaké změny. Můj problém nakonec vyřešilo nainstalovaní starší verze. Použil jsem instalátoru OpenVPN ve verzi 2.3.18, který obsahoval kompletní easy-rsa i openssl v původní verzi a vše bylo funkční. Konfigurace a generování certifikátů bylo jak popisovala původní dokumentace a vše fungovalo.

Je potřeba upozornit, že OS Windows se nehodí k provozu žádné serverové aplikace a i instalace OpenVPN, její provoz a následná správa PC bude pracnější. Proto pokud je to možné, tak volte Linux nebo jiný Unix.

Konfigurace OpenVPN

OpenVPN můžete nakonfigurovat v módu server nebo klient. Jako server je použit jeden počítač s veřejnou IP adresou a k tomuto PC se pak připojují ostatní zařízení=klienti. Bez veřejné IP adresy se neobejdete. Případně musíte mít možnost přesměrovat port na routeru, který má veřejnou IP adresu.

Ať už konfigurujete klienta nebo server je potřeba mít vytvořen konfigurační soubor s validním obsahem. A ideálně ho umístěte v očekávané adresáři. Na Linuxu je to typicky ,/etc/openvpn.

OpenVPN konfigurace serveru

Příklad konfigurace serveru:

port 1194
proto udp
dev tun0
ca easy-rsa/keys/ca.crt  #      certyfikat certyfikacni autority
cert easy-rsa/keys/server.crt  #certyfikat serveru
key easy-rsa/keys/server.key   # klic
dh easy-rsa/keys/dh1024.pem

comp-lzo

server 192.168.101.0 255.255.255.0
ifconfig-pool-persist /var/lib/openvpn/ip.txt
client-to-client


log-append /var/log/openvpn.log
status /var/run/openvpn/vpn.status 10

Samozřejmě je potřeba povolit na firewallu příslušný port.

OpenVPN konfigurace klienta

Příklad konfigurace klienta:

#adresa serveru
remote  147.32.117.1 1194

#tls-client
client
dev tun0

pull
proto udp
mute 10

ca ca.crt
cert dog.crt
key dog.key

#komprese
comp-lzo
#ukecanost logovani
verb 3

ns-cert-type server

log-append /var/log/openvpn.log

Klienta pak můžete pustit ručně nebo přes systemd.

Generování klíčů

Video návod, kde je ukázán postup generováni klíčů pomoci easy-rsa. Easy-rsa je sada příkazů, které volají program openssl, který umožňuje generování klíčů , certifikátů, podepisování atd.... Klíče se generují proto, aby je následně použila VPN-ka OpenVPN.

Generování klíčů je univerzální bez ohledu na OS. Stejně tak i tento návod je univerzální. Ovšem protože práce s s Windows je mnohem komplikovanější, tak jsem ukázku realizovat na Windows, aby uživatelé Windows měli návod.

Instalace VPN na míru

Pokud je pro vás instalace VPN příliš komplikovaná nebo potřebujete řešení na míru, nabízím konzultace a instalaci OpenVPN.

Další zdroje

Jako hlavní zdroj informací můžete použít oficiální web OpenVPN a dokumentaci.

Pokud řešíte další věci v oblasti instalace a konfigurace linuxových serverů, můžete se inspirovat v mém ebooku poznámky správce linuxových serverů

Články na podobné téma

Použití hardwarového šifrovacího klíče GoTrust od MojeID na Linuxu
Správce hesel Bitwarden

Odběr novinek

Pokud máte zájem dostávat příležitostně na email novinky.
Můžete se vyplněním emailu registrovat k odběru novinek.


+