Propagación DNS

Protocolos y Estándares
El período durante el cual los resolutores DNS actualizan las respuestas almacenadas en caché después de un cambio en un registro DNS.
← Volver al Glosario

¿Qué es la propagación DNS?

La propagación DNS es el período durante el cual un cambio publicado por un servidor de nombres autorizado se vuelve visible a través de otros servidores autorizados, resolutores recursivos y cachés locales. El servidor de nombres que publica el cambio puede servir el nuevo registro una vez que lo ha publicado, mientras que otros servidores autorizados aún pueden estar actualizándose y los resolutores recursivos pueden devolver una respuesta antigua almacenada en caché. Los valores TTL orientan la duración del almacenamiento en caché, pero el comportamiento de los resolutores puede variar, por lo que las respuestas obsoletas a veces pueden persistir más allá del TTL nominal.

Entendiendo "Propagación"

El término "propagación" es algo engañoso: los cambios DNS no se "propagan" o distribuyen activamente. En su lugar:

1. Actualizas registros en tu servidor de nombres autorizado

2. Las copias en caché expiran basándose en TTL (Time To Live)

3. Las nuevas consultas obtienen registros actualizados de servidores autorizados

4. Las copias antiguas en caché continúan sirviendo hasta que expira el TTL

Es más preciso decir "expiración de caché DNS" que "propagación", pero el término propagación se usa ampliamente.

Cómo funcionan los cambios DNS

El proceso de actualización

Step 1: Update DNS records

example.com A record: 203.0.113.50 → 203.0.113.51

Step 2: Authoritative nameserver immediately serves new record

Step 3: Existing cached copies remain valid until TTL expires

Step 4: New queries after TTL expiration receive updated record

Step 5: All caches eventually expire and refresh

→ "Propagation complete"

Ejemplo de línea de tiempo

Time: 10:00 - DNS updated (TTL: 300s / 5 minutes)

Resolver A (cached at 09:58):

09:58 - Cached old IP, expires 10:03

10:03 - Cache expires, queries again, gets new IP

Resolver B (cached at 10:01):

10:01 - Cached old IP, expires 10:06

10:06 - Cache expires, queries again, gets new IP

Resolver C (queries at 10:05):

10:05 - No cache, queries immediately, gets new IP

All resolvers have new IP by: 10:06

Propagation time: 6 minutes (worst case based on TTL)

Factores que afectan el tiempo de propagación

TTL (Time To Live): tiempo de vida

El factor más importante:

Valor TTLTiempo de propagaciónCaso de uso
60s1-2 minutosMigraciones activas, balanceo de carga
300s (5 min)5-10 minutosCambios de producción, default razonable
3600s (1 hora)1-2 horasInfraestructura estable
86400s (24 horas)24-48 horasRegistros raramente cambiados

Cambios de servidor de nombres

Cambiar servidores de nombres tarda más que otros cambios DNS:

Registry Level: 24-48 hours (TLD nameserver cache)

Resolver Level: Based on NS record TTL

Total Time: Up to 48 hours worst case

Comportamiento de ISP y resolver

No todos los resolutores DNS respetan los valores TTL:

Resolutores bien comportados: Google (8.8.8.8), Cloudflare (1.1.1.1), OpenDNS Resolutores problemáticos: Algunos ISP

Distribución geográfica

Diferentes regiones se actualizan en diferentes momentos basándose en caché del resolver local:

North America: 10:05 - Updated

Europe: 10:08 - Updated

Asia: 10:12 - Updated

Almacenamiento en caché del lado del cliente

Incluso después de que los servidores DNS se actualicen, las cachés locales pueden retener valores antiguos:

Comprobar propagación DNS

Verificadores de propagación en línea

whatsmydns.net: Muestra resolución DNS desde 20+ ubicaciones en todo el mundo dnschecker.org: Verifica registros A, AAAA, CNAME, MX, TXT globalmente DomScan Health Check:
curl "https://domscan.net/v1/health?domain=example.com"

# Shows current DNS configuration

Comprobaciones de línea de comandos

Comprobar múltiples resolutores:
# Google DNS

dig @8.8.8.8 example.com

# Cloudflare DNS

dig @1.1.1.1 example.com

# Your ISP (no @ server specified)

dig example.com

# Compare results

Consultar servidor de nombres autorizado directamente:
# Find nameservers

dig example.com NS

# Query authoritative NS directly

dig @ns1.example.com example.com

Esto muestra la "verdad" inmediatamente, sin caché involucrada.

Comprobar desde múltiples ubicaciones

# Using curl with DNS over HTTPS

curl -H 'accept: application/dns-json' 'https://cloudflare-dns.com/dns-query?name=example.com&type=A'

Minimizar tiempo de propagación

Antes de realizar cambios

Paso 1: Reducir TTL (24-48 horas antes del cambio)
Old: example.com.    3600    IN    A    203.0.113.50

New: example.com. 300 IN A 203.0.113.50

^^^

Reduced to 5 minutes

Paso 2: Esperar a que expire el TTL anterior

Esperar la duración completa del TTL anterior (3600s = 1 hora)

Paso 3: Realizar cambio DNS
example.com.    300    IN    A    203.0.113.51
Paso 4: Monitorizar propagación

Comprobar resolutores globalmente

Paso 5: Restaurar TTL (después de confirmar éxito)
example.com.    3600    IN    A    203.0.113.51

Durante cambios

Usar DNS anycast: Proveedores como Cloudflare utilizan redes anycast que se actualizan casi instantáneamente en toda su red global Monitorizar continuamente: Rastrear la propagación en regiones clave y resolutores Plan de reversión: Mantener la infraestructura antigua en funcionamiento hasta que la propagación sea completa

Escenarios comunes de propagación

Cambiar registro A

Tiempo esperado: 5-30 minutos (basado en TTL)
# Before

example.com → 203.0.113.50

# After

example.com → 203.0.113.51

# Propagation: 1x TTL duration

Cambiar registro MX

Tiempo esperado: 5-30 minutos (basado en TTL) Riesgo: El correo puede entregarse al servidor antiguo durante la propagación Mitigación: Mantener servidor de correo antiguo activo durante 24-48 horas

Cambiar servidores de nombres

Tiempo esperado: 24-48 horas
Why so long?
  • TLD registry caches NS records
  • Registry TTL often 24-48 hours
  • No control over registry cache
Mejor práctica: Configurar todos los registros en nuevos servidores de nombres antes de cambiar

Agregar nuevo subdominio

Tiempo esperado: Instantáneo a 1 hora Trampa: Almacenamiento en caché negativo
If subdomain was queried and didn't exist:

→ NXDOMAIN cached (SOA minimum TTL)

→ New subdomain won't resolve until cache expires

Mitigación: Reducir TTL mínimo de SOA antes de agregar nuevos registros

Solucionar problemas de propagación

Cambio no se está propagando

Comprobación 1: Verificar servidor de nombres autorizado
dig @ns1.example.com example.com

# Should show new value

Comprobación 2: Verificar TTL
dig example.com | grep -i ttl
Comprobación 3: Comprobar SOA para caché negativo
dig example.com SOA

# Look at minimum TTL field

Comprobación 4: Vaciar caché local

Limpiar cachés de navegador, SO y aplicación

Propagación parcial

Síntoma: Algunos usuarios ven nuevos registros, otros ven antiguos Causa: Diferentes resolutores almacenados en caché en diferentes momentos Solución: Esperar duración máxima de TTL y luego vaciar cachés del cliente

Propagación atascada

Síntoma: Días después, algunos resolutores todavía sirven registros antiguos Causa: El resolver del ISP ignora el TTL o está mal configurado Solución:

1. Verificar que el servidor de nombres autorizado sea correcto

2. Contactar al ISP si persiste

3. Los usuarios pueden cambiar a DNS público (8.8.8.8, 1.1.1.1)

Propagación DNS vs TTL de caché

ConceptoQué esDuración
TTLCuánto tiempo un registro puede almacenarse en cachéEstablecido por propietario de dominio
PropagaciónTiempo para que todas las cachés expirenAproximadamente 2x TTL
TTL del servidor de nombresCuánto tiempo se almacenan en caché los registros NSA menudo 24-48 horas (registro)
Caché negativoCuánto tiempo se almacena NXDOMAIN en cachéTTL mínimo SOA

Mejores prácticas

1. Reducir TTL antes de cambios: Reducir TTL 24-48 horas antes de actualizar DNS

2. Usar TTLs apropiados: Balance entre rendimiento (TTL alto) vs flexibilidad (TTL bajo)

3. Monitorizar globalmente: Comprobar DNS desde múltiples regiones geográficas

4. Mantener servicios antiguos ejecutándose: Mantener servidores anteriores hasta que la propagación sea completa

5. Documentar cambios: Rastrear qué cambió y cuándo para solucionar problemas

6. Probar minuciosamente: Verificar que los nuevos registros DNS funcionen antes de cambiar

7. Comunicar con usuarios: Advertir de posibles interrupciones breves

8. Usar DNS gestionado: Los proveedores con redes anycast minimizan el tiempo de propagación

9. Automatizar monitoreo: Configurar alertas para cambios DNS y estado de propagación

10. Plan de reversión: Saber cómo revertir cambios en caso de problemas

Lista de verificación de propagación

☐ Lower TTL 24-48 hours before change

☐ Wait for old TTL to expire

☐ Make DNS change

☐ Verify on authoritative nameservers

☐ Check multiple public resolvers

☐ Test from multiple geographic locations

☐ Monitor for 2x TTL duration

☐ Verify no errors reported

☐ Restore higher TTL if desired

☐ Document change completion

La propagación DNS es una consecuencia natural del almacenamiento en caché DNS: comprender el comportamiento del TTL y planificar cambios en consecuencia garantiza actualizaciones suaves y predecibles con mínimas interrupciones.

Pon Este Conocimiento en Práctica

Usa la API de DomScan para comprobar disponibilidad de dominios, estado y mucho más.