GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat OpenVPN na CentOS 7 nebo 8

Úvod

Virtuální privátní síť (VPN) šifruje veškerý síťový provoz, maskuje uživatele a chrání je před nedůvěryhodnými sítěmi. Může poskytnout zabezpečené připojení k firemní síti, obejít geografická omezení a umožnit vám surfovat na webu pomocí veřejných sítí Wi-Fi a zároveň zachovat soukromí vašich dat.

OpenVPN je plně funkční řešení VPN s otevřeným zdrojovým kódem Secure Socket Layer (SSL).

V tomto tutoriálu se naučíte, jak nastavit OpenVPN na serveru CentOS 7 a jak se připojit k OpenVPN z klientského počítače.

Předpoklady

  • Server CentOS 7 nebo CentOS 8
  • Uživatelský účet s přístupem root (sudo)
  • Přístup do příkazového řádku/okna terminálu
  • Doména nebo subdoména, která se překládá na váš server
  • Klientský počítač, ze kterého se budete připojovat k serveru OpenVPN

Krok 1:Nainstalujte OpenVPN

1. Aktualizujte úložiště a balíčky CentOS spuštěním:

yum update -y

2. Balíček OpenVPN nemůžete stáhnout z výchozích úložišť CentOS. OpenVPN je však k dispozici v úložišti Extra Packages for Enterprise Linux (EPEL). Chcete-li povolit úložiště EPEL, spusťte příkaz:

yum install epel-release -y

3. Znovu aktualizujte úložiště:

yum update -y

4. Nyní můžete nainstalovat OpenVPN pomocí příkazu:

yum install -y openvpn

Krok 2:Nainstalujte Easy RSA

Dalším krokem je vybudování infrastruktury veřejného klíče (PKI). K tomu je třeba nainstalovat easy RSA , nástroj CLI pro vytváření a správu certifikační autority PKI (CA).

Easy RSA vám pomůže nastavit interní certifikační autoritu (CA) a generovat páry klíčů SSL pro zabezpečení připojení VPN.

1. Ke stažení balíčku easy RSA použijte wget příkaz. Pokud na svém systému CenOS nemáte wget, nainstalujte jej spuštěním:

yum install -y wget

2. V době psaní tohoto článku je nejnovější verze nástroje CLI 3.0.8, kterou si stáhneme. Chcete-li použít jinou verzi, podívejte se na snadnou stránku vydání RSA na GitHubu.

wget https://github.com/OpenVPN/easy-rsa/archive/v3.0.8.tar.gz

3. Dále rozbalte stažený archiv:

tar -xf v3.0.8.tar.gz

4. Vytvořte a přesuňte se do nového openvpn adresář:

cd /etc/openvpn/

5. Poté vytvořte podadresář easy-rsa pod cestou /etc/openvpn :

mkdir /etc/openvpn/easy-rsa

6. Přesuňte extrahovaný adresář do /etc/openvpn/easy-rsa:

mv /root/easy-rsa-3.0.8 /etc/openvpn/easy-rsa

Chcete-li zkontrolovat, zda jste úspěšně přesunuli vše z easy-rsa-3.0.8 adresář, přejděte do easy-rsa pomocí cd /etc/openvpn/easy-rsa a uveďte obsah pomocí ls . Měli byste vidět seznam souborů a složek, jako na obrázku níže.

Krok 3:Nakonfigurujte OpenVPN

Jakmile nainstalujete OpenVPN a Easy RSA, můžete přejít ke konfiguraci serveru OpenVPN.

Pokyny v této části vám pomohou nastavit základní konfiguraci. Můžete jej upravit podle svých potřeb.

Před spuštěním některého z příkazů se ujistěte, že jste se vrátili do kořenového adresáře. Chcete-li to provést, zadejte cd v okně terminálu a stiskněte Enter .

1. Prvním krokem je zkopírování ukázky server.conf soubor z adresáře dokumentace OpenVPN:

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

Pokud nemůžete najít ukázkový konfigurační soubor OpenVPN, vyhledejte jeho umístění pomocí find příkaz:

find / -name server.conf

2. Poté otevřete zkopírovaný konfigurační soubor pomocí textového editoru dle vašeho výběru:

vi etc/openvpn/server.conf

Příkaz otevře ukázkový konfigurační soubor OpenVPN. Komentáře v souboru začínají hashtagem # nebo středník ; .

3. Chcete-li nastavit základní konfiguraci, musíte zrušit komentář následující řádky odstraněním středníků.

  • topology subnet (učiní instalaci OpenVPN jako podsíť)
  • push "redirect-gateway def1 bypass-dhcp" (přikáže klientovi, aby přesměroval provoz přes server OpenVPN)
  • push "dhcp-option DNS 208.67.222.222" (pro připojení k OpenVPN používá překladač OpenDNS)
  • push "dhcp-option DNS 208.67.220.220" (pro připojení k OpenVPN používá překladač OpenDNS)
  • user nobody (spouští OpenVPN bez oprávnění)
  • group nobody (spouští OpenVPN bez oprávnění)

