Razones técnicas detrás del registro ALIAS
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:
- Hacer posible crear un alias del dominio raíz a otro servicio
- 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 ALIAS
ing!
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.