Ubiquiti – USG – Nastavení L2TP VPN serveru

Pokud vlastníme produkt americké firmy Ubiquity pro bezpečnou bránu do internetu – USG (Unifi Security Gateway) pak v jedné z poslední verzí Unifi kontroleru přibyla možnost konfigurace VPN serveru přes protokol L2TP a níže se dozvíte jak postupovat na straně serveru.

Návod je sepsán pro Unifi Controller ve verzi 5.6.12

Možnost 1 – Synology RADIUS Server

Výhodou tohoto řešení je sdílení seznamu uživatelů mezi Synology NAS serverem a Ubiquiti USG VPN serverem. Pro přístup k VPN tak není potřeba zakládat uživatele, pokud je již nastavený na NAS serveru, ale stačí nastavit RADIUS server na NASu a pak na USG přidat nový RADIUS profil.

RADIUS server na Synology NAS

Instalace a nastavení RADIUS serveru na NAS

Ta je poměrně jednoduchá a jedinou věcí co je potřeba přidat je klientské zařízení USG s následujícími hodnotami:

  • Název – pojmenování klientského zařízení, např. „Router“
  • IP adresa – IP adresa USG Routeru
  • Maska podsítě – Maska podsítě USG Routeru
  • Sdílený tajný klíč – jakýkoliv tajný klíč, který později nastavíme v USG
  • Zatrhneme povolit

Vytvoření RADIUS profilu na USG

Dalším krokem je „spárování“ RADIUS serveru na NASu s USG. K tomu nám poslouží RADIUS profil, jehož přidání najdeme v Unifi controlleru v sekci „Profiles“, kde klikneme na „Create new radius profile“ a vyplníme následující hodnoty:

  • Profile Name – název profilu, např. „NAS“
  • VLAN Support – necháme nezatržené
  • RADIUS Auth Server
    • IP Address – zadáme IP adresu NAS serveru (Radius serveru)
    • Port – zadáme 1812, pokud jsme nezměnili v nastavení – na NASu sekce „Běžná nastavení“ – „Port ověřování“
    • Password/Shared Secret – zadáme „Sdílený tajný klíč“ vyplněný v RADIUS serveru
  • Accounting – necháme nezatržené

Možnost 2 – RADIUS server na USG

Pokud máte některou z posledních verzích Unifi controlleru, pak byste v sekci „Services“ měli vidět záložku „RADIUS“, u které zatím svítí „BETA“, nicméně už je funkční.

Vytvoření Radius uživatele

Prvním krokem při použití RADIUSu na USG je vytvoření účtu uživatele, který použijeme pro přihlašování k VPN. Vyplníme následující:

  • Name – název uživatele
  • Password – heslo
  • VLAN – necháme prázdné
  • Tunnel Type – 2 – Layer Two Tunneling Protocol (L2TP)
  • Tunnel Medium Type – 1 – IPv4 (IP version 4)

Zapnutí RADIUS serveru

V sekci RADIUS se překlikneme na druhou záložku „Server“ a nastavíme:

  • Enable Radius Server – přepneme na ON
  • Secret – zadáme nějaký tajný kód, který bude společný pro všechny uživatele
  • Clients – necháme zatržené
  • Authentication Port – nechápe výchozí port
  • Accouting Port – necháme výchozí port
  • Accounting Interim Interval – necháme výchozí hodnotu
  • Tunneled Reply – necháme ON

V sekci RADIUS profilů bychom nyní měli vidět „Nas“ pokud jsme použili volbu první a nebo „Default“ pokud jste použili možnost druhou.

Definice VPN sítě

Dalším krokem je vytvoření VPN sítě a proto se přepneme do sekce „Networks“ a vypníme:

  • Name – název sítě, např. VPN
  • Purpose – vybereme „Remote User VPN“
  • VPN Type – vybereme „L2TP Server“
  • Pre-Shared Key – vypníme heslo, které jsme nastavení na RADIUS serveru (to společné pro všechny uživatele)
  • Gateway/Subnet – vypníme adresu rozsahu VPN sítě – zobrazí se nám počet IP adres a IP rozsah
  • Name server – můžeme zadat pokud potřebujeme vlastní DNS servery
  • RADIUS Profile – vybereme profil podle možnost, kterou jsme použili – viz. výše

Po přidání bychom měli vidět novou síť jako purpose „Remote User VPN (L2TP)“.

To je vše co je potřeba udělat na serverové straně. Veškeré nastavení Firewallu za nás udělá přímo USG.

Přidání opkg – repozitáře s konzolovými aplikacemi do NAS Synology

NAS servery od Synology běží interně na operačním systému Linux a tak se můžete dostat do stavu, kdy byste na své NASce, chtěli mít i své oblíbené konzolové aplikace.

Samotné Synology připravilo ke správě aplikací jejich vlastní „Centrum balíčků“, který obsahuje sice výborné aplikace, ale nejsou zda obsaženy žádné klasické konzolovky.

NAS Synology - centrum balíčků
NAS Synology – centrum balíčků

Naštěstí máme možnost přidání správce balíčků opkg, který je odnoží ipkg, tedy systému určeného pro embedded zařízení (mini-počítače).

Postup bohužel není úplně triviální, ale nepředpokládám, že by konzolové aplikace používali lidé nezběhlí v IT, takže to nakonec nebude tak složité – vycházím z tohoto návodu: https://github.com/Entware-ng/Entware-ng/wiki/Install-on-Synology-NAS

