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

Nastavení serveru OpenVPN s Ubiquiti EdgeRouter (EdgeOS) 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 Ubiquiti EdgeRouter (EdgeOS), 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. také internet bezpečně. Tato příručka byla napsána pomocí Ubiquiti EdgeRouter Lite, ale měla by fungovat s jakýmkoli zařízením Ubiquiti s EdgeOS v1.9 nebo novějším.

Tato příručka se nebude zabývat žádnými problémy souvisejícími s nastavením routeru. Router se systémem EdgeOS pravděpodobně sám funguje jako router, takže budeme předpokládat, že Ubiquiti EdgeRouter je přímo připojen k internetu se svou vlastní IP adresou.

Příprava

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

  • Máte již funkční Ubiquiti EdgeRouter se systémem EdgeOS (také známým jako „EdgeMax Software“) v1.9 nebo novějším.
  • Váš router byl nastaven s alespoň jedním rozhraním WAN a LAN
  • Jste připojeni ke svému Ubiquiti EdgeRouter prostřednictvím připojení LAN.
  • Byl spuštěn pouze průvodce úvodním nastavením pro nastavení routeru s rozhraním WAN a LAN.
  • Na klientském zařízení již máte nainstalovanou kopii aplikace Viscosity

Další informace o produktech Ubiquiti EdgeRouter a EdgeOS naleznete na https://www.ubnt.com/broadband/#edgemax. Aktualizace produktu pro váš router lze nalézt na https://www.ubnt.com/download/. 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).

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 co nejlépe ji využít. Důkladně jsme otestovali kroky v této příručce, abychom zajistili, že pokud budete postupovat podle pokynů 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 vaším Edgerouterem se podívejte na komunitní fóra na https://community.ubnt.com/t5/EdgeRou.../EdgeMAX

Začínáme

Budeme předpokládat, že jste již svá síťová rozhraní jako taková nastavili:

  • 'Internet' – eth0 nebo pppoe0 připojené k internetu
  • 'Local' – eth1 připojené k vaší místní domácí síti

Generování 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íčů. Vygenerujte vše na svém PC nebo Macu a poté si poznamenejte cestu k vašemu serveru složku, která je vytvořena, budeme zde soubory později používat.

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šší.

Nyní musíme zkopírovat následující soubory do /config/auth/ adresář na vašem Edgerouteru, který bude na serveru složku, která openvpn-generate právě vytvořila, doporučujeme použít SCP. Pokud neznáte SCP, máme pro vás pomoc s přenosem souborů pomocí SCP v našem Úvodním průvodci.

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

Pokud používáte SCP z příkazového řádku, příkladem by byl příkaz
scp path/to/server/ca.crt [email protected]:/config/auth/

Konfigurace serveru OpenVPN

V době psaní tohoto článku EdgeOS neobsahuje rozhraní GUI pro nastavení serveru OpenVPN, jako je tomu u jiných protokolů VPN. Naštěstí jsou však na routeru k dispozici všechny nástroje, aby bylo možné snadno nakonfigurovat server OpenVPN pomocí příkazového řádku.

