O objetivo de um registro NS é informar ao cliente qual servidor de nomes saberá com certeza o endereço IP real de um nome de domínio. Por exemplo, a consulta a seguir informa que, se você deseja obter uma resposta autorizada, facebook.com
deve perguntar 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
Isso parece interessante e útil, mas estou me perguntando por que a ANSWER
seção contém o nome do host e não o IP da fonte autorizada? Não seria mais fácil para o cliente obter o endereço IP real da fonte autorizada e não o nome do host?
Quero dizer, se ele obtiver o nome do host, precisará fazer outra consulta para resolver esse nome de host em um IP e, em seguida, perguntar a esse novo IP sobre o facebook.com
domínio inicial que estava procurando. Isso não é ineficiente?
Eu estaria interessado em responder que me aponta para alguns parágrafos em algum RFC que explica esse problema.
fonte
Respostas:
A solução para o problema são os registros de cola de DNS, descritos em O que é um registro de cola? .
Seção 3.3.11 da RFC 10.11 afirma
Retornar um endereço IP equivale a indicar o método pelo qual o host pode ser contatado, o que contraria o RFC.
fonte
Jason forneceu o mecanismo DNS que resolve o problema que você descreveu, mas ainda não analisamos por que as coisas são feitas dessa maneira.
Digamos que eu possua
example.com
e contratamos parte do conteúdo do meu site para uma empresa de entrega de conteúdo chamada Contoso . A plataforma deles exige que deleguemossub.example.com
seus servidores de nomes para que eles possam controlar quais respostas são retornadas.Como você observou, não especificamos os endereços IP dos servidores de nomes da Contoso. Tudo o que nosso servidor sabe é dizer à internet "não gerenciamos
sub.example.com
, pergunte à Contoso" . Isso é muito importante porque:Por enquanto, tudo bem. Um ano se passa e, sem o nosso conhecimento, a Contoso está alterando os endereços IP de seus servidores de nomes CDN. Como o DNS funciona da maneira que funciona, tudo o que eles precisam fazer é atualizar os
A
registros para os quais retornamns1.cdn
ens2.cdn.contoso.com.
.Isso nos leva a um ponto importante: os registros de cola descritos por Jason existem para lidar com cenários de "galinhas e ovos" no DNS, como
google.com
dizer ao mundo que seus servidores de nomes sãons1.google.com
ens2.google.com
. Você nunca deve criar registros de cola apontando para a infraestrutura que você não possui, a menos que eles existam para resolver um problema como este:Isso evita o cenário de ovos e galinhas, mas também faz com que a Contoso precise coordenar todas as alterações de IP desses servidores de nomes conosco. Isso é muito propenso a riscos e indesejável.
fonte