Skip to content

Dominios y DNS ​

Tu cliente ya compró cafeterialuna.com. ¿Cómo hacemos que ese nombre muestre el sitio que tú programaste y que además funcione el correo hola@cafeterialuna.com? La respuesta está en el DNS. Esta lección te enseña a dominarlo, porque el 50% de los problemas de "mi sitio no carga" son de DNS.

Curso completo

Esta lección es un resumen. Para dominar DNS, correo con tu dominio, Cloudflare y SSL gratis, sigue el curso Dominios, DNS y correo.

Concepto ​

El DNS (Domain Name System) es la agenda telefónica de internet: traduce nombres fáciles de recordar (google.com) a direcciones IP (142.250.x.x).

  • Dominio: el nombre que compras, p. ej. cafeterialuna.com.
  • TLD: la terminación: .com, .mx, .org, .dev, .io, .es.
  • Registrador: la empresa donde lo compras y renuevas cada año: Namecheap, Porkbun, Cloudflare Registrar, GoDaddy, Squarespace Domains, Hostinger, Akky (para .mx).
  • Nameservers (NS): los servidores que guardan la zona DNS del dominio, es decir, la lista de registros. Pueden ser los del registrador, los de tu hosting o los de Cloudflare.
  • Subdominio: prefijo antes del dominio: www.cafeterialuna.com, api.cafeterialuna.com, blog.cafeterialuna.com.

Cómo se resuelve un dominio ​

txt
Navegador → "¿IP de www.cafeterialuna.com?"
   ↓
Resolver DNS (de tu proveedor de internet, 1.1.1.1 o 8.8.8.8)
   ↓ pregunta a los servidores raíz → "los .com los maneja Verisign"
   ↓ pregunta a los servidores de .com → "sus nameservers son ns1.hosting.com"
   ↓ pregunta a ns1.hosting.com → "www es un CNAME de cafeterialuna.com, que apunta a 203.0.113.10"
   ↓
Navegador se conecta a 203.0.113.10

Cada respuesta se guarda en caché durante el TTL (Time To Live, en segundos). Por eso los cambios de DNS no siempre se ven al instante: eso es la famosa "propagación".

Los registros DNS que debes conocer ​

TipoPara qué sirveEjemplo de valor
AApunta un nombre a una IPv4203.0.113.10
AAAAApunta un nombre a una IPv62001:db8::10
CNAMEAlias: un nombre apunta a otro nombrecname.vercel-dns.com
MXServidores de correo del dominio (con prioridad)10 mx1.proveedor.com
TXTTexto libre: SPF, DKIM, DMARC, verificacionesv=spf1 include:_spf.google.com ~all
NSQué servidores guardan la zonans1.hosting.com
CAAQué autoridades pueden emitir SSL0 issue "letsencrypt.org"

El símbolo @

En los paneles DNS, @ significa "el dominio raíz" (cafeterialuna.com sin prefijo). www significa www.cafeterialuna.com.

Reglas importantes ​

  • Un CNAME no puede convivir con otros registros en el mismo nombre. Por eso la raíz (@) normalmente usa A, y www usa CNAME. (Cloudflare y otros ofrecen "CNAME flattening"/ALIAS para la raíz.)
  • En MX, el número menor tiene mayor prioridad.
  • Un dominio debe tener un solo registro SPF (TXT que empieza con v=spf1).

Ejemplo: zona DNS completa de un negocio ​

Sitio en un VPS, correo en Google Workspace y una tienda en un subdominio:

txt
Tipo   Nombre     Valor                                        TTL
--------------------------------------------------------------------
A      @          203.0.113.10                                 3600
CNAME  www        cafeterialuna.com.                           3600
A      api        203.0.113.10                                 3600
CNAME  tienda     shops.myshopify.com.                         3600
MX     @          1  smtp.google.com.                          3600
TXT    @          "v=spf1 include:_spf.google.com ~all"        3600
TXT    google._domainkey  "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."  3600
TXT    _dmarc     "v=DMARC1; p=quarantine; rua=mailto:dmarc@cafeterialuna.com"  3600
TXT    @          "google-site-verification=abc123..."         3600
CAA    @          0 issue "letsencrypt.org"                    3600

SPF, DKIM y DMARC en palabras simples ​

  • SPF: lista de servidores autorizados a enviar correo con tu dominio.
  • DKIM: firma digital en cada correo; la llave pública vive en un TXT.
  • DMARC: le dice al receptor qué hacer si SPF/DKIM fallan (none, quarantine, reject) y a dónde enviar reportes.

