Ускоряют ли клеевые записи в некруглых dns-поисках разрешение домена?
Выполняя поиск моего домена на http://www.intodns.com/ я заметил два сообщения:
В родительском разделе:
DNS родитель отправил Glue Родительский сервер имен g.gtld-servers.net не отправляет GLUE для всех перечисленных серверов имен, то есть он отправляет имена хостов ваших серверов имен, не отправляя записи A этих серверов имен. Это нормально, но вы должны знать, что для этого потребуется дополнительный поиск, который может немного задержать соединения с вашим сайтом. Это часто случается, если у вас есть серверы имен в разных TLD (domain.com, например, с сервером имен ns.domain.org.)
и в разделе NS:
Клей для записей NS ИНФОРМАЦИЯ: КЛЕЙ не был отправлен, когда я спросил у ваших серверов имен ваши записи NS. Это нормально, но вы должны знать, что в этом случае требуется дополнительный поиск записи A, чтобы получить IP-адреса ваших записей NS. Серверы имен без клея: 109.230.225.96 84.201.40.52 Это можно исправить, например, добавив записи A на серверы имен для зон, перечисленных выше.
Я прекрасно понимаю, что основной целью склеивания записей является разрешение циклических зависимостей.
Классический вариант использования:
мой домен - example.com, и я хочу иметь сервер имен ns1.example.com. Это никогда не будет работать, потому что я не могу знать IP-адрес ns1.example.com, если я не получу example.com и для этого мне нужно получить его с ns1.example.com. Чтобы устранить эту тупиковую ситуацию, я добавил на ns1.example.com клейкую запись, содержащую IP-адрес сервера имен, чтобы это могло сработать.
Таким образом, эта проблема не возникает, если серверы имен находятся в другом TLD, чем домен, который я хочу найти. Но как бы то ни было, чтобы получить информацию о зоне от серверов имен, мне нужно знать их IP-адрес, верно? И чтобы узнать, что мне нужно выбрать зону, в которой находятся серверы имен, от их соответствующих серверов имен, верно? (или скорее мой интернет-провайдер должен делать это в фоновом режиме). Так что дополнительный поиск требует времени?
Если у меня теперь есть склеенные записи, я сразу узнаю IP-адрес без необходимости искать его - так что это должно ускорить разрешение моего домена, не так ли?
Однако мой провайдер зоны DNS (tecserver.at) ответил, что
это не имеет смысла, потому что "мы не запускаем ns1.ourdomain.com и ns1.ourdomain.com в качестве авторского NS для ourdomain.com.
Это был бы единственный смысл для клейких записей.
У Tecserver есть клейкая запись, потому что NS для tecserver.at - это ns1.tecserver.at и ns2.tecserver.at. Следовательно, для разрешения необходима клейкая запись.
2 ответа
Клей должен существовать только тогда, когда серверы имен для вашего домена находятся в пределах одного доменного имени.
Технически это не проблема цикличности - они возникают, когда два домена имеют NS
записи, которые взаимно указывают на другое доменное имя. Теперь они считаются ошибкой конфигурации.
любой A
запись включена вместе с NS
записи следует игнорировать, если только они не соответствуют тем же критериям домена, что и выше, поскольку запоминание " из клея от бейливика " может привести к таким проблемам безопасности, как атака Камински.
Смотри также s5.4.1 RFC 2181
[другими словами - ваш интернет-провайдер здесь по существу правильный, а совет indns.com неверный].
Да, склеивание записей ускоряет разрешение домена, и да, ваш провайдер ошибается с технической точки зрения в своем ответе (если вы правильно их перевели).
Тем не менее, они правы о подходе. Существует множество увлечений клейкими записями. Да, они спасают вас один взгляд (иногда), что составляет 1-200 байт и (редко) некоторую задержку. Тем не менее, сложность, возникшая в результате злоупотребления клейкими записями для повышения производительности, сводит на нет достижения.
Убедитесь, что вы называете имена серверов вашего провайдера теми именами, которые они рекомендуют (ns1.they.com или a.ns или что-то еще), а затем просто перестаньте беспокоиться.
Другие ответы забывают об одной вещи, гораздо более важной, чем скорость: правильность.
Если
example.com
имеет
ns1.example.com
в качестве сервера имен, по запросу для
NS
реестр отправит
ns1.example.com
в разделе ответов, а клейкие записи (A
и
AAAA
) в дополнительном разделе DNS-пакета.
Резолвер, получающий эти данные, МОЖЕТ использовать связующую запись, потому что он видит, что она предназначена для имени, для которого реестр является авторитетным, поэтому вызывающий может поверить в этот результат.
С другой стороны, если сервер имен был
ns1.provider.example.
(совершенно другой TLD в другом реестре), даже если
.com
реестр отправил бы
A
записи для этого имени в дополнительном разделе, любой распознаватель, поддерживающий безопасность, откажется принимать его во внимание, потому что это часть информации, которую отправитель (реестр) не имеет полномочий.
В противном случае представьте, что на каждом этапе какой-либо сервер может отправлять вам
A
записи для любого имени, связанного с вашим запросом, в любой другой зоне и при условии, что вызывающий абонент их принимает... Это делает захват слишком простым.
(и DNSSEC здесь не помогает, потому что подписывается только контент в разделе ANSWER, а записи в разделе ADDITIONAL - нет)