Cómo configurar DNS over HTTPS (DoH) en MikroTik paso a paso
Cada vez que un dispositivo de tu red consulta un dominio — al abrir una web, enviar un correo o conectarse a un servicio en la nube — esa consulta DNS viaja en texto plano por el puerto 53. Cualquiera en el camino puede verla: tu ISP, un atacante en la red local o alguien haciendo un man-in-the-middle. DNS over HTTPS (DoH) resuelve esto cifrando las consultas dentro de una conexión HTTPS, exactamente igual que cuando navegas por una web segura. En esta guía te explicamos cómo configurar DoH en MikroTik RouterOS con comandos reales, incluyendo la nueva sintaxis de RouterOS 7.21 y las reglas de firewall para que ningún dispositivo de tu red pueda saltarse el DNS cifrado.
Por qué cifrar tu DNS y qué problema resuelve DoH
El DNS tradicional envía las consultas y respuestas sin ningún tipo de cifrado por el puerto UDP 53. Esto significa que tu proveedor de internet puede registrar cada dominio que consultas, un atacante en tu WiFi puede interceptar y modificar las respuestas (DNS spoofing), y cualquier equipo intermedio puede hacer inspección de tráfico DNS sin esfuerzo.
DoH encapsula esas consultas dentro de HTTPS (puerto 443), usando TLS para cifrar el contenido. Desde fuera, el tráfico es indistinguible de cualquier otra conexión HTTPS — nadie puede ver qué dominio estás resolviendo ni manipular la respuesta.
Para redes corporativas, ISPs o cualquier entorno donde la privacidad y la integridad del DNS importen, DoH es una capa de seguridad que deberías considerar. Y MikroTik lo soporta de forma nativa desde RouterOS 6.47, con mejoras importantes en las versiones 7.x.
Requisitos previos
Antes de empezar, verifica que tu entorno cumple con estos puntos:
RouterOS 7.21 o superior es la versión recomendada. Desde RouterOS 7.19, MikroTik incluye un almacén de certificados raíz integrado, y en la 7.21 se mejoró con control granular por servicio. Si usas una versión anterior a 7.19, también puedes configurar DoH pero necesitarás importar certificados manualmente (lo cubrimos más abajo).
NTP configurado y funcionando. Esto es crítico. Si el reloj del router no está sincronizado, la validación de certificados TLS fallará y DoH no funcionará. Verifica con:
/system/clock/print
/system/ntp/client/print
Si no tienes NTP configurado:
/system/ntp/client/set enabled=yes servers=pool.ntp.org
Un servidor DNS estándar accesible. RouterOS necesita al menos un DNS convencional para resolver el hostname del servidor DoH (por ejemplo, cloudflare-dns.com). Es el clásico problema del huevo y la gallina: para usar DoH necesitas resolver el nombre del servidor DoH, y para eso necesitas DNS. Lo resolvemos con entradas estáticas.
Configuración paso a paso (RouterOS 7.19+)
Este es el método moderno y recomendado. Desde RouterOS 7.19, MikroTik incluye un almacén de certificados raíz de confianza integrado. En la versión 7.21 el parámetro se actualizó para permitir control granular por servicio. Ya no necesitas descargar e importar certificados manualmente para cada proveedor.
Paso 1: Activar el almacén de certificados integrado
RouterOS 7.21 o superior:
/certificate/settings/set builtin-trust-store=dns
Desde RouterOS 7.21, el parámetro cambió a builtin-trust-store y permite elegir granularmente qué servicios usan el almacén de certificados. Con dns activas la confianza solo para DoH. Si prefieres habilitarlo para todos los servicios del router (fetch, containers, email, MQTT, netwatch, etc.):
/certificate/settings/set builtin-trust-store=all
Las opciones disponibles son: all, dns, fetch, container, email, mqtt, lora, netwatch y untrusted (para desactivar).

