Integración externa - OPNsense (firewall, presencia en red, WireGuard)

Hola a todos,

Para aquellos cuyo red pasa por un firewall OPNsense, aquí hay una integración externa que lo trae a Gladys.

Qué hace

Lee la API de OPNsense en tu red local (transporte local), con una clave de API dedicada, cada 30 segundos. Nada se envía a la nube. Gladys no tiene una integración nativa de OPNsense; en cuanto a presencia, complementa el Bluetooth viendo los teléfonos conectados al Wi-Fi.

Funcionalidades

  • Firewall: CPU, memoria, disco, temperatura, tiempo de funcionamiento, actualizaciones pendientes, versión, pares WireGuard conectados.
  • Pasarelas (estado, latencia, pérdida) e interfaces (ancho de banda, enlace, dirección IP).
  • Reglas de firewall de una categoría (gladys por defecto) en forma de interruptores.
  • Presencia de los dispositivos de la red (tabla ARP y arrendamientos DHCP), utilizable con la acción « Verificar presencia ».
  • 6 disparadores: pasarela, dispositivo llegado o partido, nuevo dispositivo, par VPN, servicio, actualización disponible.
  • 6 acciones: leer el estado, Wake-on-LAN (a través de los VLAN), alias, reiniciar un servicio, buscar actualizaciones, reiniciar.
  • 4 widgets: firewall, conexión a Internet, dispositivos de la red, VPN WireGuard.

Ejemplos de escenas:

  • cuando la pasarela principal se desconecta → enviarme « Internet está cortado »;
  • cuando un nuevo dispositivo aparece en la red → enviarme su nombre, fabricante y IP;
  • cada noche a las 21 h → agregar la tableta de los niños a un alias bloqueado, retirarla a las 7 h.

Los cuatro widgets, ilustración generada a partir del código en datos ficticios, no una captura de pantalla

Instalación

  • Desde la tienda: buscar « OPNsense ». Disponible en el día, el tiempo de la indexación.
  • O desde la URL del repositorio: https://github.com/William-De71/gladys-opnsense.
  • Gladys 5.1.0 mínimo (widgets y escenas).

Configuración:

  1. En OPNsense, crear un usuario dedicado con los derechos listados en la documentación, luego una clave de API (archivo key.txt).
  2. En Gladys, ingresar la dirección de OPNsense, la clave y el secreto; dejar « Verificar el certificado » desmarcado con el certificado auto-firmado original.
  3. Hacer clic en « Probar la conexión », luego iniciar la Descubierta y agregar los dispositivos deseados.
Derechos de OPNsense necesarios

Lobby: Dashboard; System: Gateways; Status: Interfaces; Reporting: Traffic; Diagnostics: ARP Table; Services: Dnsmasq DNS/DHCP o DHCP: Kea(v4); VPN: WireGuard: Status; Status: Services; System: Firmware (búsqueda de actualizaciones); Firewall: Rules [new] y Firewall: Categories (interruptores); Diagnostics: PF Table IP addresses (alias); Diagnostics: Reboot System; Services: Wake on LAN (plugin os-wol). Un derecho ausente solo desactiva su función.

Límites conocidos

  • Escrito según la API de OPNsense 26.7 y probado contra un falso OPNsense: sus comentarios sobre instalaciones reales son bienvenidos.
  • Solo las reglas del nuevo editor de reglas pueden ser activadas, no las reglas automáticas.
  • La presencia se basa en la tabla ARP: un teléfono en espera a veces desaparece durante unos minutos (de ahí el retraso de ausencia), y una dirección MAC aleatoria que cambia falsea el seguimiento.
  • El Wake-on-LAN requiere el plugin os-wol. No hay OpenVPN ni IPsec por el momento, solo WireGuard.

Comentarios

Por un issue de GitHub o en respuesta a este hilo, con las versiones de Gladys, de la integración y de OPNsense, y los registros (DEBUG=gladys-integration-sdk).