GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat a nakonfigurovat OpenVPN Server na Debian 10

OpenVPN je software s otevřeným zdrojovým kódem, který lze použít k bezpečnému přístupu k internetu při připojení k nedůvěryhodné síti. OpenVPN vám umožňuje udržovat vaše online data v bezpečí jejich tunelováním přes šifrované servery. OpenVPN používá SSL/TLS pro výměnu klíčů a je schopen procházet překladače síťových adres. Na trhu je k dispozici mnoho softwaru VPN, ale všechny jsou nákladné a/nebo náročné na nastavení a správu. Zatímco OpenVPN je zdarma, snadno se nastavuje, konfiguruje a spravuje.

V tomto tutoriálu vysvětlíme, jak nastavit OpenVPN server na serveru Debian 10.

Požadavky

  • Dva servery se systémem Debian 10.
  • Na serveru VPN je nakonfigurována statická adresa IP 192.168.0.103 a na klientovi VPN je nakonfigurována adresa 192.168.0.102.
  • Na obou serverech je nakonfigurováno heslo uživatele root.

Instalovat OpenVPN

Nejprve budete muset povolit předávání IP pro správné předávání síťových paketů. Můžete to udělat úpravou souboru /etc/sysctl.conf:

nano /etc/sysctl.conf

Změňte následující řádek:

net.ipv4.ip_forward=1

Po dokončení uložte a zavřete soubor. Poté použijte nová nastavení spuštěním následujícího příkazu:

sysctl -p

Dále nainstalujte balíček OpenVPN pouhým spuštěním následujícího příkazu:

apt-get install openvpn -y

Po dokončení instalace můžete přejít k dalšímu kroku.

Generovat certifikát serveru a klíč

Nejprve budete muset zkopírovat adresář EasyRSA do /etc/openvpn/. Můžete to udělat pomocí následujícího příkazu:

cp -r /usr/share/easy-rsa /etc/openvpn/

Dále změňte adresář na easy-rsa a přejmenujte soubor vars.example:

cd /etc/openvpn/easy-rsa
mv vars.example vars

Dále otevřete soubor vars:

nano vars

Přidejte následující řádky:

export KEY_COUNTRY="INDIA"export KEY_PROVINCE="CA"export KEY_CITY="Junagadh"export KEY_ORG="Howtoforge"export KEY_EMAIL="[email protected]"export KEY_OU="OpenVPN"

Po dokončení uložte a zavřete soubor. Poté inicializujte PKI pomocí následujícího příkazu:

./easyrsa init-pki

Měli byste vidět následující výstup:

Poznámka:pomocí konfigurace Easy-RSA z:./varsinit-pki complete; nyní můžete vytvořit CA nebo požadavky. Váš nově vytvořený adresář PKI je:/etc/openvpn/easy-rsa/pki

Dále vytvořte certifikační autoritu bez hesla, jak je znázorněno níže:

./easyrsa build-ca nopass

Měli byste vidět následující výstup:

Poznámka:pomocí konfigurace Easy-RSA z:./varsUsing SSL:openssl OpenSSL 1.1.1c 28. května 2019Generování soukromého klíče RSA, 2048 bitů dlouhý modul (2 prvočísla)............. ......................++++++..............+++++e je 65537 ( 0x010001)Nelze načíst /etc/openvpn/easy-rsa/pki/.rnd do RNG140449484268672:error:2406F079:generátor náhodných čísel:RAND_load_file:Nelze otevřít soubor:../crypto.crand:9randfile =/etc/openvpn/easy-rsa/pki/.rnd Budete požádáni o zadání informací, které budou začleněny do vaší žádosti o certifikát. Chystáte se zadat to, co se nazývá rozlišovací jméno nebo DN. Existuje celá řada několik 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é.-----Common Name (např.:váš uživatel, název hostitele nebo serveru ) [Easy-RSA CA]:Vytvoření serverCA 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/openvpn/easy-rsa/pki/ca.crt

Dále vygenerujte klíč serveru pomocí následujícího příkazu:

./easyrsa gen-req server nopass

Měli byste vidět následující výstup:

Poznámka:pomocí konfigurace Easy-RSA z:./varsUsing SSL:openssl OpenSSL 1.1.1c 28. května 2019Generování soukromého klíče RSA...+++++............. ................................................................... .................................................+ ++++zápis nového soukromého klíče do '/etc/openvpn/easy-rsa/pki/private/server.key.uQ7rqU8ryK'-----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, je to, co se nazývá rozlišovací jméno nebo DN. Existuje 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 bude ponecháno prázdné.-----Běžný název (např.:název vašeho uživatele, hostitele nebo serveru) [server]:Požadavek na párování klíčů a certifikát byl dokončen. Vaše soubory jsou:req:/etc/openvpn/easy-rsa/pki/reqs/server.reqkey:/etc/openvpn/easy-rsa/pki/private/server.key

Dále podepište certifikát serveru pomocí následujícího příkazu:

./easyrsa sign-req server server

Měli byste vidět následující výstup:

Poznámka:pomocí konfigurace Easy-RSA z:./varsUsing SSL:openssl OpenSSL 1.1.1c 28. května 2019Chystáte se podepsat následující certifikát. Zkontrolujte prosím podrobnosti uvedené níže kvůli přesnosti. Upozorňujeme, že tento požadavek nebyl kryptograficky ověřen. Ujistěte se prosím, že pochází z důvěryhodného zdroje nebo že jste ověřili kontrolní součet požadavku u odesílatele. Předmět požadavku, který má být podepsán jako certifikát serveru po dobu 1080 dní:subject=commonName =serverZadejte slovo 'ano' a pokračujte nebo jakékoli jiné vstup k přerušení. Potvrďte podrobnosti požadavku:anoPomocí konfigurace z /etc/openvpn/easy-rsa/pki/safessl-easyrsa.cnfZkontrolujte, zda se požadavek shoduje s podpisemPodpis okRozlišující jméno subjektu je následující běžnéName :ASN.1 12:Certifikát 'server' má být certifikován do 5. září 15:43:29 2022 GMT (1080 dní)Zapište databázi s 1 novými položkamiDatabáze UpdatedCertificate vytvořen na:/etc/openvpn/easy-rsa/pki/issued/server.crt

Dále vytvořte výměnu klíčů Diffie-Hellman pomocí následujícího příkazu:

./easyrsa gen-dh

Měli byste vidět následující výstup:

Poznámka:pomocí konfigurace Easy-RSA z:./varsUsing SSL:openssl OpenSSL 1.1.1c 28. května 2019Generování DH parametrů, 2048 bit dlouhé bezpečné prvočíslo, generátor 2To bude trvat dlouho....... ............+................................................ .......+................................................ ................................................................... ................................................................... ................................................................... ................................................................... ..........+.......+................................ .................................................+. .............+................................................ ..+................................ .......................+................................ ................................................................... ..............+................................................ ...................+................................+. ................................................................... ................................................... ..+................................................ ...................................... + ............ ....+............+.+............................+. ................................................................... ................................................................... ...........................................+....... .....+................................................ ...+................................................ ................................................................... ................................................................... ..................................+......................... ................................................................... .................................................+. ................................................................... ................................................................... ................................................................... ................................................+...... ........................................+ ................................................................... ................................................................... ......................+................................ ................................................................... ................................................................... ......+................................................+...... ................................................................... ................................................................... ................................................................... ......................+................................ ................................................................... ...................+................................................ ................................................................... ..............+................................ ................................................................... ................................................................... ................................................................... ...+...........+..................+.....+.......... ................................................................... ..................................................+... ................................................................... .....+............+................................ .......+................................................. ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... .......+................................ ................................................................... ..........................+................................ .....+................................................ ................................................................... ................................................................... ................................................................... ......................+ ..........................+... ................................................................... ..+.......................+................................ ..........+................................................ ......................+................................ ................................................................... ................................................................... ..................................+......................... ................................................................... ...+................................ ................................................................... ...................................................... +.. ................................................+...... .................................................+ .......................+................................ ................................................................... ................................................................... ................................................................... ......................................+................ ................................................................... ................................................................... ..............+................................ ................................................................... ................................................................... ................................................................... .......+................................................. .................................................+. ................................................................... .......++*++*++*++*DH parametry velikosti 2048 vytvořené na /etc/openvpn/easy-rsa/pki/dh.pem

