Registro DNS vs NS

42

Estou tentando entender um pouco melhor o DNS, mas ainda não recebo completamente os registros A e NS.

Tanto quanto eu entendi, o registro A informa qual endereço IP pertence a um (sub) domínio, até agora ainda estava claro para mim. Mas, como eu entendi, o registro NS informa quais pontos do servidor de nomes pertencem a um (sub) domínio e esse servidor de nomes deve informar qual endereço IP pertence a um (sub) domínio. Mas isso já foi especificado no registro A no mesmo arquivo DNS. Alguém pode me explicar o que exatamente os registros e servidores de nomes do NS fazem, porque provavelmente eu entendi algo errado.

editar: Como eu entendi corretamente, um registro NS informa que você deve encontrar o servidor DNS com o registro A para um determinado domínio, e o registro A informa qual endereço IP pertence a um domínio. Mas, de que serve colocar um registro A e NS no mesmo arquivo DNS? Se já existe um registro A para um determinado domínio, por que você precisa apontar para outro servidor DNS, que provavelmente forneceria as mesmas informações?

Tiddo
fonte
Perdoe a arrogância em uma pergunta antiga, mas sou um administrador de DNS e não considero nenhuma das respostas aprovadas para explicar adequadamente o problema. Posso me relacionar com essa pergunta porque tive a mesma confusão nos meus primeiros dias. Eu contribuí com uma resposta minha.
Andrew B

Respostas:

44

Alguns exemplos fora do foo.comarquivo de zona fictícia

 ....... SOA record & lots more stuff .......
 foo.com.      IN        NS        ns1.bar.com.

 foo.com.      IN        A         192.168.100.1
 ....... More A/CNAME/AAAA/etc. records .......

A Record = "O host chamado foo.comvive no endereço 192.168.100.1"
NS Record = "Se você deseja saber sobre hosts na foo.comzona, pergunte ao servidor de nomes ns1.bar.com"

voretaq7
fonte
3
Eu amo referências foobar. : D
JohnThePro
2
@Tiddo um grande motivo é que os servidores escravos geralmente são notificados de alterações de zona porque estão listados como registros NS. Além disso, se você consultar o ns1.foo.comendereço oficial do servidor no processo de procurar outra coisa e o registro não existir lá, você obterá NXDOMAINe Bad Things acontecerá (mas funcionará para as pessoas que consultaram o comservidor pai, pois presumivelmente haveria registros de uma cola lá)
voretaq7
1
@JohnThePro - a minha outra opção era example.com, e eu odeio example.com referências :-)
voretaq7
3
@ voretaq7 então basicamente os registros NS são usados ​​como um mecanismo de backup e para notificar esses servidores de nomes quando o endereço IP do domínio mudar?
Tiddo
2
@tiddo e como orientação, conforme descrito acima e em muitas outras respostas. Pode haver outras coisas que olhem para os registros NS que eu estou esquecendo, mas esses são os dois grandes que me lembram.
precisa saber é o seguinte
18

Esta é uma pergunta antiga, mas acho que as outras respostas não estão realmente tocando a fonte da confusão. NSos registros no ápice seguem um conjunto de regras diferente dos NSregistros abaixo do ápice.

A partir dessas regras, podemos derivar dois comportamentos diferentes para o que acontece quando Aexiste um registro em um servidor DNS com o mesmo nome:

  • Se o NSregistro não definir uma referência, outros dados poderão existir ao lado dele na mesma zona. Como o servidor se considera autoritário para o NSregistro e o Aregistro, não há conflito. É por isso que outros dados geralmente vivem ao lado dos NSregistros no ápice de uma zona.
  • Se o NSregistro não definir uma referência, então o Aregistro é efetivamente "mascarado" por uma corte zona . Este Aregistro não é autoritário e não deve aparecer na seção de resposta de uma resposta autoritativa. Pode potencialmente ser usado como dados de cola que aparecem na seção adicional da referência, mas é isso.

Confuso? Sim é. Deixe uma nota nos comentários se tiver problemas para seguir isso e verei o que posso fazer.

Andrew B
fonte
O que você quer dizer com APEX?
Ryan-Neal Mes
@ Ryan-Neal Os NSregistros na parte superior do arquivo da zona.
Andrew B
9

Os registros NS especificam os servidores que estão fornecendo serviços DNS para esse nome de domínio.

Os registros A apontam os nomes de host (como www, ftp, correio) para um ou mais endereços IP.

mrdenny
fonte
7

Um registro A mapeia um nome para um endereço IP. por exemplo

binary.example.com. EM A 192.168.1.42

afirma que binary.example.com. resolve para 192.168.1.42

