Record DNS A vs NS


42

Sto cercando di capire un po 'meglio il DNS, ma ancora non riesco a ottenere completamente i record A e NS.

Per quanto ho capito, il record A indica quale indirizzo IP appartiene a un (sotto) dominio, finora mi era ancora chiaro. Ma, come ho capito, il record NS dice quali punti del nameserver appartengono a un (sotto) dominio e quel nameserver dovrebbe dire quale indirizzo IP appartiene a un (sotto) dominio. Ma questo era già stato specificato nel record A nello stesso file DNS. Qualcuno può spiegarmi cosa fanno esattamente i record NS e i nameserver, perché probabilmente ho capito qualcosa di sbagliato.

modifica: come ho capito bene, un record NS dice che dovevi trovare il server DNS con il record A per un determinato dominio, e il record A ti dice quale indirizzo IP appartiene a un dominio. Ma a che serve mettere un record A e un record NS nello stesso file DNS? Se esiste già un record A per un determinato dominio, perché è necessario puntare a un altro server DNS, che probabilmente ti darebbe le stesse informazioni?


Perdona l'arroganza su una vecchia domanda, ma sono un amministratore DNS e non considero nessuna delle risposte votate per spiegare adeguatamente il problema. Posso fare riferimento a questa domanda perché ho avuto la stessa confusione nei miei primi tempi. Ho contribuito con una mia risposta.
Andrew B,

Risposte:


44

Alcuni esempi dal foo.comfile di zona fittizio

 ....... 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 = "L'host chiamato foo.comrisiede all'indirizzo 192.168.100.1"
NS Record = "Se vuoi sapere degli host nella foo.comzona, chiedi al server dei nomi ns1.bar.com"


3
Adoro i riferimenti foobar. : D
JohnThePro,

2
@Tiddo un grande motivo è che i server slave vengono generalmente informati dei cambiamenti di zona perché sono elencati come record NS. Inoltre, se richiedi l' ns1.foo.comindirizzo del server autorevole nel processo di ricerca di qualcos'altro e il record non esiste lì, otterrai NXDOMAINe accadranno cose cattive (ma funzionerà per le persone che hanno interrogato il comserver di appartenenza, dal momento che presumibilmente lì ci sarebbe la colla A)
voretaq7,

1
@JohnThePro - la mia altra opzione era example.com e odio i riferimenti di example.com :-)
voretaq7

3
@ voretaq7 quindi, in sostanza, i record NS sono usati come meccanismo di backup e per avvisare quei nameserver quando l'indirizzo IP del dominio cambia?
Tiddo,

2
@tiddo e come cartello come descritto sopra e in molte altre risposte. Potrebbero esserci altre cose che guardano i record NS che mi sto dimenticando, ma quelli sono i due grandi che mi vengono in mente.
voretaq7,

18

Questa è una vecchia domanda, ma penso che le altre risposte non stiano davvero toccando la fonte della confusione. NSdocumenti vertice seguono un diverso insieme di regole di NSrecord sotto l'apice.

Da queste regole, possiamo derivare due comportamenti diversi per ciò che accade quando Aesiste un record su un server DNS con lo stesso nome:

  • Se il NSrecord non definisce un riferimento, possono esistere altri dati accanto ad esso nella stessa zona. Poiché il server si considera autorevole sia per il NSrecord che per il Arecord, non vi è alcun conflitto. Questo è il motivo per cui altri dati vivono comunemente accanto ai NSrecord all'apice di una zona.
  • Se il NSdisco fa definire un rinvio, quindi il Arecord viene effettivamente "mascherato" da uno zona di taglio . Questo Arecord non è autorevole e non deve essere visualizzato nella sezione risposta di una risposta autorevole. Può essere potenzialmente utilizzati come dati di colla che viene mostrata nella sezione aggiuntiva del rinvio, ma questo è tutto.

Confondere? Si lo è. Lascia una nota nei commenti se hai problemi a seguire questo e vedrò cosa posso fare.


Cosa intendi con APEX?
Ryan-Neal Mes

@ Ryan-Neal I NSrecord nella parte superiore del file della zona.
Andrew B,

9

I record NS specificano i server che forniscono servizi DNS per quel nome di dominio.

I record A puntano i nomi host (come www, ftp, mail) a uno o più indirizzi IP.


7

un record A associa un nome a un indirizzo IP. per esempio

