Prueba gratis
Engineering

Razones técnicas detrás del registro ALIAS

Simone Carletti's profile picture Simone Carletti on

De vez en cuando me encuentro con hilos o discusiones que describen problemas inesperados con el registro CNAME, generalmente originados por apuntar un APEX de dominio a Heroku u otro servicio. La raíz de estos problemas conduce inevitablemente a la razón por la cual hace dos años creamos el registro ALIAS.

Recientemente noté que, a pesar de la documentación para el registro ALIAS en nuestro sitio de soporte y que publicamos varios artículos sobre el tema, nunca explicamos por qué necesita usar el registro ALIAS en algunos casos.

En este artículo intentaré explicar la razón técnica detrás del registro ALIAS y las limitaciones importantes del registro CNAME que debes conocer. Intentaré evitar los detalles de DNS no esenciales que pueden evitar que los lectores menos técnicos cierren esta página en este momento.

Los registros A y CNAME

Los registros A y CNAME son las dos formas comunes de asignar un nombre de host (nombre de ahora en adelante) a una o más direcciones IP. Antes de seguir adelante, es importante que entienda realmente las diferencias entre estos dos registros. Tómese un minuto para leer el artículo de soporte, si no está familiarizado con ellos.

Las limitaciones del registro CNAME

Esta sección es la esencia de todo el artículo. El registro CNAME, además de estar obligado a señalar un nombre en lugar de una IP, tiene otra limitación importante: un registro CNAME no puede coexistir con cualquier otro dato.

En otras palabras, si blog.dnsimple.com es un CNAME para example.com, no puede tener ningún otro registro adjunto a blog.dnsimple.com, por ejemplo, ningún registro MX (lo que significa no hay correos electrónicos @blog.dnsimple.com), no hay registros TXT y, lo que es más importante, no hay registros NS.

Esto explica por qué no puede usar un CNAME para crear un alias de su dominio raíz (dominio de vértice) con otro nombre. Tomemos el dominio raíz dnsimple.com. Espera al menos un registro NS asociado al nombre, un registro SOA, uno o más registros MX (¡queremos usar correos electrónicos @dnsimple.com!) y posiblemente algunos registros TXT utilizados por terceros, como las Herramientas para webmasters de Google.

dnsimple.com. SOA ns1.dnsimple.com. admin.dnsimple.com. … dnsimple.com. NS ns1.dnsimple.com. dnsimple.com. NS ns2.dnsimple.com. dnsimple.com. NS ns3.dnsimple.com. dnsimple.com. NS ns4.dnsimple.com. dnsimple.com. MX 1 mail.dnsimple.com.

Hay casos en los que esta limitación está perfectamente bien. El más notable es el nombre www, reconocido universalmente como la dirección alternativa de su dominio raíz. Es muy común configurar el registro www como un CNAME para el dominio raíz (ápex de zona). El beneficio es que, si cambia la dirección IP de su sitio, solo tendrá que actualizar un registro, en lugar de dos (o más).

www.dnsimple.com. CNAME dnsimple.com.

Aquí las limitaciones del registro CNAME son irrelevantes. De hecho, no necesitamos tener direcciones de correo electrónico @www.dnsimple.com y no necesitamos adjuntar otros registros DNS a este nombre.

Mezclar CNAME con otros registros

Pero, ¿qué sucede si crea registros DNS adicionales en combinación con un 'CNAME' para un nombre específico? Eso depende.

En el software y las bibliotecas de servidor de nombres más comunes, solo se devolverá el CNAME para una consulta de DNS al nombre. Todos los demás registros serán ignorados silenciosamente. Sin mensajes de error, sin advertencias. Esta es la razón por la que ocasionalmente confundimos a los clientes porque usaron un 'CNAME' para su blog, pero no pueden agregarle el token de verificación de Google.

Aquí viene el registro ALIAS

En este punto, espero que quede claro por qué no es posible (prácticamente hablando) usar un 'CNAME' para crear un alias del dominio raíz (vértice de la zona) con otro nombre.

Aquí viene el registro ALIAS. Creamos el registro ALIAS con dos objetivos en mente:

  1. Hacer posible crear un alias del dominio raíz a otro servicio
  2. Hacer posible el uso de un sistema de alias que pueda coexistir con otros datos

Estos son, de hecho, los dos casos comunes por los que desea utilizar el registro 'ALIAS'.

Hace que sea muy sencillo crear un alias de su dominio raíz con otro nombre. En la mayoría de los casos, puede simplemente reemplazar el CNAME con un registro estándar A siempre que el nombre de destino se resuelva en una sola IP, pero las arquitecturas distribuidas como Heroku o GitHub Pages resuelven con un conjunto de direcciones IP y alias es la forma más efectiva de configurar sus registros DNS.

Del mismo modo, hay situaciones en las que desea utilizar alias de registro, pero no puede utilizar un CNAME porque necesita otros registros para el mismo nombre. Este es nuevamente un caso perfecto para el registro 'ALIAS'.

Externamente, el registro 'ALIAS' se comporta como un registro 'A' que devuelve uno o más registros 'A' que coinciden con el objetivo del alias. Debido a que el registro A no tiene la limitación descrita anteriormente para el registro CNAME, así mismo el registro ALIAS no los hereda.

Espero que este artículo arroje algo de luz sobre el tema. Si tiene alguna pregunta, no dude en contactarnos.

¡Feliz ALIASing!

Share on Twitter and Facebook

Simone Carletti's profile picture

Simone Carletti

Italian software developer, a PADI scuba instructor and a former professional sommelier. I make awesome code and troll Anthony for fun and profit.

We think domain management should be easy.
That's why we continue building DNSimple.

Try us free for 30 days
4.5 stars

4.3 out of 5 stars.

Based on Trustpilot.com and G2.com reviews.