Dále vygenerujte podpis HMAC pomocí následujícího příkazu:

openvpn --genkey --secret ta.key

Nakonec zkopírujte celý certifikát a klíč do adresáře /etc/openvpn:

cp ta.key /etc/openvpn/
cp pki/ca.crt /etc/openvpn/
cp pki/private/server.key /etc/openvpn/
cp pki /issued/server.crt /etc/openvpn/
cp pki/dh.pem /etc/openvpn/

Vygenerovat klientský certifikát a klíč

Dále vygenerujte klientský certifikát pomocí následujícího příkazu:

./easyrsa gen-req klient nopass

Měli byste vidět následující výstup:

Poznámka:pomocí konfigurace Easy-RSA z:./varsUsing SSL:openssl OpenSSL 1.1.1c 28. května 2019Generování soukromého klíče RSA...................... ......................++++++...............+++++zápis nového soukromého klíče na '/etc/openvpn/easy-rsa/pki/private/client.key.wU45j6E0Dt'-----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, je co se nazývá rozlišovací jméno nebo DN. Existuje 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é.----- Common Name (např.:váš uživatel, název hostitele nebo serveru) [klient]:Požadavek na párování klíčů a certifikát byl dokončen. Vaše soubory jsou:req:/etc/openvpn/easy-rsa/pki/reqs/client.reqkey:/etc/openvpn/easy-rsa/pki/private/client.key

Dále podepište klientský certifikát pomocí následujícího příkazu:

./easyrsa sign-req klientský klient

Měli byste vidět následující výstup:

Poznámka:pomocí konfigurace Easy-RSA z:./varsUsing SSL:openssl OpenSSL 1.1.1c 28. května 2019Chystáte se podepsat následující certifikát. Zkontrolujte prosím podrobnosti uvedené níže kvůli přesnosti. Upozorňujeme, že tento požadavek nebyl kryptograficky ověřen. Ujistěte se prosím, že pochází z důvěryhodného zdroje nebo že jste u odesílatele ověřili kontrolní součet požadavku. Předmět požadavku, který má být podepsán jako klientský certifikát na 1080 dní:subject=commonName =clientChcete-li pokračovat, zadejte slovo „ano“ nebo jakékoli jiné vstup k přerušení. Potvrďte podrobnosti požadavku:yesPoužitím konfigurace z /etc/openvpn/easy-rsa/pki/safessl-easyrsa.cnfZadejte heslo pro /etc/openvpn/easy-rsa/pki/private/ca.key:Zkontrolujte, zda se požadavek shoduje s podpisem okRozlišující jméno subjektu je následujícícommonName :ASN.1 12:'client'Certificate má být certifikován do 5. září 12:28:25 2022 GMT (1080 dní)Zapište databázi s 1 novými položkamiDatabáze AktualizovanýCertificate vytvořen na:/etc/ openvpn/easy-rsa/pki/issued/client.crt

Dále zkopírujte všechny klientské certifikáty a klíče do adresáře /etc/openvpn/client/:

cp pki/ca.crt /etc/openvpn/client/
cp pki/issued/client.crt /etc/openvpn/client/
cp pki/private/client.key /etc/ openvpn/client/

Konfigurace serveru OpenVPN

Nyní jsou vygenerovány všechny požadované certifikáty a klíče pro server a klienta. Dále budete muset vytvořit konfigurační soubor OpenVPN. Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/openvpn/server.conf

