Configurar RocksDNS en routers

RocksDNS solo acepta conexiones cifradas. Eso significa que configurarlo en un router requiere que ese router soporte DoH, DoT o DoQ. La mayoría de routers de operadora no lo permiten. Esta guía explica qué opciones tienes según tu situación.

El problema con los routers de operadora

Los routers que proporcionan las operadoras tienen firmware cerrado y limitado. En la gran mayoría de casos no exponen opciones de DNS cifrado en su panel de administración, y aunque permitan cambiar el DNS manualmente, ese cambio se aplica como DNS sin cifrar por el puerto 53, que RocksDNS no acepta.

No hay truco para sortear esto. Si tu router de operadora no soporta DoH o DoT de forma nativa, tienes dos caminos: trabajar por encima del router configurando cada dispositivo por separado, o poner algo entre el router y el resto de la red.

Poner las IPs de RocksDNS en la configuración DNS del router de operadora no funcionará. RocksDNS no responde por el puerto 53 sin cifrar.

Alternativa 1: configurar por dispositivo

La opción más sencilla si no puedes tocar el router. Configuras DNS cifrado directamente en cada dispositivo que uses: móvil, ordenador, tablet. No necesitas tocar el router para nada.

Es más trabajo si tienes muchos dispositivos, pero funciona con cualquier router y no requiere hardware adicional.

Alternativa 2: DNS local en la red

Si quieres que todos los dispositivos de tu red usen RocksDNS sin tener que configurar cada uno, puedes montar un resolvedor DNS local que hable con RocksDNS mediante DoT o DoH. Los dispositivos de la red apuntan a ese resolvedor local, y él se encarga del cifrado.

Para esto necesitas un dispositivo siempre encendido en tu red local: una Raspberry Pi, un mini-PC, un NAS o cualquier equipo Linux que puedas dejar corriendo.

Opción con Stubby (DoT)

Instala Stubby en el equipo Linux de tu red local, configúralo para escuchar en la IP local del equipo y apuntar a RocksDNS. Luego configura el router para que reparta esa IP como DNS a todos los dispositivos por DHCP.

upstream_recursive_servers:
  - address_data: 82.223.31.111
    tls_auth_name: "dns.rocksdns.ovh"
    tls_port: 853
  - address_data: 116.203.57.216
    tls_auth_name: "dns2.rocksdns.ovh"
    tls_port: 853

Consulta la guía de Linux para la configuración completa de Stubby.

Opción con dnscrypt-proxy (DoH)

Misma idea con dnscrypt-proxy escuchando en la IP local del equipo. Más flexible si quieres DoH o más opciones de filtrado.

Si tienes AdGuard Home o Pi-hole en tu red, puedes configurarlos para que usen RocksDNS como upstream con DoH o DoT. Así conservas el filtrado de AdGuard y añades el cifrado de RocksDNS.

OpenWrt

OpenWrt es el firmware alternativo más extendido para routers y tiene buen soporte para DNS cifrado. Si tu router es compatible, es la opción más potente.

DoH con https-dns-proxy

https-dns-proxy es el paquete más sencillo para DoH en OpenWrt. Actúa como proxy local y redirige las consultas DNS a RocksDNS mediante HTTPS.

opkg update
opkg install https-dns-proxy

Edita la configuración:

uci set https-dns-proxy.@https-dns-proxy[0].url="https://dns.rocksdns.ovh/dns-query"
uci commit https-dns-proxy
/etc/init.d/https-dns-proxy restart

Si quieres usar los dos servidores:

uci add https-dns-proxy https-dns-proxy
uci set https-dns-proxy.@https-dns-proxy[1].url="https://dns2.rocksdns.ovh/dns-query"
uci commit https-dns-proxy
/etc/init.d/https-dns-proxy restart

DoT con Stubby

opkg update
opkg install stubby

Configura /etc/stubby/stubby.yml con las IPs y hostnames de RocksDNS igual que en la guía de Linux.

Antes de instalar cualquier paquete, comprueba que tu router tiene espacio suficiente en flash. Algunos modelos con poca memoria no pueden instalar paquetes adicionales sin ampliar el almacenamiento.

pfSense y OPNsense

Ambos permiten configurar DNS cifrado desde su panel de administración. La vía más habitual es usar Unbound con DoT.

pfSense con Unbound DoT

  1. Ve a Services → DNS Resolver.
  2. Activa DNS over TLS.
  3. Añade los servidores de RocksDNS:
    • IP: 82.223.31.111 · Hostname: dns.rocksdns.ovh · Puerto: 853
    • IP: 116.203.57.216 · Hostname: dns2.rocksdns.ovh · Puerto: 853
  4. Guarda y aplica.

OPNsense con Unbound DoT

  1. Ve a Services → Unbound DNS → DNS over TLS.
  2. Añade los mismos servidores con IP, hostname y puerto 853.
  3. Guarda y aplica.

Otros routers

Routers ASUS con firmware reciente

Algunos modelos ASUS con firmware reciente incluyen la opción de DNS over TLS en el panel de administración, bajo WAN → DNS Privacy Protocol. Si tu modelo la tiene, puedes introducir directamente dns.rocksdns.ovh como servidor DoT.

Firewalla

Firewalla permite configurar DNS cifrado desde su app. Puedes añadir RocksDNS como servidor DoH personalizado con https://dns.rocksdns.ovh/dns-query.

DD-WRT

El soporte de DD-WRT para DNS cifrado es limitado y varía mucho según la versión del firmware. Si lo tienes, revisa si tu build incluye soporte para DoH o DoT antes de intentar configurarlo.

Synology RT

Los routers Synology con SRM permiten configurar DNS sobre HTTPS desde el panel de red. Usa https://dns.rocksdns.ovh/dns-query como servidor personalizado.

Verificación

Desde cualquier dispositivo en la red, comprueba que el DNS está funcionando correctamente:

dig google.com

Para verificar que estás usando DNS cifrado y no hay fugas:

Si tienes acceso SSH al router o al equipo que hace de resolvedor local, puedes verificar DoT directamente:

kdig @dns.rocksdns.ovh +tls google.com

Para terminar

Si tienes un router de operadora, la respuesta honesta es que no puedes configurar RocksDNS directamente en él. La alternativa más práctica es configurar cada dispositivo por separado con las guías correspondientes.

Si quieres cubrir toda la red de una vez, necesitas o bien un router con firmware alternativo como OpenWrt, o bien un equipo Linux en la red local que haga de resolvedor cifrado para el resto de dispositivos.

¿Quieres seguir configurando RocksDNS?

Empieza con uno de estos endpoints:

  • https://dns.rocksdns.ovh/dns-query
  • https://dns2.rocksdns.ovh/dns-query