115 votos

¿Por qué puede ' t un registro CNAME ser utilizado en el ápice (aka root) de un dominio?

Este es un Canónica Pregunta acerca de CNAMEs en los ápices (o root) de las zonas de

Es relativamente común conocimiento que CNAME registros en el ápice de un dominio son un tabú en la práctica.

Ejemplo: example.com. IN CNAME ithurts.example.net.

En el mejor de los casos el software de servidor de nombres puede negarse a cargar la configuración, y en el peor de los casos podría aceptar esta configuración e invalidar la configuración de example.com.

Recientemente, he tenido una empresa de webhosting transmitir las instrucciones a una unidad de negocio que necesitábamos CNAME el ápice de nuestro dominio para un nuevo registro. Sabiendo que esto sería un suicidio config cuando se alimenta a ENLAZAR, me aconsejaron que no íbamos a ser capaces de cumplir, y que esta fue la litera de asesoramiento en general. La empresa de webhosting tomó la postura de que no está rotundamente prohibido por la norma la definición de Rfc y que su software es compatible con ella. Si no pudiéramos CNAME el ápice, su consejo era no tener ápice grabar en todo y que no ofrecería una reorientación de servidor web. ...¿Qué?

La mayoría de nosotros sabemos que RFC1912 insiste en que A CNAME record is not allowed to coexist with any other data., pero vamos a ser honestos con nosotros mismos aquí, que el RFC es sólo Informativo. Lo más cercano que conozco a la verborrea que prohíbe la práctica es de RFC1034:

Si el RR CNAME está presente en un nodo, no hay otros datos deben ser presente; esto asegura que los datos de un nombre canónico y sus alias no puede ser diferente.

Por desgracia he estado en la industria el tiempo suficiente para saber que "no debería" no es lo mismo que "no debe", y eso es suficiente cuerda para la mayoría de los diseñadores de software para colgar. A sabiendas de que nada menos que una concisa enlace a un slam dunk sería un desperdicio de mi tiempo, me terminó dejando a la empresa conseguir lejos con un regaño para recomendar las configuraciones que podrían romper comúnmente utilizado software sin la debida divulgación.

Esto nos lleva a la Q&A. Por una vez me gustaría conseguir realmente técnico acerca de la locura de apex Cname, y no de la falda alrededor de la cuestión como solemos hacer cuando alguien postea en el tema. RFC1912 está fuera de los límites, así como cualquier otra información RFC aplicable aquí que yo no creo. Vamos a cerrar este bebé.

92voto

Andrew B Puntos 9763

Tan cerca que puedo decir, de las aclaraciones proporcionadas por RFC2181 son esenciales para demostrar que un CNAME registro en el ápice es ilegal. Si bien hay un montón de RFC1034 pasajes que podrían ser citados para explicar por qué iban a ser volátiles en el comportamiento y por lo tanto una mala idea, nada menos que prohibían la práctica de detener una determinada ingeniero de software. (o al menos una que necesita para ser capaz de reclamar el cumplimiento de los estándares)

6.1. Autoridad de la zona

Los servidores autorizados para una zona que se enumeran en los registros NS para el origen de la zona, que, junto con un Inicio de Autoridad (SOA) de registro son obligatorios registros en cada zona. Este servidor está autorizado para todos los registros de recursos en una zona que no están en otra zona. El NS registros que indican una zona de corte son los la propiedad de la zona secundaria creado, como cualquier otro de los registros para la el origen de ese niño de la zona, o cualquier sub-dominios. Un servidor de un la zona no debe devolver respuestas autorizadas para realizar consultas relacionadas con los nombres en la otra zona, que incluye el NS, y quizás, registros en una zona de corte, a menos que también pasa a ser un servidor para el otro de la zona.

Este establece que SOA y NS de los registros son obligatorios, pero no dice nada acerca de la A o de otros tipos que aparecen aquí. Puede parecer superfluo que cito esto, pero va a ser más relevante en un momento.

RFC1034 era un poco vago acerca de los problemas que pueden surgir cuando una CNAME convive con otros tipos de registro. RFC2181 elimina la ambigüedad y declara explícitamente los tipos de registro que se permite la existencia junto a ellos:

10.1. Los registros de recursos CNAME

El DNS CNAME ("nombre canónico") existe un registro para proporcionar la nombre canónico asociados con un nombre de alias. Puede haber sólo una tal nombre canónico para cualquier alias. Ese nombre debe ser en general un nombre que ya existe en otro lugar en el DNS, aunque hay algunos raros aplicaciones para los alias con el acompañamiento de nombre canónico indefinido en el DNS. Un nombre de alias (etiqueta de un registro CNAME), si DNSSEC es en el uso de SIG, NXT, y la CLAVE de Rr, pero puede no tener otro de los datos. Esto es, para cualquier etiqueta en el DNS (nombre del dominio) exactamente uno de los siguientes es verdadera:

 + one CNAME record exists, optionally accompanied by SIG, NXT, and
   KEY RRs,
 + one or more records exist, none being CNAME records,
 + the name exists, but has no associated RRs of any type,
 + the name does not exist at all.

"el nombre de alias de" en este contexto se refiere a la parte izquierda de la CNAME registro. La lista con viñetas hace explícitamente claro que un SOA, NSy A de los registros no puede ser visto en un nodo donde un CNAME también aparece. Cuando se combina esto con la sección 6.1, es imposible que un CNAME a existir en el ápice, ya que tendría que vivir junto obligatorios SOA y NS de los registros.

(Esto parece hacer el trabajo, pero si alguien tiene una ruta más corta a prueba por favor dar una grieta en ella.)


Actualización:

Parece que la más reciente es la confusión viene de Cloudflare la reciente decisión de permitir que un ilegal registro CNAME a ser definido en el ápice de los dominios, para lo cual se integrará Un expediente. "Compatible con RFC", según lo descrito por el artículo enlazado se refiere al hecho de que los registros sintetizados por Cloudflare jugar muy bien con DNS. Esto no cambia el hecho de que es una manera totalmente personalizada en el comportamiento.

En mi opinión este es un flaco favor para el DNS mayor de la comunidad: en efecto, no es un registro CNAME, y se engaña a la gente en la creencia de que otro software es deficiente por no permitiendo. (como mi pregunta demuestra)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: