Это Канонический вопрос насчет DNS-клеевых записей.
Что именно (но вкратце) представляет собой связующую запись DNS? Зачем они нужны и как работают?
Склеивающая запись - это термин для записи, обслуживаемой DNS-сервером, который не является полномочным для зоны, чтобы избежать условия невозможности зависимостей для зоны DNS.
Скажем, у меня есть зона DNS для example.com
. Я хочу иметь DNS-серверы, на которых размещается авторитетная зона для этого домена, чтобы я действительно мог ее использовать - добавляя записи для корня домена, www
, mail
и т. д. Итак, я поместил серверы имен в регистрацию, чтобы делегировать им - это всегда имена, поэтому мы добавим ns1.example.com
и ns2.example.com
.
Вот в чем хитрость. Серверы TLD будут делегировать DNS-серверам в записи whois, но они находятся в пределах example.com
. Они пытаются найти ns1.example.com
, Спроси .com
серверов, и вас снова направят на ... ns1.example.com
.
Связующие записи позволяют серверам TLD отправлять дополнительную информацию в своем ответе на запрос example.com
zone - для отправки 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, также могут быть предоставлены как часть клея, но я оставил это для простоты.)
Есть точное (и краткое) объяснение в Википедии.
Цитировать:
Круговые зависимости и склеивающие записи
Серверы имен в делегировании идентифицируются по имени, а не по IP-адресу. Это означает, что разрешающий сервер имен должен выдать другой DNS-запрос, чтобы узнать IP-адрес сервера, к которому он был отнесен.
Если имя, указанное в делегировании, является поддоменом домена, для которого предоставляется делегирование, существует циклическая зависимость. В этом случае сервер имен, обеспечивающий делегирование, также должен предоставить один или несколько IP-адресов для полномочного сервера имен, упомянутого в делегировании. Эта информация называется клеем.. . .
Например, если авторитетный сервер имен для example.org - ns1.example.org, компьютер, пытающийся разрешить www.example.org, сначала разрешает ns1.example.org. Поскольку ns1 содержится в example.org, для этого необходимо сначала разрешить example.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, и не все регистраторы могут сделать это за вас.
Если это не так, пожалуйста, поправьте меня. Я просто подумал, что попробую объяснить просто для тех, кто не может найти правильный ответ.