4. Poté vygenerujte statický šifrovací klíč pro povolení ověřování TLS. Chcete-li to provést, vyhledejte řádek tls-auth ta.key 0 a okomentujte jej přidáním ; před ním. Poté pod něj přidejte nový řádek:

tls-crypt myvpn.tlsauth

5. Uložte a ukončete konfigurační soubor.

6. Nakonec vygenerujte statický šifrovací klíč určený v souboru příkazem:

openvpn --genkey --secret /etc/openvpn/myvpn.tlsauth

Krok 4:Vygenerujte klíče a certifikáty

1. Vytvořte vars konfigurační soubor pomocí vars.example uloženy v /easy-rsa/easyrsa3 adresář. Přesuňte se do zmíněného adresáře pomocí:

cd /etc/openvpn/easy-rsa/easyrsa3

2. Obsah můžete vypsat pomocí ls pro kontrolu, zda máte vars.example soubor.

3. Zkopírujte ukázkový soubor vars.example pod názvem vars :

cp vars.example vars

Pokud znovu vypíšete soubory v adresáři, měli byste mít samostatný vars soubor, který můžete použít ke konfiguraci Easy RSA.


4. Otevřete vars soubor v textovém editoru dle vašeho výběru:

vi vars

5. Procházejte soubor a najděte řádky uvedené níže.

#set_var EASYRSA_REQ_COUNTRY "US"
#set_var EASYRSA_REQ_PROVINCE "California"
#set_var EASYRSA_REQ_CITY "San Francisco"
#set_var EASYRSA_REQ_ORG "Copyleft Certificate Co"
#set_var EASYRSA_REQ_EMAIL "[email protected]"
#set_var EASYRSA_REQ_OU "My Organizational Unit"

6. Odkomentujte řádky odstraněním # a nahraďte výchozí hodnoty svými informacemi.

7. Poté najděte řádek určující KEY_NAME a změňte jej na "server" :

export KEY_NAME="server"

8. Nakonec změňte KEY_CN na doménu nebo subdoménu, která se překládá na váš server.

export KEY_CN=openvpn.yourdomain.com

9. Uložte a zavřete soubor.

10. Vyčistěte všechny předchozí klíče a vygenerujte certifikační autoritu:

./easyrsa clean-all

11. Nyní můžete přejít k budování certifikační autority pomocí build-ca skript. Spusťte příkaz:

./easyrsa build-ca

Budete požádáni o nastavení přístupového hesla CA Key Passphrase a běžného názvu vaší CA.

12. Vytvořte klíč a certifikát pro server:

./easyrsa build-server-full server

13. Dále vygenerujte soubor pro výměnu klíčů Diffie-Hellman spuštěním:

./easyrsa gen-dh

14. Pro každého klienta potřebujete také certifikát. Vygenerujte je na serveru a poté je zkopírujte na klientský počítač.

Pomocí následujícího příkazu vytvoříme certifikát a klíč pro klient1 . Příkaz můžete upravit použitím názvu dle vašeho výběru.

./easyrsa build-client-full client1

15. Jakmile vygenerujete klíče a certifikáty, zkopírujte je z pki do openvpn adresář. Chcete-li tak učinit, přejděte do pki adresář spuštěním:

cd /etc/openvpn/easy-rsa/easyrsa3/pki

Musíte zkopírovat celkem čtyři soubory:

  • ca.crt
  • dh.pem
  • ca.key
  • server.key

První dva soubory (ca.crt a dh.pem ) jsou uloženy v pki adresář, zatímco ca.key a server.key jsou v podadresáři pki/private .

Proto zkopírujte ca.crt a dh.pem do openvpn první adresář:

cp ca.crt dh.pem /etc/openvpn

Poté se přesuňte do podadresáře private a zkopírujte ca.key a server.key spuštěním:

cd private
cp ca.key server.key/etc/openvpn

Krok 5:Firewall a konfigurace směrování

Nastavení pravidel brány firewall

1. Začněte kontrolou aktivní zóny brány firewall:

firewall-cmd --get-active-zones

Výstup zobrazí vaši firewalld zónu. V níže uvedeném příkladu je veřejný .


2. Přidejte openvpn služby do seznamu služeb, které firewalld umožňuje v rámci aktivní zóny. Aktivní zóna v našem příkladu je veřejná . Pokud je vaše aktivní zóna důvěryhodná, upravte příkaz odpovídajícím způsobem.

firewall-cmd --zone=public --add-service openvpn

3. Dále proveďte výše uvedená nastavení jako trvalá spuštěním příkazu:

firewall-cmd --zone=public --add-service openvpn --permanent

4. Chcete-li zkontrolovat, zda byla přidána služba openvpn, použijte:

firewall-cmd --list-services --zone=public