RouterOS 7.19 y 7.20:
/certificate/settings/set builtin-trust-anchors=trusted
En estas versiones el parámetro es diferente y no permite selección por servicio — se activa para todo o nada.
En ambos casos, con este paso RouterOS confía en los certificados raíz de las principales autoridades certificadoras. Esto cubre Google, NextDNS y la mayoría de proveedores DoH sin necesidad de importar certificados manualmente.
Importante si usas Cloudflare: en enero de 2026, Cloudflare migró sus certificados de DigiCert a SSL.com. El almacén integrado de RouterOS no incluye SSL.com por defecto, lo que provoca el error "SSL: ssl: no trusted CA certificate found (6)". Si quieres usar Cloudflare como proveedor DoH, necesitas descargar e importar los certificados de SSL.com manualmente. Son dos pasos separados — el fetch descarga el archivo al router y el import lo instala en el almacén de certificados:
# Descargar e importar certificado ECC
/tool/fetch url="https://www.ssl.com/repo/certs/SSLcomRootCertificationAuthorityECC.pem"
/certificate/import file-name=SSLcomRootCertificationAuthorityECC.pem passphrase=""
# Descargar e importar certificado RSA
/tool/fetch url="https://www.ssl.com/repo/certs/SSLcomRootCertificationAuthorityRSA.pem"
/certificate/import file-name=SSLcomRootCertificationAuthorityRSA.pem passphrase=""
No te saltes el import — sin él, el archivo queda en el sistema de archivos pero el router no lo usa para validar certificados. Verificado en un RB5009 con RouterOS 7.21: solo con el fetch DoH sigue fallando; tras el import funciona inmediatamente.
Verifica que se importaron correctamente con /certificate/print — deberías ver las entradas de SSL.com con flags AT (Authority, Trusted). Si prefieres evitar este paso, usa Google como proveedor DoH, cuyos certificados sí están incluidos en el almacén integrado.

Paso 2: Crear entradas DNS estáticas para el proveedor
Este paso es imprescindible. Para usar DoH, el router necesita resolver el hostname del servidor DoH (por ejemplo, dns.google). Pero si no tiene ningún DNS configurado, no puede resolverlo. Es el clásico problema del huevo y la gallina: necesitas DNS para activar el DNS cifrado.
La solución es añadir las IPs del servidor DoH como entradas estáticas. Así el router sabe dónde conectarse sin depender de ningún DNS externo.
Ojo: puede parecer que DoH funciona sin estas entradas si el hostname ya está en caché de una sesión anterior. Lo hemos probado en un RB5009 con RouterOS 7.21 — al desactivar las entradas estáticas, DoH seguía funcionando temporalmente gracias a la caché DNS. Pero tras vaciar la caché con /ip/dns/cache/flush o reiniciar el router, la resolución se cae. Las entradas estáticas no son opcionales.
Para Cloudflare:
/ip/dns/static/add address=104.16.248.249 name=cloudflare-dns.com type=A
/ip/dns/static/add address=104.16.249.249 name=cloudflare-dns.com type=A
Para Google:
/ip/dns/static/add address=8.8.8.8 name=dns.google type=A
/ip/dns/static/add address=8.8.4.4 name=dns.google type=A

