El objetivo de un registro NS es decirle al cliente qué servidor de nombres sabrá con seguridad la dirección IP real de un nombre de dominio. Entonces, por ejemplo, la siguiente consulta le dice que si desea obtener una respuesta autorizada sobre esto facebook.com
, debe preguntar a.ns.facebook.com
:
> dig ns facebook.com 19:58:27
; <<>> DiG 9.9.5-3ubuntu0.8-Ubuntu <<>> ns facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32063
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;facebook.com. IN NS
;; ANSWER SECTION:
facebook.com. 65000 IN NS a.ns.facebook.com.
facebook.com. 65000 IN NS b.ns.facebook.com.
;; Query time: 13 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Sun Mar 20 19:58:40 CET 2016
;; MSG SIZE rcvd: 65
Esto parece genial y útil, pero me pregunto por qué la ANSWER
sección contiene el nombre de host y no la IP de la fuente autorizada. ¿No sería más fácil para el cliente obtener la dirección IP real de la fuente autorizada y no el nombre de host?
Es decir, si obtiene el nombre de host, tendrá que hacer otra consulta para resolver este nombre de host en una IP y luego preguntarle a esta nueva IP sobre el facebook.com
dominio inicial que estaba buscando. ¿No es esto ineficiente?
Me interesaría una respuesta que me señale algunos párrafos en algunos RFC que explican este problema.
fuente
Respuestas:
La solución al problema son los registros de pegamento DNS, que se describen en ¿Qué es un registro de pegamento? .
RFC 1035 Sección 3.3.11 estados
Devolver una dirección IP equivaldría a indicar el método por el cual se puede contactar al host, lo que va en contra del RFC.
fuente
Jason proporcionó el mecanismo de DNS que soluciona el problema que describió, pero aún no hemos analizado por qué las cosas se hacen de esta manera.
Digamos que soy el propietario
example.com
y he contratado parte del contenido de mi sitio web a una empresa de distribución de contenido llamada Contoso . Su plataforma requiere que deleguemossub.example.com
en sus servidores de nombres para que puedan controlar qué respuestas se devuelven.Como ha notado, no hemos especificado las direcciones IP de los servidores de nombres de Contoso. Todo lo que nuestro servidor sabe es decirle a Internet "que no gestionamos
sub.example.com
, pregunte a Contoso" . Esto es muy importante porque:Hasta aquí todo bien. Pasa un año, y sin que nosotros lo sepamos, Contoso está cambiando las direcciones IP de sus servidores de nombres CDN. Debido a que DNS funciona de la manera que lo hace, todo lo que tienen que hacer es actualizar los
A
registros para los que regresanns1.cdn
yns2.cdn.contoso.com.
.Esto nos lleva a un punto importante: los registros de pegamento descritos por Jason existen para lidiar con escenarios de "huevo y gallina" en DNS, como
google.com
decirle al mundo que sus servidores de nombres sonns1.google.com
yns2.google.com
. Usted debe no crear registros de cola apuntando a la infraestructura que no posee a menos que existan para resolver un problema como este:Esto evita el escenario del huevo y la gallina, pero también hace que Contoso tenga que coordinar cada cambio de IP de esos servidores de nombres con nosotros. Esto es muy propenso al riesgo e indeseable.
fuente