Sinds een week heb ik de Ubiquiti UniFi AP AC Pro. Dit is een los access point, geen router, geen switch, echt alleen een wifi access point. Precies wat ik wilde, een oude linksys 4200 (met tomato) voldoet nog uitstekend als router/switch/dhcp/dns server. Ik heb de pro versie gekozen vanwege de verwachte toename van 3x3 wifi apparatuur; momenteel is de meest veeleisende client een Asus USB AC56 die aan mijn desktop hangt.
Het apparaat
Over het apparaat zelf kan ik kort zijn: dat werkt uitstekend. Power over ethernet, dual band, 2.4GHz band voor het grote bereik, 5GHz voor het snelle werk op kortere afstand. Simultaan 10 clients (telefoons, chromecast, tv, laptops, desktop, etc...) is uiteraard peanuts, deze dingen kunnen tientallen actieve clients tegelijk aan. Door het houten plafond naar een Asus USB AC56 (op 5GHz, ac) haal ik een file-transfer van 25MBps van server via AP naar client. Van client naar AP (en door naar server) gaat nog sneller, 45MBps (!!). Als je de client naast het AP zet, dan is 70MBps haalbaar (maar dan kan je net zo goed een draadje gebruiken, nog sneller).
De controller
Het grote, echt hele grote nadeel is het beheer. Ubiquiti levert een apart programma, de UniFi Controller om de apparaten van Ubiquiti op je netwerk te beheren. Het idee is dat deze apparaten worden gebruikt door het MKB (of groter), en beheerders bij deze instellingen/bedrijven willen meerdere access points en overige netwerk apparatuur vanuit één punt kunnen beheren. SSID's instellen, security keys, guest portal, alles vanuit één programma.
Helaas is de implementatie van deze UniFi controller minder. Als je hem draaiend hebt doet het programma wat het moet doen. Maar....
Eerste probleem: de database backend. De UniFi controller gebruikt MongoDB. Als je die database ergens al hebt draaien, fijn, maar niet relevant, want de controller eist zijn eigen instance. Zonder extra configuratie betekent dit dat MongoDB een 3GB aan schrijftruimte opeist voor zijn journal. Dit is
uit te zetten, maar verre van handig, want je systeem klaagt eerst over een gebrek aan opslag. Zelfs voor het MKB is een 3GB journal zwaar overdreven. Waarom ze een NoSQL backend hebben voor zwaar gestructureerde data..... (maar ja, ik ben geen database specialist).
Tweede probleem: het https-certificaat. Om alle communicatie tussen beheerder en de controller veilig te laten verlopen kan je de controller alleen benaderen via https. Maar, het certificaat dat de UniFi controller levert komt uiteraard niet overeen met de server waar de controller draait, dus een grote rode waarschuwing. Ubiquiti geeft een
handleiding, helaas werkt dat niet voor eigen certificaten of certificaten die je al hebt gekocht (via StartSSL etc...). Er zijn gelukkig
andere handleidingen, maar waarom zo moeilijk? Kan een java-app niet op dezelfde manier certificaten gebruiken als nginx/apache/openldap/postfix/.... ?
Derde probleem: traag opstarten. Ik heb drie aparte virtual machines in mijn (zwaar underpowered) servertje. Eén voor de mail, één voor de webserver en nu ook één voor de UniFi controller. Elke virtual machine is identiek. De mailserver en webserver zijn binnen 20 seconden benaderbaar. De UniFi server boot net zo snel, maar daarna heeft de UniFi controller minimaal 5 minuten nodig om zich te initialiseren. Waarom zo lang? Java? Netwerk? Ik weet het niet.
Vierde probleem: non-root. De UniFi controller draait als root. Je hebt dus een java applicatie die (minimaal) vier poorten opent en die draait als root. Deze java applicatie heeft zelf onbeperkt toegang tot (en beheert) alle netwerkapparatuur (van Ubiquiti). Er
worden regelmatig problemen over java gemeld. Het is mogelijk om de Unifi controller
als non-root te draaien, maar deze oplossing vereist handmatige actie na elke reboot. Je moet dus de init (upstart) scripts aanpassen om de boel werkend te krijgen.
Conclusie
Al met al zijn mijn ervaringen "mixed". Wifi is nog nooit zo stabiel (en snel) geweest als het nu is. Het nadeel is de kwaliteit van de UniFi controller. Deze hoef ik alleen te gebruiken om de boel te initialiseren, daarna kan die uit. Heel veel last heb ik er dus niet van. Alles tot nu toe was/is op te lossen.
Maar, iets knaagt. Een bedrijf dat zulke slechte software schrijft. Dat de beveiliging van zijn apps zo slecht voor elkaar heeft. Dat de documentatie niet op orde heeft. Je vraagt je af welke shortcuts ze hebben genomen om de hardware draaiend te krijgen.