Cómo montar un dnsmasq autoritativo en un contenedor de MikroTik

Fuentes: Authoritative dnsmasq in a MikroTik container

El desarrollador Georg Lukas detalla en su blog cómo desplegar un contenedor con dnsmasq sobre un router MikroTik RB4011 con RouterOS para que actúe simultáneamente como servidor DNS autoritativo de su zona dentro de DN42 y como caché de reenvío, algo que el servicio DNS integrado del fabricante no permite, entre otras cosas porque comparte una caché común que filtraría el laboratorio doméstico hacia la red experimental.

DN42 es una red superpuesta global pensada para experimentar con enrutamiento IP sin tocar Internet de producción. Lukas configuró sus túneles DN42 en una VRF sobre el RB4011, su switch de laboratorio, y necesitaba servir desde el mismo equipo la zona ge0rg.dn42. RouterOS admite contenedores Docker en CPUs ARM y ARM64, aunque el fabricante recomienda almacenamiento externo (USB o SD) para no desgastar la memoria flash interna; al no disponer de esos puertos en el RB4011, el autor opta por asumir el riesgo y ejecutar las imágenes en los 512 MB de flash internos.

Para separar las funciones autoritativa y forwarder, dnsmasq exige direcciones IP distintas, por lo que se asignan dos direcciones IPv6 al interfaz virtual veth5: una para el servidor autoritativo y otra para el reenvío, conectado a un puente dentro de la VRF dn42. El artículo recoge los comandos exactos de RouterOS para registrar el registro de Docker, declarar el contenedor dockurr/dnsmasq (basado en Alpine, unos 12 MB) con sus variables de entorno y montajes, configurar el bridge y la VRF, y escribir el fichero ge0rg.conf con los registros AAAA, PTR y los parámetros SOA.

Finalmente, Lukas valida la zona con el script validate-my-dns.py de DN42 y muestra una traza mtr desde un peer para confirmar la resolución y la accesibilidad del registro darkwing.ge0rg.dn42. El autor recomienda, eso sí, elegir un MikroTik con ARM64 y almacenamiento físico si se pretende replicar el montaje.