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

Nastavení serveru OpenVPN s CentOS a viskozitou

Virtuální privátní sítě (VPN) lze využít pro řadu velmi užitečných aplikací. Můžete se bezpečně připojit k jakémukoli veřejnému WiFi hotspotu. Můžete překonat omezení geografického blokování na svých oblíbených webových stránkách. A dokonce se můžete připojit ke své domácí nebo kancelářské síti odkudkoli na světě, jako byste seděli přímo u svého stolu. Tato příručka vás provede procesem nastavení vašeho vlastního serveru OpenVPN a připojení k němu pomocí vaší kopie Viscosity.

Provozování vlastního serveru OpenVPN vám umožní zašifrovat vše, co děláte na internetu, takže můžete bezpečně provádět online bankovnictví na bezplatné WiFi ve vaší oblíbené kavárně. Vše, co odešlete přes připojení VPN, bude z vašeho zařízení šifrováno, dokud se nedostane na váš server OpenVPN doma. Nastavením vašeho OpenVPN serveru pro přístup k vaší domácí nebo kancelářské síti získáte plný přístup ke všem vašim souborům ve vaší síti.

Tato příručka vás provede kroky souvisejícími s nastavením serveru OpenVPN na hostiteli CentOS, který vám umožní bezpečný přístup k vaší domácí/kancelářské síti ze vzdáleného místa a volitelně přes ni posílá veškerý síťový provoz, abyste měli přístup k internetu. také bezpečně.

Příprava

Pro tuto příručku předpokládáme:

  • Již jste nainstalovali nejnovější verzi CentOS 7 . Přečtěte si prosím naši příručku Red Hat pro CentOS 8.
  • Máte root přístup k této instalaci
  • Znáte názvy svých síťových rozhraní (pokyny níže)
  • Tato instalace CentOS je nová instalace
  • Na klientském zařízení již máte nainstalovanou kopii aplikace Viscosity

Pokud si potřebujete stáhnout a nainstalovat kopii CentOS, kopii najdete na https://www.centos.org/download/. Nebudeme se zabývat podrobnostmi nastavení instance CentOS, mnoho průvodců lze nalézt online. Pokud používáte jinou verzi CentOS, je velmi pravděpodobné, že mnoho nebo dokonce všechny kroky popsané v této příručce budou stále platit. Pokud chcete nastavit server OpenVPN na jiném operačním systému, podívejte se prosím na naše další průvodce.

Pokud ještě nemáte na svém klientovi nainstalovanou kopii Viscosity, podívejte se prosím na tuto instalační příručku pro instalaci Viscosity (Mac | Windows).

Chcete-li získat název primárního síťového rozhraní (WAN Access), spusťte na svém serveru CentOS následující:
ip route | grep default | awk 'NR==1 {print $(NF-4)}'

Máte-li druhé síťové rozhraní pro přístup k počítačům v místní síti, budete při nastavování brány firewall a směrování potřebovat také jeho název.

Podpora

Bohužel nemůžeme poskytnout žádnou přímou podporu pro nastavení vašeho vlastního OpenVPN serveru. Tuto příručku poskytujeme jako laskavost, která vám pomůže začít s vaší kopií Viscosity a využít ji na maximum. Důkladně jsme otestovali kroky v této příručce, abychom zajistili, že pokud budete postupovat podle pokynů podrobně uvedených níže, měli byste být na dobré cestě využívat výhod provozování vlastního serveru OpenVPN.

Pro další informace nebo pomoc s CentOS se podívejte na komunitní fóra na https://www.centos.org/forums/

Přístup k rozhraní příkazového řádku

Kroky popsané v této příručce se provádějí prostřednictvím rozhraní příkazového řádku (tj. terminálu) na vašem serveru CentOS. Pokud tento server provozujete vzdáleně, budete muset použít aplikaci SSH pro bezpečné připojení mezi vaším klientským zařízením a serverem (pro „SSH do“ vašeho serveru). Pokud nastavujete svůj OpenVPN server na virtuálním privátním serveru (VPS), možná znáte pouze webové rozhraní. Mnoho dodavatelů VPS poskytuje kromě webového rozhraní i SSH přístup. Podrobnosti vám sdělí váš poskytovatel VPS.

Pokud jste v SSH noví, v našem Úvodním průvodci máme několik pokynů.

CentOS Desktop