um registro NS mapeia um nome para outro servidor de nomes, ou seja, outro servidor DNS que serve esse domínio. "Não faço ideia do endereço IP desse nome, mas se você perguntar ao servidor de nomes por lá, ele poderá saber"

binary.example.com. NO NS otherbox.example.com
otherbox.example.com. EM A 192.168.1.2

Se você solicitar um servidor DNS com os 2 registros acima para binary.example.com. (ou www.binary.example.com. ou foo.bar.binary.example.com). dirá que você precisará solicitar 192.168.1.2 para traduzir esses nomes (bem, ou o servidor dns poderá fazer isso por você ou os nomes resolvidos serão armazenados em cache e devolvê-los a você).

n
fonte
frequentemente, você vê registros DNS que especificam registros NS e A para os mesmos domínios. Mas se um registro NS diz para encontrar o registro A, então, qual é a utilidade do registro NS nesse mesmo arquivo, se o registro A já estiver lá?
Tiddo
esta foi a minha explicação favorita entre todos!
22418 Benjamin Benjamin
6

É importante ter os registros NS e A na zona se você precisar delegar a subzona para um servidor DNS diferente.

Por exemplo, temos o servidor DNS ns1.bar.com com autoridade para a zona bar.com. E precisamos delegar foo.bar.com em ns1.foo.bar.com. Então, precisamos criar a zona foo.bar.com e colocar lá os registros:

foo.bar.com.     IN NS ns1.foo.bar.com.
ns1.foo.bar.com. IN A  10.10.10.10

Se não tivermos uma delegação de registros não funcionará. Esses pares de registros são chamados de registros de cola.

Os registros de cola são a única maneira de o sistema DNS encontrar o IP exato do servidor DNS autoritativo para a zona não raiz. Se você verificar algum domínio para o registro NS usando digou ver o tráfego despejar com o wireshark, verá que há uma seção 'adicional' na resposta.

;; ANSWER SECTION:
foo.bar.com.             10800   IN      NS      ns1.foo.bar.com.

;; ADDITIONAL SECTION:
ns1.foo.bar.com.         7972    IN      A       10.10.10.10

ao fazer uma solicitação recursiva, por exemplo, www.foo.bar.com, o seu cliente DNS solicita DNS com autoridade para a zona foo.bar.com e obtém a resposta ns1.foo.bar.com.

Para ir além, ele precisa enviar uma solicitação para ns1.foo.bar.com, que é atendida por ... ns1.foo.bar.com. Para interromper o loop, a delegação do servidor DNS deve adicionar esta seção adicional, com um registro.

O servidor ns1.foo.bar.com deve ter os mesmos registros em sua zona, para que possa ter autoridade na zona foo.bar.com.

DukeLion
fonte
Estava tendo dificuldade em entender meu problema de frango e ovo até que vi sua explicação sobre o registro de cola!
Jon Skarpeteig
3

Os registros NS existem EXCLUSIVAMENTE com a finalidade de definir QUAIS NOMEESERVADORES são responsáveis ​​por um domínio específico.

Existe um registro A para "ENDEREÇAR" a uma máquina ou serviço específico.

Exemplos para você:

No seu painel de controle DNS, você verá alguns registros NS, esses são seus NAMESERVERS ou máquina principal responsável por informar à Internet onde estão as coisas em seu domínio.

NS1.CP.COM NS2.CP.COM

Também dentro do seu painel DNS, você terá um domínio que você possui (por exemplo, -mikesfunhouse.com), no qual você precisa de alguns serviços, como um site.

Então, o que você fará é ter um registro primário A, apontando "mikesfunhouse.com" para "76.19.87.956" (IP obviamente falso).

Então você fará outro registro, um www, que redirecionará o subdomínio "www". parte do site principal.

Em resumo, você usa registros A para converter um espaço para nome em um endereço IP.

JohnThePro
fonte
1

O registro do servidor de nomes informa à Internet qual servidor DNS mantém os registros A; portanto, para procurar um registro A para um subdomínio, é aproximadamente o seguinte processo:

Pesquise os servidores de nomes do domínio -> consulte o servidor de nomes do Registro A do subdomínio

James L
fonte
Mas se os registros A já estão no mesmo arquivo, por que você deve especificar os registros NS?
Tiddo
1
É tudo sobre o que você está procurando. O registro NS é como o ponto de partida. Se um servidor NUNCA visitou seu domínio NUNCA antes, ele primeiro encontraria o servidor NS responder por seu domínio. Depois de identificar esse servidor, ele consultaria o registro A do domínio em questão.
precisa saber é o seguinte