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

Nastavte OpenVPN Server na Rocky Linux 8

V této příručce se naučíme, jak nainstalovat a snadno nastavit OpenVPN Server na Rocky Linux 8. OpenVPN je robustní a vysoce flexibilní software VPN s otevřeným zdrojovým kódem, který využívá všechny funkce šifrování, ověřování a certifikace knihovny OpenSSL. pro bezpečné tunelování IP sítí přes jeden UDP nebo TCP port. Usnadňuje rozšíření privátní sítě přes veřejnou síť při zachování bezpečnosti, které by bylo dosaženo v privátní síti.

Nastavení serveru OpenVPN na Rocky Linux 8

Nainstalujte úložiště EPEL

Nejnovější balíčky OpenVPN poskytují repozitáře EPEL na Rocky Linux 8 a dalších podobných derivátech. EPEL lze nainstalovat na Rocky Linux 8 spuštěním příkazu níže;

dnf install epel-release -y

Nainstalujte OpenVPN na Rocky Linux 8

Jakmile jsou repozitáře EPEL na místě, můžete nyní nainstalovat balíček OpenVPN na Rocky Linux 8 provedením příkazu níže;

dnf install openvpn

Nainstalujte Easy-RSA CA Utility na Rocky Linux 8

Balíček Easy-RSA je nástroj CA založený na shellu, který se používá ke generování párů klíčů SSL, které se používají k zabezpečení připojení VPN.

dnf install easy-rsa

Vytvoření infrastruktury veřejného klíče OpenVPN

Prvním krokem při nastavování serveru OpenVPN je vytvoření PKI, které se skládá z veřejných a soukromých klíčů pro server OpenVPN a připojujících se klientů a hlavního certifikátu certifikační autority a soukromého klíče pro podepisování certifikátů serveru OpenVPN a klientských certifikátů. Pokud je to možné, měli byste z bezpečnostních důvodů vytvořit PKI na samostatném serveru se systémem OpenVPN.

Inicializovat PKI

Easy-RSA se používá pro správu PKI. Skripty Easy-RSA se instalují pod /usr/share/easy-rsa adresář.

Abyste zajistili, že jakákoli provedená konfigurace Easy-RSA nebude v případě upgradu přepsána, zkopírujte skripty do jiného adresáře, nejlépe pod /etc adresář.

