GNU/Linux >> Znalost Linux >  >> Panels >> OpenVPN

Jak nastavit a nakonfigurovat server OpenVPN na Ubuntu 22.04

Úvod

Virtuální privátní síť (VPN) vám umožňuje procházet nedůvěryhodnými sítěmi, jako byste byli v privátní síti. Poskytuje vám svobodu bezpečného a bezpečného přístupu k internetu ze smartphonu nebo notebooku, když jste připojeni k nedůvěryhodné síti, jako je WiFi v hotelu nebo kavárně.

V kombinaci s připojením HTTPS vám toto nastavení umožňuje zabezpečit vaše bezdrátová přihlášení a transakce. Můžete obejít geografická omezení a cenzuru a chránit svou polohu a veškerý nešifrovaný provoz HTTP před nedůvěryhodnými sítěmi.

OpenVPN je plně funkční řešení VPN s otevřeným zdrojovým kódem Transport Layer Security (TLS), které pojme širokou škálu konfigurací. V tomto tutoriálu nastavíte OpenVPN na serveru Ubuntu 22.04 a poté jej nakonfigurujete tak, aby byl přístupný z klientského počítače.

Poznámka: Pokud plánujete nastavit OpenVPN Server na DigitalOcean Droplet, uvědomte si, že stejně jako mnoho poskytovatelů hostingu účtujeme poplatky za překročení šířky pásma. Z tohoto důvodu mějte prosím na paměti, kolik provozu váš server zpracovává.

Více informací naleznete na této stránce.

Předpoklady

Abyste mohli postupovat podle tohoto návodu, budete potřebovat:

  • Jeden server Ubuntu 22.04 s uživatelem sudo bez oprávnění root a povolenou bránou firewall. Chcete-li to nastavit, můžete postupovat podle našeho výukového programu Počáteční nastavení serveru s Ubuntu 22.04. Budeme to označovat jako OpenVPN Server v této příručce.
  • Samostatný server Ubuntu 22.04 nastavený jako soukromá certifikační autorita (CA), který budeme označovat jako Server CA v celém tomto návodu. Po provedení kroků z Průvodce počátečním nastavením serveru na tomto serveru můžete postupovat podle kroků 1 až 3 našeho průvodce Jak nastavit a nakonfigurovat certifikační autoritu (CA) na Ubuntu 22.04, abyste toho dosáhli.

Poznámka: I když je technicky možné použít váš OpenVPN Server nebo místní počítač jako vaši certifikační autoritu, nedoporučuje se to, protože to otevírá vaši VPN některým zranitelnostem zabezpečení. Podle oficiální dokumentace OpenVPN byste měli umístit svou CA na samostatný počítač, který je určen k importu a podepisování žádostí o certifikát. Z tohoto důvodu tato příručka předpokládá, že vaše certifikační autorita je na samostatném serveru Ubuntu 22.04, který má také uživatele bez oprávnění root s právy sudo a povolenou základní bránou firewall.

Kromě toho budete potřebovat klientský počítač, který budete používat pro připojení k vašemu OpenVPN serveru. V této příručce to budeme nazývat klient OpenVPN . Pro účely tohoto tutoriálu se doporučuje, abyste jako klienta OpenVPN používali svůj místní počítač.

S těmito předpoklady jste připraveni začít nastavovat a konfigurovat OpenVPN Server na Ubuntu 22.04.

Poznámka: Vezměte prosím na vědomí, že pokud deaktivujete ověřování heslem při konfiguraci těchto serverů, můžete narazit na potíže při přenosu souborů mezi nimi později v této příručce. Chcete-li tento problém vyřešit, můžete znovu povolit ověřování heslem na každém serveru. Případně můžete vygenerovat pár klíčů SSH pro každý server a poté přidat veřejný klíč SSH serveru OpenVPN do authorized_keys počítače CA souboru a naopak. Pokyny, jak provést kterékoli z těchto řešení, najdete v části Jak nastavit klíče SSH na Ubuntu 22.04.

Krok 1 – Instalace OpenVPN a Easy-RSA

Prvním krokem v tomto tutoriálu je instalace OpenVPN a Easy-RSA. Easy-RSA je nástroj pro správu infrastruktury veřejných klíčů (PKI), který použijete na serveru OpenVPN ke generování žádosti o certifikát, kterou následně ověříte a podepíšete na serveru CA.

Chcete-li začít, aktualizujte index balíčků serveru OpenVPN a nainstalujte OpenVPN a Easy-RSA. Oba balíčky jsou dostupné ve výchozích repozitářích Ubuntu, takže můžete použít apt pro instalaci:

  1. sudo apt update
  2. sudo apt install openvpn easy-rsa

Dále budete muset vytvořit nový adresář na serveru OpenVPN jako uživatel bez oprávnění root s názvem ~/easy-rsa :

  1. mkdir ~/easy-rsa

