Запис SOA та первинний NS (DNS)


18

Основна проблема цього полягає в тому, який взаємозв'язок між основним сервером імен, зазначеним у SOAзаписі, і серверами імен, зазначеними в NSзаписах. Як пов’язані ці речі?

Коли я запитую більшість веб-сайтів, я отримую таке:

dhamma@sansa:~$ host -t SOA arth.com
arth.com has SOA record ns1.comcastbusiness.net. domreg-tech.comcastbusiness.net. 2009072715 3600 7200 604800 7200

І я очікую ns1.comcastbusiness.net, що я буду вважатися основним сервером імен, тому що коли я запитую NSзапис для домену, я отримую це:

dhamma@sansa:~$ host -t NS arth.com
arth.com name server ns1.comcastbusiness.net.
arth.com name server ns2.comcastbusiness.net.
arth.com name server ns3.comcastbusiness.net.

Це завжди приводило мене до думки, що SOAзаписи якось автоматично заповнюють первинний NSзапис? Це навіть віддалено вірно?

Тому що тут я найбільше плутаю:

dhamma@sansa:~$ host -t SOA paulwarnk.com
paulwarnk.com has SOA record a.dns.hostway.net. hostmaster.siteprotect.com. 2009012319 86400 7200 86400 99999

Але мені кажуть і користуйтеся цими серверами імен:

dhamma@sansa:~$ host -t NS paulwarnk.com
paulwarnk.com name server adns.cs.siteprotect.com.
paulwarnk.com name server bdns.cs.siteprotect.com.

Чому цей сервер імен adns.cs.siteprotect.comне вказаний як основний сервер імен у SOAзаписі?

Відповіді:


14

RFC 1035 говорить:

MNAME <Ім'я домену> сервера імен, який був оригінальним або первинним джерелом даних для цієї зони.

хоча на практиці це MNAMEполе в Росії в SOAосновному не використовується.

Однак якщо ви використовуєте динамічні оновлення DNS, тоді він повинен посилатися на ім'я сервера DNS, який повинен приймати повідомлення про динамічне оновлення.

Дивіться також цей (з минулим терміном) Інтернет-проект, який MNAMEдетально розповідає про поле та про те, як повідомлення DNS UPDATE є єдиним поточним використанням для нього.


Це причина. +1 для короткої, читабельної відповіді.
живіт

це прекрасний момент ... особливо сьогодні з інтегрованими зонами Active Directory (які є злими, імхо). Хоча не важливо, покладаєтесь ви тільки на MS DNS-сервери чи ні (ми не маємо), SOA повинен вказати на контролер AD, який із зоною ADI повинен бути найближчим до AD-запиту до вашого запиту.
Greeblesnort

2
Ця відповідь бентежить.
briankip

1
@Alnitak Я не впевнений, як ваша відповідь стосується записів NS до запису SOA ...?
Howiecamp

1
@Alnitak Ви можете вказати цю точку у своїй відповіді, оскільки для читача, який ще не знає відповіді, цей факт не зрозумілий з вашої відповіді. Запропонуйте просто поставити "вони безпосередньо не пов'язані" вгорі вашої відповіді. Я зробив правки.
Howiecamp

9

Записи сервера імен визначаються у вашому зоні. Запис SOA вказує на основний сервер імен для зони. Автоматичних відносин між ними немає. Ось хороше прочитання щодо записів SOA. Коротка відповідь полягає в тому, що запис SOA - це весь запис, що містить ім'я, TTL тощо. Крім того, я б настійно пропонував забрати книгу O'Reilly DNS & Bind. Це дійсно досить корисно.

Ваші записи за межами кореневих серверів для paulwarnk.com:

paulwarnk.com.      172800  IN  NS  adns.cs.siteprotect.com.
paulwarnk.com.      172800  IN  NS  bdns.cs.siteprotect.com.
;; Received 116 bytes from 192.55.83.30#53(M.GTLD-SERVERS.NET) in 152 ms

paulwarnk.com.      99999   IN  A   69.143.69.166
paulwarnk.com.      99999   IN  NS  adns.cs.siteprotect.com.
paulwarnk.com.      99999   IN  NS  bdns.cs.siteprotect.com.
;; Received 100 bytes from 64.26.28.8#53(adns.cs.siteprotect.com) in 12 ms

Тепер це означає, що на кореневих серверах adns & bdns.cs.siteprotect.com вказані як повноваження для paulwarnk.com. Потім на цих серверах (adns & bdns) є запис A для кореневої записи, що вказує на 69.143.69.166.

Я думаю, що ти запитуєш, чому записи НС видаються різними. Відповідь полягає в тому, що записи NS були визначені, ймовірно, вашим реєстратором, щоб вказати на їхні сервери, які є авторитетними для зони. Однак, такий висновок може вказувати на проблему, оскільки сервер імен SOA, схоже, не відповідає на запит ваших записів:

; <<>> DiG 9.2.4 <<>> @a.dns.hostway.net paulwarnk.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 37849
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;paulwarnk.com.         IN  A

;; Query time: 10 msec
;; SERVER: 66.113.129.243#53(66.113.129.243)
;; WHEN: Mon Nov 16 23:03:04 2009
;; MSG SIZE  rcvd: 31

редагувати: АВТОРІЯ: 0 означає, що сервер a.dns.hostway.net не відповів авторитетно. Це здається очевидним, коли розділ ВІДПОВІДЬ: 0 є, але насправді важливо розмежувати авторитетну відповідь та не авторитетну. Орган влади в DNS розмовляє з тим, чи може сервер, від якого ви отримали свою відповідь, насправді можна довіряти, щоб знати, про що йдеться.

Щодо того, чому в SOA є список серверів, я не знаю, що я коли-небудь читав причину їх розміщення там, але цей сервер повинен бути головним сервером для зони, отже, Start of Authority або SOA. Це не завжди так, оскільки SOA для всіх 1400+ моїх доменів перераховує сервер первинних запитів у SOA, але фактичний початок повноважень знаходиться на прихованому майстрі, до якого ніхто не може отримати доступ.


Велике спасибі, що багато що очищає. То яка ж тоді мета визначення основного сервера імен у SOA? Чи є причина, чому у вашому запиті зазначено AUTHORITY 0? О, стільки питань. Я підберу книгу О'Рейлі.
scraft3613

Ваша редакція неправильна. AAПрапор використовуються для позначення достовірної відповіді. AUTHORITY: 0просто означає, що відповідей у ​​"розділі повноважень" відповіді немає.
Альнітак

Технічно правильно, але я не думаю, що це робить мою редакцію неправильною в контексті. Без прапора Аа ви не отримаєте авторитетної відповіді. Дякую, проте, змусив мене перечитати документацію =)
Greeblesnort
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.