mkdir /etc/easy-rsa
cp -air /usr/share/easy-rsa/3/* /etc/easy-rsa/

Jakmile jsou skripty na místě, přejděte do adresáře a inicializujte PKI.

cd /etc/easy-rsa/
./easyrsa init-pki

Ukázkový výstup příkazu;

init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /etc/easy-rsa/pki 

Vygenerujte certifikát a klíč certifikační autority (CA)

Dále vygenerujte certifikát CA a klíč, který se bude používat k podepisování certifikátů, spuštěním příkazů níže v adresáři Easy-RSA výše.

./easyrsa build-ca

Zobrazí se výzva k zadání přístupového hesla klíče CA a běžného názvu serveru.

Používání SSL:openssl OpenSSL 1.1.1g FIPS 21. dubna 2020Zadejte nové přístupové heslo klíče CA:Znovu zadejte nové přístupové heslo klíče CA:Generování soukromého klíče RSA, 2048 bit dlouhý modul (2 prvočísla)............................................++++ +................................................................. ...++++++e je 65537 (0x010001) Budete požádáni o zadání informací, které budou začleněny do vaší žádosti o certifikát. To, co se chystáte zadat, se nazývá rozlišovací jméno nebo DN. Existují poměrně málo polí, ale některá můžete nechat prázdná U některých polí bude výchozí hodnota. Pokud zadáte '.', pole zůstane prázdné.-----Obvyklý název (např.:váš uživatel, hostitel nebo server název) [Easy-RSA CA]:Vytvoření Kifarunix-demo CACA je dokončeno a nyní můžete importovat a podepisovat žádosti o certifikát. Váš nový soubor certifikátu CA pro publikování je na adrese:/etc/easy-rsa/pki/ca.crt

Soubor CA je /etc/easy-rsa/pki/ca.crt .

Vygenerujte parametry Diffie Hellmana

Ve stejném adresáři Easy-RSA jako výše spusťte příkaz níže a vygenerujte soubor klíče Diffie-Hellman, který lze použít pro výměnu klíčů během navázání spojení TLS s připojováním klientů.

./easyrsa gen-dh

Dokončení příkazu bude chvíli trvat. Poté uloží parametry DH na /etc/easy-rsa/pki/dh.pem soubor.

Vygenerujte certifikát a klíč serveru OpenVPN

Chcete-li vygenerovat certifikát a soukromý klíč pro server OpenVPN, spusťte níže uvedený příkaz;

cd /etc/easy-rsa
./easyrsa build-server-full server nopass

Po spuštění příkazu budete vyzváni k zadání výše vytvořené přístupové fráze klíče CA.

nopass zakáže použití přístupové fráze v certifikátech.

Používání SSL:openssl OpenSSL 1.1.1g FIPS 21. dubna 2020Generování soukromého klíče RSA.....+++++............ ...................++++++zápis nového soukromého klíče do '/etc/easy-rsa/pki/easy-rsa-10170.VLZsfK/tmp.4TRoOP '-----Použití konfigurace z /etc/easy-rsa/pki/easy-rsa-10170.VLZsfK/tmp.jTJJ7fZadejte heslo pro /etc/easy-rsa/pki/private/ca.key:Zkontrolujte, že požadavek se shoduje s podpisemPodpis okRozlišující jméno subjektu je následujícícommonName :ASN.1 12:'server'Certifikát má být certifikován do 3. října 18:03:20 2023 GMT (825 dní)Vypsat databázi s 1 novým záznamemDatabáze aktualizována 

Vygenerování klíče ověřovacího kódu zprávy založeného na hash (HMAC)

Chcete-li vygenerovat předsdílený ověřovací klíč TLS/SSL, který bude použit k přidání dalšího podpisu HMAC ke všem paketům handshake SSL/TLS, aby se zabránilo útoku DoS a zahlcení portů UDP, spusťte níže uvedený příkaz;

openvpn --genkey - -secret /etc/easy-rsa/pki/ta.key

Vygenerujte certifikát o zrušení

Chcete-li zneplatnit dříve podepsaný certifikát, musíte vygenerovat certifikát o zrušení.

./easyrsa gen-crl
Používání SSL:openssl OpenSSL 1.1.1g FIPS 21. dubna 2020Pomocí konfigurace z /etc/easy-rsa/pki/easy-rsa-10284.mSzk9F/tmp.qdix0AEZadejte heslo pro /etc/easy-private/ /ca.key:Byl vytvořen aktualizovaný seznam CRL. Soubor CRL:/etc/easy-rsa/pki/crl.pe

Certifikát zneplatnění je uložen jako /etc/easy-rsa/pki/crl.pem .

Zkopírujte certifikáty a klíče serveru do adresáře serveru

Dále zkopírujte všechny vygenerované certifikáty/klíče do konfiguračního adresáře serveru OpenVPN.

cp -rp /etc/easy-rsa/pki/{ca.crt,dh.pem,ta.key,crl.pem,issued,private} /etc/openvpn/server/

Vygenerujte klientský certifikát a klíč OpenVPN

Chcete-li vygenerovat klientský certifikát a soukromý klíč OpenVPN, spusťte příkaz níže;

cd /etc/easy-rsa
./easyrsa build-client-full gentoo nopass

Ukázkový výstup;

Používání SSL:openssl OpenSSL 1.1.1g FIPS 21. dubna 2020Generování soukromého klíče RSA........................++++++.. ................................................................... ...................................++++++zápis nového soukromého klíče do '/atd /easy-rsa/pki/easy-rsa-10316.rcXRdS/tmp.tauo7u'-----Použití konfigurace z /etc/easy-rsa/pki/easy-rsa-10316.rcXRdS/tmp.RxlTawZadejte heslo pro /etc/easy-rsa/pki/private/ca.key:Zkontrolujte, zda se požadavek shoduje s podpisemPodpis okRozlišující jméno subjektu je následujícícommonName :ASN.1 12:'gentoo'Certificate má být ověřeno do 3. října 18:05:23 2023 GMT (825 dní)Vypsat databázi s 1 novým záznamemDatabáze aktualizována

kde gentoo je jméno klienta, pro kterého jsou generovány certifikáty a klíče. Vždy používejte jedinečný společný název pro každého klienta, pro kterého generujete certifikát a klíče.

Chcete-li vygenerovat pro druhého klienta,

./easyrsa build-client-full johndoe nopass

Zkopírujte klientské certifikáty a klíče do adresáře klientů

Vytvořte adresář pro každého klienta v adresáři klienta OpenVPN

mkdir /etc/openvpn/client/{gentoo,johndoe}

Dále zkopírujte všechny klientem vygenerované certifikáty/klíče a certifikát CA do konfiguračního adresáře klienta OpenVPN. Můžete

cp -rp /etc/easy-rsa/pki/{ca.crt,issued/gentoo.crt,private/gentoo.key} /etc/openvpn/client/gentoo
cp -rp /etc/easy-rsa/pki/{ca.crt,issued/johndoe.crt,private/johndoe.key} /etc/openvpn/client/johndoe/

Nakonfigurujte OpenVPN Server na Rocky Linux 8

OpenVPN je dodáván s ukázkovým konfiguračním souborem v adresáři dokumentace. Zkopírujte soubor do /etc/openvpn/server/ a upravte jej tak, aby vyhovoval vašim potřebám.

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

Otevřete konfiguraci pro úpravu.

vim /etc/openvpn/server/server.conf

Soubor je vysoce komentovaný. Přečtěte si komentáře pro každou možnost konfigurace.

V nejzákladnější podobě jsou níže naše konfigurační možnosti bez komentářů.

port 1194proto udp4dev tunca ca.crtcert issue/server.crtkey private/server.key # Tento soubor by měl být uchován v tajnosti dh.pemtopology subnetserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtpush "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 192.168.10.3"taupalke 192.168.10-10.3"cliive .key 0 # Tento soubor je tajný kód AES-256-CBCcomp-lzouser Nobodygroup Nobodypersist-keypersist-tunstatus /var/log/openvpn/openvpn-status.loglog-append /var/log/openvpn/openvpn.logverb 3explicit-exit-notify 1auth SHA512

Po dokončení úprav uložte a ukončete konfiguraci.

Chcete svým klientům OpenVPN přiřadit pevné/statické IP adresy? Postupujte podle níže uvedeného průvodce;

Přiřadit statické IP adresy pro klienty OpenVPN

Vytvořte adresář protokolu;

mkdir /var/log/openvpn/

Prozkoumejte konfiguraci a proveďte další jemné doladění, aby vyhovovala vašim potřebám.

Nakonfigurujte směrování serveru OpenVPN

Abyste zajistili, že provoz z klienta bude směrován přes IP adresu serveru (pomáhá maskovat IP adresu klienta), musíte na serveru OpenVPN povolit předávání IP;

echo "net.ipv4.ip_forward =1">> /etc/sysctl.conf

Spusťte níže uvedený příkaz, abyste provedli změny bez restartování serveru.

sysctl --system

Povolit port služby OpenVPN přes firewall

firewall-cmd --add-port=1194/udp --permanent

Aktivujte IP Masquerading

firewall-cmd --add-masquerade --permanent

Předat provoz přijatý na zadané podsíti OpenVPN, například v našem případě 10.8.0.0/24, na rozhraní, přes které budou odesílány pakety.

Chcete-li najít rozhraní, přes které jsou pakety odesílány, spuštěním příkazu níže;

ip route get 8.8.8.8
8.8.8.8 via 10.0.2.2 dev enp0s3 src 10.0.2.15 uid 0 
    cache 

Název rozhraní a definovaná podsíť se mohou ve vašem případě lišit. Vyměňte je odpovídajícím způsobem.

firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o enp0s 3 -j MASQUERADE

Znovu načtěte firewall, aby se změny projevily.

firewall-cmd --reload

Spusťte a nastavte spuštění OpenVPN při spouštění systému.

systemctl enable --now [email protected]

Když služba OpenVPN běží, vytvoří tunelové rozhraní, tun0;

ip add s
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::afd7:17a6:57ee:7f3b/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever 

Kontrola protokolů;

tail /var/log/openvpn/openvpn.log
/sbin/ip addr add dev tun0 10.8.0.1/24 broadcast 10.8.0.255Socket Buffers:R=[212992->212992] S=[212992->212992]Link UDPv4 local (bound):[AF_INET][ undef]:1194UDPv4 link remote:[AF_UNSPEC]GID nastaven na NobodyUID nastaven na NobodyMULTI:multi_init voláno, r=256 v=256IFCONFIG POOL:base=10.8.0.2 size=252, ipv6=0IFCONFIG POOL LIST
Sekvence inicializace dokončena

Váš OpenVPN Server je nyní v provozu. Tím se dostáváme na konec našeho průvodce, jak nainstalovat a nastavit OpenVPN Server na Rocky Linux 8.

Nyní můžete přistoupit ke konfiguraci klientů OpenVPN a propojit je prostřednictvím serveru vpn.

Nainstalujte a nakonfigurujte klienta OpenVPN na Rocky Linux 8

Další výukové programy

Přiřadit statické IP adresy pro klienty OpenVPN

Nakonfigurujte OpenVPN LDAP Based Authentication


OpenVPN
  1. Počáteční nastavení serveru s Ubuntu 14.04

  2. Nainstalujte a nakonfigurujte klienta OpenVPN na Rocky Linux 8

  3. Nastavte OpenVPN Server na Rocky Linux 8

  1. Nastavení serveru WebDAV na Ubuntu Linux

  2. Nainstalujte a nastavte OpenVPN Server na Ubuntu 20.04

  3. Nastavte OpenVPN Server na CentOS 8

  1. Nakonfigurujte svůj server OpenVPN v systému Linux

  2. Nainstalujte OpenVPN do svého počítače se systémem Linux

  3. Jak nastavit SSH bez hesla v systému Linux