Unifi VPN WireGuard

Unifi VPN WireGuard

How Can We Help?

Categories

Unifi VPN WireGuard

You are here:
< Zpět

Síťové řešení od Unifi, resp. přesněji Security Gateway VPN nativně podporuje pouze

  • dnes už prolomené PPTP a
  • už také zastaralé L2TP (např. s novým Androidem 12 už mohou být problémy)

Možnou náhradou může být OpenVPN nebo právě WireGuard o jehož zprovnoznění je tento článek.

WireGuard

Wireguard je jednoduchá a rychlá VPN (náhrada IPSecu a OpenVPN v jednom), běží všude (v kernelu jako network modul) a má klienta pro všechny platformy (Mac, iOS, Android, Windows …). Používá moderní kryptografii (jako SSH) a stačí vám veřejné a privátní klíče.

I pro nesíťaře je její nastavení jednoduché a intuitivní.

Instalace

Dost teorie, pojďme na instalaci.

I. Instalace do SGW

  1. Pomocí SSH se přihlásit přímo do Unifi Security Gateway
  2. Stáhnout aktální verzi WireGuard balíčku (pro SecurityGateway (ugw3) naleznete verze zde https://github.com/WireGuard/wireguard-vyatta-ubnt/releases) takto:
    • curl -OL https://github.com/WireGuard/wireguard-vyatta-ubnt/releases/download/1.0.20211208-1/ugw3-v1-v1.0.20211208-v1.0.20210914.deb
  3. Všechny ostatní kroky jako root:
    • su 
  4. Nainstalovat WireGuard build:
    • dpkg -i ugw3-v1-v1.0.20211208-v1.0.20210914.deb
  5. Vygenerovat public a private key pro Gateway
    • cd /config/auth
    • umask 077
    • mkdir wireguard
    • cd wireguard
    • wg genkey > wg_private.key
    • wg pubkey < wg_private.key > wg_public.key
  6. Rovnou si můžeme vygenerovat klíče pro klienty:
    • wg genkey | tee tata_ntb_private.key | wg pubkey > tata_ntb_public.key
    • wg genkey | tee mama_mobil_private.key | wg pubkey > mama_mobil_public.key
    • atd …
  7. Vygenerované klíče pro klienty si stahnout do lokálního počítače (třeba pomocí WinSCP)

II. Instalace do Unifi Controlleru

  1. Pomocí SSH se přihlásit přímo do Unifi Controlleru (nejspíše Cloud Key)
  2. V adresáři /srv/unifi/data/sites/<nazev_site> (nejspíše tedy /srv/unifi/data/sites/default) vytvořit soubor config.gateway.json podle předlohy
    • config.gateway.json
    • (pokud už jste si dříve z nějakého důvodu config.gateway.json vytvořili, editujte stávající)
    • v sekci peer nezapomeňte správně doplnit dříve vygenerované public klíče klientů

III. Konfigurace přes webové UI Controlleru

  1. Ve webovém prohlížeči otevřít Controller Web UI
  2. Zajistit distribuci změn
    • Controller Web UI > Devices > kliknout na  USG > v Properties okně záložka Config > Manage Device > a zde klinout na Provision
      • Pokud Provision běží déle než cca 3 minuty, je chyba (typo) v json konfiguráku. Takže json zvalidovat a opravit pomocí nějakého online json formatteru
  3. Povolit vzdálený přístup na firewallu:
    • Controller Web UI : Settings > Routing & Firewall > Firewall > WAN LOCAL a vytvořit nové pravidlo pro UDP traffic na portu 51820
      • Během vytváření pravidla je nutné vytvořit Port Group v sekci Source a přidat port 51820.

A máme hotovo nastavení Unifi

Nastavení klienta

  1. Na klienta (telefon, pc atp.) nainstalujeme WireGuard
  2. V klientovy vytvoříme nový tunel, jehož konfigurace pro náš případ “tata_ntb” bude vypadat takto:
    • [Interface]
      PrivateKey = <tata_ntb_private_key>
      Address = 10.222.1.10/32
      DNS = 1.1.1.1 
           
      [Peer]
      PublicKey = <gw_public_key>
      AllowedIPs = 0.0.0.0/0
      Endpoint = <veřejná IP>:51820
      PersistentKeepalive = 21
  3. Poznámky
    • v konfiguraci klienta nezapomeňte správně změnit
      • privátní klíč klienta
      • public klíč gateway
      • vaši veřejnou IP
    • Na příkladu je pěkně vidět, že konfigurace klienta nese privátní klíč klienta a public klíč gateway
    • naopak Gateway má v nastavení private klíč gateway a public klíče klientů
    • AllowedIPs
      • 0.0.0.0/0 znamená, že přes tunel vám jde veškerá komunikace, což nemusí být žádoucí
      • pokud tedy máte vnitřní sítě třeba 10.100.1.0 až 10.100.10.0, můžete je do AllowedIPs přímo vyjmenovat, nebo použít wildcard 10.100.0.0/16. Díky tomu můžete být přes WireGuard připojeni neustále, protože přes tunel pujde jen komunikace s vyjmenovanými sítěmi.

 

Toť vše, díky za pozornost

l.adamek

Pomohl Vám náš blog? Chcete nás podpořit? I málo udělá radost 😉
Become a patron at Patreon!
Table of Contents

Leave a Reply

Your email address will not be published. Required fields are marked *