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ánaVygenerová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.keyVygenerujte certifikát o zrušení
Chcete-li zneplatnit dříve podepsaný certifikát, musíte vygenerovat certifikát o zrušení.
./easyrsa gen-crlPouží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.peCertifiká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 nopassUká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ánakde 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 nopassZkopí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/gentoocp -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.confSoubor 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 SHA512Po 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.confSpusťte níže uvedený příkaz, abyste provedli změny bez restartování serveru.
sysctl --systemPovolit port služby OpenVPN přes firewall
firewall-cmd --add-port=1194/udp --permanentAktivujte IP Masquerading
firewall-cmd --add-masquerade --permanentPř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.88.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 MASQUERADEZnovu načtěte firewall, aby se změny projevily.
firewall-cmd --reloadSpusť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 s4: 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 LISTSekvence inicializace dokončenaVáš 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
Nainstalujte a nakonfigurujte klienta OpenVPN na Rocky Linux 8 Nainstalujte klienta Pritunl VPN na Debian/UbuntuOpenVPN