Pokud máte místní přístup ke svému serveru CentOS, můžete kroky uvedené v této příručce provést přímo, aniž byste se na server připojovali pomocí SSH. Kroky je třeba provést v okně terminálu, takže prvním krokem je otevřít okno terminálu v CentOS s přístupem root. Na ploše otevřete aplikaci terminálu kliknutím na rozbalovací nabídku „Aplikace“ v levém horním rohu a výběrem položky „Terminál“ z Oblíbených seznam. Tím se otevře okno terminálu, ze kterého můžeme pokračovat ve zbytku nastavení.

Nyní, když máte přístup k terminálu na serveru CentOS, musíte změnit uživatele na root. Do okna terminálu zadejte:

su root

poté na výzvu zadejte heslo uživatele root. Uvidíte, že jste nyní přihlášeni k účtu root.

Začínáme

Jakmile se přihlásíme do rootu, musíme se ujistit, že seznam úložišť CentOS je aktuální zadáním následujícího:

yum update -y

To projde a aktualizuje předinstalované balíčky. Pokud budou nalezeny nějaké aktualizace, budete dotázáni, zda chcete pokračovat. Potvrďte to zadáním y . Po dokončení upgradu balíčku můžete být informováni, že budete muset restartovat. Pokud ano, ujistěte se, že se po restartu znovu přihlaste k terminálu jako root.

Dále budeme muset nainstalovat EPEL (Extra Packages for Enterprise Linux), protože obsahuje balíček OpenVPN.

yum install epel-release -y

Nyní, když máme rozšířené balíčky, můžeme pokračovat a nainstalovat OpenVPN. Do terminálu zadejte následující:

yum install openvpn -y

Generování konfigurací, certifikátů a klíčů

Dalším krokem je vygenerování vašich konfigurací pro server a vaše klienty, stejně jako certifikáty k nim. Můžete to snadno provést podle Průvodce vytvářením certifikátů a klíčů. Můžete buď postupovat podle části pro Linux pomocí instalačního programu CentOS 7 RPM a zkopírovat konfigurace klienta ze serveru (doporučujeme to), nebo si vše vygenerovat na svém PC nebo Mac a zkopírovat server složku, která je vygenerována na vašem serveru CentOS.

Pokud používáte výchozí DNS Server (10.8.0.1), budete si muset DNS server nastavit sami, pokyny jsou na konci tohoto článku. Místo toho doporučujeme použít existující DNS server, veřejně dostupný DNS server, jako je Google (8.8.8.8 a 8.8.4.4), je nejjednodušší.

Jakmile vygenerujete své konfigurace, budete muset přenést konfiguraci serveru na váš server nebo přenést konfigurace klienta ze serveru. Pokud máte místní přístup, USB disk je nejjednodušší. Pokud ne, máme nějakou nápovědu k přenosu souborů pomocí SCP v našem Úvodním průvodci.

Přesměrování IP

Abychom mohli předávat naše požadavky procházející přes VPN, chceme, aby server OpenVPN fungoval jako router. Proto musíme povolit předávání IP.

  1. V terminálu můžeme povolit předávání IP na serveru CentOS zadáním:
    echo 1 > /proc/sys/net/ipv4/ip_forward
  2. Abychom zajistili, že hostitelé v domácí/kancelářské síti mohou najít server VPN, musíme zajistit, aby server odpovídal na jakékoli požadavky ARP:
    echo 1 > /proc/sys/net/ipv4/conf/ens33/proxy_arp
    kde ens33 je síťové rozhraní domácí/kancelářské sítě, pokud máte dvě síťová rozhraní, nebo jinak primární síťové rozhraní (WAN) (další informace naleznete v části Příprava).
  3. Pokaždé, když restartujeme server, budou tyto příkazy zrušeny. Aby se to nestalo, musíme upravit soubor sysctl.conf:
    nano /etc/sysctl.conf
  4. Na konec tohoto souboru přidejte následující řádky:
    net.ipv4.ip_forward = 1
    a
    net.ipv4.conf.ens33.proxy_arp = 1
  5. Stiskněte ctrl + x pro ukončení nano. Po zobrazení výzvy uložte změny.
  6. Chcete-li povolit změny provedené v souboru sysctl.conf, zadejte:
    sysctl -p /etc/sysctl.conf

Server DNS

