Adoptar UNIFI-AC-PRO

Després de fer algunes proves, he decidit moure el meu UNIFI-CONTROLER d’una Raspberry Pi a un entorn DOCKER en Raspberry Pi també. Bàsicament per tenir una millor “disponibilitat” a fallides i facilitat a replicar el sistema.

M’he trobat que amb el backup i les restauracions ha funcionat tot però una de les antenes, s’ha quedat en estat “adopting“. O sigui sense connexió al servidor de configuració.

En versions anteriors, quan m’havia trobat en aquestes situacions, el més fàcil (o l’única solució) era resetejar l’antena i tornar a començar el procès d’alta de nou… buscant una mica he vist que hem millorat i tenim alternatives.

https://blog.ktz.me/how-to-adopt-a-unifi-ap-with-a-remote-controller/

Bàsicament el que hem de fer és accedir via SSH a la nostre antena o dispositiu UNIFI i “anunciar-li” on està ara el nou controlador.

set-inform http://IP-del-CONTROLADOR:8080/inform

Tant fàcil i ràpid. En breus segons el controlador ja l’adoptat i reconfigurat de nou.

El que més m’ha costat és les credencials ssh per les antenes, que resulta que estan personalitzades al mateix UNIFICONTROLER… a Device SSH Authentication el sistema defineix unes credencials fora de les habituals ubnt/ubnt dels equips UNIFI.

Instal·lar UniFI Controler a una Raspberry Pi

Un dels objectius de tenir una altre Raspberry Pi funcionant per casa, és tenir en ella funcionant l’UniFi Controller i així no dependre de l’estació de treball on està actualment per tenir menys consums energètics i alliberar recursos d’un equip que no ha de fer de servidor.

Hi ha documentació oficial de Ubiquiti (https://community.ui.com/questions/Step-By-Step-Tutorial-Guide-Raspberry-Pi-with-UniFi-Controller-and-Pi-hole-from-scratch-headless/e8a24143-bfb8-4a61-973d-0b55320101dc), però he arribat a un enllaç encara millor:

https://pimylifeup.com/rasberry-pi-unifi/ (Genial la documentació!!)

Genial i fàcil. Copio les instruccions per si mai es perd la web.

Un cop seguits els passos, només he recuperat d’una còpia de seguretat la configuració anterior i en 1 minut ja estava migrat i funcionant el servei, a més amb més molt bon rendiment que abans!!

 Preparació del vostre Raspberry Pi per al controlador UniFi

En aquesta secció, prepararem el sistema operatiu perquè pugui executar el programari UniFi.

1. El primer que heu de fer és assegurar-vos que el vostre Raspberry Pi estigui executant paquets actualitzats.

Per actualitzar tots els paquets, haureu d’executar l’ordre següent.

sudo apt update
sudo apt upgrade

2. A continuació, hem d’instal·lar la versió 8 de l’entorn d’execució de Java al nostre Raspberry Pi executant l’ordre següent.

Hem d’instal·lar Java ja que el controlador de xarxa UniFi requereix que s’executi.

sudo apt install openjdk-8-jre-headless

A partir del moment de la publicació, UniFi no admet versions més recents del temps d’execució de Java.

3.Per millorar la velocitat d’inici del programari del controlador UniFi al nostre Raspberry Pi, hem d’instal·lar-lo rng-tools.

Utilitzarem aquest paquet per assegurar-nos que Raspberry Pi tingui prou entropia per a la generació de números aleatoris que utilitza el programari UniFi.

sudo apt install rng-tools

4. Ara hem de fer un lleuger canvi a la configuració de rng-tools.

Comenceu a editar el fitxer de configuració executant l’ordre següent.

sudo nano /etc/default/rng-tools

5. Dins d’aquest fitxer, cerqueu i descomenteu la línia següent.

Troba

#HRNGDEVICE=/dev/hwrng

Substitueix per

HRNGDEVICE=/dev/hwrng

En fer un comentari sobre aquesta línia, afegirem la quantitat d’entropia (la quantitat d’atzar) que el sistema té disponible.

El Raspberry Pi compta amb un generador de números aleatoris integrat que podem utilitzar per augmentar el conjunt d’entropies.

6.Un cop s’hagi realitzat el canvi, deseu l’arxiu prement CTRLXi, a continuació Y, seguit per ENTER.

7.Finalment, reinicieu el rng-toolsservei executant l’ordre següent.

sudo systemctl restart rng-tools

Un cop el servei hagi acabat de reiniciar-se, ara hauria de ser segur passar a la següent secció d’aquesta guia.

 Instal·lació del controlador UniFi al Raspberry Pi

1. La nostra primera tasca és afegir el dipòsit UniFi a la nostra llista de fonts.

Ho podem aconseguir executant l’ordre següent.

echo 'deb https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list

2. Ara hem d’afegir la clau GPG dels repositoris mitjançant l’ordre següent.

sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ui.com/unifi/unifi-repo.gpg

La clau GPG és la que ajuda a dir al gestor de paquets que descarrega el paquet correcte.

3. A mesura que vam fer canvis als dipòsits, ara hem d’actualitzar la llista de paquets executant l’ordre següent.

sudo apt update

4. Ara, finalment, podem instal·lar el programari Unifi Controller al nostre Raspberry Pi executant l’ordre següent.

sudo apt install unifi

La instal·lació d’UniFi mitjançant aquest mètode configurarà automàticament un servei. Aquest servei iniciarà automàticament el programari UniFi en arrencar.

Error al arrancar UnifiController

M’ha passat ja en més d’una ocasió que al reiniciar el servidor que controla o gestiona els equips UNIFI no pot arrancar el servei java per gestionar els equipss.  L’error és clar: està el port 8080 en ús i per tant no pot arrancar un nou servei en aquest mateix port.

En alguna ocasió, m’havia entretingut a buscar els arxius xml per modificar aquests ports (8080 unifi.http.port 8443 unifi.https.port 8880 portal.http.port…etc).

Avui he vist una opció més fàcil i assequible: buscar l’aplicació que està ocupant aquest port i tancar-la.

– Per buscar l’aplicació: obrim una sessió CDM i executem: netstat -ano     amb això veurem tots els ports que tenim oberts, així­ com el IPD de l’aplicació que l’està executant o escoltant.

Ens fixarem en el PID que està ocupant el port 8080, i posterirment executarem la sentència: taskkill /pid NUMERO_PID /F on NUMERP_PID serà el valor que hem vist anteriorment.

Un cop fet això, ja podrem executar l’aplicació UniFi Controller i accedir via web com habitualment ho fèiem.