CNAME: explicación de este tipo de registros DNS

El sistema de nombres de dominio (DNS) hace posible que podamos surfear por la World Wide Web como lo hacemos: poniendo el nombre de un dominio en forma de URL para llegar al sitio web deseado. La verdadera comunicación, sin embargo, ocurre gracias a una dirección IP individual. El DNS se basa en registros guardados en archivos de zona. La resolución de nombres, en realidad, se produce a través de los registros tipo A y AAAA, que son de gran importancia.

Nota

Existen muchos tipos diferentes de registros. En nuestro detallado artículo sobre registros DNS no solo describimos las propiedades básicas de cada tipo, sino que mostramos también una tabla resumen con todos los tipos.

Una dirección IP, no obstante, no siempre está conectada con un único nombre de dominio; a veces, varios nombres también redirigen a la misma dirección IP. Para hacerlo posible, el DNS utiliza los registros CNAME.

CNAME: ¿qué son los registros CNAME?

El DNS se basa en una red descentralizada de servidores. Los servidores de nombres gestionan ciertas zonas y disponen para ello de archivos de zona: simples archivos de texto en los que se enumeran, línea por línea, registros DNS de diferentes tipos. Para enlazar el nombre de dominio con una dirección IP, se utiliza el tipo A. Con el tipo CNAME se enlaza el nombre de dominio, a su vez, con un alias, es decir, con otro nombre que también redirige al mismo contenido.

El verdadero nombre, por lo tanto, es el que se conecta a través del registro A con la dirección IP. La ventaja de este sistema es que, si la dirección IP cambia, solo es necesario modificar el registro A. Puesto que todos los alias se guían según este registro A (o AAAA), los registros CNAME se adaptan automáticamente.

Hecho

La denominación CNAME o DNS CNAME es un acrónimo de canonical name (nombre canónico) o nombre estándar, lo cual resulta confuso, ya que el registro no define el verdadero nombre de dominio, sino el alias.

La sintaxis de los registros CNAME

Los registros DNS siguen una sintaxis estandarizada con diferentes campos:

  • <name>: en el primer campo aparece el alias del dominio.
  • <ttl>: el “time to live” indica el tiempo durante el cual el registro está almacenado en la memoria caché. Una vez transcurrido, la información debe ser solicitada de nuevo.
  • <class>: este campo es opcional e indica el tipo de red para el cual el registro es válido.
  • <type>: establece el tipo de registro, que en este caso es CNAME.
  • <rdata>: este último campo contiene la información a la que se refiere el registro, en este caso el nombre del dominio.

Los campos se separan mediante espacios y se ordenan en una misma línea:

<name> <ttl> <class> <type> <rdata>

El llamado time to live” (TTL) indica, por así decirlo, la caducidad de la información. El proveedor garantiza que los datos son correctos durante este tiempo y pueden, por lo tanto, permanecer en la memoria caché. Una vez transcurrido este tiempo, hay que solicitar la información de nuevo al servidor. En la práctica, sin embargo, este campo no suele aparecer en cada uno de los registros, sino que se define un TTL para la zona entera, el mismo que luego adoptan los registros individuales.

El campo opcional class tiene hoy un valor meramente histórico. Originalmente, cuando se estableció el DNS, las redes Hesiod (HS) y Chaosnet (CH) aún se utilizaban, mientras que en la actualidad solo existe Internet. El campo class, por lo tanto, se puede rellenar con la abreviación IN u omitirse directamente.

En los registros DNS, los nombres se guardan siempre en formato de nombres de dominio totalmente calificados (FQDN). Eso significa que los nombres acaban con un punto, porque los FQDN siguen la ruta entera de un dominio, que empieza (por la derecha), con el servidor raíz. Puesto que este campo está vacío, solo queda el punto que separa los componentes.

Nota

Un registro CNAME siempre ha de remitir a otro dominio; no se puede introducir una dirección IP en su lugar, como tampoco se puede usar el alias en cuestión en otros tipos de registro. Se recomienda no referir un registro CNAME a otro registro CNAME ya que, si bien esto no causa fallos, el archivo de zona se vuelve innecesariamente complejo.

Ejemplo de DNS CNAME

En la práctica, un registro CNAME suele tener la siguiente forma:

www.example.net. CNAME www.example.com.

Para que la referencia a través de CNAME funcione, tiene que haber también un registro A o AAAA en el archivo de zona:

$TTL 11107
www.example.com.	IN	A		93.184.216.34
www.example.com.	IN	AAAA		2606:2800:220:1:248:1893:25c8:1946
www.example.net.	IN	CNAME		www.example.com.
www.example.org.	IN	CNAME		www.example.com.

Ambos registros CNAME remiten al registro A o AAAA. El “time to live” se aplica a la zona entera (lo cual se indica con el símbolo del dólar) y es de 11107 segundos, es decir, de algo más de tres horas.

Consultar el CNAME: ¿cómo encontrar el registro CNAME?

Para averiguar el registro CNAME de un sitio web se puede, o bien recurrir a un software especializado, o bien, simplemente, usar un servicio web. Google ofrece su propio servidor DNS gratuito, Public DNS, con el que se puede acceder a los registros DNS de páginas web.

En la página de inicio de Public DNS se introduce el dominio del que se quiere averiguar el CNAME. En la página siguiente se cambia el tipo RR (por defecto configurado para A) a CNAME record y luego se hace clic en el botón de resolve para obtener el resultado.

Las opciones de EDNS client subnet y DNSSEC pueden dejarse tal y como están. La primera es un mecanismo pensado para captar la ubicación del solicitante y así mostrar resultados más eficientes, pero actualmente ya solo es promovido por Google y OpenDNS. DNSSEC, en cambio, garantiza al usuario que los datos no han sido manipulados por terceros que hayan podido inmiscuirse en la comunicación.

¿Le ha resultado útil este artículo?
Page top