Paso 3: Configurar DoH
Con Google (recomendado — funciona con el almacén integrado sin pasos extra):
/ip/dns/set use-doh-server=https://dns.google/dns-query verify-doh-cert=yes allow-remote-requests=yes
Con Cloudflare (requiere importar certificados SSL.com — ver Paso 1):
/ip/dns/set use-doh-server=https://cloudflare-dns.com/dns-query verify-doh-cert=yes allow-remote-requests=yes
Parámetros clave: use-doh-server define la URL del endpoint DoH, verify-doh-cert=yes valida el certificado TLS del servidor, y allow-remote-requests=yes permite que los clientes de tu LAN usen el router como DNS.
Ten en cuenta que RouterOS solo soporta un servidor DoH activo a la vez. Cuando DoH está funcionando, los servidores DNS estándar configurados en /ip/dns se ignoran — todas las consultas pasan por el túnel HTTPS.
Paso 4: Verificación
Desde el propio router, prueba la resolución:
:put [:resolve lanpixel.com]
Si devuelve una IP, DoH está funcionando. Para una verificación más completa, desde un equipo de tu LAN (con el DNS apuntando a la IP del router), abre https://1.1.1.1/help en tu navegador. La línea "Using DNS over HTTPS (DoH)" debería mostrar "Yes".
También puedes verificar que no hay tráfico DNS sin cifrar saliendo de tu red:
/tool/torch interface=ether1 port=53
Si DoH funciona correctamente, no deberías ver tráfico DNS del router hacia el exterior por el puerto 53.
Método clásico (RouterOS anterior a 7.19)
Si tu versión de RouterOS no incluye el almacén de certificados integrado (anterior a 7.19), necesitas importar el certificado raíz manualmente. Para Google:
/tool/fetch url="https://pki.goog/roots.pem" dst-path="roots-goog.pem"
/certificate/import file-name="roots-goog.pem" passphrase=""
Para Cloudflare (requiere certificados SSL.com desde enero 2026):
/tool/fetch url="https://www.ssl.com/repo/certs/SSLcomRootCertificationAuthorityECC.pem"
/certificate/import file-name=SSLcomRootCertificationAuthorityECC.pem passphrase=""
/tool/fetch url="https://www.ssl.com/repo/certs/SSLcomRootCertificationAuthorityRSA.pem"
/certificate/import file-name=SSLcomRootCertificationAuthorityRSA.pem passphrase=""
Después, sigue los pasos 2, 3 y 4 del método anterior. La única diferencia es cómo se gestionan los certificados.
Cómo forzar DoH en toda tu red
Configurar DoH en el router es solo la mitad del trabajo. Si un dispositivo de tu LAN tiene configurado su propio DNS (por ejemplo, 8.8.8.8 en las propiedades de red de un portátil), las consultas de ese equipo saltarán directamente al DNS externo sin cifrar, ignorando completamente tu configuración DoH.
Para evitar esto, añade reglas de firewall que redirijan todo el tráfico DNS de la LAN hacia el router:
/ip/firewall/nat/add chain=dstnat action=redirect protocol=udp dst-port=53 \
src-address=192.168.88.0/24 to-ports=53 comment="Forzar DNS UDP via router"
/ip/firewall/nat/add chain=dstnat action=redirect protocol=tcp dst-port=53 \
src-address=192.168.88.0/24 to-ports=53 comment="Forzar DNS TCP via router"
Ajusta 192.168.88.0/24 a tu subred LAN. Con estas reglas, da igual qué DNS tenga configurado cada dispositivo — todo el tráfico DNS acaba pasando por el router y, por tanto, por el túnel DoH.
Troubleshooting: errores comunes y cómo resolverlos
"SSL: ssl: no trusted CA certificate found (6)" con Cloudflare: este es el error más frecuente en 2026. Cloudflare migró sus certificados de DigiCert a SSL.com en enero de 2026, y el almacén integrado de RouterOS no incluye SSL.com. Tienes dos soluciones: importar los certificados de SSL.com manualmente (ver Paso 1) o cambiar a Google DoH, que sí funciona con el almacén integrado. Error común: ejecutar solo el /tool/fetch sin el /certificate/import posterior — el archivo se descarga pero el router no lo usa. Ambos comandos son necesarios. Si el error ocurre con Google, verifica que el reloj del router está sincronizado con NTP — un desfase de pocos minutos invalida el certificado.
"SSL error" genérico tras actualizar RouterOS: si actualizaste desde una versión anterior a 7.19, es posible que los certificados importados manualmente hayan quedado inválidos. En RouterOS 7.21+, comprueba que builtin-trust-store incluye dns o all. En 7.19-7.20, verifica que builtin-trust-anchors está en trusted. Si el problema persiste, elimina todos los certificados antiguos y confía solo en el almacén integrado.
"doh server connection error: resolving error": falta la entrada DNS estática para el hostname del servidor DoH. Sin ella, el router no puede resolver la dirección del propio servidor DoH. Ojo: puede parecer que funciona sin estáticas si el hostname quedó en caché de una sesión anterior. Pero tras un reinicio o un /ip/dns/cache/flush, DoH dejará de funcionar. Las entradas estáticas son obligatorias.
Inestabilidad o crashes en equipos con poca RAM (hEX S, hAP lite, etc.): la verificación CRL completa consume recursos significativos. Usa la opción verify-doh-cert=yes-without-crl en lugar de verify-doh-cert=yes:
/ip/dns/set verify-doh-cert=yes-without-crl
Esto valida el certificado pero omite la consulta CRL, reduciendo el consumo de memoria.
Los sitios tardan en cargar tras activar DoH: es normal que las primeras consultas sean más lentas porque DoH tiene mayor latencia que DNS convencional (es HTTPS, no un simple paquete UDP). Aumenta el tamaño de caché para mitigar esto:
/ip/dns/set cache-size=8192KiB cache-max-ttl=1d
Una vez que las entradas están en caché, la resolución es instantánea.
Conclusión
Configurar DNS over HTTPS en MikroTik es una mejora de seguridad que protege toda tu red con unos minutos de configuración. Con RouterOS 7.21+ y el almacén de certificados integrado, el proceso es más sencillo que nunca — especialmente si usas Google como proveedor DoH, que funciona sin importar certificados adicionales.
Tres puntos clave que no debes olvidar: las entradas DNS estáticas son obligatorias (sin ellas, DoH funciona temporalmente por caché pero se cae al reiniciar), las reglas de firewall para forzar DNS a través del router son imprescindibles para que la protección cubra toda la red, y si usas Cloudflare necesitas importar los certificados de SSL.com desde enero de 2026.
Si quieres dominar el firewall de RouterOS, la gestión DNS avanzada y todas las herramientas de seguridad que ofrece MikroTik, en LanPixel ofrecemos el curso oficial MTCNA, donde cubrimos estos temas con prácticas sobre equipos reales. Consulta las próximas fechas en nuestro calendario.