¿Qué es un registro CNAME de DNS?

The DNS CNAME record works as an alias for domain names that share a single IP address.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Entender cómo funcionan los registros CNAME en el contexto de una búsqueda de dominio
  • Entender la relación entre los registros CNAME y los registros A

Copiar enlace del artículo

¿Qué es un registro CNAME de DNS?

El registro "nombre canónico" (CNAME) se utiliza en lugar de un registro A, cuando un dominio o subdominio es un alias de otro dominio. Todos los registros CNAME deben apuntar a un dominio, nunca a una dirección IP. Imaginemos una búsqueda del tesoro en la que cada pista apunta a otra pista, y la pista final apunta al tesoro. Un dominio con un registro CNAME es como una pista que puede apuntar a otra pista (otro dominio con un registro CNAME) o al tesoro (un dominio con un registro A).

Por ejemplo, supongamos que blog.example.com tiene un registro CNAME con el valor "example.com" (sin el "blog"). Esto quiere decir que cuando un servidor DNS accede a los registros DNS para blog.example.com, en realidad desencadena otra búsqueda DNS a example.com, devolviendo la dirección IP de example.com a través de su registro A. En este caso, diríamos que example.com es el nombre canónico (o nombre verdadero) de blog.example.com.

Con frecuencia, cuando los sitios tienen subdominios como blog.example.com o shop.example.com, esos subdominios tendrán registros CNAME que apuntan a un dominio raíz (example.com). De este modo, si la dirección IP del host cambia, solo hay que actualizar el registro A del DNS del dominio raíz y todos los registros CNAME seguirán junto con los cambios que se realicen en la raíz.

Un malentendido habitual es pensar que un registro CNAME debe resolver siempre al mismo sitio web que el dominio al que apunta, pero no es el caso. El registro CNAME solo apunta al cliente a la misma dirección IP que el dominio raíz. Una vez que el cliente llega a esa dirección IP, el servidor web seguirá manejando la URL en este sentido. Así, por ejemplo, blog.example.com puede tener un CNAME que apunte a example.com, dirigiendo al cliente a la dirección IP de example.com. Pero cuando el cliente se conecte realmente a esa dirección IP, el servidor web mirará la URL, verá que es blog.example.com y entregará la página del blog en lugar de la página de inicio.

Ejemplo de un registro CNAME:

blog.example.com tipo de registro: valor: TTL
@ CNAME es un alias de example.com 32600

En este ejemplo, puedes ver que blog.example.com apunta a example.com y, si suponemos que se basa en nuestro registro A de ejemplo, sabemos que acabará por decidirse por la dirección IP 192.0.2.1.

¿Puede un registro CNAME apuntar a otro registro CNAME?

Apuntar un registro CNAME a otro registro CNAME es ineficaz porque requiere múltiples búsquedas en el DNS antes de que se pueda cargar el dominio, lo cual ralentiza la experiencia del usuario, pero es posible. Por ejemplo, blog.example.com podría tener un registro CNAME que apuntara al registro CNAME de www.example.com, que a su vez apuntara al registro A de example.com.

CNAME para blog.example.com:

blog.example.com tipo de registro: valor: TTL
@ CNAME es un alias de www.example.com 32600

Que apunta a un CNAME para www.example.com:

www.example.com tipo de registro: valor: TTL
@ CNAME es un alias de example.com 32600

Esta configuración añade un paso extra al proceso de búsqueda de DNS y debe evitarse siempre que sea posible. En su lugar, los registros CNAME tanto de blog.example.com como de www.example.com deben apuntar directamente a example.com.

¿Qué restricciones hay en el uso de los registros CNAME?

Los registros MX y NS no pueden apuntar a un registro CNAME; tienen que apuntar a un registro A (para IPv4) o a un registro AAAA (para IPv6). Un registro MX es un registro de intercambio de correo que dirige el correo electrónico a un servidor de correo. Un registro NS es un registro de "servidor de nombres" e indica qué servidor DNS es autoritativo para ese dominio.

Más información sobre los Registros MX o los Registros NS.