Saltar al contenido principal

Integración domótica Technitium DNS, gratuita y de código abierto

Integración Technitium DNS para Gladys Assistant

Servidor Technitium DNS: pausa del bloqueo, estadísticas, concesiones DHCP, avisos de actualización.

Siga y controle su Technitium DNS Server desde Gladys, a través de su red local: pause su bloqueo cinco minutos desde el panel cuando un sitio web no carga, vea sus consultas de la última hora y del último día, cuente sus concesiones DHCP y sepa cuándo deja de responder o cuándo sale una actualización.

Probada con un Technitium DNS Server 15 real (la imagen Docker oficial), todavía no con una instalación real de Gladys: sus comentarios son bienvenidos. Si algo no funciona como se describe, indíquelo en el foro de Gladys o en las issues.

Lo que necesita​

  • Gladys Assistant 5.1.0 o posterior (5.2.0 o posterior para el botón Pausa… del widget).
  • Technitium DNS Server 15 o posterior, con su consola web accesible desde Gladys (puerto 5380 por defecto).
  • Un token de API. En la consola web, abra el menú del usuario (arriba a la derecha) → Create API Token, escriba su contraseña y un nombre (por ejemplo gladys) y copie el token mostrado. El token no caduca; elimínelo en Administration → Sessions para revocarlo.

El token actúa en nombre de su usuario. El usuario admin puede hacerlo todo. Para limitarlo, cree un usuario dedicado en Administration → Users y dé a su grupo estos permisos: Dashboard (lectura), Settings (lectura; modificación para pausar el bloqueo), Cache (eliminación, para la acción de la caché), DHCP Server (lectura, opcional: sin él, no hay concesiones DHCP).

Puesta en marcha​

  1. Instale la integración desde el catálogo de Gladys.
  2. En Configuración, introduzca la Dirección de su servidor (por ejemplo 192.168.1.2: se añade el puerto 5380; o la dirección completa de su consola web, como https://dns.example.net), su Token de API y, si lo desea, un Nombre. ¿Dos o tres servidores? Rellene también las secciones Segundo servidor y Tercer servidor.
  3. Guarde y haga clic en Probar la conexión: el mensaje bajo el botón indica, para cada servidor, si responde, su versión y el estado de su bloqueo.
  4. Abra la pestaña Descubrir: un dispositivo por servidor. Haga clic en Añadir, elija una habitación y guarde.

Opciones:

  • Aceptar certificados autofirmados: para una dirección https:// cuyo certificado haya firmado el propio servidor. Déjela sin marcar para las direcciones http://.
  • Intervalo de actualización: con qué frecuencia se leen los servidores, de 30 segundos a 5 minutos (1 minuto por defecto).
  • Apagar el interruptor de bloqueo: lo que hace el interruptor del dispositivo al apagarlo: pausar el bloqueo 5 minutos (por defecto), 15, 30 o 60 minutos, o desactivarlo hasta que lo vuelva a encender.
  • Idioma de los nombres de funciones: inglés, francés, alemán o español. Los nombres se asignan al añadir un dispositivo (francés por defecto).

El dispositivo de cada servidor​

FunciónQué es
BloqueoInterruptor: encendido, el servidor bloquea los dominios listados; apagado, todo pasa
Consultas DNS (última hora)Consultas recibidas en los últimos 60 minutos
Consultas DNS (24 h)Consultas recibidas en el último día
Consultas bloqueadas (24 h)Consultas bloqueadas en el último día
Proporción bloqueada (24 h)Proporción de consultas bloqueadas, en %, redondeada
Clientes (24 h)Dispositivos que usaron el servidor en el último día
ZonasZonas que aloja el servidor (sus propios dominios)
Dominios bloqueadosDominios de las listas de bloqueo, más los bloqueados a mano
Actualización disponible1 cuando hay una versión más reciente de Technitium, si no 0
VersiónLa versión instalada
Concesiones DHCPConcesiones de los ámbitos DHCP activos (solo si se usa el servidor DHCP)

El día es el del panel de Technitium (Last Day): las 24 horas completas antes de la actual, así que lleva hasta una hora de retraso. La insignia del dispositivo indica Local cuando el servidor responde e Inaccesible si no. Activar o desactivar un ámbito DHCP añade o quita la función Concesiones DHCP: Gladys propone entonces Actualizar el dispositivo en la pestaña Descubrir.

Panel​

Añada el widget Technitium DNS a un panel. Por defecto muestra todos sus servidores juntos; elija uno en su configuración para mostrar solo ese. Pausar un solo servidor de dos no cambia nada: sus dispositivos consultan entonces el otro.

El widget muestra las consultas, las consultas bloqueadas y la proporción bloqueada del último día, el estado de cada servidor (bloqueo activo, en pausa con los minutos restantes, desactivado, inaccesible), las consultas de la última hora, los clientes, los dominios bloqueados, las concesiones DHCP y la actualización disponible. Sus botones:

  • Pausa 5 min y Pausa 30 min: pausan el bloqueo de inmediato;
  • Pausa…: abre un pequeño formulario para escribir la duración en minutos (Gladys 5.2.0 o posterior; un Gladys más antiguo responde que necesita una actualización);
  • Reactivar: vuelve a activar el bloqueo. Muestra una marca de verificación mientras el bloqueo está activo en todas partes.

Escenas​

Desencadenantes​

  • Bloqueo de Technitium en pausa: el bloqueo se ha desactivado, desde Gladys o desde otro lugar (la consola web, otra herramienta). Filtre por servidor y por origen (Desde Gladys o Fuera de Gladys). Las acciones pueden leer el nombre del servidor y la duración de la pausa en minutos (duration_minutes, 0 cuando no tiene fin).
  • Bloqueo de Technitium reactivado: el bloqueo vuelve a estar activo. El origen indica si la pausa terminó sola (Fin de la pausa), desde Gladys o desde otro lugar; paused_minutes indica cuánto duró.
  • Actualización de Technitium disponible: hay una nueva versión de Technitium DNS Server. Se anuncia una vez por versión, incluso tras un reinicio. version es la nueva versión, current_version la instalada.
  • Technitium ya no responde: un servidor no ha respondido a dos lecturas seguidas (la segunda 15 segundos después de la primera). El DNS de la casa puede estar caído. error indica por qué, en el idioma de la configuración.
  • Technitium vuelve a responder: ha vuelto; down_minutes indica al cabo de cuánto tiempo.

Un token rechazado no cuenta como «ya no responde»: la pantalla de configuración lo indica.

Acciones​

  • Pausar el bloqueo de Technitium: pausa el bloqueo en un servidor, o en todos si el campo queda vacío, durante unos minutos (5 por defecto, 0 hasta reactivar, un día como máximo). Las acciones siguientes pueden leer cuántos servidores se pausaron.
  • Reactivar el bloqueo de Technitium: vuelve a activar el bloqueo, en un servidor o en todos.
  • Vaciar la caché DNS de Technitium: vacía la caché DNS, por ejemplo tras modificar un registro, para que las siguientes consultas se resuelvan de nuevo.
  • Leer las estadísticas de Technitium: lee las consultas del último día en una frase, como «En las últimas 24 horas, 12.345 consultas DNS, de ellas 1234 bloqueadas (10 %). Última hora: 456 consultas.», en el idioma de la configuración. Las acciones siguientes pueden enviarla (sentence) o usar las cifras (queries_last_day, blocked_last_day, blocked_percent, queries_last_hour, blocking_enabled).

El interruptor Bloqueo también se puede usar con la acción estándar de Gladys que controla un dispositivo.

Ideas de escenas​

  • Informe matinal: cada día a las 8:00, Leer las estadísticas de Technitium y después enviar la salida sentence en un mensaje.
  • Alerta DNS: Technitium ya no responde → enviar un mensaje «Technitium {{triggerEvent.data.server}} no responde: {{triggerEvent.data.error}}». Y Technitium vuelve a responder → «de vuelta tras {{triggerEvent.data.down_minutes}} min».
  • Red de seguridad: una escena cada noche a las 20:00 con Reactivar el bloqueo de Technitium, para que un interruptor apagado «hasta volver a encenderlo» nunca se quede apagado toda la noche.

Solución de problemas​

  • «token de API rechazado»: el token se ha eliminado o se ha copiado mal. Cree uno nuevo y péguelo en Gladys.
  • «acceso denegado»: al usuario del token le falta un permiso (vea Lo que necesita). La lectura requiere Dashboard y Settings (lectura); la pausa requiere Settings (modificación).
  • «no hay ningún servidor Technitium en esta dirección»: otra cosa responde ahí. La consola web escucha en el puerto 5380 por defecto: introduzca 192.168.1.2 o http://192.168.1.2:5380.
  • «certificado rechazado»: ha introducido una dirección https://; marque Aceptar certificados autofirmados o use la dirección http://.
  • «la dirección redirige»: la consola web envía a los visitantes HTTP a HTTPS; introduzca la dirección https://.
  • «no responde»: compruebe que la consola web se abre desde un ordenador de la red de Gladys. Los nombres terminados en .local no suelen funcionar dentro de la integración: use la dirección IP.
  • Registros: en la página de la integración en Gladys, o docker logs en el host. Muestran el inicio, cada servidor perdido y recuperado, los problemas (una vez cada uno, no en cada lectura) y sus órdenes. Inicie el contenedor con LOG_LEVEL=debug para ver cada lectura y cada reintento. Su token nunca aparece en los registros.

Limitaciones​

  • Una integración gestiona hasta tres servidores. Un clúster de Technitium se ve servidor por servidor; la pausa se aplica al servidor elegido (Technitium la propaga a los demás nodos del clúster).
  • La integración lee cada servidor una vez por intervalo de actualización (cinco consultas pequeñas) y le pide buscar actualizaciones cada seis horas: ninguna cuota está en riesgo.
  • La proporción bloqueada se redondea en el dispositivo (Gladys no tiene sensor de porcentaje decimal); el widget muestra un decimal.
  • No hay detección de presencia por las concesiones DHCP: Gladys tiene otras formas de hacerlo.
  • La integración no gestiona las zonas, las listas de bloqueo, los dominios permitidos o bloqueados ni los ámbitos DHCP: use la consola web para ello.

Esta integración no está afiliada a Technitium.

Parámetros de configuración​

Estos son los parámetros que Technitium DNS te pide en su pantalla de configuración en Gladys.

ParámetroTipoObligatorioDescripción
Su servidor TechnitiumsectionNoTechnitium DNS Server 15 o posterior. Cree un token de API en su consola web: menú del usuario, Create API Token. Hasta tres servidores.
DirecciónstringSíDirección IP o nombre del servidor (puerto 5380 por defecto), o la URL completa de su consola web.
Token de APIsecretNoCreado en la consola web: menú del usuario (arriba a la derecha), Create API Token.
NombrestringNoNombre del dispositivo en Gladys. Vacío: «Technitium» seguido de la dirección.
Segundo servidor (opcional)sectionNoLos mismos campos, para otro servidor Technitium de su red.
DirecciónstringNoDirección IP o nombre del servidor (puerto 5380 por defecto), o la URL completa de su consola web.
Token de APIsecretNoCreado en la consola web: menú del usuario (arriba a la derecha), Create API Token.
NombrestringNoNombre del dispositivo en Gladys. Vacío: «Technitium» seguido de la dirección.
Tercer servidor (opcional)sectionNoLos mismos campos, para otro servidor Technitium de su red.
DirecciónstringNoDirección IP o nombre del servidor (puerto 5380 por defecto), o la URL completa de su consola web.
Token de APIsecretNoCreado en la consola web: menú del usuario (arriba a la derecha), Create API Token.
NombrestringNoNombre del dispositivo en Gladys. Vacío: «Technitium» seguido de la dirección.
OpcionessectionNo
Aceptar certificados autofirmadosbooleanNoPara direcciones https:// con un certificado autofirmado. Márquelo solo para sus propios servidores.
Intervalo de actualizaciónselectNoCon qué frecuencia se leen los servidores Technitium.
Apagar el interruptor de bloqueoselectNoPausa el bloqueo durante este tiempo, o hasta que se vuelva a encender el interruptor.
Idioma de los nombres de funcionesselectNoNombres de las funciones al añadir un dispositivo y textos de los eventos de escena.

Cómo instalar Technitium DNS en Gladys​

  1. En Gladys, abre Integraciones: Technitium DNS aparece en el catálogo junto a las integraciones nativas, con una insignia de comunidad.
  2. Haz clic en Instalar. Gladys descarga la imagen Docker (ghcr.io/guim31/gladys-technitium:1.0.0), la ejecuta en un entorno aislado del núcleo y genera la interfaz de la integración (dispositivos, descubrimiento y configuración).
  3. Abre la pantalla de Configuración de la integración, rellena los parámetros y guarda.
  4. También puedes instalarla directamente desde la URL de su repositorio: https://github.com/guim31/gladys-technitium.

Technitium DNS requiere Gladys >=5.1.0. El catálogo de Gladys se actualiza cada hora, así que una nueva versión está disponible como máximo una hora después de publicarse.

¿Todavía no usas Gladys? Es gratuito y de código abierto: sigue la guía de instalación para empezar.

Sobre las integraciones externas​

Technitium DNS es una integración externa: una integración comunitaria empaquetada como contenedor Docker y publicada en GitHub. Gladys la instala con un clic y la ejecuta en un entorno aislado del núcleo. La publica y mantiene guim31, no el equipo principal de Gladys.

Suscríbete a la newsletter de Gladys Assistant

Unos pocos correos al mes sobre nuevas versiones y novedades del proyecto. Enviados por Pierre-Gilles Leymarie, fundador del proyecto. Puedes darte de baja cuando quieras 🙂