Postup instalace

  1. Přihlásíme se na svou NAScu (pomocí ssh <názevUživatele>@<IPadresa/názevNas>) a přepneme na uživatele root
    sudo su
  2. Vytvoříme adresář na pevném disku
    mkdir -p /volume1/@entware-ng/opt
  3. Vytvoříme symbolický link do kořeného adresáře
    ln -sf /volume1/@entware-ng/opt /opt
  4. Spustíme instalační skript v závislosti na architektuře CPU v naší NASce (pro většinu domácích NAS to bude ARM). Pokud si nejsme jistý zjistíme to jednoduše pomocí příkazu:
    uname --machine

    Architektura

    • pro ARM v5
      wget -O - https://pkg.entware.net/binaries/armv5/installer/entware_install.sh | /bin/sh
    • pro ARM v7
      wget -O - https://pkg.entware.net/binaries/armv7/installer/entware_install.sh | /bin/sh
    • pro x86-32bit
      wget -O - https://pkg.entware.net/binaries/x86-32/installer/entware_install.sh | /bin/sh
    • pro x86-64bit
      wget -O - https://pkg.entware.net/binaries/x86-64/installer/entware_install.sh | /bin/sh
  5. Přidáme následující kód do /etc/profile souboru
    source /opt/etc/profile
    

    takže bychom tam měli mít něco takového

    ...
    if [ -f /etc.defaults/.bashrc_profile ]; then
           	source /etc.defaults/.bashrc_profile
    fi
    
    source /opt/etc/profile
    
    PATH=$PATH:/var/packages/Java8/target/j2sdk-image/bin # Synology Java runtime enviroment
    PATH=$PATH:/var/packages/Java8/target/j2sdk-image/jre/bin # Synology Java runtime enviroment
    ...
  6. Restartujeme NAS

Kontrola zda byla instalace úspěšná

Pokud jsme vše udělali dobře a nevyskytla se během instalace nějaká chyba měli bychom být nyní schopni spustit balíčkovač opkg,

Opkg v shellu
Balíčkovací systém opkg v konzoli

Instalace z repozitáře

Samotná instalace aplikace je velice podobná jakémukoliv jinému balíčkovacímu systému v konzoli., tj. např. pokud chceme nainstalovat souborový manažer Midnight Commander pak stačí zadat:

opkg install mc

a balíčkovač už se postará o případné závislosti.

Midnight commander
Souborový manažer Midnight commander

Aktualizace balíčků

Jelikož samotná repozitory není jen statický balík pevně daných aplikací, ale občas nějaké další přibydou, a nebo jsou již aplikace povýšeny na novější verzi, je vhodné občas udělat aktualizace a to následující dvojici příkazů

# zaktualizuje seznam aplikací v repozitory a jejich verzí
opkg update

# aplikuje aktualizace na již nainstalované aplikace
opkg upgrade

Seznam všech dostupných balíčků

Kromě možnosti vypsat si seznam lokálně přímo v konzoli příkazem opkg list, se můžeme podívat na seznam balíčků i na webu v závislosti na použité architektuře procesoru

Instalací opkg tak dostává naše NASca další rozměr a můžeme začít používat spousty zajímavých konzolových aplikací ze světa Linuxu.

Pomalá Samba (SMB) na Macu

Je tomu už pár měsíců co jsem doma vyměnil kompletně infrastrukturu na 1Gbit LAN a pořádně jsem ji mohl využít až s nákupem NASky (Synology DS216play), která má dostatečně silný CPU aby „gigabit“ zvládla a zároveň disponuje síťovou kartou stejné rychlosti.

Čas plynul a já NASku začal používat jako primární zdroj fotek i při editaci, tj. na počítači mám skutečně jen katalog Lightroomu s náhledy a fotky jako takové jsou fyzicky na NAS serveru. Na tohle použití jsem nepociťoval problémy, až jednoho dne jsem si říkal, že si změřím rychlost kopírování a ouha, „problém“ byl na světě.

Ukázalo se, že z OSX je rychlost kopírování někde mezi 20-40MB/s, což je od teoreticky proklamovaných 100MB/s poměrně daleko. O to větší překvapení bylo, když jsem zjistil, že z Windows to skutečně touto rychlostí frčí a tak nastálo bádání čím by to mohlo být.

Rychlost kopírování SMB v OSX před
Rychlost stahování z NASky před úpravou

Pokus první – nastavování samby na NASce

Od všemožných rad na přepnutí SMB2 na SMB3 v Synology konzole a povypínání různých věcí, které však mému problému vůbec nepomáhali jsem se dostal k doporučení zavrhnout SMB a použít starý AFP, což skutečně pomohlo, ale zase z počítače s Windows byla NASka nepoužitelný (pokud jsem SMB vypnul) a nebo jsem se musel ručně v OSX připojit na AFP namísto SMB (nedovedu si představit, že bych to takhle delší dobu dělal).

Nakonec jsem nastavení Synology nechal takto (Menu Ovládací panel -> Souborové služby):

Nastavení SMB v NAS Synology
Nastavení SMB v NAS Synology

Pokus druhý – nastavování v OSX (Macu)

Hledal jsem tedy dále až jsem našel nanápadný návod na změnu SMB klienta na straně OSX a to zadáním následujících příkazů v terminálu:

sudo -s
echo "[default]" > /etc/nsmb.conf
echo signing_required=no >> /etc/nsmb.conf

Poté už jen restartovat a hurá – 100MB/s při kopírování je v OSX i přes SMB protokol.

Rychlost kopírování SMB v OSX po
Rychlost stahování z NASky po úpravě

Nutno, ale poznamenat, že u tohoto řešení je bezpečností varování:

Sounds like its the new default of signing being on for the SMB Client. This was done to prevent our SMB Client from being used to attack SMB Servers using the “badlock” exploit.