¿Qué es un resolver DNS?
Un resolver DNS (también llamado resolver recursivo o servidor DNS recursivo) es un servidor que recibe consultas DNS de dispositivos cliente y realiza el trabajo de rastrear la dirección IP de un nombre de dominio. Los resolutores actúan como intermediarios entre clientes y la jerarquía DNS, manejando la recursión a través de servidores raíz, TLD y autorizados.
Cómo funcionan los resolutores DNS
El proceso de resolución
Cuando escribes "example.com" en tu navegador:
1. Cliente → Resolver: "¿Cuál es la IP de example.com?"
2. Resolver comprueba caché
→ Acierto de caché: Devuelve resultado en caché
→ Fallo de caché: Comienza recursión
3. Resolver → Servidor raíz: "¿Dónde está .com?"
Raíz → Resolver: "Pregunta a estos servidores de nombres .com"
4. Resolver → TLD .com: "¿Dónde está example.com?"
.com → Resolver: "Pregunta a estos servidores de nombres"
5. Resolver → NS autorizado: "¿Cuál es la IP de example.com?"
Auth NS → Resolver: "203.0.113.50"
6. Resolver → Cliente: "203.0.113.50"
(También almacena en caché el resultado basado en TTL)
Consultas recursivas vs iterativas
Consulta recursiva (Cliente → Resolver):Cliente: "Dame la respuesta final para example.com"
Resolver: "Aquí está la IP: 203.0.113.50"
(El resolver hace todo el trabajo)
Consulta iterativa (Resolver → Servidores de nombres):
Resolver: "¿Qué es example.com?"
Raíz: "No sé, pregunta a servidores de .com"
Resolver: "¿Qué es example.com?"
.com: "No sé, pregunta a ns1.example.com"
Resolver: "¿Qué es example.com?"
ns1: "203.0.113.50"
Tipos de resolutores
Stub resolver
Integrado en sistemas operativos y aplicaciones:
- Reenvía consultas a servidores DNS configurados
- Lógica mínima
- No realiza recursión
Resolver recursivo
Servidores con todas las características que realizan resolución DNS completa:
- Almacena resultados en caché
- Sigue referencias
- Implementa características de seguridad
Resolver de reenvío
Reenvía consultas a otro resolver en lugar de realizar recursión:
- Común en redes corporativas
- Ejecución central de políticas
- Menos consultas externas
Cliente → Resolver corporativo (reenvío) → Resolver ISP (recursivo) → Internet
Resolutores públicos populares
| Proveedor | IPv4 | IPv6 | Características |
|---|---|---|---|
| Cloudflare | 1.1.1.1, 1.0.0.1 | 2606:4700:4700::1111 | Rápido, privacidad, sin registros |
| 8.8.8.8, 8.8.4.4 | 2001:4860:4860::8888 | Confiable, anycast global | |
| Quad9 | 9.9.9.9 | 2620:fe::fe | Filtrado de seguridad, bloqueo de amenazas |
| OpenDNS | 208.67.222.222 | 2620:119:35::35 | Filtrado de contenido, protección de phishing |
Cambiar tu resolver
Windows:Panel de control → Red → Configuración del adaptador
→ Propiedades → IPv4 → Usar estos servidores DNS:
Preferido: 1.1.1.1
Alterno: 8.8.8.8
macOS:
Preferencias del sistema → Red → Avanzado → DNS
→ Agregar: 1.1.1.1, 8.8.8.8
Linux (/etc/resolv.conf):
nameserver 1.1.1.1
nameserver 8.8.8.8
Características del resolver
Almacenamiento en caché
Los resolutores almacenan en caché respuestas DNS basadas en TTL:
Primera consulta: example.com
→ Recursión completa (50ms)
→ Almacenada en caché durante 300s (TTL)
Consultas posteriores: example.com
→ Acierto de caché (1ms)
→ Servida hasta que expire el TTL
Estadísticas de caché muestran tasas de acierto frecuentemente superiores a 80-90%.
Almacenamiento en caché negativo
Los resolutores también almacenan en caché respuestas negativas (NXDOMAIN):
Consulta: nonexistent.example.com
Respuesta: NXDOMAIN
Almacenada en caché: Basado en TTL mínimo SOA
Esto previene consultas repetidas para dominios no existentes.
Minimización de consultas
Los resolutores modernos minimizan la divulgación de información:
Tradicional:Consulta a .com: "¿Qué es www.blog.example.com?"
→ Expone estructura completa del subdominio
Minimización de consultas (RFC 7816):
Consulta a .com: "¿Qué es example.com?"
Consulta a example.com NS: "¿Qué es blog.example.com?"
Consulta a blog.example.com NS: "¿Qué es www.blog.example.com?"
→ Revela solo información necesaria en cada nivel
Validación DNSSEC
Los resolutores conscientes de seguridad validan firmas DNSSEC:
Consulta: example.com (firmado con DNSSEC)
→ El resolver valida firmas
→ Devuelve bandera AD (Datos auténticos) si es válido
→ Devuelve SERVFAIL si las firmas no son válidas
Características de seguridad del resolver
DNS sobre HTTPS (DoH)
Cifra consultas DNS sobre HTTPS:
DNS tradicional:
Cliente → Resolver (UDP puerto 53, texto plano)
DNS sobre HTTPS:
Cliente → Resolver (TCP puerto 443, cifrado)
Proveedores: Cloudflare (https://cloudflare-dns.com/dns-query), Google
DNS sobre TLS (DoT)
Cifra consultas DNS sobre TLS:
Cliente → Resolver (TCP puerto 853, cifrado)
Ventaja: Los ISP no pueden ver o modificar consultas DNS
Filtrado de malware/phishing
Algunos resolutores bloquean dominios maliciosos conocidos:
Quad9 (9.9.9.9): Bloquea dominios asociados con malware, phishing Cloudflare para familias: Bloquea malware (1.1.1.2) o malware+contenido adulto (1.1.1.3)Limitación de velocidad
Protege contra ataques de amplificación DNS:
Si una IP de origen envía > consultas de umbral/segundo:
→ Limitar temporalmente o bloquear velocidad
Comprobando tu resolver actual
Windows:ipconfig /all | findstr "DNS Servers"
macOS/Linux:
cat /etc/resolv.conf
Herramientas en línea: browserleaks.com/dns muestra qué resolver usa tu navegador
Probar resolución:
dig example.com
# Buscar "SERVER:" en salida
Rendimiento del resolver
La latencia importa
El tiempo de respuesta del resolver afecta el rendimiento web:
| Resolver | Latencia promedio | Impacto |
|---|---|---|
| ISP local | 10-30ms | Rápido, pero varía |
| Cloudflare | 10-20ms | Consistentemente rápido (anycast) |
| 20-40ms | Confiable, global | |
| Resolver lento | 100-200ms | Retraso perceptible en carga de página |
Encaminamiento Anycast
Los resolutores principales utilizan anycast para baja latencia:
1.1.1.1 IP anycast
→ Encaminado al centro de datos de Cloudflare más cercano
→ Consulta de Nueva York → Centro de datos Nueva York
→ Consulta de Londres → Centro de datos Londres
→ Resultado: Resolución global de baja latencia
Midiendo rendimiento del resolver
Usando Namebench (prueba automatizada):# Prueba múltiples resolutores con tus patrones de consulta reales
namebench
Prueba manual:
# Probar Cloudflare
time dig @1.1.1.1 example.com
# Probar Google
time dig @8.8.8.8 example.com
# Probar ISP (actual)
time dig example.com
Problemas comunes del resolver
Envenenamiento DNS
Los atacantes inyectan registros falsos en la caché del resolver:
Mitigación:- Usar resolutores con validación DNSSEC
- Habilitar aleatorización de puerto de origen
- Usar DoH/DoT para prevenir ataques man-in-the-middle
Secuestro del resolver
Los ISP o malware redirigen consultas DNS:
Síntoma: Búsquedas muestran anuncios de ISP, redireccionamientos inesperados Solución:- Cambiar a resolver público (1.1.1.1, 8.8.8.8)
- Usar DoH/DoT para prevenir interferencia del ISP
- Comprobar malware
Caché obsoleta
El resolver almacena en caché registros desactualizados:
Síntoma: Los cambios DNS no se reflejan Solución:- Esperar a que expire el TTL
- Usar un resolver diferente temporalmente
- Vaciar caché local
Bloqueo del resolver
Algunas redes bloquean resolutores externos:
Síntoma: No se puede alcanzar 8.8.8.8, 1.1.1.1 Solución:- Usar DNS sobre HTTPS (más difícil de bloquear)
- Usar endpoint DoH del resolver
Configurando un resolver local
Usando Unbound
# Instalar Unbound (Linux)
sudo apt install unbound
# Configuración básica (/etc/unbound/unbound.conf)
server:
interface: 127.0.0.1
do-ip4: yes
do-udp: yes
do-tcp: yes
# Habilitar DNSSEC
auto-trust-anchor-file: "/var/lib/unbound/root.key"
# Privacidad (minimización de consultas)
qname-minimisation: yes
# Iniciar servicio
sudo systemctl start unbound
sudo systemctl enable unbound
Usando Pi-hole
Resolver DNS de bloqueo de anuncios a nivel de red:
# Instalar Pi-hole
curl -sSL https://install.pi-hole.net | bash
# Configurar dispositivos para usar Pi-hole como resolver
# Establecer DHCP del router para proporcionar IP de Pi-hole como DNS
Mejores prácticas
1. Usar resolutores públicos acreditados: Cloudflare, Google o Quad9 para confiabilidad
2. Habilitar DoH/DoT: Cifrar consultas para privacidad y seguridad
3. Considerar características del resolver: Elegir basado en privacidad, velocidad o necesidades de seguridad
4. Monitorizar rendimiento del resolver: Probar latencia periódicamente
5. Tener resolutores de copia de seguridad: Configurar DNS secundario para redundancia
6. Usar resolutores que validan DNSSEC: Proteger contra envenenamiento de caché
7. Entender políticas del resolver: Algunos filtran contenido, otros registran consultas
8. Probar después de cambios: Verificar que la resolución DNS funciona correctamente
9. Documentar elección de resolver: Anotar por qué se eligió un resolver particular
10. Actualizar resolv.conf cuidadosamente: Una configuración incorrecta rompe DNS completamente
Resolver vs servidor de nombres autorizado
| Característica | Resolver | NS autorizado |
|---|---|---|
| Rol | Responde consultas del cliente | Mantiene registros DNS reales |
| Recursión | Sí, consulta otros servidores | No, solo responde para sus propias zonas |
| Almacenamiento en caché | Sí, almacena en caché respuestas | No (datos autorizados) |
| Usado por | Clientes, usuarios finales | Resolutores durante recursión |
| Ejemplos | 8.8.8.8, 1.1.1.1 | ns1.example.com |
Los resolutores DNS son los caballos de batalla del sistema DNS: elegir un resolver rápido, seguro y que respete la privacidad impacta significativamente tu experiencia de navegación y seguridad en línea.