Це канонічне запитання про записи DNS-клею.
Що саме (але коротко) - це запис DNS-клею? Для чого вони потрібні і як вони працюють?
Це канонічне запитання про записи DNS-клею.
Що саме (але коротко) - це запис DNS-клею? Для чого вони потрібні і як вони працюють?
Відповіді:
Запис клею - це термін для запису, який обслуговується сервером DNS, який не є авторитетним для зони, щоб уникнути умови неможливих залежностей для зони DNS.
Скажіть, у мене є зона DNS example.com
. Я хочу мати DNS - сервера that're хостингу авторитетну зони для цього домену , так що я можу реально використовувати його - додавання запису для кореневого домена, www
, mail
і т.д. Таким чином, я поставив ім'я сервера в реєстрації делегувати вони - це завжди імена, тому ми поставимо ns1.example.com
і ns2.example.com
.
Є трюк. Сервери TLD делегують на DNS-сервери в записі whois - але вони знаходяться в межах example.com
. Вони намагаються знайти ns1.example.com
, запитаєте .com
сервера і отримати називають назад ... ns1.example.com
.
Записи клею - це дозволити серверам TLD надсилати додаткову інформацію у відповідь на запит example.com
зони - також надсилати IP-адресу, налаштовану для серверів імен. Це не авторитетно, але це вказівник на авторитетні сервери, що дозволяє вирішити цикл.
Я попросив поєднати цю відповідь із повторного запитання, оскільки існуючі відповіді не пояснювали роль ADDITIONAL
розділу.
Щоб побачити, як це працює, введіть це:
dig +trace +additional google.com SOA
Це дозволить простежити повноваження сервера імен, починаючи з кореневих серверів ( +trace
). Додавання +additional
також покаже ADDITIONAL
розділ кожної відповіді сервера DNS. Зазвичай більшість людей думають про DNS з точки зору розділів QUESTION
та ANSWER
розділів, але вони ADDITIONAL
також відіграють важливу роль: якщо сервер імен знає відповіді на будь-які запити, пов’язані з відповіддю, він може попередньо надати ці відповіді в ADDITIONAL
розділі, не вимагаючи. додаткові запити від вашого клієнта.
Зауважте, що авторитетні сервери імен google.com
використовуються під доменом, для якого вони авторитетні. ( ns1.google.com
, ns2.google.com
І т.д.)
Коли ви попросите сервера імен надати список серверів імен для домену, вони часто надаватимуть список A
записів -типів (IP-адреси) у ADDITIONAL
розділі, а не лише відповіді NS
-типу: це називаються записи клею , які використовуються для запобігання кругових залежності. У цьому випадку ці A
записи подаються із серверів імен TLD (.com, .org тощо) на основі IP-адрес, які хтось надав реєстратору DNS, відповідальному за домен. Зазвичай їх можна змінити, увійшовши в веб-інтерфейс адміністратора, який вони постачають вам.
(відмова від відповідальності: AAAA
записи, що містять адреси IPV6, також можна поставити як частину клею, але це я просто залишив для простоти.)
+trace
. Ось чому воно там.
dig +trace
тестах додавання +additional
зовсім не змінює вихід)
У Вікіпедії є чітке (і стисле) пояснення .
Цитувати:
Кругові залежності та записи клею
Сервери імен у делегаціях ідентифікуються за іменем, а не за IP-адресою. Це означає, що сервер, що розв'язує імена, повинен видати ще один запит DNS, щоб дізнатися IP-адресу сервера, на який він був спрямований.
Якщо ім'я, вказане в делегації, є субдоменом домену, для якого делегація надається, існує кругова залежність. У цьому випадку сервер імен, що надає делегацію, повинен також надати один або більше IP-адрес для авторитетного сервера імен, згаданого в делегації. Цю інформацію називають клеєм.. . .
Наприклад, якщо авторитетним сервером імен для example.org є ns1.example.org, комп'ютер, який намагається вирішити www.example.org, спочатку вирішує ns1.example.org. Оскільки ns1 міститься в example.org, для цього потрібно вирішити спочатку example.org, який представляє кругову залежність.
Для усунення залежності сервер імен для домену верхнього рівня org включає клей разом з делегуванням для example.org. Записи клею - це записи адрес, які надають IP-адреси для ns1.example.org. Резолювач використовує одну або більше цих IP-адрес для запиту одного з авторитетних серверів домену, що дозволяє йому виконати запит DNS.
Після вічного пошуку та читання багато записів про клей та ще не розуміючи, що вони були чи як їх зробити, я нарешті знайшов відповідь, і це дуже просто.
Як я розумію, немає ніякої чарівної додаткової інформації, яка надсилається звідкись, ось як це працює.
Скажімо, ваш домен є example.com, і ви хочете використовувати власні сервери імен ns1.example.com та ns2.example.com, вам потрібно щонайменше два сервери DNS.
Для того, щоб це працювало зараз, вам потрібно, щоб власник домену розмістив наступні записи у свою DNS.
example.com NS ns1.example.com
example.com NS ns2.example.com
ns1.example.com A 192.0.2.10
ns2.example.com A 192.0.2.20
Ці два записи A - це записи, що стосуються клею, і в цьому випадку вони повинні знаходитись у верхньому домені .com, і не всі реєстратори можуть це зробити для вас.
Якщо це неправильно, виправте мене. Я просто думав, що намагаюся пояснити простим способом для інших, хто не може знайти правильну відповідь.
sub.example.com
те, яке делеговане в зону ns1.sub.example.com
та ns2.sub.example.com
в неї example.com
. Сервери імен для com
делегованих example.com
далеко від себе і не можуть надати клею жодному із своїх дітей.
sub.example.com
-> example.com
-> ns1.example.com
-> example.com
-> ns1.example.com
... і так далі