DNS A a rekord NS


42

Próbuję lepiej zrozumieć DNS, ale nadal nie otrzymuję całkowicie rekordów A i NS.

O ile rozumiem, rekord A mówi, który adres IP należy do (pod) domeny, do tej pory było dla mnie jasne. Ale, jak zrozumiałem, rekord NS mówi, który punkt serwera nazw należy do (pod) domeny, a ten serwer nazw powinien powiedzieć, który adres IP należy do (pod) domeny. Ale zostało to już określone w rekordzie A w tym samym pliku DNS. Czy ktoś może mi wyjaśnić, co dokładnie robią rekordy NS i serwery nazw, ponieważ prawdopodobnie zrozumiałem coś złego.

edycja: Jak dobrze rozumiem, rekord NS informuje, że należy znaleźć serwer DNS z rekordem A dla określonej domeny, a rekord A mówi, który adres IP należy do domeny. Ale po co umieszczać rekord A i NS w tym samym pliku DNS? Jeśli istnieje już rekord A dla określonej domeny, to dlaczego musisz wskazać inny serwer DNS, który prawdopodobnie dałby ci te same informacje?


Wybacz pychy stare pytanie, ale jestem administratorem DNS i nie rozważam żadnej z wyżej wymienionych odpowiedzi w celu odpowiedniego wyjaśnienia problemu. Mogę odnieść się do tego pytania, ponieważ sam miałem takie samo zamieszanie we wczesnych latach. Udzieliłem własnej odpowiedzi.
Andrew B,

Odpowiedzi:


44

Kilka przykładów z fikcyjnego foo.compliku strefy

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

Rekord = „Host o nazwie foo.commieszka pod adresem 192.168.100.1”
NS Record = „Jeśli chcesz wiedzieć o hostach w foo.comstrefie, zapytaj serwer nazw ns1.bar.com”


3
Uwielbiam odniesienia do foobar. : D
JohnThePro

2
@Tiddo głównym powodem jest to, że serwery podrzędne są zwykle powiadamiane o zmianach stref, ponieważ są wymienione jako rekordy NS. Również jeśli zapytasz autorytatywny serwer o ns1.foo.comadres w trakcie szukania czegoś innego, a tam nie ma rekordu, otrzymasz NXDOMAINi Bad Things się wydarzy (ale będzie to działać dla osób, które zapytały comserwer nadrzędny, ponieważ przypuszczalnie będą tam zapisy z klejem A)
voretaq7

1
@JohnThePro - moją inną opcją był example.com i nienawidzę referencji example.com :-)
voretaq7 20.01.11

3
@ voretaq7, więc zasadniczo rekordy NS są używane jako mechanizm tworzenia kopii zapasowych i powiadamiania tych serwerów nazw, gdy zmienia się adres IP domeny?
Tiddo,

2
@tiddo i jako drogowskaz jak opisano powyżej oraz w wielu innych odpowiedziach. Mogą istnieć inne rzeczy, które patrzą na rekordy NS, o których zapominam, ale są to dwie duże, które przychodzą mi do głowy.
voretaq7

18

To stare pytanie, ale myślę, że inne odpowiedzi tak naprawdę nie dotykają źródła zamieszania. NSrekordy na wierzchołku podlegają innym zestawom reguł niż NSrekordy pod wierzchołkiem.

Na podstawie tych reguł możemy wyprowadzić dwa różne zachowania dotyczące tego, co dzieje się, gdy Ana serwerze DNS istnieje taka sama nazwa:

  • Jeśli NSrekord nie definiuje odesłania, inne dane mogą istnieć obok niego w tej samej strefie. Ponieważ serwer uważa się za autorytatywny zarówno dla NSrekordu, jak i dla Arekordu, nie ma konfliktu. Właśnie dlatego inne dane zwykle znajdują się obok NSrekordów na szczycie strefy.
  • Jeśli NSpłyta ma definiować skierowania, wówczas Azapis jest skutecznie „zamaskowane” przez cięcie strefy . Ten Arekord nie jest autorytatywny i nie może się pojawiać w sekcji odpowiedzi autorytatywnej odpowiedzi. Można go potencjalnie wykorzystać jako dane kleju, które pojawiają się w dodatkowej sekcji polecenia, ale to wszystko.

Mylące? Tak jest. Upuść notatkę w komentarzach, jeśli masz problemy z przestrzeganiem tego, a ja zobaczę, co mogę zrobić.


Co rozumiesz przez APEX?
Ryan-Neal Mes

@ Ryan-Neal NSRekordy na górze pliku strefy.
Andrew B,

9

Rekordy NS określają serwery, które świadczą usługi DNS dla tej nazwy domeny.

Zapis A wskazuje nazwy hostów punktów (takie jak www, ftp, mail) na jeden lub więcej adresów IP.


7

rekord A mapuje nazwę na adres IP. na przykład

