Что такое клейкая запись?

Ответы:

130

Склеенная запись - это термин для записи, обслуживаемой 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.

Что делает склеивание записей, так это позволяет серверам ДВУ отправлять дополнительную информацию в своем ответе на запрос для example.comзоны - отправлять IP-адрес, который также настроен для серверов имен. Это не авторитетно, но это указатель на авторитетные серверы, позволяющий разрешить цикл.

Шейн Мэдден
источник
58

Я попросил объединить этот ответ с дублирующим вопросом, так как существующие ответы не объясняют роль этого 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, также могут быть предоставлены как часть клея, но я упустил это для простоты.)

Андрей Б
источник
Спасибо за подробное объяснение. Я многому научился.
Egemenk
Очень хорошее объяснение. Жаль, что я не наткнулся на эту деталь разрешения круговой зависимости до моего последнего собеседования. Я почти уверен, что моя неосведомленность по этому вопросу дорого стоила мне.
конвертер
@ converter42 Если честно, я не думаю, что большинство системных администраторов действительно ожидают, что вы правильно ответите на этот вопрос. Я веду DNS и, конечно же, нет. Это действительно говорит мне, когда интервьюируемый знает DNS лучше, чем 80% других администраторов. :)
Андрей Б
1
@Patrick Дополнительный раздел не включен по умолчанию при выполнении +trace. Вот почему это там.
Андрей Б
1
@AndrewB отметил, но, по-видимому, это зависит от версии dig или чего-то еще, в моих dig +traceтестах добавление +additionalне меняет вывод вообще)
Патрик Мевзек
36

В википедии есть точное (и краткое) объяснение .
Цитировать:

Круговые зависимости и клеевые записи

Серверы имен в делегациях идентифицируются по имени, а не по 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-запрос.

voretaq7
источник
30

Пройдя поиск навсегда и прочитав много о клейких записях и все еще не понимая, что они были или как их можно сделать, я наконец нашел ответ, и он очень прост.

Как я понимаю, никакой волшебной дополнительной информации, отправляемой откуда-то, именно так она и работает.

Допустим, ваш домен - example.com, и вы хотите использовать свои собственные серверы имен ns1.example.com и ns2.example.com, вам нужно как минимум два DNS-сервера.

  • ns1.example.com имеет IP 192.0.2.10
  • ns2.example.com имеет IP 192.0.2.20

Чтобы это работало сейчас, вам нужно, чтобы владелец домена верхнего уровня поместил следующие записи в свой 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

Эти две записи А являются связующими записями, и они должны находиться в верхнем домене, в данном случае .com, и не все регистраторы могут сделать это за вас.

Если это не так, пожалуйста, поправьте меня. Я просто подумал, что пытаюсь объяснить простым способом для тех, кто не может найти правильный ответ.

Хассе
источник
4
Единственным предостережением к вашему ответу является то, что склеенные записи не ограничиваются появлением в доменах верхнего уровня. Вы также можете иметь sub.example.comделегирование в зону ns1.sub.example.comи ns2.sub.example.comв example.comнее. Серверы имен для comделегируются example.comот себя и не могут предоставить клей никому из своих детей.
Андрей Б
3
Ключевым моментом, по-видимому, является то, что без клейкой записи, если запрошенный поддомен и сервер имен находятся под одним доменом, вы застрянете в бесконечном цикле: sub.example.com-> example.com-> ns1.example.com-> example.com-> ns1.example.com... и и так далее
Даниэль Уолтрип
У меня мозги пердят, и каждый раз, когда я читаю объяснение клея, я не совсем получаю достаточно информации - потому что я уверен, что у меня недостаточно знаний о значении терминов ... в этом ответе, когда вы @ Хассе, когда вы говорите: «Эти две записи А являются связующими записями, и они должны быть в верхнем домене» ... что именно вы подразумеваете под «верхним доменом»?
Клод
1
@ Облавляют домен верхнего уровня (я думаю, он имеет в виду домен верхнего уровня или домен верхнего уровня). Такие домены, как com, net, org, (и этот список можно продолжить) находятся в верхней части иерархии доменов. Каждое имя домена является поддоменом другого домена. кроме этих доменов верхнего уровня.
frezq
Я не понимаю, как реестры доменов вписываются в эти ответы о клеевых записях. В реестре моего домена есть DNS, который может указывать на свой собственный сервер имен или мой собственный сервер имен. Но я не могу изменить TTL, поэтому могу быстро перенести сайты. Это как-то связано с клеевыми записями?
Дэвид Спектор