Cuando tenga dispositivos UNIFI, como los puntos de acceso, deberá usar un controlador. Ubiquiti ofrece diferentes consolas para esto, como el UDM Pro o CloudKey Gen2, pero no tiene que usarlas. También puede instalar su propio controlador Unifi en la nube.
La ventaja de un controlador en la nube es que le permite escalar su red Unifi más allá de las limitaciones de los dispositivos de la consola. Un controlador en la nube también le permite conectar fácilmente varios sitios a un solo controlador.
En este artículo, voy a explicar cómo instalar su propio controlador de nube Unifi paso a paso.
Requisitos previos
Vamos a instalar el controlador en la nube, lo que significa que lo instalaremos en un servidor alojado, un VPS. Los tamaños del VPS realmente dependen de la cantidad de dispositivos y clientes que tiene, pero la ventaja de un VPS es que puede escalarlo fácilmente cuando sea necesario.
El controlador Unifi requiere un mínimo de 1 GB de memoria, lo cual está bien para una red doméstica o una pequeña empresa. Pero cuando tiene la intención de usar el controlador para más de 50 dispositivos, debe usar al menos 2 GB de memoria.
Para este artículo, voy a usar, que ofrece excelentes máquinas virtuales de alto rendimiento a un buen precio.
Consejo
Si no desea instalar y administrar su propio servidor, entonceses una gran alternativa. Lea más sobre ellos en.
Instalación del controlador Unifi en la nube
En los siguientes pasos, vamos a usar Vultr, asegúrese de haber creado una cuenta y configurar la facturación de su cuenta.
Paso 1 - Instale el VPS Vultr
El primer paso es crear un nuevo servidor virtual. Inicie sesión en su cuenta Vultr, abraProductos,y haga clic enServidor de implementación. Ahora necesitaremos configurar nuestro servidor:
Elija servidor:Calculador de la nube
CPU y tecnología de almacenamiento:Intel rendimiento regular
Ubicación del servidor:Elija una ubicación cerca de su
Imagen del servidor:Debian 11 x64
Tamaño del servidor:Memoria de $ 5 / mes - 1 VCPU / 1GB
Copia de seguridad automática:Habilitar copia de seguridad automática(No es necesario, pero muy recomendable)
Características adicionales:Deshabilitar IPv6

El último paso es agregar claves SSH y un nombre de servidor. Ambos son importantes, se requiere la clave SSH para conectarse de manera segura al servidor. Y el nombre de host debe ser un FQDN, por ejemplo, unifi.lazyadmin.nl, que es de acceso público. Esto es necesario para crear un certificado SSL gratuito más adelante y también le permite migrar fácilmente su controlador.
Llaves ssh
Las claves SSH se utilizan para crear una conexión segura entre su computadora y el servidor. En este paso, vamos a cargar la tecla SSH de su computadora. Si no has usado las teclas SSH antes, entonces usaesta guíaPara crear una clave.
- Hacer clicAgregar nuevas teclas SSHen la página Vultr
- Ingrese el nombrede su computadora (de esta manera puede identificarla fácilmente más adelante)
- Hacer clicClave de Windows + Ry tipo:%UserName%\. SSH \<enter>
- Copiar el contenido deid_ras.pubal campo de la tecla SSH
- Hacer clicAgregar tecla SSH

La tecla SSH ahora se enumerará en la pantalla de configuración del servidor. ¡Asegúrate de seleccionarlo!
Nombre de host y etiqueta del servidor
El último paso es darle a su servidor un nombre de host. Para esto, puede usar un subdominio de su dominio. Después de haber implementado el servidor, conoceremos la dirección IP pública del servidor y crearemos los registros DNS para ello.
Ingrese el nombre de host, por ejemplo, unifi.lazyadmin.nl, asegúrese de que elSe selecciona la tecla SSH,y haga clic enDesplegar ahora

