Před chvílí jsme publikovali průvodce, který popisoval nejjednodušší způsob instalace a konfigurace OpenVPN pomocí skriptu s názvem openvpn-install . Pomocí tohoto skriptu může kdokoli, dokonce i začátečník, implementovat funkční nastavení OpenVPN během několika minut v systémech založených na DEB a RPM. Nedávno jeden z našich čtenářů navrhl, že existuje ještě další podobný skript s názvem "PiVPN" , který se používá k nastavení OpenVPN v Raspberry Pi. Primárně je určen pro Raspberry Pi, nicméně bude fungovat na Debianu a Ubuntu. V současné době podporuje pouze Ubuntu 14.04 LTS.
Jak bezpečné je PiVPN?
Než přejdeme k části instalace, proberme některé její bezpečnostní funkce. I když je instalace tak triviální, neznamená to, že PiVPN není dostatečně bezpečné pro použití v produkci. Vše bylo upgradováno hned po vybalení nad rámec výchozího nastavení, aby se posílila bezpečnost serveru a klienta. Poskytuje vám možnost povolit bezobslužné upgrady, které automaticky opraví váš server bezpečnostními aktualizacemi. Také konfigurace serveru bude používat pouze nejnovější protokol TLS 1.2. Datové i řídicí kanály používají vylepšené šifrovací a hashovací algoritmy AES a SHA256.
Rád bych to zkusil a viděl, jak to funguje na mém serveru Ubuntu 14.04 LTS. Tak jdeme na to.
PiVPN – nejjednodušší nastavení a konfigurace OpenVPN
Nainstalujte OpenVPN
Instalace je extrémně jednoduchá. Otevřete Terminál a spusťte následující příkaz:
curl -L https://install.pivpn.io | bash
Ano, je to tak jednoduché. Po několika sekundách zadejte uživatelské heslo sudo. Výše uvedený příkaz stáhne a nainstaluje nejnovější OpenVPN spolu se všemi požadovanými závislostmi ve vašem systému. PiVPN vám po cestě položí řadu otázek. Stačí použít výchozí nastavení, protože stačí nastavit fungující server OpenVPN.
Pokračujte kliknutím na OK.
PiVPN ke správnému fungování potřebuje STATICKOU IP ADRESU.
Máte-li více než jedno síťové rozhraní, vyberte libovolné pro jeho konfiguraci.
PiVPN nenakonfiguruje statickou IP adresu, pokud nepoužíváte zařízení Raspberry Pi. Pro účely této příručky používám Ubuntu 14.04, takže nekonfiguruje statickou IP.
Dále vyberte místního uživatele, který bude uchovávat vaše konfigurace ovpn.
Pro automatické aktualizace aktualizací zabezpečení se doporučuje povolit bezobslužné upgrady. Zvolte Ano, chcete-li povolit bezobslužné upgrady.
Vyberte protokol.
Vyberte port OpenVPN. Výchozí hodnota je pro většinu případů dostačující.
Vyberte požadovanou úroveň šifrování. Používám výchozí hodnotu.
Kliknutím na OK vygenerujete klíč Diffie-Hellman:
Dále zvolte, zda klienti používají veřejnou IP nebo DNS jméno pro připojení k serveru.
Vyberte poskytovatele DNS pro své klienty VPN. Chcete-li použít vlastní, vyberte možnost Vlastní.
Gratulujeme! OpenVPN byla nainstalována na vašem serveru.
Nakonec kliknutím na Ano restartujte systém.
Chcete-li zkontrolovat, zda je spuštěna služba OpnVPN, zadejte následující příkaz:
$ sudo service openvpn status * VPN 'server' is running
Zkontrolujte, zda OpenVPN naslouchá serveru:
$ ps auxww | grep openvpn nobody 936 0.0 0.3 28624 2428 ? Ss 16:15 0:00 /usr/sbin/openvpn --writepid /run/openvpn/server.pid --daemon ovpn-server --cd /etc/openvpn --config /etc/openvpn/server.conf --script-security 2 sk 1206 0.0 0.1 11740 940 pts/1 S+ 16:15 0:00 grep --color=auto openvpn
Jak vidíte, server OpenVPN je v provozu! Pojďme do toho a nakonfigurujeme klienty.
Vytvořte si profil ovpn klienta
Po restartování serveru spusťte následující příkaz k vytvoření profilu ovpn klienta.
pivpn add
Nebo,
pivpn -a
Zadejte název svého klientského systému a silné heslo.
Enter a Name for the Client: client ##ENTER client certificate name Enter the password for the client: ##ENTER password Enter the password again to verify: ##ENTER password again spawn ./easyrsa build-client-full client Note: using Easy-RSA configuration from: ./vars Generating a 2048 bit RSA private key ..................................................+++ .....................................+++ writing new private key to '/etc/openvpn/easy-rsa/pki/private/client.key.YlVMZrBWgj' Enter PEM pass phrase:ubuntu Verifying - Enter PEM pass phrase:ubuntu ----- Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows commonName :PRINTABLE:'client' Certificate is to be certified until Jul 9 09:47:17 2027 GMT (3650 days) Write out database with 1 new entries Data Base Updated Client's cert found: client.crt Client's Private Key found: client.key CA public Key found: ca.crt tls-auth Private Key found: ta.key ======================================================== Done! client.ovpn successfully created! client.ovpn was copied to: /home/sk/ovpns for easy transfer. ========================================================
Pokud nechcete heslo pro klientské certifikáty, můžete přeskočit volbu hesla pomocí příkazu:
pivpn add nopass
Klientské profily budou uloženy pod /home/username/ovpns . Chcete-li to ověřit, spusťte:
$ ls /home/sk/ovpns/ client.ovpn
Abyste se mohli připojit k serveru OpenVPN, musíte profily zkopírovat do svých klientských systémů.
Například zkopírujete klientské profily pomocí příkazu scp, jak je uvedeno níže.
cd /home/sk/ovpns/
scp client.ovpn [email protected]:/etc/openvpn/
Zde je 192.168.43.150 IP adresa mého klienta openvpn.
Seznam všech certifikátů
Chcete-li zobrazit seznam všech platných a odvolaných certifikátů, spusťte:
pivpn list
Nebo,
pivpn -l
Ukázkový výstup:
: NOTE : The first entry should always be your valid server! ::: Certificate Status List ::: :: Status || Name :: Valid :: server Valid :: client
Zrušení profilu ovpn klienta
Chcete-li zrušit profil ovpn klienta, spusťte:
pivpn revoke
Nebo,
pivpn -r
Odstranit PiVPN
Nelíbí se vám PiVPN? Můžete jej odinstalovat spuštěním následujícího příkazu:
pivpn -u
Nebo,
pivpn uninstall
A to je zatím vše. V další příručce vysvětlím, jak ověřit klienty OpenVPN. Snad to pomůže. Pokud považujete naše průvodce za užitečné, věnujte prosím chvíli tomu, abyste je sdíleli na svých sociálních a profesních sítích a podpořili OSTechNix!
Na zdraví!