Přidejte následující obsah:

port 1194proto udpdev tunca ca.crtcert server.crtkey server.key # Tento soubor by měl být uchován v tajnostidh dh.pemserver 10.8.0.0 255.255.255.0push "redirect-gateway def1 bypass-dhcp"push-push "dh. 222.222"push "dhcp-option DNS 208.67.220.220"keepalive 10 120tls-auth ta.key 0 # Tento soubor je tajná šifra AES-256-CBCuser Nobodygroup nogrouppersist-keypersist-tunstatus /logpvar/logus/openv var/log/openvpn/openvpn.loglog-append /var/log/openvpn/openvpn.logverb 3explicit-exit-notify 1

Uložte a zavřete soubor. Poté spusťte službu OpenVPN pomocí následujícího příkazu:

systemctl start [email protected]

Dále ověřte server OpenVPN pomocí následujícího příkazu:

stav systemctl [e-mail chráněn]

Výstup:

? [chráněno e-mailem] – Připojení OpenVPN k serveru Načteno:načteno (/lib/systemd/system/[e-mail chráněno]; zakázáno; přednastaveno dodavatelem:povoleno) Aktivní:aktivní (běží) od So 2019-09-21 08:46:47 EDT; Před 6 s Dokumenty:muž:openvpn(8) https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage https://community.openvpn.net/openvpn/wiki/HOWTO Hlavní PID:5040 (openvpn) Stav:" Inicializační sekvence dokončena" Úkoly:1 (limit:1138) Paměť:1,7M CGroup:/system.slice/system-openvpn.slice/[email protected] ??5040 /usr/sbin/openvpn --daemon ovpn-server -- status /run/openvpn/server.status 10 --cd /etc/openvpn --config /etc/openvpn/server.Sep 21 08:46:47 debian systemd[1]:Spouštění připojení OpenVPN k serveru...Sep 21 08:46:47 debian systemd[1]:Zahájeno připojení OpenVPN k serveru.

Instalace a konfigurace klienta OpenVPN

Dále se přihlaste do klientského systému OpenVPN a nainstalujte balíček OpenVPN pomocí následujícího příkazu:

apt-get install openvpn -y

Po instalaci vytvořte nový konfigurační soubor pro klienta OpenVPN:

nano /etc/openvpn/client.conf

Definujte IP adresu svého serveru a soubor klientského certifikátu, jak je uvedeno níže:

clientdev tunproto udpremote 192.168.0.103 1194resolv-retry infinitenobinduser Nobodygroup nogrouppersist-keypersist-tunca ca.crtcert client.crtkey client.keyremote-cert-tls servertls-auth AES-256BC ta.key 1cipher 

Uložte a zavřete soubor. Poté zkopírujte veškerý klientský certifikát a soubor klíče ze serveru OpenVPN do klientského systému OpenVPN pomocí následujícího příkazu:

scp [e-mail chráněný]:/etc/openvpn/client/ca.crt /etc/openvpn/
scp [chráněný e-mailem]:/etc/openvpn/client/client.crt /etc/openvpn/
scp [chráněno e-mailem]:/etc/openvpn/client/client.key /etc/openvpn/
scp [chráněno e-mailem]:/etc/openvpn/ta.key /etc/openvpn/

Dále spusťte klientskou službu OpenVPN pomocí následujícího příkazu:

systemctl start [email protected]

Nyní můžete vidět novou IP adresu přidělenou serverem OpenVPN pomocí následujícího příkazu:

ifconfig

Měli byste vidět následující výstup:

enp0s3:flags=4163 mtu 1500 inet 192.168.0.102 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 04ffid:092.168.0.255 inet04 ffid:090:0lenx :27:99:dc:40 txqueuelen 1000 (Ethernet) RX pakety 447 bajtů 42864 (41,8 KiB) Chyby RX 0 zahozené 0 přetečení 0 rámec 0 TX pakety 334 bajtů zahozené kolize 47502 (46,3 0 kiB) 0 chyby přetečení nosiče 0lo:flags=73 mtu 65536 inet 127.0.0.1 maska ​​sítě 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10  loop txqueuelen 1000 (Local Loopback) RX pakety 57 bajtů 9754 (9,5 KiB) Chyby RX 0 zahozené 0 přetečení 0 rámec 0 TX pakety 57 bajtů 9754 (9,5 KiB) Chyby TX 0 zahozené 0 přetečení 0 tun kolize:0 tun kolize =4305 mtu 1500 inet 10.8.0.6 maska ​​sítě 255.255.255.255 cíl 10.8.0.5 inet6 fe80::52b5:a1d2:0.0len 6:a1d2:0.faid-rozsah:00 -00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC) RX pakety 0 bajtů 0 (0,0 B) Chyby RX 0 zahozené 0 přetečení 0 rámec 0 TX pakety 9 bajtů 472 (472,0 B) chyby TX 0 zahozené 0 překročení 0 přenašeč 0 kolize 0 

Dále přejděte do systému serveru OpenVPN a zkontrolujte protokol OpenVPN pomocí následujícího příkazu:

tail -f /var/log/openvpn/openvpn.log

Měli byste získat následující výstup:

Ne 22. září 19:46:08 2019 192.168.0.103:45700 Řídicí kanál:TLSv1.3, šifra TLSv1.3 TLS_AES_256_GCM_SHA384, 2048 bit RSAS16108192.0.4619081922.0.0.0.048 RSAS161081922.0.0. Připojení zahájeno pomocí [AF_INET]192.168.0.103:45700Ne 22. září 19:46:08 2019 _/192.168.0.103:45700 MULTI_sva:pool vrácen IPv4=10.8.0.6, IPv6:08(No19, IPv6) 2019 _/192.168.0.103:45700 MULTI:Naučte se:10.8.0.6 -> _/192.168.0.103:45700Ne 22. září 19:46:08 2019 _/192.1319 primární IP.0.0413:08.06. :45700:10.8.0.6Ne 22. září 19:46:09 2019 _/192.168.0.103:45700 PUSH:Přijatá kontrolní zpráva:'PUSH_REQUEST'Sun 22. září 19:48157911 19:46157901 _]:'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 208.67.222.222,dhcp-option DNS 208.67.220.220,route 10.8.0.1,topology net30,pingre 0.0. 10.8.0.5,peer-id 0,cipher AES-256-GCM' (stav=1)Ne 22. září 19:46:09 2019 _/192.168.0.103:45700 Datový kanál:pomocí neg otiated šifra 'AES-256-GCM'Ne 22. září 19:46:09 2019 _/192.168.0.103:45700 Kanál odchozích dat:Šifra 'AES-256-GCM' inicializována pomocí 256bitového klíčeNe 19. září:22 _/192.168.0.103:45700 Příchozí datový kanál:Šifra 'AES-256-GCM' inicializována 256bitovým klíčem

Gratulujeme! úspěšně jste nainstalovali a nakonfigurovali OpenVPN server a klienta na Debianu 10.


Debian
  1. Jak nainstalovat a nakonfigurovat Redis 6.0 na Debian 11

  2. Jak nainstalovat a nakonfigurovat VNC Server na Debian 10

  3. Jak nainstalovat a nakonfigurovat Squid Proxy na Debian 11

  1. Jak nainstalovat a nakonfigurovat docker na Debian 11

  2. Jak nainstalovat a nakonfigurovat Mariadb 10 v Debianu 11

  3. Jak nainstalovat a nakonfigurovat MongoDB 5 na Debian 11

  1. Jak nainstalovat a nakonfigurovat OpenVPN Access Server

  2. Jak nainstalovat a nakonfigurovat Redis 6 na Debian 11

  3. Jak nainstalovat a nakonfigurovat OpenVPN Server na Ubuntu 20.04