Tomará un par de minutos instalar el servidor. Buen momento para tomar un café antes de continuar.
Paso 2 - DNS y conectarse al servidor
Lo primero que vamos a hacer es configurar el registro DNS. Los cambios de DNS siempre tardan un tiempo en procesarse, y necesitaremos que esté vivo más adelante para configurar el certificado SSL.
Cuando el estado del servidor cambia en ejecución, podemos ver la dirección IP pública y copiar la dirección IP del servidor.

Vaya a su proveedor de DNS (usaré CloudFlare) y cree un nuevo registro. Dé el registro el mismo nombre que el servidor y pegue la dirección IP en el campo Valor y guarde el registro.

Conectarse al servidor
A continuación, nos conectaremos al servidor. Por ahora, usaremos la dirección IP porque el registro DNS lleva algún tiempo propagarse.
Estamos utilizando la tecla SSH para conectarnos al servidor, pero si no desea usarlo, puede buscar la contraseña del servidor. EnVultr, abra su servidor, haciendo clic en él. En elDescripción generalTab, verá el campo de contraseña.

Para conectarse al servidor puede usar masilla o. Para usar PUTTY en combinación con la tecla SSH, primero necesitaremos crear un archivo de clave privado. Cuando instala masilla, también obtiene los generadores de claves de masilla de programa (abra el inicio y busque Puttygen)
- Abrir generador de claves de masilla
- Hacer clicCargay cambiar el tipo de archivo aTodos los tipos de archivosen la esquina inferior derecha
- Seleccione suID_RSAarchivo y hacer clicAbierto
- Hacer clicGuardar clave privada

A continuación, abra Pastty e ingrese la dirección IP de su servidor en el campo Nombre de host.
- Ingrese elDirección IPde su servidor
- ExpandirSshy haga clic enAuténtico
- Hacer clicNavegary seleccione su archivo de clave privada recién creado. (.pkk)
- Hacer clicAhorrarPara almacenar a la conexión
- Ahora puedes abrir la conexión

Al usar el terminal de Windows, escriba:
# Replace the IP Address with the IP of your server ssh [email protected]
Haga clic en SíPara permitir la tecla SSH

Paso 3: asegurar el servidor
Es importante asegurar su servidor correctamente para que los atacantes no obtengan acceso a su servidor y dispositivos UNIFI. Vamos a dar un par de pasos aquí:
- Permitir el acceso SSH solo desde su dirección IP pública
- Solo permita el acceso a la tecla SSH
- Límite de los intentos de inicio de sesión
Aunque solo podemos acceder al servidor con nuestra clave SSH privada, sigue siendo una buena idea solo permitir el acceso a su servidor desde su dirección IP pública. Para el firewall, utilizaremos UFW, que se instala de forma predeterminada en Debian 11.
Mira tudirección IP públicay escriba el siguiente comando para permitir solo acceso SSH desde su red:
ufw allow from 80.90.100.110 to any port 22
A continuación, necesitamos eliminar las reglas predeterminadas que permiten el acceso SSH desde cualquier ubicación:
# Get an overview of all firewall rules ufw status numbered # Result Status: active To Action From -- ------ ---- [ 1] 22 ALLOW IN Anywhere [ 2] 22 ALLOW IN 80.90.100.110 [ 3] 22 (v6) ALLOW IN Anywhere (v6)
Vamos a eliminar las reglas número 1 y 3, estos permiten el acceso SSH desde cualquier ubicación:
# type ufw delete followed by the correct line number: ufw delete 1 # result Deleting: allow 22 Proceed with operation (y|n)? y Rule deleted
Agregaremos los puertos para unifi más adelante.
Cambiar la configuración de SSH
Necesitamos asegurarnos de que solo puede iniciar sesión sobre SSH con una tecla SSH. Para esto, vamos a cambiar el archivo de configuración de SSH
sudo nano /etc/ssh/sshd_config
Cambie la siguiente línea:
PermitRootLogin Yes # change it from yes to without-password # Enable the following line by removing the # PubkeyAuthentication yes # Change password authentication to no, at the end of the file PasswordAuthentication no
PrensaCtrl + X
y escribirY <enter>
Para guardar y cerrar el archivo.
Reinicie el servicio SSHD con:
sudo service sshd restart
Límite de los intentos de inicio de sesión
El último paso, por ahora, es instalar Fail2Ban. Esta herramienta supervisará sus archivos de registro y bloqueará automáticamente cualquier dirección IP mala que intente iniciar sesión en su servidor.
# Install fail2ban, type Y to install the packages sudo apt install fail2ban
La configuración predeterminada de Fail2Ban es suficiente para nuestra situación, por lo que no necesitamos configurar nada en ella.
Hay más pasos de seguridad que puede hacer, como cambiar el pase de raíz, crear su propia cuenta de "administrador/raíz" y cambiar el número de puerto SSH predeterminado. La seguridad se trata de agregar capas de protección, pero por ahora, esto es más que lo suficientemente bueno. Tenemos acceso limitado al servidor a nuestra dirección IP pública y solo es accesible con nuestra clave SSH privada.
Paso 4 - Configurar servidor e instalar componentes requeridos
Se requieren un par de componentes/paquetes antes de que podamos instalar el controlador Unifi. Algunos de estos paquetes no solo son necesarios para UNIFI, sino que también nos ayudarán a mantener el servidor.
Primero, nos aseguraremos de que el servidor esté actualizado y limpie sin usar y cualquier software antiguo:
# Update the server sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get autoremove && sudo apt-get autoclean
Las actualizaciones de seguridad deben instalarse lo antes posible. Personalmente, no quiero iniciar sesión todas las semanas en un servidor solo para instalar las actualizaciones, por lo que vamos a instalar el paquete desatendido.
sudo apt-get install unattended-upgrades apt-listchanges
Active el paquete con:
sudo dpkg-reconfigure -plow unattended-upgrades # Click Yes
Establezca la zona horaria correcta
Tener una zona horaria incorrecta puede ser realmente un dolor en ... El tiempo en sus archivos de registro no coincide con su tiempo actual, y también en Unifi, verá que el tiempo está apagado. Por lo tanto, necesitamos configurar la zona horaria correcta con:
sudo dpkg-reconfigure tzdata

