
opensoho v0.15.0
Plataforma ligera de gestión de dispositivos OpenWRT para redes pequeñas. Configuración centralizada, monitoreo y gestión WiFi para 2–20 dispositivos con implementación sencilla y compatibilidad con OpenWISP.
Advertencia: esta es una versión preliminar; lea las notas de lanzamiento de TODAS las versiones publicadas hasta ahora
OpenSOHO
OpenSOHO está diseñado para gestionar un pequeño número de dispositivos de red basados en OpenWRT. De ahí el nombre SOHO, que proviene de Small Office Home Office (SOHO) Networks.
- De 2 a 20 dispositivos (no hay un límite estricto)
- Sin multi-tenancy
- Compatible con openwisp-config y openwisp-monitoring.
- Sencillo de implementar
Está inspirado en OpenWISP, pero está orientado a redes demasiado pequeñas como para ser administradas con OpenWISP. Como menciona OpenWisp:
Sin embargo, OpenWISP puede no ser la mejor opción para redes muy pequeñas (menos de 20 dispositivos), organizaciones sin experiencia en TI o empresas que buscan alternativas de código abierto únicamente para ahorrar costes.
Se han probado las siguientes versiones
- OpenWRT 24.10.x DSA
- OpenWRT 25.12.x DSA (soporte beta)
Primeros pasos con OpenSOHO
Resumen
La configuración de OpenSOHO requiere unos pocos pasos sencillos, cada uno detallado en las secciones siguientes:
- Instale OpenSOHO en su servidor.
- Instale los paquetes OpenWisp en sus dispositivos OpenWRT.
- Configure OpenWisp en cada uno de sus dispositivos OpenWRT para que se conecten a OpenSOHO.
- ¡Empiece a configurar en OpenSOHO!
Instalar OpenSOHO
-
Descargue la última versión de OpenSOHO (o use un contenedor Docker)
-
Inicie OpenSOHO
Primero, elija un secreto compartido que permita a los dispositivos OpenWRT (mediante openwisp-config) registrarse en OpenSOHO.
Elija una cadena aleatoria larga para una seguridad óptima.
Debe coincidir con lo que configure en LuCI en los siguientes pasos.
OPENSOHO_SHARED_SECRET=randompassphrase ./opensoho serve --http 0.0.0.0:8090
Ahora, OpenSOHO muestra una URL en la línea de comandos que le permite crear la cuenta de administrador. Simplemente abra la URL en su navegador.
Alternativamente, cree la cuenta de administrador mediante la línea de comandos:
./opensoho superuser upsert EMAIL PASS
Configurar (adoptar) los dispositivos OpenWRT
Instalar los paquetes OpenWISP
opkg install openwisp-config openwisp-monitoring luci-app-openwisp # OpenWRT 24.10
apk add openwisp-config openwisp-monitoring luci-app-openwisp # OpenWRT 25.12+
Si desea usar el steering de clientes 802.11v, es necesario el wpad-mbedtls completo.
En OpenWRT 24.10
opkg remove wpad-basic-mbedtls && \
opkg install wpad-mbedtls && \
service wpad restart
En OpenWRT 25.12+
apk del wpad-basic-mbedtls && \
apk add wpad-mbedtls && \
service wpad restart
Después de instalar wpad-mbedtls, pruebe primero service restart wpad; de lo contrario, puede ser necesario reiniciar para cambiar al nuevo binario de wpad. Si no lo hace, puede obtener un error como daemon.notice netifd: radio1 (28210): WARNING (wireless_add_process): executable path /usr/sbin/wpad does not match process 1842 path (/usr/sbin/wpad (deleted)).
(Tenga en cuenta que el steering de clientes 802.11v sigue siendo un trabajo en curso)
Configurar OpenWISP en LuCI:
- Establezca únicamente la
Server URLy elShared secret.- NO añada una barra al final de la
Server URL. Un ejemplo de URL:http://192.168.1.1:8090 - El secreto compartido es el valor que eligió anteriormente (
OPENSOHO_SHARED_SECRET).
- NO añada una barra al final de la
- Opcionalmente, reduzca el
Update Intervala 30 segundos para actualizaciones más rápidas. (OpenSOHO lo hace por usted si no lo hace) - OpenSOHO también habilita la monitorización y reduce el intervalo de monitorización a 15 segundos para actualizar el estado de la red más rápidamente.
Se recomienda encarecidamente habilitar la monitorización, ya que OpenSOHO deduce gran parte de la configuración actual de OpenWRT y la rellena para facilitar la configuración.
Configurar OpenSOHO
- Espere a que los dispositivos OpenWrt se auto-registren usando el secreto compartido.
- Establezca el indicador
Enableddel dispositivo en true. - Establezca
numradiosal valor correcto. Por ejemplo, para un dispositivo de 2.4 + 5 GHz, este valor sería 2. - Configure un punto de acceso WiFi (SSID+CLAVE). Este procedimiento permite a OpenSOHO detectar correctamente la configuración de radio cuando el dispositivo se registra.
- Asocie el punto de acceso WiFi configurado a un dispositivo para que se configure.
- Actualmente, cada red se configurará automáticamente en todas las radios (configuradas mediante
numradios). - Opcionalmente, los leds también se pueden encender o apagar (solo configuración estática por ahora).
- Ahora se admite la configuración de las frecuencias de radio. OpenSOHO lee la configuración de radio actual una vez y la pone a disposición en la configuración de radios. Puede tardar uno o dos minutos en aparecer la configuración de radio (los pasos de configuración y monitorización necesitan algo de tiempo para completarse).
Panel de control
OpenSOHO incluye un panel de control básico. Se puede acceder a él mediante el botón de la barra lateral izquierda, justo debajo del logotipo de OpenSOHO.
Tenga en cuenta que no pretende ser un sustituto de las herramientas de gráficos más avanzadas; se mantiene y se mantendrá básico a propósito.
Configuración
Ahora se puede acceder a OpenSOHO a través de http://ipaddress:8090/_/
Hay varias colecciones de configuración:
Clientes
Estos son los clientes conectados al WiFi. Esta tabla es de solo lectura, excepto el alias. Se puede usar para dar a los dispositivos un nombre legible para las personas. Esto solo funciona correctamente cuando el cliente no aleatoriza su dirección MAC.
Clientes conectados
Contiene la lista de clientes actualmente conectados a su WiFi. Para mostrar la dirección IP del dispositivo, OpenSOHO necesita acceso a sus concesiones DHCP. Para ello, debe tener el daemon de monitorización de openwisp ejecutándose en el dispositivo que contiene el servidor DHCP. Los dispositivos con IP estática no obtendrán una IP. Esta es una limitación conocida a partir de la versión 0.12.0.
Dispositivos
Estos son los dispositivos conectados.
- Use enable/disable para deshabilitar las actualizaciones de configuración. Esto es útil para evitar actualizar todos los dispositivos a la vez. La monitorización permanece activa.
- El estado de salud es un campo de solo lectura.
healthysignifica que el dispositivo se ha comunicado en el último minuto. Si no lo ha hecho, el estado de salud pasa aunhealthyy podría haber algo mal en el dispositivo o en su conexión. - Leds permite elegir configuraciones de leds.
- Numradios permite establecer el número de radios del dispositivo. OpenWisp no lo envía inicialmente, por lo que debe ser establecido por el usuario.
- Wifis permite seleccionar los SSID que se aplicarán en este dispositivo.
Leds
- Configuración básica de LED (por ahora es más una prueba de concepto (POC))
Radios
- Permite establecer la frecuencia de cada radio.
- La banda no debe modificarse, ya que permite a OpenSOHO verificar la configuración de frecuencia. Esto es necesario debido a limitaciones de PocketBase.
Wifi
- Permite configurar varios SSID. La selección de modos de cifrado es actualmente limitada. WEP y Open no son compatibles por diseño.
Monitorización
Monitorización de dispositivos
Compruebe si el estado de salud del dispositivo es healthy.
Clientes conectados
Esta vista muestra todos los clientes WiFi que siguen conectados en los últimos 30 segundos.
Integración con Home Assistant
La monitorización de OpenSOHO se puede integrar con Home Assistant. (Más información) Esta API REST está diseñada para usarse con Home Assistant, pero también se puede integrar con otras herramientas.
Solución de problemas
Volver a registrar un dispositivo
Cuando cambiar la Server URL de OpenWISP en LuCI no parece registrar correctamente el dispositivo con el nuevo controlador.
Para solucionarlo:
uci delete openwisp.http.uuid
uci delete openwisp.http.key
/etc/init.d/openwisp-config restart
El primer SSID no se habilita
Parece haber un problema en OpenWRT por el que el primer SSID configurado en un dispositivo WiFi no se habilita automáticamente. Solución alternativa: haga clic en el botón de habilitar en LuCI.
Desarrolladores
- Instale las dependencias
go mod tidy
- Inicie OpenSOHO
El secreto compartido lo usa openwisp-config para el registro. Elija una cadena aleatoria larga para una seguridad óptima.
Ejecutar las pruebas unitarias:
go test -cover -v -coverprofile=coverage.out
go tool cover -html=coverage.out
Alcance
Funcionalidades
Algunas funcionalidades de OpenWISP se consideran (actualmente) fuera del alcance de OpenSOHO
- Actualizaciones de firmware: OpenWRT no necesita actualizaciones frecuentes; use la función Attended sysupgrade manualmente en cada dispositivo.
- Multi-tenancy
- Plantillas: OpenWISP tiene un mecanismo de plantillas potente y versátil; se sustituye por un subconjunto de funcionalidades más definido para ofrecer una experiencia de configuración más sencilla.
Desarrollo
El objetivo es aprovechar PocketBase al máximo. Se pueden hacer pequeñas modificaciones, ya que el back-end de PocketBase carece actualmente de un sistema de plugins. Pero el objetivo no es crear un fork de PocketBase, por lo que fusionar los cambios de upstream sigue siendo sencillo.
Lanzamiento
GITHUB_TOKEN=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa goreleaser release