Si configuramos un registro A y un registro CNAME para el mismo subdominio, ¿cómo se realiza la búsqueda de DNS?
Por ejemplo,
A record:
example.com => xx.xx.xx.xx
www.example.com => xx.xx.xx.xx
CNAME record:
www. => example.com
Al resolverwww.ejemplo.com, ¿el solucionador de DNS busca directamente el registro A para el subdominio www y obtiene la IP, o busca el CNAME de www para obtener el dominio de redireccionamiento (example.com), luego busca el registro A de example.com para obtener la ip al final?
Respuesta1
¿Qué son CNAME
los registros?
QuéCNAME
registro es definir elnombre del dueño(el nombre donde se agrega el registro) como alias del nombre enCNAME
valor del registro (elnombre Canonico, según el nombre del tipo de registro).
Tenga en cuenta que esta definición de alias está en el nivel del nombre, sin tener en cuenta por completo los tipos de registros.
Una implicación de que el nombre del propietario sea un alias es que no puede tener también otros registros, ya que eso estaría en conflicto directo con ser simplemente un alias de otro nombre.
Desde la perspectiva del solucionador, si consulta A
, las opciones válidas para una respuesta son una A
respuesta escrita si el nombre no era un alias o una CNAME
respuesta escrita si el nombre era un alias. Obtener ambos para el mismo nombre no es una opción (no es una opción que esté permitida por el estándar y que, de todos modos, habría definido un comportamiento).
Entonces, ¿cómo puede hacer esto mi proveedor de servicios DNS?
Suponiendo que la afirmación de que le permiten agregar CNAME
registros A
uno al lado del otro sea cierta, algo no obvio está sucediendo con su servicio.
Lo dividiría en dos opciones principales, sin saber más no es posible saber cuál es relevante en su caso:
- Su sistema no utiliza directamente la entrada del usuario, sino que de una forma u otra la transforma en algo que sería válido. O podrían agregar uno de los registros en conflicto pero no el otro (lo que significaría que la interfaz de usuario es un poco mala), alternativamente podría tener algún tipo de funcionalidad de "aplanamiento de CNAME" donde en realidad no sirven los
CNAME
registros ingresados por el usuario. sino que resuelve los registros relevantes del nombre canónico desde su extremo y los sirve como si estuvieran directamente en el nombre del alias (que es una funcionalidad no estándar, pero algunos servicios han implementado este tipo de búsquedas dinámicas para "aplanar"CNAME
). - Su sistema no funciona, lo que permite al usuario agregar datos inconsistentes que no están permitidos en las especificaciones y que se puede esperar que causen problemas extraños de una forma u otra (ya sea porque su servicio se interrumpe o porque su servicio en realidad proporciona datos inconsistentes que pueden dañar las cosas). el lado del resolutor). El usuario se estaría disparando en el pie al hacer uso de este tipo de roturas en su servicio.