AdGuard Home se conecta a MikroTik User Manager vía RADIUS para asignar usuarios dinámicamente
Con 802.1X y RADIUS de MikroTik, es posible mapear usuarios autenticados a direcciones IP cambiantes en AdGuard Home, evitando la dependencia de mapeos estáticos.
AdGuard Home, el firewall DNS de código abierto, ha sido tradicionalmente limitado a asignar usuarios por direcciones IP estáticas. En la publicación de /u/mtaipe en r/selfhosted, se plantea una solución que combina 802.1X en un router MikroTik con el servidor RADIUS interno, User Manager, para dinamizar esa asignación.
La idea es simple: cuando un cliente Wi‑Fi o cableado se autentica mediante 802.1X, el User Manager guarda la sesión activa junto con el nombre de usuario. AdGuard Home, por otro lado, expone un API REST que permite crear y borrar clientes por nombre. Si se pudiera consultar la tabla de sesiones RADIUS en tiempo real, se podrían crear automáticamente entradas de cliente en AdGuard Home con el nombre de usuario y la IP asignada en el momento.
Hasta la fecha, no existe un proyecto oficial que integre ambos sistemas. La comunidad ha publicado varios scripts en GitHub que hacen consultas a la base de datos de User Manager (SQLite) y actualizan el archivo de configuración de AdGuard Home, pero ninguno ha sido mantenido a largo plazo. La mayoría de estos ejemplos usan cron jobs que recorren todas las sesiones y escriben entradas estáticas, lo que no resuelve el problema de IP cambiantes.
Para alguien que quiere probarlo, la ruta más directa es:
- Exponer el puerto 1812/1813 de User Manager y habilitar la opción de log de sesiones.
- Usar la API de AdGuard Home (
POST /clients) para crear un cliente con el nombre de usuario. - Crear un pequeño servicio en Go o Python que escuche los eventos de RADIUS (o lea el log) y actualice AdGuard Home en tiempo real.
MikroTik ofrece la API de RouterOS, que permite consultar el estado de las sesiones 802.1X y la tabla de DHCP. Con esa información, un script puede asociar el usuario RADIUS con la IP asignada, y luego usar el endpoint de AdGuard Home para crear o actualizar el cliente.
El reto principal es la latencia y la sincronización: RADIUS y DHCP se actualizan a intervalos distintos, y una IP puede cambiar en segundos. Un enfoque robusto es usar Webhooks de User Manager (si se habilita) y un listener que reenvíe los cambios a AdGuard Home.
En resumen, la comunidad aún no ha consolidado una solución plug‑and‑play, pero la combinación de RADIUS de MikroTik y la API de AdGuard Home es viable con un poco de scripting. Si tu infraestructura depende de 802.1X y buscas una experiencia de bloqueo DNS basada en usuario, vale la pena experimentar con este flujo.
Reddit: AdGuard Home + Radius + Mikrotik app
