icon

Fekete BT

Tartalomjegyzék

Self-Hosted UniFi Network Server (Linux)

A UniFi Network Server (röviden UNS) segítségével menedzselhetjük a UniFi eszközeinket. Technikailag ő a hálózatunkon a kontroller és segítségével egy központi helyről tudunk mindent kezelni, ami UniFi, legyen az egy Access Point, egy switch vagy egy router. A probléma ezzel az, hogy csak úgy mint minden más gyártó, ők is pénzt kérnek ezekért az eszközökért, még ha lényegesebben kevesebbet is, mint mondjuk a Cisco. Ugyanakkor megéri, mivel egy olyan eszközt, is ami hagyományos módon nem menedzselhető (értsd nem rendelkezik CLI vagy WebUI támogatással), a controller segítségével különféle beállításokat végezhetünk rajta.

Szerintem Cloud Gateway-t, akkor éri meg venni, ha a komplett hálózatunk, vagy legalább túlnyomó többsége, UniFi eszközökből tevődik össze. Legyen az multisite-os, ilyen esetben redundancia miatt akár többet is, vagy csak az otthoni hálózatunk kezelése végett. Viszont, mivel nekem csak egy switch-em van (USW-Flex-2.5G-5), amin szeretnék vlan-t állítani, így érhető okoból, még a legolcsóbbra sem szeretnék beruházni, hisz értelmetlen. Ebben az esetben a self-hosting lehetősége is adott a UniFi oldaláról.

Persze meg van az előnye a fizikai Network Server-nek is, mivel az out-of-the-box menni fog, minimális beállítást követően. A self-hosting-nál minden ránk van bízva. Kezdve az alapinfra megteremtésétől, a telepítésen át, a beállításig. Ez egyébként egyáltalán nem vészes, és a UniFi mankót is ad hozzá.

A jelenleg elérhető legfirssebb verzió: 8.6.9. Az én leírásom ehhez fog tartozni.

UNS telepítése Debian 12-re

Személy szerint nekem a Linux OS preferenciám, mindig a Debian és nem az Ubuntu, így elsődlegesen én innen futtatom az UNS-t. Mivel felhasználók között is van különbség, így az Ubuntu Server-hez is elkészítem a leírást. A Debian-nal az a probléma, hogy a hivatalos UniFi leírás is, csak az Ubuntu-t támogatja, viszont minimális utánajárással megoldható, hogy a leírást átültessük Debian alá. Minden parancsot root felhasználóként hajtok végre, így nekem nem kell a sudo-t használni.

A csomagfüggőségek telepítése:

apt update && apt install -y ca-certificates apt-transport-https gnupg curl

A UniFi repository importálása:

echo 'deb [ arch=amd64,arm64 ] https://www.ui.com/downloads/unifi/debian stable ubiquiti' | tee /etc/apt/sources.list.d/100-ubnt-unifi.list
	wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg

Az UNS a régi libssl1-es csomagot használja, így ennek telepítése elengedhetetlen:

wget https://snapshot.debian.org/archive/debian/20170705T160707Z/pool/main/o/openssl/libssl1.1_1.1.0f-3_amd64.deb
	dpkg -i libssl1.1_1.1.0f-3_amd64.deb

A hivatalos leírással ellentétben MongoDB kapcsán, nem a régebbi 3.6-t fogom használni, hanem a frissebb 4.4-t. Ettől feljebb nem tudtam menni, mivel nem lesz jó a függöségi fa és végezetül egy broken csomagot fogunk kapni.

A 4.4-es MongoDB repository importálása:

curl -fsSL https://www.mongodb.org/static/pgp/server-4.4.asc | gpg -o /usr/share/keyrings/mongodb-server-4.4.gpg --dearmor
	echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-4.4.gpg ] http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list

A MongoDB telepítése és automatikus indítása:

apt update && apt install -y mongodb-org-server=4.4.29
	systemctl enable mongod && systemctl start mongod

A UNS telepítése és automatikus indítása:

apt update && apt install unifi -y
	systemctl enable unifi && systemctl restart unifi

UNS telepítése Ubuntu 24.04 LTS-re

A csomagfüggőségek telepítése:

sudo apt update && sudo apt install -y ca-certificates apt-transport-https

A UniFi repository importálása:

echo 'deb [ arch=amd64,arm64 ] https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list
	sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg

Az UNS a régi libssl1-es csomagot használja, így ennek telepítése elengedhetetlen:

wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb -O libssl1.1.deb
	sudo dpkg -i libssl1.1.deb

A hivatalos leírással ellentétben MongoDB kapcsán, nem a régebbi 3.6-t fogom használni, hanem a frissebb 4.4-t. Ettől feljebb nem tudtam menni, mivel nem lesz jó a függöségi fa és végezetül egy broken csomagot fogunk kapni.

A 4.4-es MongoDB repository importálása:

curl https://pgp.mongodb.com/server-4.4.asc | sudo gpg --dearmor | sudo tee /usr/share/keyrings/mongodb-org-server-4.4-archive-keyring.gpg >/dev/null
	echo 'deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-org-server-4.4-archive-keyring.gpg] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse' | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list > /dev/null

A MongoDB telepítése és automatikus indítása:

sudo apt update && sudo apt install -y mongodb-org-server
	sudo systemctl enable mongod && sudo systemctl start mongod

A UNS telepítése és automatikus indítása:

sudo apt update && sudo apt install unifi -y
	sudo systemctl enable unifi && sudo systemctl restart unifi

Az első indítást követő konfiguráció

Teljesen függetlenül attól, hogy milyen operációs rendszert használtunk, a UNS a következő módon érhető el: https://IP-cím:8443. Estemben: https://192.168.2.54:8443.

A weboldalt megnyitva ez az oldal fogad mineket. Itt kell megadnunk a szerver nevét (teljesen tetszőleges) és a régiónkat (Hungary). Illetve, ha van backup fájlunk, akkor itt tudjuk a visszatöltést megtenni.

first

Ezt követően be kell jelentkeznünk. Használhatunk online account-ot, vagy az Advanced Setup-ra kattintva létrehozhatunk egy lokál felhasználót is.

second

Ennél az ablaknál nyomjunk a "Skip"-re.

third

Ezen az oldalon tudjuk létrehozni a lokál felhasználónkat.

fourth

Ha mindent jól csináltunk, akkor pedig ez a dashbord fogad minket.

fifth

Személyre szabni a Settings (fogaskerék ikon) -> System menüpont alatt lehet.

sixth

Eszköz felvétele és menedzselése az UNS segítségével

Eszköz adoptálása

Ha szakszerűen szeretnék fogalmazni, akkor lényegében adoptáljuk az eszközt az UNS-be. Ha a Controller és a Switch/AP egy subnet-ben van, akkor automatikusan megtörténik a hálózati felderítés. Ennek eredményét a Topology menüpont alatt fogjuk látni. Az eszközre rá kell kattintani, majd a kék "Adopt Device" gomb segítségével húzzuk be az UNS alá. Innentől kezdve menedzselhetjük az eszközünket.

sixth

Eszköz menedzselése

Az eszközzel a Ports menüpont alatt tudunk játszani. Itt érhető el az összes olyan lehetőség, amivel egy switch-et kezelni lehet. Ha szeretnénk kijelölhetünk egy portot és csak azon változtatunk, de akár globálisan is kezelhetjük az adott eszköz beállításait.

sixth

Backup készítése UNS-ből

Időnként nem árt azért egy biztonsági mentést csinálni az UNS-ről főképp frissítés, vagy beállítás módosítás előtt, hogy legyen egy stabil pontunk, amire vissza tudunk állni. Ez a folyamat sincs túlbonyolítva. A Settings -> System -> Backups menüpont alatt van erre lehetőségünk. Nyomjunk a "Download" gombra.

sixth

Személy szerint én csak a beállításokat szoktam lementeni. Itt is nyomjunk a "Download" gombra.

sixth

Ha szükséges visszaállnunk egy régebbi változatra, akkor azt is ebben a menüpontban tudjuk megtenni a "Restore" gombra kattintva. Ilyenkor fel kell tölteni a fájlunkat, majd a felugró ablakon a "Restore" gombra kattintani. Ha ennél is nagyobb a gond és az egész rendszer széthullik, akkor egy újratelepeítést követően, az első indításnál, a legelső lépésben van lehetőségünk visszaállítani a konfigunkat. Középen alul "Restore Server from a Backup" opciót választva. (Lásd - első kép: "Az első indítást követő konfiguráció" szekcióban.)

Frissítés: v8.6.9 -> 9.0.108

Én Debian 12 alatt használom és mivel főverzió váltás volt, emiatt kicsit tartottam a frissítéstől, hogy például a MongoDB-m verziója jó lesz-e még, vagy például az az ősrégi libssl1 kiváltásra került-e. Igazából feleslegesen tartottam az egésztől. Először kiadtam az alábbi parancsot:

apt update

Az update parancs jelezte, hogy a unifi repo-ban verzió változás történt, és szeretném-e frissíteni. Itt nyomtam egy "y"-t, majd a csomaglista frissítését követően kiadtam az alábi parancsot:

apt upgrade -y

Az upgrade parancs után ellenőriztem az UNS működését és igazából hatalmas változást nem történt működés tekintetében. Hiba nem lépett fel a frissítés során és az UNS is megfelelően működik.

!Figyelem!
Mindenki a saját maga meglátása és megítélése szerint cselekedjen az itt olvasottakkal és látottakkal kapcsolatban. Felelőléssget NEM válalok semmi iránt amit leírok, ez szimplán csak annak a dokumentálása, ami számomra működött. Senkit nem buzdítok arra, hogy illegális forrásból szerezzen be bármit is. A lehetséges adatvesztésért felelősséget nem vállalok. A SAJÁT CSELEKEDETEIDÉRT, SAJÁT MAGAD FELELSZ!