binary.example.com. IN A 192.168.1.42

afferma che binary.example.com. si risolve in 192.168.1.42

un record NS associa un nome a un altro nameserver, ovvero un altro server DNS che serve quel dominio. cioè "Non ho idea dell'indirizzo IP di questo nome, ma se vai a chiedere quel nameserver laggiù, potrebbe sapere"

binary.example.com. IN NS otherbox.example.com
otherbox.example.com. IN A 192.168.1.2

Se chiedi a un server DNS che ha i 2 record precedenti per binary.example.com. (o www.binary.example.com. o foo.bar.binary.example.com). ti dirà che dovrai andare a chiedere 192.168.1.2 per tradurre quei nomi (beh, o il server DNS potrebbe farlo per te, o potrebbe avere i nomi risolti memorizzati nella cache e restituirli a te.)


spesso vedrai record DNS che specificano i record NS e A per gli stessi domini. Ma se un record NS dice che dovevano trovare il record A, a che serve il record NS in quello stesso file, se il record A è già lì?
Tiddo,

questa è stata la mia spiegazione preferita tra tutte!
Benjamin,

6

È importante avere sia NS che A record nella zona se è necessario delegare la sotto-zona a server DNS diversi.

Ad esempio, abbiamo un server DNS ns1.bar.com autorevole per la zona bar.com. E dobbiamo delegare foo.bar.com a ns1.foo.bar.com. Quindi dobbiamo creare la zona foo.bar.com e inserire questi record:

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

Se non avremo una delegazione record non funzionerà. Tali coppie di record sono chiamate record di colla.

I record di colla sono l'unico modo per il sistema DNS di trovare l'IP esatto del server DNS autorevole per la zona non root. Se controlli qualsiasi dominio per i record NS utilizzando digo vedi il dump del traffico con WireShark, vedrai che c'è una sezione "aggiuntiva" nella risposta.

;; 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

quando si effettua una richiesta ricorsiva, ad es. www.foo.bar.com, il client DNS richiederà l'autorità DNS per la zona foo.bar.com e otterrà la risposta ns1.foo.bar.com.

Per andare oltre, è necessario inviare una richiesta per ns1.foo.bar.com, che è servita da ... ns1.foo.bar.com. Per interrompere il ciclo, la delega del server DNS dovrebbe aggiungere questa sezione aggiuntiva, con un record.

Il server ns1.foo.bar.com dovrebbe avere gli stessi record nella sua zona, quindi può essere autorevole per la zona foo.bar.com.


Stavo facendo fatica a capire il problema del pollo e delle uova finché non ho visto la tua spiegazione sulla colla!
Jon Skarpeteig,

3

I record NS esistono SOLO allo scopo di definire QUALI NAMESERVER sono responsabili di un determinato dominio.

Esiste un record A per "INDIRIZZO" di un determinato computer o servizio.

Esempi per te:

Nel tuo pannello di controllo DNS, vedrai alcuni record NS, questi sono i tuoi NAMESERVER, o macchina principale responsabile di dire a Internet dove risiedono le cose sul tuo dominio.

NS1.CP.COM NS2.CP.COM

Anche all'interno del tuo pannello DNS, avrai un dominio di tua proprietà (es. -Mikesfunhouse.com) di cui devi disporre di alcuni servizi, come un sito web.

Quindi quello che farai è avere un record A primario, indicando "mikesfunhouse.com" su "76.19.87.956" (ovviamente falso IP).

Quindi creerai un altro record, un record www, che reindirizzerà il sottodominio "www". parte al tuo sito principale.

In breve, si utilizzano i record A per convertire uno spazio dei nomi in un indirizzo IP.


1

Il record del nameserver indica a Internet quale server DNS contiene i record A, quindi per cercare un record A per un sottodominio è approssimativamente il seguente processo:

Cerca i nameserver per il dominio -> Interroga il nameserver per il record A del sottodominio


Ma se i record A sono già nello stesso file, perché dovresti specificare i record NS?
Tiddo,

1
È tutto su ciò che stai cercando. Il record NS è come il punto di partenza. Se un server non avesse MAI MAI mai visitato il tuo dominio prima, avrebbe prima trovato il server NS che rispondeva al tuo dominio. Dopo aver identificato quel server, lo avrebbe interrogato per il record A del dominio in questione.
JohnThePro,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.