5. Poté přidejte maškarádu do runtime instance:

firewall-cmd --add-masquerade

6. A udělejte to natrvalo:

firewall-cmd --add-masquerade --permanent

7. Ověřte, že byla přidána maškaráda spuštěním:

firewall-cmd --query-masquerade

Výstup by měl odpovědět yes .

Směrování konfigurace

Po dokončení výše uvedených kroků přejděte ke směrování do podsítě OpenVPN.

1. Vytvořte proměnnou, která představuje primární síťové rozhraní používané vaším serverem. V níže uvedeném příkazu se proměnná jmenuje VAR . Můžete však vytvořit proměnnou pod názvem, který si vyberete.

VAR=$(ip route get 208.67.222.222 | awk 'NR==1 {print $(NF-2)}')

2. Dále trvale přidejte směrovací pravidlo pomocí proměnné vytvořené výše:

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

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

firewall-cmd --reload

4. Přejděte ke směrování veškerého webového provozu z klienta na IP adresu serveru povolením přesměrování IP. Otevřete soubor sysctl.conf soubor:

vi /etc/sysctl.conf

5. Na začátek souboru přidejte následující řádek:

net.ipv4.ip_forward = 1

6. Nakonec restartujte službu:

systemctl restart network.service

Krok 6:Spusťte OpenVPN

1. Chcete-li spustit službu OpenVPN, spusťte příkaz:

systemctl -f start [email protected]

2. Poté povolte spuštění při startu spuštěním:

systemctl -f enable [email protected]

3. Ověřte, že je služba aktivní pomocí:

systemctl status [email protected]

Výstup by měl odpovědět, že služba OpenVPN pro server je aktivní (běží) .

Krok 7:Konfigurace klienta OpenVPN

Když je vše nastaveno na serveru OpenVPN, můžete nakonfigurovat svůj klientský počítač a připojit jej k serveru.

Jak je uvedeno v kroku 4, každý klientský počítač musí mít místní kopie certifikátu CA, klientského klíče, certifikátu SSL a šifrovacího klíče.

1. Najděte a zkopírujte následující soubory ze serveru do klientského počítače:

  • /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt
  • /etc/openvpn/easy-rsa/easyrsa3/pki/client.crt
  • /etc/openvpn/easy-rsa/easyrsa3/pki/private/client.key
  • /etc/openvpn/myvpn.tlsauth

2. Poté vytvořte konfigurační soubor pro klienta OpenVPN pod názvem client.ovpn na klientském počítači:

vi client.ovpn

3. Přidejte do souboru následující obsah:

client
tls-client
ca /path/to/ca.crt
cert /path/to/client.crt
key /path/to/client.key
tls-crypt /path/to/myvpn.tlsauth
remote-cert-eku "TLS Web Client Authentication"
proto udp
remote your_server_ip 1194 udp
dev tun
topology subnet
pull
user nobody
group nobody

Ujistěte se, že jste vyměnili tučné části za vaše respektované hodnoty.

4. Uložte a zavřete soubor.

Krok 8:Připojte klienta k OpenVPN

Pokyny, jak se připojit k OpenVPN, se liší v závislosti na operačním systému vašeho klientského počítače.

Pro uživatele systému Linux

Chcete-li se připojit k OpenVPN, spusťte příkaz:

openvpn --config /path/to/client.ovpn

Pro uživatele systému Windows

1. Nejprve zkopírujte client.ovpn konfiguračního souboru v C:Program FilesOpenVPNconfig adresář.

2. Stáhněte a nainstalujte aplikaci OpenVPN. Nejnovější sestavení najdete na stránce OpenVPN Community Downloads. Jakmile aplikaci nainstalujete, spusťte OpenVPN.

3. Klikněte pravým tlačítkem na ikonu OpenVPN na hlavním panelu a vyberte Připojit . K provedení tohoto úkolu potřebujete oprávnění správce.

Pro uživatele macOS

K OpenVPN se můžete připojit ze systému macOS pomocí Tunnelblick (otevřené grafické uživatelské rozhraní pro OpenVPN v OS X a macOS).

Před spuštěním Tunnelblick nezapomeňte uložit client.ovpn konfigurační soubor v adresáři ~/Library/Application Support/Tunnelblick/Configurations .


Cent OS
  1. Jak nainstalovat PHP 7, 7.2 a 7.3 na CentOS 7

  2. Jak nainstalovat Java 11 &12 na CentOS 7

  3. Jak nainstalovat Wine 4.0 na CentOS 7

  1. Jak nainstalovat Vim 8.2 na CentOS 7

  2. Jak nainstalovat VirtualBox na CentOS 7

  3. Jak nainstalovat Git na CentOS 8

  1. Jak nainstalovat Docker na CentOS 8

  2. Jak nainstalovat Java 8 &11 na Centos 8

  3. Jak nainstalovat MySQL na CentOS 8