Pokud plánujete šifrování veškerého síťového provozu přes váš VPN server, pak se doporučuje povolit váš vlastní DNS server.

  1. Chcete-li nainstalovat server DNS, zadejte:
    yum install bind bind-utils bind-libs bind-chroot
  2. Pro nastavení pravidel předávání pro náš DNS server upravíme konfigurační soubor:
    nano /etc/named.conf
  3. V horní části uvidíte vyztuženou sbírku pokynů označenou jako možnosti . Vložte následující dva řádky na konec seznamu možností:
    forwarders {8.8.8.8;8.8.4.4;}; #IP of upstream nameservers
    forward only; #rely completely on our upstream nameservers
    kde používáme servery Google DNS (můžete použít službu překladu DNS dle vlastního výběru).
  4. Přidejte podsíť VPN (10.8.0.0/24) do poslechu a povolit-dotaz parametry v horní části možností, takže nyní vypadají takto:
    ...
    listen-on port 53 { 10.8.0.0/24;127.0.0.1; };
    ...
    allow-query {10.8.0.0/24;localhost; };
    ...
  5. Stiskněte ctrl + x pro ukončení nano. Po zobrazení výzvy uložte změny.
  6. Nastavte oprávnění souboru conf na 644:
    chmod 644 /etc/named.conf

Protože je tento soubor conf citlivý na chyby, můžeme jej zkontrolovat zadáním:

named-checkconf /etc/named.conf

Pokud váš konfigurační soubor neobsahuje žádné chyby, tento příkaz nic nevrátí.

  1. Otevřete seznam jmenných serverů:
    nano /etc/resolv.conf
  2. Nastavte překladač serveru tak, aby ukazoval na sebe:
    nameserver 127.0.0.1
  3. Stiskněte ctrl + x pro ukončení nano. Po zobrazení výzvy uložte změny.
  4. Pokud váš server CentOS běží na směrovači se službou DHCP, musíte zajistit, aby se při obnovení zapůjčení DHCP nepřepsal soubor resolv.conf. Typ:
    nano /etc/sysconfig/network-scripts/ifcfg-ens33
    Nahraďte ens33 názvem svého primárního síťového rozhraní, pokud se liší (další informace naleznete v části Příprava)
  5. Ujistěte se, že jsou nastaveny následující tři parametry:
    BOOTPROTO=dhcp
    PEERDNS=no
    TYPE=Ethernet
  6. Stiskněte ctrl + x pro ukončení nano. Po zobrazení výzvy uložte změny.
  7. Chcete-li spustit server DNS, zadejte:
    systemctl start named
  8. Povolit automatické spouštění serveru DNS při spouštění systému:
    systemctl enable named

To je vše, DNS server je nyní nastaven.

Pravidla brány firewall

Použijeme výchozí firewalld firewall nainstalovaný ve výchozím nastavení na CentOS. Pokud instalujete OpenVPN na server, který již má vlastní nastavení firewallu, nezapomeňte přidat pravidla, která umožní náš provoz OpenVPN. Pokud se však jedná pouze o jednoduchý samostatný server CentOS, níže uvedená nastavení brány firewall by měla stačit k tomu, aby byl váš server OpenVPN uveden do provozu.

  1. Povolte openvpn služba:
    firewall-cmd --permanent --add-service=openvpn
    firewall-cmd --add-service=openvpn
  2. Nastavte server OpenVPN tak, aby poskytoval maškarádu:
    firewall-cmd --permanent --add-masquerade
    firewall-cmd --add-masquerade
  3. Povolte port OpenVPN (1194):
    firewall-cmd --permanent --add-port=1194/udp
  4. Restartujte bránu firewall s těmito novými nastaveními:
    firewall-cmd --reload

Spuštění serveru OpenVPN

V tomto bodě jsou základy hotové. Konfigurace vašeho serveru a soubory by měly být na vašem serveru zkopírovány z místa, kde jste je vygenerovali.

Nejprve zkopírujte konfigurační soubory serveru do adresáře OpenVPN:

sudo cp /path/to/configs/server/* /etc/openvpn/

Nyní spusťte svůj server a povolte jeho spuštění i po restartu.

systemctl -f enable [email protected]
systemctl start [email protected]

Chcete-li zkontrolovat stav serveru, zadejte:

systemctl -l status [email protected]

Na který by měl odpovědět stavem a zeleně byste měli vidět:

...
Active: active (running)
...

Váš server OpenVPN je nyní spuštěn a připraven, abyste se k němu mohli připojit.

Nastavení routeru

Pokud je váš server CentOS přímo přístupný , pak můžete tuto sekci přeskočit . Neexistuje žádný router, který by bylo možné konfigurovat.

Pokud je však váš server CentOS za routerem (například na vaší domácí WiFi), budete muset router nakonfigurovat tak, aby povoloval provoz VPN. Vzhledem k mnoha různým modelům routerů a konfigurací sítě nemůžeme poskytnout krok za krokem průvodce, jak nastavit router, aby umožňoval provoz VPN. Existuje však několik nastavení, která pravděpodobně budete muset změnit, proto je zde nastíníme.

Vzhledem k tomu, že router bude směrovat veškerý provoz do az vašeho OpenVPN serveru, budete muset nastavit přesměrování portů aby byl server OpenVPN externě přístupný. Přesměrování portů může být v části rozhraní pro správu vašeho routeru s názvem „Virtuální servery“. Obecně budete chtít přesměrovat veškerý příchozí provoz do routeru na portu OpenVPN (1194). Budete muset nastavit pravidlo pro odesílání jakéhokoli UDP provozu na těchto portech na místní IP adresu vašeho OpenVPN serveru (což je pravděpodobně něco v rozsahu 192.168.0.x).

Pokud jste nastavili přesměrování portů, poznamenejte si také svou externí WAN IP adresu . Toto je IP adresa přidělená vašemu routeru vaším poskytovatelem internetových služeb (ISP). Tato adresa bude vyžadována při konfiguraci vašeho připojení ve Viscosity níže.

Dalším hlavním nastavením směrovače, které budete muset zvážit, je statické směrování. Protože budete mít nastavenou VPN, bude do vašeho routeru zasílán provoz se zdrojovou nebo cílovou IP v rozsahu 10.8.0.x. Tento provoz bude muset mít statické směrování, aby bylo zajištěno, že když hostitel obdrží požadavek od klienta VPN (v podsíti 10.8.0.x) a odešle odpověď na tuto adresu, router bude vědět, jak převést 10.8. 0.x IP adresa na adresu, které rozumí (tj. 192.168.0.x). Budete tedy muset nastavit pravidlo statického směrování, které má následující vlastnosti:

Destination: 10.8.0.0
Subnet mask: 255.255.255.0
Default gateway: your-server-IP

kde IP adresa vašeho-serveru je IP adresa vašeho OpenVPN serveru v místní síti (něco v rozsahu 192.168.0.x).

Nastavení viskozity

Posledním krokem je nastavení viskozity. Díky openvpn-generate je to stejně snadné jako import a připojení.

Import

Zkopírujte svůj soubor *.visz, který jste vytvořili pomocí openvpn-generate, do počítače Mac nebo Windows s nainstalovanou viskozitou a dvakrát na soubor klikněte. Měli byste vidět výzvu, že konfigurace byla úspěšně importována.

Připojení a používání připojení VPN

Nyní jste připraveni se připojit. Kliknutím na ikonu Viscosity na liště nabídky macOS nebo na systémové liště Windows otevřete nabídku Viscosity Menu, vyberte připojení, které jste importovali, a Viscosity se připojí.

Chcete-li zkontrolovat, zda je VPN v provozu, můžete otevřít okno Podrobnosti z nabídky Viskozita. To vám umožní zobrazit podrobnosti o připojení, provoz a protokol OpenVPN.



To je vše, nastavili jste svůj vlastní server OpenVPN. Gratulujeme, nyní můžete zdarma využívat výhod provozování vlastního serveru OpenVPN!


OpenVPN
  1. Jak nainstalovat OpenVPN Server a klienta s Easy-RSA 3 na CentOS 7

  2. Nastavení serveru a klienta NFS na CentOS 7.2

  3. Nainstalujte a nastavte OpenVPN Server na Fedora 29/CentOS 7

  1. Jak nainstalovat OpenVPN Server a klienta s Easy-RSA 3 na CentOS 8

  2. Nastavení serveru Obfuscation s Obfsproxy a Viscosity

  3. Nastavení serveru OpenVPN s DD-WRT a viskozitou

  1. Nastavení serveru OpenVPN s Netgear a viskozitou

  2. Nastavení serveru OpenVPN s webovou autentizací Okta Single Sign-on a viskozitou

  3. Nastavení serveru OpenVPN s OPNsense a viskozitou