Nyní budete muset vytvořit symbolický odkaz z easyrsa skript, který balíček nainstaloval do ~/easy-rsa adresář, který jste právě vytvořili:

  1. ln -s /usr/share/easy-rsa/* ~/easy-rsa/

Poznámka: Zatímco ostatní příručky vám mohou dát pokyn, abyste zkopírovali easy-rsa zabalit soubory do vašeho adresáře PKI, tento tutoriál využívá přístup symbolických odkazů. V důsledku toho budou všechny aktualizace easy-rsa balíček se automaticky projeví ve skriptech vašeho PKI.

Nakonec se ujistěte, že vlastníkem adresáře je váš uživatel sudo, který není root, a omezte přístup na tohoto uživatele pomocí chmod :

  1. sudo chown sammy ~/easy-rsa
  2. chmod 700 ~/easy-rsa

Jakmile jsou tyto programy nainstalovány a přesunuty na správná místa ve vašem systému, dalším krokem je vytvoření infrastruktury veřejného klíče (PKI) na serveru OpenVPN, abyste mohli požadovat a spravovat certifikáty TLS pro klienty a další servery, které budou připojte se k vaší VPN.

Krok 2 – Vytvoření PKI pro OpenVPN

Než budete moci vytvořit soukromý klíč a certifikát vašeho OpenVPN serveru, musíte na svém OpenVPN serveru vytvořit místní adresář Public Key Infrastructure. Tento adresář budete používat ke správě požadavků na certifikáty serveru a klientů, místo abyste je zadávali přímo na serveru CA.

Chcete-li na svém serveru OpenVPN vytvořit adresář PKI, budete muset naplnit soubor s názvem vars s některými výchozími hodnotami. Nejprve cd do easy-rsa adresář, pak vytvoříte a upravíte vars soubor pomocí nano nebo vašeho preferovaného textového editoru.

  1. cd ~/easy-rsa
  2. nano vars

Po otevření souboru vložte následující dva řádky:

~/easy-rsa/vars
set_var EASYRSA_ALGO "ec"
set_var EASYRSA_DIGEST "sha512"

Toto jsou jediné dva řádky, které potřebujete v tomto vars soubor na vašem serveru OpenVPN, protože nebude použit jako certifikační autorita. Zajistí, že vaše soukromé klíče a žádosti o certifikát budou nakonfigurovány tak, aby využívaly moderní kryptografii eliptických křivek (ECC) ke generování klíčů a bezpečných podpisů pro vaše klienty a server OpenVPN.

Konfigurace serverů OpenVPN a CA pro použití ECC znamená, že když se klient a server pokusí vytvořit sdílený symetrický klíč, mohou k výměně použít algoritmy eliptické křivky. Použití ECC pro výměnu klíčů je výrazně rychlejší než použití prostého Diffie-Hellmana s klasickým algoritmem RSA, protože čísla jsou mnohem menší a výpočty jsou rychlejší.

Pozadí: Když se klienti připojují k OpenVPN, používají asymetrické šifrování (známé také jako veřejný/soukromý klíč) k provedení TLS handshake. Při přenosu šifrovaného provozu VPN však server a klienti používají symetrické šifrování, které je také známé jako šifrování sdíleným klíčem.

Ve srovnání s asymetrickým šifrováním je mnohem menší výpočetní režie:použitá čísla jsou mnohem menší a moderní CPU integrují instrukce pro provádění operací optimalizovaného symetrického šifrování. Aby došlo k přechodu z asymetrického na symetrické šifrování, server a klient OpenVPN použijí algoritmus Elliptic Curve Diffie-Hellman (ECDH), aby se co nejrychleji dohodly na sdíleném tajném klíči.

Jakmile vyplníte vars můžete pokračovat ve vytváření adresáře PKI. Chcete-li tak učinit, spusťte easyrsa skript s init-pki volba. Přestože jste tento příkaz již spustili na serveru CA jako součást předpokladů, je nutné jej spustit zde, protože váš server OpenVPN a server CA mají samostatné adresáře PKI:

  1. ./easyrsa init-pki

Všimněte si, že na vašem OpenVPN serveru není potřeba vytvářet certifikační autoritu. Za ověřování a podepisování certifikátů je výhradně odpovědný váš server CA. PKI na vašem serveru VPN se používá pouze jako pohodlné a centralizované místo pro ukládání žádostí o certifikát a veřejných certifikátů.

Po inicializaci PKI na serveru OpenVPN jste připraveni přejít k dalšímu kroku, kterým je vytvoření žádosti o certifikát serveru OpenVPN a soukromého klíče.

Krok 3 — Vytvoření žádosti o certifikát serveru OpenVPN a soukromého klíče

Nyní, když má váš server OpenVPN nainstalované všechny předpoklady, je dalším krokem vygenerování soukromého klíče a žádosti o podpis certifikátu (CSR) na vašem serveru OpenVPN. Poté žádost přenesete do své CA, aby byla podepsána, čímž se vytvoří požadovaný certifikát. Jakmile budete mít podepsaný certifikát, přenesete jej zpět na server OpenVPN a nainstalujete jej, aby jej server mohl používat.

Chcete-li začít, přejděte do ~/easy-rsa adresář na vašem OpenVPN Server jako váš uživatel bez oprávnění root:

  1. cd ~/easy-rsa

Nyní zavoláte easyrsa s gen-req možnost následovaná obecným názvem (CN) pro stroj. CN může být cokoli, co se vám líbí, ale může být užitečné udělat z něj něco popisného. V tomto tutoriálu bude CN serveru OpenVPN server . Nezapomeňte uvést nopass možnost také. Pokud tak neučiníte, bude soubor požadavku chráněn heslem, což by později mohlo vést k problémům s oprávněními.

Poznámka: Pokud zvolíte jiný název než server zde budete muset upravit některé z níže uvedených pokynů. Například při kopírování vygenerovaných souborů do /etc/openvpn adresář, budete muset nahradit správná jména. Budete také muset upravit /etc/openvpn/server.conf soubor později, aby ukazoval na správný .crt a .key soubory.

  1. ./easyrsa gen-req server nopass
OutputCommon Name (eg: your user, host, or server name) [server]:
 
Keypair and certificate request completed. Your files are:
req: /home/sammy/easy-rsa/pki/reqs/server.req
key: /home/sammy/easy-rsa/pki/private/server.key

Tím se vytvoří soukromý klíč pro server a soubor žádosti o certifikát s názvem server.req . Zkopírujte klíč serveru do /etc/openvpn/server adresář:

  1. sudo cp /home/sammy/easy-rsa/pki/private/server.key /etc/openvpn/server/

Po dokončení těchto kroků jste úspěšně vytvořili soukromý klíč pro váš server OpenVPN. Vygenerovali jste také žádost o podpis certifikátu pro server OpenVPN. CSR je nyní připravena k podpisu vaší CA. V další části tohoto tutoriálu se dozvíte, jak podepsat CSR pomocí soukromého klíče vašeho CA serveru.

Krok 4 – Podepsání žádosti o certifikát serveru OpenVPN

V předchozím kroku jste vytvořili žádost o podpis certifikátu (CSR) a soukromý klíč pro server OpenVPN. Nyní server CA potřebuje vědět o server certifikát a potvrdit jej. Jakmile CA ověří a předá certifikát zpět serveru OpenVPN, klienti, kteří důvěřují vaší CA, budou moci důvěřovat také serveru OpenVPN.

Na serveru OpenVPN jako uživatel bez oprávnění root použijte SCP nebo jinou metodu přenosu ke zkopírování server.req žádost o certifikát na server CA k podpisu:

  1. scp /home/sammy/easy-rsa/pki/reqs/server.req sammy@your_ca_server_ip:/tmp

Pokud jste postupovali podle předpokladu Jak nastavit a nakonfigurovat certifikační autoritu (CA) na Ubuntu 22.04, dalším krokem je přihlášení k serveru CA jako uživatel bez oprávnění root, kterého jste vytvořili pro správu svého CA. Budete cd do ~/easy-rsa adresář, kde jste vytvořili svůj PK, a poté importujte žádost o certifikát pomocí easyrsa skript:

  1. cd ~/easy-rsa
  2. ./easyrsa import-req /tmp/server.req server
Output. . .
The request has been successfully imported with a short name of: server
You may now use this name to perform signing operations on this request.

Dále podepište požadavek spuštěním easyrsa skript s sign-req následuje typ požadavku a Common Name. Typ požadavku může být client nebo server . Protože pracujete s žádostí o certifikát serveru OpenVPN, nezapomeňte použít server typ požadavku:

  1. ./easyrsa sign-req server server

Ve výstupu budete vyzváni k ověření, že požadavek pochází z důvěryhodného zdroje. Zadejte yes poté stiskněte ENTER pro potvrzení:

OutputYou are about to sign the following certificate.
Please check over the details shown below for accuracy. Note that this request
has not been cryptographically verified. Please be sure it came from a trusted
source or that you have verified the request checksum with the sender.
 
Request subject, to be signed as a server certificate for 3650 days:
 
subject=
commonName = server
 
 
Type the word 'yes' to continue, or any other input to abort.
Confirm request details: yes
. . .
Certificate created at: /home/sammy/easy-rsa/pki/issued/server.crt

Pamatujte, že pokud jste zašifrovali svůj soukromý klíč CA, budete v tomto okamžiku vyzváni k zadání hesla.

Po dokončení těchto kroků jste podepsali žádost o certifikát serveru OpenVPN pomocí soukromého klíče serveru CA. Výsledný server.crt obsahuje veřejný šifrovací klíč serveru OpenVPN a také podpis ze serveru CA. Účelem podpisu je říci každému, kdo důvěřuje serveru CA, že může důvěřovat také serveru OpenVPN, když se k němu připojí.

Chcete-li dokončit konfiguraci certifikátů, zkopírujte server.crt a ca.crt soubory ze serveru CA na server OpenVPN:

  1. scp pki/issued/server.crt sammy@your_vpn_server_ip:/tmp
  2. scp pki/ca.crt sammy@your_vpn_server_ip:/tmp

Nyní zpět na váš OpenVPN server zkopírujte soubory z /tmp do /etc/openvpn/server :

  1. sudo cp /tmp/{server.crt,ca.crt} /etc/openvpn/server

Nyní je váš server OpenVPN téměř připraven přijímat připojení. V dalším kroku provedete několik dalších kroků ke zvýšení zabezpečení serveru.

Krok 5 – Konfigurace kryptografického materiálu OpenVPN

Pro další vrstvu zabezpečení přidejte další sdílený tajný klíč, který budou server a všichni klienti používat s tls-crypt OpenVPN směrnice. Tato možnost se používá k obfuskaci certifikátu TLS, který se používá, když se server a klient zpočátku vzájemně připojují. Používá jej také server OpenVPN k provádění rychlých kontrol příchozích paketů:pokud je paket podepsán pomocí předem sdíleného klíče, server jej zpracuje; pokud není podepsán, pak server ví, že pochází z nedůvěryhodného zdroje a může jej zahodit, aniž by musel provádět další dešifrovací práci.

Tato možnost vám pomůže zajistit, že váš server OpenVPN je schopen se vypořádat s neověřeným provozem, skenováním portů a útoky Denial of Service, které mohou vázat zdroje serveru. Také to ztěžuje identifikaci síťového provozu OpenVPN.

Chcete-li vygenerovat tls-crypt předsdílený klíč, spusťte následující na serveru OpenVPN v ~/easy-rsa adresář:

  1. cd ~/easy-rsa
  2. openvpn --genkey secret ta.key

Výsledkem bude soubor s názvem ta.key . Zkopírujte jej do /etc/openvpn/server/ adresář:

  1. sudo cp ta.key /etc/openvpn/server

S těmito soubory umístěnými na serveru OpenVPN jste připraveni vytvářet klientské certifikáty a soubory klíčů pro vaše uživatele, které budete používat pro připojení k VPN.

Krok 6 – Vygenerování klientského certifikátu a páru klíčů

Ačkoli můžete vygenerovat soukromý klíč a žádost o certifikát na svém klientském počítači a poté je odeslat certifikační autoritě k podpisu, tato příručka popisuje proces generování žádosti o certifikát na serveru OpenVPN. Výhodou tohoto přístupu je, že můžete vytvořit skript, který automaticky vygeneruje konfigurační soubory klienta, které obsahují všechny požadované klíče a certifikáty. To vám umožní vyhnout se nutnosti přenášet klíče, certifikáty a konfigurační soubory klientům a zjednodušit proces připojení k VPN.

Pro tuto příručku vygenerujete jeden pár klientského klíče a certifikátu. Pokud máte více než jednoho klienta, můžete tento proces opakovat pro každého. Pamatujte však, že pro každého klienta budete muset skriptu předat jedinečnou hodnotu názvu. V tomto kurzu je první pár certifikát/klíč označován jako client1 .

Začněte vytvořením adresářové struktury ve svém domovském adresáři pro uložení souborů klientského certifikátu a klíčů:

  1. mkdir -p ~/client-configs/keys

Protože v tomto adresáři budete ukládat páry certifikátů/klíčů a konfigurační soubory svých klientů, měli byste nyní z bezpečnostních důvodů uzamknout jeho oprávnění:

  1. chmod -R 700 ~/client-configs

Dále přejděte zpět do adresáře EasyRSA a spusťte easyrsa skript s gen-req a nopass možnosti spolu s běžným názvem klienta:

  1. cd ~/easy-rsa
  2. ./easyrsa gen-req client1 nopass

Stiskněte ENTER pro potvrzení běžného názvu. Poté zkopírujte client1.key do ~/client-configs/keys/ adresář, který jste vytvořili dříve:

  1. cp pki/private/client1.key ~/client-configs/keys/

Dále přeneste client1.req soubor na váš CA Server pomocí zabezpečené metody:

  1. scp pki/reqs/client1.req sammy@your_ca_server_ip:/tmp

Nyní se přihlaste k serveru CA. Poté přejděte do adresáře EasyRSA a importujte žádost o certifikát:

  1. cd ~/easy-rsa
  2. ./easyrsa import-req /tmp/client1.req client1

Dále podepište požadavek stejným způsobem jako u serveru v předchozím kroku. Tentokrát však nezapomeňte zadat client typ požadavku:

  1. ./easyrsa sign-req client client1

Po zobrazení výzvy zadejte yes pro potvrzení, že máte v úmyslu podepsat žádost o certifikát a že pochází z důvěryhodného zdroje:

OutputType the word 'yes' to continue, or any other input to abort.
Confirm request details: yes

Znovu, pokud jste zašifrovali svůj klíč CA, budete zde vyzváni k zadání hesla.

Tím se vytvoří soubor certifikátu klienta s názvem client1.crt . Přeneste tento soubor zpět na server:

  1. scp pki/issued/client1.crt sammy@your_server_ip:/tmp

Zpět na svůj OpenVPN server zkopírujte klientský certifikát do ~/client-configs/keys/ adresář:

  1. cp /tmp/client1.crt ~/client-configs/keys/

Dále zkopírujte ca.crt a ta.key soubory do ~/client-configs/keys/ adresář také a nastavte příslušná oprávnění pro svého uživatele sudo:

  1. cp ~/easy-rsa/ta.key ~/client-configs/keys/
  2. sudo cp /etc/openvpn/server/ca.crt ~/client-configs/keys/
  3. sudo chown sammy.sammy ~/client-configs/keys/*

Díky tomu byly všechny certifikáty a klíče vašeho serveru a klienta vygenerovány a jsou uloženy v příslušných adresářích na vašem serveru OpenVPN. Stále existuje několik akcí, které je třeba provést s těmito soubory, ale ty přijdou v pozdějším kroku. Prozatím můžete přejít ke konfiguraci OpenVPN.

Krok 7 — Konfigurace OpenVPN

Stejně jako mnoho jiných široce používaných nástrojů s otevřeným zdrojovým kódem má OpenVPN k dispozici mnoho možností konfigurace, které vám umožní přizpůsobit váš server vašim konkrétním potřebám. V této části poskytneme pokyny, jak nastavit konfiguraci serveru OpenVPN na základě jednoho z ukázkových konfiguračních souborů, které jsou součástí dokumentace tohoto softwaru.

Nejprve zkopírujte ukázku server.conf soubor jako výchozí bod pro váš vlastní konfigurační soubor:

  1. sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/server/

Otevřete nový soubor pro úpravy pomocí nano nebo textový editor podle vašeho výběru:

  1. sudo nano /etc/openvpn/server/server.conf

V tomto souboru budete muset změnit několik řádků. Nejprve najděte HMAC části konfigurace vyhledáním tls-auth směrnice. Tato linka bude ve výchozím nastavení povolena. Okomentujte to přidáním ; na začátek řádku. Poté za něj přidejte nový řádek obsahující hodnotu tls-crypt ta.key pouze:

/etc/openvpn/server/server.conf
;tls-auth ta.key 0 # This file is secret
tls-crypt ta.key

Dále vyhledejte sekci o kryptografických šifrách vyhledáním cipher linky. Výchozí hodnota je nastavena na AES-256-CBC , nicméně AES-256-GCM cipher nabízí lepší úroveň šifrování, výkonu a je dobře podporována v aktuálních klientech OpenVPN. Zakomentujte výchozí hodnotu přidáním ; podepište na začátek tohoto řádku a poté za něj přidejte další řádek obsahující aktualizovanou hodnotu AES-256-GCM :

/etc/openvpn/server/server.conf
;cipher AES-256-CBC
cipher AES-256-GCM

Hned za tento řádek přidejte auth direktiva pro výběr algoritmu HMAC message digest. Za tímto účelem SHA256 je dobrá volba:

/etc/openvpn/server/server.conf
auth SHA256

Dále najděte řádek obsahující dh direktiva, která definuje parametry Diffie-Hellman. Protože jste nakonfigurovali všechny certifikáty pro použití kryptografie Elliptic Curve, není potřeba počáteční soubor Diffie-Hellman. Zakomentujte existující řádek, který vypadá jako dh dh2048.pem nebo dh dh.pem . Název souboru pro klíč Diffie-Hellman se může lišit od toho, co je uvedeno v příkladu konfiguračního souboru serveru. Poté za něj přidejte řádek s obsahem dh none :

/etc/openvpn/server/server.conf
;dh dh2048.pem
dh none

Dále by OpenVPN po spuštění měla běžet bez oprávnění, takže mu budete muset říct, aby běžel s uživatelem nikým a skupina nogroup . Chcete-li to povolit, najděte user nobody a odkomentujte jej a group nogroup řádků odstraněním ; znaménko od začátku každého řádku:

/etc/openvpn/server/server.conf
user nobody
group nogroup

(Volitelné) Odeslat změny DNS k přesměrování veškerého provozu přes VPN

Výše uvedená nastavení vytvoří připojení VPN mezi vaším klientem a serverem, ale nevynutí žádná připojení k použití tunelu. Pokud chcete používat VPN ke směrování veškerého klientského provozu přes VPN, pravděpodobně budete chtít do klientských počítačů vložit některá další nastavení.

Chcete-li začít, najděte a odkomentujte řádek obsahující push "redirect-gateway def1 bypass-dhcp" . Tím svému klientovi sdělíte, aby přesměroval veškerý svůj provoz přes váš OpenVPN Server. Uvědomte si, že povolení této funkce může způsobit problémy s připojením k jiným síťovým službám, jako je SSH:

/etc/openvpn/server/server.conf
push "redirect-gateway def1 bypass-dhcp"

Přímo pod tímto řádkem najděte dhcp-option sekce. Znovu odstraňte ; od začátku obou řádků, abyste je odkomentovali:

/etc/openvpn/server/server.conf
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

Tyto řádky sdělí vašemu klientovi, aby na uvedených IP adresách používal bezplatné překladače OpenDNS. Pokud dáváte přednost jiným překladačům DNS, můžete je nahradit místo zvýrazněných IP adres.

To pomůže klientům překonfigurovat jejich nastavení DNS tak, aby jako výchozí bránu používali tunel VPN.

(Volitelné) Upravte port a protokol

Ve výchozím nastavení používá server OpenVPN port 1194 a protokol UDP pro přijímání klientských připojení. Pokud potřebujete použít jiný port kvůli restriktivním síťovým prostředím, ve kterých se mohou vaši klienti nacházet, můžete změnit port volba. Pokud na svém serveru OpenVPN nehostíte webový obsah, port 443 je oblíbená volba, protože je obvykle povolena pravidly brány firewall.

Chcete-li změnit OpenVPN na naslouchání na portu 443, otevřete server.conf soubor a najděte řádek, který vypadá takto:

/etc/openvpn/server/server.conf
port 1194

Upravte jej tak, aby byl port 443:

/etc/openvpn/server/server.conf
# Optional!
port 443

Protokol je často také omezen na tento port. Pokud ano, najděte proto řádek pod port řádek a změňte protokol z udp na tcp :

/etc/openvpn/server/server.conf
# Optional!
proto tcp

Pokud uděláte přepněte protokol na TCP, budete muset změnit explicit-exit-notify hodnota direktivy z 1 na 0 , protože tuto direktivu používá pouze UDP. Pokud tak neučiníte při používání TCP, způsobí to chyby při spuštění služby OpenVPN.

Najděte explicit-exit-notify řádek na konci souboru a změňte hodnotu na 0 :

/etc/openvpn/server/server.conf
# Optional!
explicit-exit-notify 0

Pokud nepotřebujete používat jiný port a protokol, je nejlepší ponechat tato nastavení beze změny.

(Volitelné) Ukázat na jiné než výchozí přihlašovací údaje

Pokud jste vybrali jiný název během ./easyrsa gen-req server dříve, upravte cert a key řádků v server.conf konfigurační soubor tak, aby ukazovaly na příslušný .crt a .key soubory. Pokud jste použili výchozí název, server , toto je již nastaveno správně:

/etc/openvpn/server/server.conf
cert server.crt
key server.key

Až budete hotovi, uložte a zavřete soubor.

Nyní jste dokončili konfiguraci obecných nastavení OpenVPN. V dalším kroku přizpůsobíte možnosti sítě serveru.

Krok 8 — Úprava konfigurace sítě serveru OpenVPN

Existují některé aspekty konfigurace sítě serveru, které je třeba vyladit, aby OpenVPN mohl správně směrovat provoz přes VPN. První z nich je Přesměrování IP , metoda pro určení, kam by měl být směrován provoz IP. To je nezbytné pro funkčnost VPN, kterou váš server poskytne.

Chcete-li upravit výchozí nastavení předávání IP serveru OpenVPN, otevřete /etc/sysctl.conf soubor pomocí nano nebo váš preferovaný editor:

  1. sudo nano /etc/sysctl.conf

Poté přidejte následující řádek na konec souboru:

/etc/sysctl.conf
net.ipv4.ip_forward = 1

Po dokončení uložte a zavřete soubor.

Chcete-li soubor přečíst a načíst nové hodnoty pro aktuální relaci, zadejte:

  1. sudo sysctl -p
Outputnet.ipv4.ip_forward = 1

Nyní bude váš server OpenVPN schopen přesměrovat příchozí provoz z jednoho ethernetového zařízení na druhé. Toto nastavení zajišťuje, že server může směrovat provoz od klientů, kteří se připojují na virtuální rozhraní VPN, přes jeho další fyzická ethernetová zařízení. Tato konfigurace bude směrovat veškerý webový provoz z vašeho klienta přes IP adresu vašeho serveru a veřejná IP adresa vašeho klienta bude efektivně skryta.

V dalším kroku budete muset nakonfigurovat některá pravidla brány firewall, abyste zajistili, že provoz na váš server OpenVPN az něj bude správně proudit.

Krok 9 — Konfigurace brány firewall

Doposud jste na svůj server nainstalovali OpenVPN, nakonfigurovali jej a vygenerovali klíče a certifikáty potřebné pro vašeho klienta pro přístup k VPN. Dosud jste však OpenVPN neposkytli žádné pokyny, kam posílat příchozí webový provoz od klientů. Můžete určit, jak má server zacházet s klientským provozem, vytvořením některých pravidel brány firewall a konfigurací směrování.

Za předpokladu, že jste dodrželi předpoklady na začátku tohoto tutoriálu, měli byste již mít ufw nainstalován a spuštěn na vašem serveru. Chcete-li povolit OpenVPN přes firewall, budete muset povolit maskování, koncept iptables, který poskytuje dynamický překlad síťových adres (NAT) za běhu pro správné směrování klientských připojení.

Before opening the firewall configuration file to add the masquerading rules, you must first find the public network interface of your machine. To do this, type:

  1. ip route list default

Your public interface is the string found within this command’s output that follows the word “dev”. For example, this result shows the interface named eth0 , which is highlighted below:

Outputdefault via 159.65.160.1 dev eth0 proto static

When you have the interface associated with your default route, open the /etc/ufw/before.rules file to add the relevant configuration:

  1. sudo nano /etc/ufw/before.rules

UFW rules are typically added using the ufw příkaz. Rules listed in the before.rules file, though, are read and put into place before the conventional UFW rules are loaded. Towards the top of the file, add the highlighted lines below. This will set the default policy for the POSTROUTING chain in the nat table and masquerade any traffic coming from the VPN. Remember to replace eth0 in the -A POSTROUTING line below with the interface you found in the above command:

/etc/ufw/before.rules
#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
#   ufw-before-input
#   ufw-before-output
#   ufw-before-forward
#
 
# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Allow traffic from OpenVPN client to eth0 (change to the interface you discovered!)
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES
 
# Don't delete these required lines, otherwise there will be errors
*filter
. . .

Save and close the file when you are finished.

Next, you need to tell UFW to allow forwarded packets by default as well. To do this, open the /etc/default/ufw file:

  1. sudo nano /etc/default/ufw

Inside, find the DEFAULT_FORWARD_POLICY directive and change the value from DROP to ACCEPT :

/etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"

Save and close the file when you are finished.

Next, adjust the firewall itself to allow traffic to OpenVPN. If you did not change the port and protocol in the /etc/openvpn/server.conf file, you will need to open up UDP traffic to port 1194 . If you modified the port and/or protocol, substitute the values you selected here.

In case you forgot to add the SSH port when following the prerequisite tutorial, add it here as well:

  1. sudo ufw allow 1194/udp
  2. sudo ufw allow OpenSSH

Poznámka :If you are using a different firewall or have customized your UFW configuration, you may need to add additional firewall rules. For example, if you decide to tunnel all of your network traffic over the VPN connection, you will need to ensure that port 53 traffic is allowed for DNS requests, and ports like 80 and 443 for HTTP and HTTPS traffic respectively. If there are other protocols that you are using over the VPN then you will need to add rules for them as well.

After adding those rules, disable and re-enable UFW to restart it and load the changes from all of the files you’ve modified:

  1. sudo ufw disable
  2. sudo ufw enable

Your server is now configured to correctly handle OpenVPN traffic. With the firewall rules in place, you can start the OpenVPN service on the server.

Step 10 — Starting OpenVPN

OpenVPN runs as a systemd service, so you can use systemctl to manage it. You will configure OpenVPN to start up at boot so you can connect to your VPN at any time as long as your server is running. To do this, enable the OpenVPN service by adding it to systemctl :

  1. sudo systemctl -f enable [email protected]

Then start the OpenVPN service:

  1. sudo systemctl start [email protected]

Double check that the OpenVPN service is active with the following command. You should see active (running) in the output:

  1. sudo systemctl status [email protected]
Output● [email protected] - OpenVPN service for server
     Loaded: loaded (/lib/systemd/system/[email protected]; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-04-21 17:58:24 UTC; 6s ago
       Docs: man:openvpn(8)
             https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
             https://community.openvpn.net/openvpn/wiki/HOWTO
   Main PID: 144351 (openvpn)
     Status: "Initialization Sequence Completed"
      Tasks: 1 (limit: 4665)
     Memory: 1.8M
        CPU: 27ms
     CGroup: /system.slice/system-openvpn\x2dserver.slice/[email protected]
             └─144351 /usr/sbin/openvpn --status /run/openvpn-server/status-server.log --status-version 2 --suppress-timestamps --config server.conf

. . .

You have now completed the server-side configuration for OpenVPN. Next, you will configure your client machine and connect to the OpenVPN Server.

Step 11 — Creating the Client Configuration Infrastructure

Creating configuration files for OpenVPN clients can be somewhat involved, as every client must have its own config and each must align with the settings outlined in the server’s configuration file. Rather than writing a single configuration file that can only be used on one client, this step outlines a process for building a client configuration infrastructure which you can use to generate config files on-the-fly. You will first create a “base” configuration file then build a script which will allow you to generate unique client config files, certificates, and keys as needed.

Get started by creating a new directory where you will store client configuration files within the client-configs directory you created earlier:

  1. mkdir -p ~/client-configs/files

Next, copy an example client configuration file into the client-configs directory to use as your base configuration:

  1. cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf

Open this new file using nano or your preferred text editor:

  1. nano ~/client-configs/base.conf

Inside, locate the remote directive. This points the client to your OpenVPN server address — the public IP address of your OpenVPN server. If you decided to change the port that the OpenVPN server is listening on, you will also need to change 1194 to the port you selected:

~/client-configs/base.conf
. . .
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote your_server_ip 1194
. . .

Be sure that the protocol matches the value you are using in the server configuration:

~/client-configs/base.conf
proto udp

Next, uncomment the user a group directives by removing the ; sign at the beginning of each line:

~/client-configs/base.conf
# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup

Find the directives that set the ca , cert , and key . Comment out these directives since you will add the certs and keys within the file itself shortly:

~/client-configs/base.conf
# SSL/TLS parms.
# See the server config file for more
# description. It's best to use
# a separate .crt/.key file pair
# for each client. A single ca
# file can be used for all clients.
;ca ca.crt
;cert client.crt
;key client.key

Similarly, comment out the tls-auth directive, as you will add ta.key directly into the client configuration file (and the server is set up to use tls-crypt ):

~/client-configs/base.conf
# If a tls-auth key is used on the server
# then every client must also have the key.
;tls-auth ta.key 1

Mirror the cipher and auth settings that you set in the /etc/openvpn/server/server.conf file:

~/client-configs/base.conf
cipher AES-256-GCM
auth SHA256

Next, add the key-direction directive somewhere in the file. You must set this to “1” for the VPN to function correctly on the client machine:

~/client-configs/base.conf
key-direction 1

Finally, add a few commented out lines to handle various methods that Linux based VPN clients will use for DNS resolution. You’ll add two similar, but separate sets of commented out lines. The first set is for clients that do not use systemd-resolved to manage DNS. These clients rely on the resolvconf utility to update DNS information for Linux clients.

~/client-configs/base.conf
; script-security 2
; up /etc/openvpn/update-resolv-conf
; down /etc/openvpn/update-resolv-conf

Now add another set of lines for clients that use systemd-resolved for DNS resolution:

~/client-configs/base.conf
; script-security 2
; up /etc/openvpn/update-systemd-resolved
; down /etc/openvpn/update-systemd-resolved
; down-pre
; dhcp-option DOMAIN-ROUTE .

Save and close the file when you are finished.

Later in Step 13 - Installing the Client Configuration step of this tutorial you will learn how to determine how DNS resolution works on Linux clients and which section to uncomment.

Next, you’ll create a script that will compile your base configuration with the relevant certificate, key, and encryption files and then place the generated configuration in the ~/client-configs/files adresář. Open a new file called make_config.sh within the ~/client-configs directory:

  1. nano ~/client-configs/make_config.sh

Inside, add the following content:

~/client-configs/make_config.sh
#!/bin/bash
 
# First argument: Client identifier
 
KEY_DIR=~/client-configs/keys
OUTPUT_DIR=~/client-configs/files
BASE_CONFIG=~/client-configs/base.conf
 
cat ${BASE_CONFIG} \
    <(echo -e '<ca>') \
    ${KEY_DIR}/ca.crt \
    <(echo -e '</ca>\n<cert>') \
    ${KEY_DIR}/${1}.crt \
    <(echo -e '</cert>\n<key>') \
    ${KEY_DIR}/${1}.key \
    <(echo -e '</key>\n<tls-crypt>') \
    ${KEY_DIR}/ta.key \
    <(echo -e '</tls-crypt>') \
    > ${OUTPUT_DIR}/${1}.ovpn

Save and close the file when you are finished.

Before moving on, be sure to mark this file as executable by typing:

  1. chmod 700 ~/client-configs/make_config.sh

This script will make a copy of the base.conf file you made, collect all the certificate and key files you’ve created for your client, extract their contents, append them to the copy of the base configuration file, and export all of this content into a new client configuration file. This means that, rather than having to manage the client’s configuration, certificate, and key files separately, all the required information is stored in one place. The benefit of using this method is that if you ever need to add a client in the future, you can run this script to quickly create a new config file and ensure that all the important information is stored in a single, easy-to-access location.

Please note that any time you add a new client, you will need to generate new keys and certificates for it before you can run this script and generate its configuration file. You will get some practice using this script in the next step.

Step 12 — Generating Client Configurations

If you followed along with the guide, you created a client certificate and key named client1.crt and client1.key , respectively, in Step 6. You can generate a config file for these credentials by moving into your ~/client-configs directory and running the script you made at the end of the previous step:

  1. cd ~/client-configs
  2. ./make_config.sh client1

This will create a file named client1.ovpn in your ~/client-configs/files directory:

  1. ls ~/client-configs/files
Outputclient1.ovpn

You need to transfer this file to the device you plan to use as the client. For instance, this could be your local computer or a mobile device.

While the exact applications used to accomplish this transfer will depend on your device’s operating system and your personal preferences, a dependable and secure method is to use SFTP (SSH file transfer protocol) or SCP (Secure Copy) on the backend. This will transport your client’s VPN authentication files over an encrypted connection.

Here is an example SFTP command which you can run from your local computer (macOS or Linux). This will copy the client1.ovpn file you created in the last step to your home directory:

  1. sftp sammy@openvpn_server_ip:client-configs/files/client1.ovpn ~/

Here are several tools and tutorials for securely transferring files from the OpenVPN server to a local computer:

  • WinSCP
  • How To Use SFTP to Securely Transfer Files with a Remote Server
  • How To Use Filezilla to Transfer and Manage Files Securely on your VPS

Step 13 — Installing the Client Configuration

This section covers how to install a client VPN profile on Windows, macOS, Linux, iOS, and Android. None of these client instructions are dependent on one another, so feel free to skip to whichever is applicable to your device.

The OpenVPN connection will have the same name as whatever you called the .ovpn soubor. In regards to this tutorial, this means that the connection is named client1.ovpn , aligning with the first client file you generated.

Windows

Installing

Download the OpenVPN client application for Windows from OpenVPN’s Downloads page. Choose the appropriate installer version for your version of Windows.

Poznámka :OpenVPN needs administrative privileges to install.

After installing OpenVPN, copy the .ovpn file to:

C:\Program Files\OpenVPN\config

When you launch OpenVPN, it will automatically locate the profile and make it available.

You must run OpenVPN as an administrator each time it’s used, even by administrative accounts. To do this without having to right-click and select Run as administrator every time you use the VPN, you must preset this from an administrative account. This also means that standard users will need to enter the administrator’s password to use OpenVPN. On the other hand, standard users can’t properly connect to the server unless the OpenVPN application on the client has admin rights, so the elevated privileges are necessary.

To set the OpenVPN application to always run as an administrator, right-click on its shortcut icon and go to Properties . At the bottom of the Compatibility tab, click the button to Change settings for all users . In the new window, check Run this program as an administrator .

Connecting

Each time you launch the OpenVPN GUI, Windows will ask if you want to allow the program to make changes to your computer. Klikněte na Ano . Launching the OpenVPN client application only puts the applet in the system tray so that you can connect and disconnect the VPN as needed; it does not actually make the VPN connection.

Once OpenVPN is started, initiate a connection by going into the system tray applet and right-clicking on the OpenVPN applet icon. This opens the context menu. Select client1 at the top of the menu (that’s your client1.ovpn profile) and choose Connect .

A status window will open showing the log output while the connection is established, and a message will show once the client is connected.

Disconnect from the VPN the same way:Go into the system tray applet, right-click the OpenVPN applet icon, select the client profile and click Disconnect .

macOS

Installing

Tunnelblick is a free, open source OpenVPN client for macOS. You can download the latest disk image from the Tunnelblick Downloads page. Double-click the downloaded .dmg file and follow the prompts to install.

Towards the end of the installation process, Tunnelblick will ask if you have any configuration files. Answer I have configuration files and let Tunnelblick finish. Open a Finder window and double-click client1.ovpn . Tunnelblick will install the client profile. Administrative privileges are required.

Connecting

Launch Tunnelblick by double-clicking the Tunnelblick icon in the Applications složka. Once Tunnelblick has been launched, there will be a Tunnelblick icon in the menu bar at the top right of the screen for controlling connections. Click on the icon, and then the Connect client1 menu item to initiate the VPN connection. If you are using custom DNS settings with Tunnelblick, you may need check “Allow changes to manually-set network settings” in the advanced configuration dialog.

Linux

Installing

If you are using Linux, there are a variety of tools that you can use depending on your distribution. Your desktop environment or window manager might also include connection utilities.

The most universal way of connecting, however, is to just use the OpenVPN software.

On Ubuntu or Debian, you can install it just as you did on the server by typing:

  1. sudo apt update
  2. sudo apt install openvpn

On CentOS you can enable the EPEL repositories and then install it by typing:

  1. sudo dnf install epel-release
  2. sudo dnf install openvpn

Configuring Clients that use systemd-resolved

First determine if your system is using systemd-resolved to handle DNS resolution by checking the /etc/resolv.conf file:

  1. cat /etc/resolv.conf
Output# This file is managed by man:systemd-resolved(8). Do not edit.
. . .

nameserver 127.0.0.53
options edns0

If your system is configured to use systemd-resolved for DNS resolution, the IP address after the nameserver option will be 127.0.0.53 . There should also be comments in the file like the output that is shown that explain how systemd-resolved is managing the file. If you have a different IP address than 127.0.0.53 then chances are your system is not using systemd-resolved and you can go to the next section on configuring Linux clients that have an update-resolv-conf script instead.

To support these clients, first install the openvpn-systemd-resolved balík. It provides scripts that will force systemd-resolved to use the VPN server for DNS resolution.

  1. sudo apt install openvpn-systemd-resolved

One that package is installed, configure the client to use it, and to send all DNS queries over the VPN interface. Open the client’s VPN file:

  1. nano client1.ovpn

Now uncomment the following lines that you added earlier:

client1.ovpn
script-security 2
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre
dhcp-option DOMAIN-ROUTE .

Configuring Clients that use update-resolv-conf

If your system is not using systemd-resolved to manage DNS, check to see if your distribution includes an /etc/openvpn/update-resolv-conf script instead:

  1. ls /etc/openvpn
Outputupdate-resolv-conf

If your client includes the update-resolv-conf file, then edit the OpenVPN client configuration file that you transferred earlier:

  1. nano client1.ovpn

Uncomment the three lines you added to adjust the DNS settings:

client1.ovpn
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

If you are using CentOS, change the group directive from nogroup to nobody to match the distribution’s available groups:

client1.ovpn
group nobody

Save and close the file.

Connecting

Now, you can connect to the VPN by just pointing the openvpn command to the client configuration file:

  1. sudo openvpn --config client1.ovpn

This should connect you to your VPN.

Note: If your client uses systemd-resolved to manage DNS, check the settings are applied correctly by running the systemd-resolve --status příkaz takto:

  1. systemd-resolve --status tun0

You should see output like the following:

OutputLink 22 (tun0)
. . .
         DNS Servers: 208.67.222.222
                      208.67.220.220
          DNS Domain: ~.

If you see the IP addresses of the DNS servers that you configured on the OpenVPN server, along with the ~. setting for DNS Domain in the output, then you have correctly configured your client to use the VPN server’s DNS resolver. You can also check that you are sending DNS queries over the VPN by using a site like DNS leak test.com.

iOS

Installing

From the iTunes App Store, search for and install OpenVPN Connect, the official iOS OpenVPN client application. To transfer your iOS client configuration onto the device, connect it directly to a computer.

The process of completing the transfer with iTunes is outlined here. Open iTunes on the computer and click on iPhone> apps . Scroll down to the bottom to the File Sharing section and click the OpenVPN app. The blank window to the right, OpenVPN Documents , is for sharing files. Drag the .ovpn file to the OpenVPN Documents window.

Now launch the OpenVPN app on the iPhone. You will receive a notification that a new profile is ready to import. Tap the green plus sign to import it.

Connecting

OpenVPN is now ready to use with the new profile. Start the connection by sliding the Connect button to the On pozice. Disconnect by sliding the same button to Off .

Poznámka :The VPN switch under Settings cannot be used to connect to the VPN. If you try, you will receive a notice to only connect using the OpenVPN app.

Android

Installing

Open the Google Play Store. Search for and install Android OpenVPN Connect, the official Android OpenVPN client application.

You can transfer the .ovpn profile by connecting the Android device to your computer by USB and copying the file over. Alternatively, if you have an SD card reader, you can remove the device’s SD card, copy the profile onto it and then insert the card back into the Android device.

Start the OpenVPN app and tap the FILE menu to import the profile.

Then navigate to the location of the saved profile (the screenshot uses /storage/emulated/0/openvpn ) and select your .ovpn soubor. Tap the IMPORT button to finish importing this profile.

Connecting Once the profile is added, you will see a screen like this:

To connect, tap the toggle button close to the profile you want to use. You’ll see real time stats of your connection and traffic being routed through your OpenVPN server:

To disconnect, just tap the toggle button on the top left once again. You will be prompted to confirm that you want to disconnect from your VPN.

Step 14 — Testing Your VPN Connection (Optional)

Note: This method for testing your VPN connection will only work if you opted to route all your traffic through the VPN in Step 7 when you edited the server.conf file for OpenVPN.

Once everything is installed, a simple check confirms everything is working properly. Without having a VPN connection enabled, open a browser and go to DNSLeakTest.

The site will return the IP address assigned by your internet service provider and as you appear to the rest of the world. To check your DNS settings through the same website, click on Extended Test and it will tell you which DNS servers you are using.

Now connect the OpenVPN client to your Droplet’s VPN and refresh the browser. A completely different IP address (that of your VPN server) should now appear, and this is how you appear to the world. Again, DNSLeakTest’s Extended Test will check your DNS settings and confirm you are now using the DNS resolvers pushed by your VPN.

Step 15 — Revoking Client Certificates

Occasionally, you may need to revoke a client certificate to prevent further access to the OpenVPN server.

To do so, follow the example in the prerequisite tutorial on How to Set Up and Configure a Certificate Authority on Ubuntu 22.04 under the Revoking a Certificate section.

Once you have revoked a certificate for a client using those instructions, you’ll need to copy the generated crl.pem file to your OpenVPN server in the /etc/openvpn/server directory:

  1. sudo cp /tmp/crl.pem /etc/openvpn/server/

Next, open the OpenVPN server configuration file:

  1. sudo nano /etc/openvpn/server/server.conf

At the bottom of the file, add the crl-verify option, which will instruct the OpenVPN server to check the certificate revocation list that you created each time a connection attempt is made:

/etc/openvpn/server/server.conf
crl-verify crl.pem

Save and close the file.

Finally, restart OpenVPN to implement the certificate revocation:

  1. sudo systemctl restart [email protected]

The client should no longer be able to successfully connect to the server using the old credential.

To revoke additional clients, follow this process:

  1. Revoke the certificate with the ./easyrsa revoke client_name příkaz
  2. Generate a new CRL
  3. Transfer the new crl.pem file to your OpenVPN server and copy it to the /etc/openvpn/server/ directory to overwrite the old list.
  4. Restart the OpenVPN service.

You can use this process to revoke any certificates that you’ve previously issued for your server.

Conclusion

You should now have a fully operational virtual private network running on your OpenVPN Server. You can browse the web and download content without worrying about malicious actors tracking your activity.

There are several steps you could take to customize your OpenVPN installation even further, such as configuring your client to connect to the VPN automatically or configuring client-specific rules and access policies. For these and other OpenVPN customizations, you should consult the official OpenVPN documentation.

To configure more clients, you only need to follow steps 6 and 11-13 for each additional device. To revoke access to clients, follow step 15 .


OpenVPN
  1. Jak nastavit a nakonfigurovat certifikační úřad na Ubuntu 22.04

  2. Jak nastavit WireGuard na Ubuntu 22.04

  3. Jak nastavit server a klienta NFS na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat server DHCP na Ubuntu 20.04

  2. Jak nainstalovat a nakonfigurovat server Redis v Ubuntu

  3. Jak nainstalovat a nakonfigurovat OpenVPN Server na Ubuntu 20.04

  1. Jak nainstalovat a nakonfigurovat OpenVPN Access Server

  2. Jak nainstalovat a nakonfigurovat server NFS na Ubuntu 20.04

  3. Jak nainstalovat a nakonfigurovat VNC na Ubuntu 20.04