binary.example.com. IN A 192.168.1.42

stwierdza, że ​​binary.example.com. rozwiązuje do 192.168.1.42

rekord NS odwzorowuje nazwę na inny serwer nazw, tj. inny serwer DNS obsługujący tę domenę. tzn. „Nie mam pojęcia o adresie IP tej nazwy, ale jeśli zapytasz tego serwera nazw, może on wiedzieć”

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

Jeśli poprosisz serwer DNS, który ma powyższe 2 rekordy dla binary.example.com. (lub www.binary.example.com. lub foo.bar.binary.example.com). powie ci, że będziesz musiał poprosić 192.168.1.2 o przetłumaczenie tych nazw (no cóż, serwer dns mógłby to zrobić dla ciebie, lub może buforować przetłumaczone nazwy i zwrócić je tobie).


często zobaczysz rekordy DNS, które określają rekordy NS i A dla tych samych domen. Ale jeśli rekord NS mówi, aby znaleźć rekord A, to jaki jest pożytek z rekordu NS w tym samym pliku, jeśli rekord A już tam jest?
Tiddo,

to było moje ulubione wytłumaczenie spośród wszystkich!
Benjamin,

6

Ważne jest, aby mieć zarówno rekord NS, jak i A w strefie, jeśli konieczne jest delegowanie podstrefy na inny serwer DNS.

Np. Mamy serwer dns ns1.bar.com autorytatywny dla strefy bar.com. I musimy przekazać foo.bar.com do ns1.foo.bar.com. Musimy więc utworzyć strefę foo.bar.com i umieścić tam te rekordy:

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

Jeśli nie będziemy mieć. Przekazywanie rekordów nie będzie działać. Takie pary rekordów nazywane są zapisami kleju.

Rekordy kleju to jedyny sposób, aby system DNS znalazł dokładny adres IP autorytatywnego serwera DNS dla strefy innej niż root. Jeśli sprawdzisz dowolną domenę pod kątem rekordów NS za digpomocą Wireshark lub zobaczysz zrzut ruchu, zobaczysz, że w odpowiedzi jest sekcja „dodatkowa”.

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

wykonując żądanie rekurencyjne, np. www.foo.bar.com, klient dns poprosi o autorytatywny DNS dla strefy foo.bar.com i otrzyma odpowiedź ns1.foo.bar.com.

Aby przejść dalej, musi wysłać zapytanie o ns1.foo.bar.com, które jest obsługiwane przez ... ns1.foo.bar.com. Aby przełamać pętlę, delegujący serwer DNS powinien dodać tę dodatkową sekcję z rekordem A.

Serwer ns1.foo.bar.com powinien mieć te same rekordy w swojej strefie, aby mógł być autorytatywny dla strefy foo.bar.com.


Ciężko mi było omijać problem z kurczakiem i jajkami, dopóki nie zobaczyłem twojego wyjaśnienia dotyczącego kleju!
Jon Skarpeteig,

3

Rekordy NS istnieją WYŁĄCZNIE w celu zdefiniowania, KTÓRE NAZWY są odpowiedzialne za określoną domenę.

Istnieje rekord A służący do „ADRESU” określonej maszyny lub usługi.

Przykłady dla ciebie:

W Panelu sterowania DNS zobaczysz niektóre rekordy NS, to są NAMESERVERS lub podstawowa maszyna odpowiedzialna za informowanie Internetu, gdzie znajdują się rzeczy w Twojej domenie.

NS1.CP.COM NS2.CP.COM

Również w panelu DNS będziesz mieć własną domenę (np. -Mikesfunhouse.com), w której potrzebujesz niektórych usług, takich jak strona internetowa.

Więc będziesz mieć rekord Primary A, wskazujący „mikesfunhouse.com” na „76.19.87.956” (oczywiście fałszywy adres IP).

Następnie utworzysz kolejny rekord, rekord www, który przekieruje subdomenę „www”. część do głównej witryny.

Krótko mówiąc, używasz rekordów A do konwersji przestrzeni nazw na adres IP.


1

Rekord serwera nazw informuje Internet, który serwer DNS przechowuje rekordy A, więc aby wyszukać rekord A dla subdomeny, jest to mniej więcej następujący proces:

Wyszukaj serwery nazw dla domeny -> Zapytaj serwer nazw dla rekordu A poddomeny


Ale jeśli rekordy A znajdują się już w tym samym pliku, dlaczego należy określić rekordy NS?
Tiddo,

1
Chodzi o to, czego szukasz. Rekord NS jest jak punkt początkowy. Jeśli serwer NIGDY nigdy nie odwiedził Twojej domeny, najpierw stwierdziłby, że serwer NS odpowiada na Twoją domenę. Po zidentyfikowaniu tego serwera zapytałby go o rekord A danej domeny.
JohnThePro
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.