Instalar Haved
Al igual que con la frambuesaVamos a instalar el paquete Haved. Este paquete ayudará a acelerar el inicio del controlador Unifi.
sudo apt-get install haveged -y
Instale Java (OpenJDK-8)
El controlador Unifi necesita Java 8 para ejecutar, por lo que vamos a instalar OpenJDK 8. Ahora este paquete ya no está disponible para Debian 11, por lo que primero debemos agregar un repositorio diferente al servidor.
# Install the necessary packages apt-get install -y wget apt-transport-https gnupg # Download the GPG key: wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add - # Add the repository echo "deb https://adoptopenjdk.jfrog.io/adoptopenjdk/deb buster main" | sudo tee /etc/apt/sources.list.d/adoptopenjdk.list # Install Java 8 sudo apt-get update; sudo apt-get install adoptopenjdk-8-hotspot
Paso 5 - Instale el controlador UNIFI
Por lo tanto, finalmente podemos instalar el controlador Unifi para nuestro servidor en la nube. También para UNIFI, primero necesitaremos agregar un repositorio, para que podamos descargarlo e instalarlo con APT.
# Add the repository echo 'deb https://www.ui.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list # Authenticate the repository sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ubnt.com/unifi/unifi-repo.gpg
La última versión de MongoDB no es compatible con el controlador Unifi. Para evitar cualquier error durante la instalación, vamos a cambiar el repositorio de MongoDB a la versión 3.6:
echo "deb https://repo.mongodb.org/apt/debian stretch/mongodb-org/3.6 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list sudo wget -qO - https://www.mongodb.org/static/pgp/server-3.6.asc | sudo apt-key add -
Con los repositorios agregados y autenticados, ahora podemos instalar el controlador Unifi en nuestro servidor VPS:
sudo apt-get update; sudo apt-get install unifi -y
El último paso es iniciar automáticamente todos los servicios requeridos cuando el servidor arranca:
sudo systemctl enable unifi.service sudo systemctl enable mongod.service sudo systemctl enable haveged.service
Configurar el firewall para unifi
Nuestro controlador de la nube Unifi ahora está instalado, pero antes de que podamos usarlo, tendremos que configurar el firewall. Tendremos que abrir los puertos para los dispositivos UNIFI para que puedan comunicarse con el controlador y necesitaremos tener acceso a la GUI del controlador.
Por lo tanto, primero solo permitiremos el acceso a la página web del controlador desde nuestra dirección IP pública:
# Allow access to the controller webpage from your public IP Address ufw allow from 80.90.100.110 to any port 8443
A continuación, necesitaremos abrir el puerto informativo de Stun y Unifi. Puede abrirlos para cada ubicación o limitarlos en función de la dirección IP pública donde use los dispositivos UNIFI:
# Allow UniFi devices to communicate with the controller. ufw allow 3478/udp # STUN port ufw allow 8080 # Inform port # Or limit them based on public IP Address # repeat the lines below for every public IP Address ufw allow from 80.90.100.110 to any port 3478 ufw allow from 80.90.100.110 to any port 8080
Opcional, si va a usar el portal de invitados, entonces deberá abrir los puertos 8880 y 8843 también:
ufw allow 8880 ufw allow 8843
Paso 6 - Instale el certificado SSL
La ventaja de ejecutar nuestro propio servidor en un dominio público es que podemos agregarle un certificado SSL. De esta manera, ya no tendremos una advertencia molesta cuando abramos el controlador.
Utilizaremos Let's Cintpt, que generará un certificado SSL gratuito para usted. Asegúrese de que el nombre de dominio esté activo y apunte a su nuevo servidor.
# Install Certbot sudo apt install certbot python3-certbot-apache -y
Para usar CERTBOT, abriremos los puertos requeridos en nuestro firewall. Abra los puertos 80 y 443 con UFW:
ufw allow 80 ufw allow 443
Después de haber instalado CERTBOT, podemos solicitar nuestro certificado:
certbot --apache -d unifi.lazyadmin.nl # Enter an email address when requested, so you can receive alerts # Agree to the terms
Ahora necesitamos configurar el controlador UNIFI para usar nuestro certificado.Steve Jenkinsha creado un script de importación que hace que esto sea mucho más fácil de hacer, por lo que vamos a usar este script. Descargue el script con el siguiente CMD:
sudo wget https://raw.githubusercontent.com/stevejenkins/unifi-linux-utils/master/unifi_ssl_import.sh -O /usr/local/bin/unifi_ssl_import.sh
Necesitamos hacer el ejecutable de script dándole los permisos correctos:
chmod +x /usr/local/bin/unifi_ssl_import.sh
A continuación, necesitamos configurar el script. Abra el guión con:
sudo nano -w /usr/local/bin/unifi_ssl_import.sh
Y cambie las siguientes líneas:
Add your domain UNIFI_HOSTNAME=unifi.lazyadmin.nl # Uncomment following three lines for Fedora/RedHat/CentOS #UNIFI_DIR=/opt/UniFi #JAVA_DIR=${UNIFI_DIR} #KEYSTORE=${UNIFI_DIR}/data/keystore # Uncomment following three lines for Debian/Ubuntu UNIFI_DIR=/var/lib/unifi JAVA_DIR=/usr/lib/unifi KEYSTORE=${UNIFI_DIR}/keystore # Uncomment the following line LE_MODE=true
Guarde y cierre el archivo conCTRL + X
y presionarY <enter>
Ejecute el guión con:
/usr/local/bin/unifi_ssl_import.sh
Cuando ahora abramos nuestro controlador de la nube Unifi, ya no recibiremos la advertencia de seguridad, ¡pero en cambio, tenemos un certificado SSL válido!

