¿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. Client → Resolver: "What's the IP for example.com?"
2. Resolver checks cache
→ Cache hit: Return cached result
→ Cache miss: Begin recursion
3. Resolver → Root Server: "Where's .com?"
Root → Resolver: "Ask these .com nameservers"
4. Resolver → .com TLD: "Where's example.com?"
.com → Resolver: "Ask these nameservers"
5. Resolver → Authoritative NS: "What's example.com's IP?"
Auth NS → Resolver: "203.0.113.50"
6. Resolver → Client: "203.0.113.50"
(Also caches result based on TTL)
Consultas recursivas vs iterativas
Consulta recursiva (Cliente → Resolver):Client: "Give me the final answer for example.com"
Resolver: "Here's the IP: 203.0.113.50"
(Resolver does all the work)
Consulta iterativa (Resolver → Servidores de nombres):
Resolver: "What's example.com?"
Root: "I don't know, ask .com servers"
Resolver: "What's example.com?"
.com: "I don't know, ask ns1.example.com"
Resolver: "What's example.com?"
ns1: "203.0.113.50"
Tipos de resolutores
Stub resolver: resolutor auxiliar
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
Client → Corporate Resolver (forwarding) → ISP Resolver (recursive) → 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:Control Panel → Network → Adapter Settings
→ Properties → IPv4 → Use these DNS servers:
Preferred: 1.1.1.1
Alternate: 8.8.8.8
macOS:
System Preferences → Network → Advanced → DNS
→ Add: 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:
First query: example.com
→ Full recursion (50ms)
→ Cached for 300s (TTL)
Subsequent queries: example.com
→ Cache hit (1ms)
→ Served until TTL expires
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):
Query: nonexistent.example.com
Response: NXDOMAIN
Cached: Based on SOA minimum TTL
Esto previene consultas repetidas para dominios no existentes.
Minimización de consultas
Los resolutores modernos minimizan la divulgación de información:
Tradicional:Query to .com: "What's www.blog.example.com?"
→ Exposes full subdomain structure
Minimización de consultas (RFC 7816):
Query to .com: "What's example.com?"
Query to example.com NS: "What's blog.example.com?"
Query to blog.example.com NS: "What's www.blog.example.com?"
→ Reveals only necessary information at each level
Validación DNSSEC
Los resolutores conscientes de seguridad validan firmas DNSSEC:
Query: example.com (DNSSEC-signed)
→ Resolver validates signatures
→ Returns AD (Authentic Data) flag if valid
→ Returns SERVFAIL if signatures invalid
Características de seguridad del resolver
DNS sobre HTTPS (DoH)
Cifra consultas DNS sobre HTTPS:
Traditional DNS:
Client → Resolver (UDP port 53, plaintext)
DNS over HTTPS:
Client → Resolver (TCP port 443, encrypted)
Proveedores: Cloudflare (https://cloudflare-dns.com/dns-query), Google
DNS sobre TLS (DoT)
Cifra consultas DNS sobre TLS:
Client → Resolver (TCP port 853, encrypted)
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:
If source IP sends > threshold queries/second:
→ Temporarily rate limit or block
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
# Look at "SERVER:" in output
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 anycast IP
→ Routed to nearest Cloudflare datacenter
→ New York query → New York datacenter
→ London query → London datacenter
→ Result: Global low-latency resolution
Midiendo rendimiento del resolver
Usando Namebench (prueba automatizada):# Tests multiple resolvers with your actual query patterns
namebench
Prueba manual:
# Test Cloudflare
time dig @1.1.1.1 example.com
# Test Google
time dig @8.8.8.8 example.com
# Test ISP (current)
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
# Install Unbound (Linux)
sudo apt install unbound
# Basic config (/etc/unbound/unbound.conf)
server:
interface: 127.0.0.1
do-ip4: yes
do-udp: yes
do-tcp: yes
# Enable DNSSEC
auto-trust-anchor-file: "/var/lib/unbound/root.key"
# Privacy (query minimization)
qname-minimisation: yes
# Start service
sudo systemctl start unbound
sudo systemctl enable unbound
Usando Pi-hole
Resolver DNS de bloqueo de anuncios a nivel de red:
# Install Pi-hole
curl -sSL https://install.pi-hole.net | bash
# Configure devices to use Pi-hole as resolver
# Set router DHCP to provide Pi-hole IP as 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.