K rozhraní příkazového řádku vašeho routeru můžete přistupovat několika způsoby. Pro účely této příručky budeme používat rozhraní příkazového řádku, které je součástí webového portálu. Chcete-li se k tomu dostat, otevřete webovou stránku a přejděte na adresu IP vašeho zařízení EdgeRouter (ve výchozím nastavení https://192.168.1.1). Přihlaste se a poté klikněte na tlačítko CLI v pravém horním rohu této stránky. Tím se ve vašem prohlížeči otevře okno CLI s černým pozadím. Můžete se přihlásit pomocí stejných údajů, které jste použili pro přihlášení na webovou stránku EdgeOS.

Pro pokročilejší uživatele může tento průvodce následovat také při přístupu k zařízení přes konzolu nebo SSH.


V konfiguraci serveru OpenVPN musíme přizpůsobit řadu různých nastavení. V terminálu zadejte konfigurační režim zadáním:

configure

Měli byste vidět rychlou změnu z $ na # . Pokud uděláte chybu při zadávání následujících konfiguračních příkazů, můžete odstranit dříve zadaný příkaz opakováním, ale nahrazením slova 'set' na začátku slovem 'delete'.

Do okna terminálu vložte následující:

# Configure this OpenVPN instance to run as the VPN server
set interfaces openvpn vtun0 mode server

# The OpenVPN server needs to know the location of the Diffie Hellman file
#NOTE: Depending on how you generated your keys, this file name might be 'dh.pem' instead
set interfaces openvpn vtun0 tls dh-file '/config/auth/dh.pem'

# Our VPN connection will be transported over UDP
set interfaces openvpn vtun0 openvpn-option "--proto udp"

# The server needs to keep a record of client virtual IP addresses so that they
# can be reassigned if the server goes down
set interfaces openvpn vtun0 openvpn-option "--ifconfig-pool-persist ipp.txt"

# To ensure that each side of the VPN knows if the connection has been severed,
# we want to ping each side every 10 seconds. If either side fails to recieve a
# ping within 2 minutes, then it will assume the other side is down
set interfaces openvpn vtun0 openvpn-option "--keepalive 10 120"

# There can be security issues if you run the OpenVPN server as root, so we will
# downgrade the user and group
set interfaces openvpn vtun0 openvpn-option "--user nobody --group nogroup"

# To avoid attempting to access resources that may no longer be accessible on
# restart
set interfaces openvpn vtun0 openvpn-option "--persist-key --persist-tun"

# To write (and rewrite) a short summary of current VPN connections every minute
# to a file
set interfaces openvpn vtun0 openvpn-option "--status openvpn-status.log"

# The verbosity of this connection logging (displayed in the Viscosity 'Details'
#  window) can range from 0 (silent) to 9 extremely verbose. We will use the 
# default of 3
set interfaces openvpn vtun0 openvpn-option "--verb 3"

# To prevent more than 10 duplicates of the same log message in a row from
# flooding the Viscosity log
set interfaces openvpn vtun0 openvpn-option "--mute 10"

# The credential files
set interfaces openvpn vtun0 tls ca-cert-file '/config/auth/ca.crt'
set interfaces openvpn vtun0 tls cert-file '/config/auth/server.crt'
set interfaces openvpn vtun0 tls key-file '/config/auth/server.key'

# The server will use the default OpenVPN port (1194)
set interfaces openvpn vtun0 openvpn-option "--port 1194"

# We need the VPN to create a tun network interface through which we can 
# route all our traffic:
set interfaces openvpn vtun0 openvpn-option "--dev vtun0"

# The VPN requires a private IP subnet. We will use the default OpenVPN IP
# subnet
set interfaces openvpn vtun0 server subnet '10.8.0.0/24'

# We want VPN clients connected to this server to be able to access any hosts
# accessible on your home network. We are assuming that your local network
# subnet is 192.168.0.x/24. If it is something else, you will need to change the
# IP address in the command below.
set interfaces openvpn vtun0 server push-route 192.168.0.0/24

#Set the OpenVPN server to push a DNS server to clients. This can be your local DNS
#which we setup later, an external DNS of your choice, or you can omit this command
#to setup DNS on the client only.
set interfaces openvpn vtun0 server name-server 192.168.1.1

# For enhanced security, set a cipher and auth hash
set interfaces openvpn vtun0 openvpn-option "--cipher AES-256-CBC"
set interfaces openvpn vtun0 openvpn-option "--auth SHA256"

# Lastly, we want to allow hosts on the home network to be able to see VPN
# clients connected to the OpenVPN server
set interfaces openvpn vtun0 openvpn-option "--client-to-client"

#Save and end the configuration
commit
save
exit

Věnujte zvláštní pozornost IP adrese v set interfaces openvpn vtun0 server push-route 192.168.0.0/24 . Ujistěte se, že tato podsíť odpovídá vaší domácí/kancelářské podsíti LAN IP. Pokud nenastavujete tento VPN server pro přístup k vaší domácí/kancelářské LAN, můžete tento řádek úplně přeskočit.

Nyní jsme hotovi s příkazovým řádkem, vše ostatní lze provést z GUI EdgeOS přes webový prohlížeč. Dále se přihlaste ke své trase prostřednictvím zvoleného prohlížeče a na hlavním panelu byste měli vidět nové rozhraní OpenVPN.


Pravidla brány firewall

Pokud používáte výchozí nastavení brány firewall, musíme nastavit pouze několik věcí. Nejprve musíme povolit maskování NAT pro rozhraní VPN. Chcete-li to provést, otevřete webový prohlížeč, přejděte a přihlaste se ke svému zařízení EdgeRouter. Dále klikněte na Firewall/NAT v horní části okna a poté vyberte NAT karta, která se zobrazí pod ním. Klikněte na Přidat pravidlo Nat zdroje a nakonfigurujte následující možnosti:

  • Popis – OpenVPN MASQ eth0
  • Vyberte možnost „Použít maškarádu“
  • Vyberte možnost Všechny protokoly
  • Odchozí rozhraní – eth0
  • Adresa Src – 10.8.0.0/24


Poté klikněte na Uložit. Musíme přidat pravidlo pro každé rozhraní, se kterým chceme, aby klienti OpenVPN mohli komunikovat, takže minimálně musíme přidat jedno další. Klikněte na Přidat pravidlo Nat zdroje znovu a nakonfigurujte následující možnosti:

  • Popis – OpenVPN MASQ eth1
  • Vyberte možnost „Použít maškarádu“
  • Vyberte možnost Všechny protokoly
  • Odchozí rozhraní – eth1
  • Adresa Src – 10.8.0.0/24


Poté klikněte na Uložit.

Dále musíme nakonfigurovat pravidlo brány firewall, které nám umožní připojit se k serveru OpenVPN, když jsme mimo místní síť, například na cestách nebo v kavárně. Chcete-li to provést, klikněte na Firewall/NAT a poté klikněte na Zásady brány firewall karta, která se zobrazí pod


Zde byste měli vidět sadu pravidel s názvem WAN_LOCAL . Chceme k tomu přidat nové pravidlo, takže klikněte na Akce vpravo a vyberte Upravit sadu pravidel . V nově zobrazeném okně klikněte na Přidat nové pravidlo a vyplňte následující údaje:

Karta Obecné:

  • Popis – Povolit externí připojení k OpenVPN
  • Akce – Přijmout
  • Protokol – UDP


Karta Cíl:

  • Port – 1194


Klikněte na Uložit a poté klikněte na Uložit sadu pravidel . Nyní byste měli být schopni se připojit k vašemu OpenVPN serveru z externího umístění.

Server DNS

Pokud plánujete šifrování veškerého síťového provozu přes váš VPN server, pak se doporučuje povolit vlastní DNS server. EdgeOS má vestavěný DNS forwarder, který můžeme použít k poskytování vlastního DNS serveru pro připojení VPN, abychom zabránili útokům souvisejícím s DNS.

Pokud je váš router již nastaven pro vaši místní síť (a zadali jste příkaz k použití routeru jako DNS pro OpenVPN), je velmi snadné znovu použít místní nastavení DNS.

Chcete-li to provést, otevřete webový prohlížeč, přejděte a přihlaste se ke svému zařízení EdgeRouter. Klikněte na Služby a poté klikněte na DNS záložka, která se objeví vespod. Klikněte na Přidat rozhraní pro poslech , vyberte vtun0 v nové rozevírací nabídce, která se zobrazí, klikněte na Uložit pod.

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.

Po importu upravte připojení a přejděte na kartu Upřesnit. Přidejte následující dva příkazy na nové řádky:

cipher AES-256-CBC
auth SHA256

Poté kliknutím na Uložit tyto změny uložte.

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. Apache s Tomcat, Průvodce instalací a konfigurací krok za krokem

  2. Jak nainstalovat a hostovat server OpenVPN pomocí Dockeru

  3. Nainstalujte a nakonfigurujte OpenVPN Server FreeBSD 12

  1. Jak nastavit a nakonfigurovat server OpenVPN na Ubuntu 22.04

  2. Nastavení serveru Obfuscation s Obfsproxy a Viscosity

  3. Nastavení serveru OpenVPN s CentOS a viskozitou

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

  2. Nastavení serveru OpenVPN s Netgear a viskozitou

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