Sin estos tres registros, los correos de tu cliente (incluidos los de formularios de contacto) terminan en spam. Gmail y Yahoo los exigen para remitentes de volumen desde 2024.

Paso a paso: conectar un dominio ​

Opción A: a un hosting compartido (cambiando nameservers) ​

  1. En el panel del hosting busca sus nameservers (ej. ns1.dns-parking.com, ns2.dns-parking.com).
  2. En el registrador, sección Nameservers / DNS, elige "personalizados" y pégalos.
  3. Espera de minutos a 24-48 horas. A partir de ahí, los registros se editan en el hosting (cPanel → Zone Editor), no en el registrador.

Opción B: a un VPS (registro A) ​

  1. Copia la IP pública de tu VPS.
  2. En el panel DNS (registrador o Cloudflare) crea:
    • A @ → 203.0.113.10
    • CNAME www → tudominio.com
  3. Verifica con dig.

Opción C: a Vercel / Netlify ​

  1. En el proyecto: Settings → Domains → Add y escribe el dominio.
  2. La plataforma te dice qué crear, típicamente:
    • Vercel: A @ 76.76.21.21 y CNAME www cname.vercel-dns.com.
    • Netlify: A @ 75.2.60.5 (o usar Netlify DNS) y CNAME www tusitio.netlify.app.
  3. Copia exactamente los valores que muestre tu panel (pueden cambiar).

Buena práctica

Antes de una migración, baja el TTL a 300 (5 minutos) un día antes. Así, cuando cambies la IP, todos verán el cambio rápido. Después súbelo de nuevo a 3600.

Comprobar DNS desde la terminal ​

bash
# Registro A
dig +short cafeterialuna.com A

# Registro CNAME de www
dig +short www.cafeterialuna.com CNAME

# Servidores de correo
dig +short cafeterialuna.com MX

# Registros TXT (SPF, verificaciones)
dig +short cafeterialuna.com TXT

# Nameservers
dig +short cafeterialuna.com NS

# Preguntar directamente a un resolver concreto (evita la caché local)
dig @1.1.1.1 cafeterialuna.com A +short
powershell
Resolve-DnsName cafeterialuna.com -Type A
Resolve-DnsName www.cafeterialuna.com -Type CNAME
Resolve-DnsName cafeterialuna.com -Type MX
Resolve-DnsName cafeterialuna.com -Type TXT
nslookup -type=NS cafeterialuna.com 1.1.1.1

# Limpiar la caché DNS de Windows
ipconfig /flushdns

Para ver la propagación en todo el mundo usa whatsmydns.net y para revisar correo MXToolbox.

Error común

Cambiar los registros en el registrador cuando los nameservers apuntan a otro lado (hosting o Cloudflare). Solo cuenta la zona del proveedor al que apuntan los NS. Revisa siempre con dig NS dónde se administra realmente.

Cuidado con el correo

Si cambias los nameservers de un dominio que ya tiene correo funcionando, copia antes los registros MX, SPF y DKIM a la nueva zona. Si no, el cliente deja de recibir correos.

Ejercicios ​

  1. Con dig o Resolve-DnsName, averigua los registros MX y NS de github.com.
  2. Escribe la zona DNS para: sitio en Netlify en la raíz y en www, API en un VPS con IP 198.51.100.7 en api., correo con Zoho Mail (MX mx.zoho.com prioridad 10, mx2.zoho.com 20, mx3.zoho.com 50).
  3. ¿Por qué no puedes poner un CNAME en @ junto a los MX?
Ver solución
  1. dig +short github.com MX y dig +short github.com NS (los valores pueden cambiar con el tiempo).
  2. Zona:
txt
A      @     75.2.60.5
CNAME  www   misitio.netlify.app.
A      api   198.51.100.7
MX     @     10 mx.zoho.com.
MX     @     20 mx2.zoho.com.
MX     @     50 mx3.zoho.com.
TXT    @     "v=spf1 include:zoho.com ~all"
  1. Porque la especificación DNS prohíbe que un nombre con CNAME tenga cualquier otro registro. La raíz siempre necesita NS (y suele tener MX y TXT), así que en la raíz se usa A/AAAA o un ALIAS/CNAME flattening del proveedor.

Resumen ​

  • DNS traduce nombres a IPs; los cambios tardan según el TTL.
  • Los nameservers deciden dónde se editan los registros.
  • A apunta a IP, CNAME a otro nombre, MX al correo, TXT a verificaciones y SPF/DKIM/DMARC.
  • Usa dig / Resolve-DnsName para comprobar en vez de adivinar.
  • Siguiente: Hosting compartido con cPanel.

Academia Web — aprende, copia y construye.