Paso 7 - Configure su aplicación de red Unifi
Con nuestro controlador de red en ejecución, podemos comenzar con la configuración de nuestra aplicación de red Unifi. Si ya tiene un controlador, también puede restaurar una copia de seguridad si lo desea. Simplemente siga el asistente para la configuración inicial.
Podemos omitir los dispositivos de adición, por ahora, simplemente haga clic en Siguiente.

En el paso 5 del asistente, puede configurar su red WiFi, pero nuevamente también podemos hacerlo más tarde.
No entraré en detalles sobre cómo configurar su controlador unifi, puede leer más sobre eso en.
Paso 8 - Conectando sus dispositivos unifi al controlador de la nube
Entonces tenemos nuestro controlador de nube Unifi en ejecución, pero ¿cómo conectamos nuestros dispositivos unifi a él? En un entorno de red normal, puede conectar el dispositivo a la red, y descubrirá el controlador automáticamente.
Hay dos formas de hacer esto, si tiene un entorno grande con un servidor DNS, puede crear un registro DNS local, la otra opción es establecer la dirección informática manualmente en el dispositivo. Por defecto, los dispositivos intentarán conectarse ahttps://unifi:8080/inform
. Por lo tanto, podría crear un registro DNS en su red local, llamado Unifi y señalarlo a la dirección IP pública o FQDN de su controlador en la nube.
Usando Set-Inform
La otra opción es usar el comando SET-Inform en el dispositivo Unifi. Esto requiere que inicie sesión en cada dispositivo para establecer la dirección correcta en el controlador de la nube Unifi. Conecte su dispositivo unifi y busque la dirección IP (una excelente herramienta gratuita para eso es)
Estoy usando el terminal de Windows, pero también puede usar masilla para esto:
# SSH into the UniFi device # Replace the IP Address with the IP of your UniFi device ssh [email protected] password: ubnt # Set the inform address to the public IP address of your UniFi Cloud Controller set-inform https://80.90.100.110:8080/inform
Si ahora abre su controlador de nube Unifi, verá el punto de acceso listo para la adopción:

Optimización de su controlador de nube unifi
Cuando planea usar el controlador de la nube Unifi para una gran cantidad de dispositivos, solo deberá aumentar la memoria en su VPS, pero también optimizar el archivo de configuración del controlador. Por defecto, el controlador está configurado para ejecutarse con un máximo de 1 GB de memoria.
Entonces, el primer paso es aumentar la memoria de su VPS. En Vultr, puedes ir a tuVPS>Ajustesy seleccionarPlan de cambio. Después de haber aumentado la RAM en su VPS, deberá editar el archivo de configuración (System.Properties).
Puede encontrar este archivo de system.properties en la siguiente carpeta en Linux:
/usr/lib/unifi/data
Para cambiar el archivo, necesitaremos hacer una conexión SSH a nuestro servidor y abrir el archivo:
# Make an SSH Connection to your server: ssh [email protected] # Stop the Unifi service service unifi stop # Open the system.propeties files nano /usr/lib/unifi/data/system.properties
El primer paso es aumentar la cantidad de memoria que Java puede usar, agregar o aumentar las siguientes líneas a 2 GB:
# default value is 1024 (1GB) unifi.xmx=2048 unifi.xms=2048
Si ha asignado más de 4 GB a Java (XMX), también debe aumentar el caché Mongo WiredTiger. La mejor opción es configurarlo en modo automático:
db.mongo.wt.cache_size_default=true
Si todavía está experimentando un controlador de red lento, asegúrese de visitarEste artículo de UbiquITI con más consejos para ajustar su controlador de nube Unifi.
Concluir
Al crear su propio controlador de la nube Unifi, es importante asegurar su servidor correctamente. Limite el acceso al controlador solo a sus direcciones IP públicas, asegúrese de usar una cuenta de UNIFI Cloud, para que pueda usar la autenticación 2FA.
En el artículo, he trabajado en la cuenta raíz. Una mejor práctica es crear una nueva cuenta de usuario con SUDO Privilege y deshabilitar la cuenta raíz:
adduser lazyadmin usermod -aG sudo lazyadmin # Disable Root login in SSHD conf sudo nano /etc/ssh/sshd_config
En lugar de crear su propio servidor, también puede echar un vistazo a los servicios dePor ejemplo. Ofrecen excelentes controladores unifi en la nube, completamente administrados por ellos.
Espero que haya encontrado este artículo útil, si tiene alguna pregunta, sugerencia o consejo, simplemente deje un comentario a continuación.