Здесь рассматриваются особенности применения синонимов доменных имен, которые задаются записью описания ресурсов CNAME. Разбираются основные ошибки при комбинировании записи определения синонимов с записями MX и NS.
Здесь рассматриваются особенности применения синонимов доменных имен, которые задаются записью описания ресурсов CNAME. Разбираются основные ошибки при комбинировании записи определения синонимов с записями MX и NS.
Обсуждение записей описания ресурсов очень похоже на движение по ленте Мебиуса. В принципе, можно начинать с любого места (с любой записи), к которому все равно вернешься.
Запись CNAME больше всего подходит для точки начала и окончания, т.к. больше всего ошибок при настройке описания зон связано с применением этой записи в сочетании с другими записями описания зоны.
Запись CNAME определяет синонимы для реального (канонического) доменного имени машины, которое определено в записи типа A. Имя в записи типа A называют каноническим именем машины. Формат записи CNAME можно определить следующим образом:
[nickname] [ttl] IN CNAME [host]
Поле nickname определяет синоним для канонического имени, которое задается в поле host.
Запись CNAME чаще всего используется для определения имен информационных сервисов Internet, которые установлены на хосте. Так следующий пример определяет синонимы, для компьютера, на котором установлены серверы протоколов http и gopher:
$ORIGIN polyn.kiae.su.
olga IN A 144.206.192.2
www IN CNAME olga.polyn.kiae.su.
gopher IN CNAME olga.polyn.kiae.su.
Директива управления $ORIGIN введена здесь только для определения текущего имени зоны. Две записи типа CNAME позволяют организовать доступ к серверам, используя имена, характерные для соответствующих Интернет-сервисов.
Именно такие синонимы и используются в описаниях зон при обращении к таким системам как Yahoo(www.yahoo.com) или Altavista (www.altavista.digital.com).
Ниже приведен пример обращения к www.netscape.com:
> www.netscape.com
Server: IRIS.polyn.kiae.su
Address: 144.206.192.10
;; res_nmkquery(QUERY, www.netscape.com, IN, A)
————
Got answer:
HEADER:
opcode = QUERY, id = 12635, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 5, authority records = 3, additional = 3
QUESTIONS:
www.netscape.com, type = A, class = IN
ANSWERS:
-> www.netscape.com
canonical name = netscape.com
ttl = 900 (15M)
-> netscape.com
internet address = 64.12.180.19
ttl = 900 (15M)
-> netscape.com
internet address = 64.12.180.22
ttl = 900 (15M)
-> netscape.com
internet address = 64.12.151.211
ttl = 900 (15M)
-> netscape.com
internet address = 64.12.151.215
ttl = 900 (15M)
AUTHORITY RECORDS:
-> netscape.com
nameserver = ns.netscape.com
ttl = 86400 (1D)
-> netscape.com
nameserver = ns1.netscape.com
ttl = 86400 (1D)
-> netscape.com
nameserver = ns2.netscape.com
ttl = 86400 (1D)
ADDITIONAL RECORDS:
-> ns.netscape.com
internet address = 198.95.251.10
ttl = 3600 (1H)
-> ns1.netscape.com
internet address = 149.174.213.7
ttl = 3600 (1H)
-> ns2.netscape.com
internet address = 207.200.73.80
ttl = 3600 (1H)
————
Name: netscape.com
Addresses: 64.12.180.19, 64.12.180.22, 64.12.151.211, 64.12.151.215
Aliases: www.netscape.com
>
Из отчета nslookup видно, что www.netscape.com является синонимом netscape.com, которая, в свою очередь, имеет несколько адресных записей. В авторитативной секции отклика указаны доменные имена серверов зоны netscape.com, а в дополнительной секции их IP-адреса.
Правда, при обращении к серверу протокола http, который является базовым для системы World Wide Web, изменение имени машины, с которой осуществляют обслуживание? может быть вызвано многими причинами: перенаправлением запроса на другой сервер, использование виртуального сервера и т.п.
При использовании записей типа CNAME следует проявлять осторожность. Некоторые администраторы рекомендуют вообще от нее отказаться и если нужно еще одно имя, то лучше указать еще одну A-запись для того же самого IP-адреса.
На самом деле, применение записей CNAME строго регламентировано в RFC 1034 и RFC 1912. Смысл применения CNAME — назначение синонима для канонического имени. Описание ресурсов для канонического имени и для синонима должны совпадать.
По этой причине для имени, определенного как синоним не должно быть никаких других записей описания ресурсов (На самом деле существуют отдельные исключения, связанные с поддержкой безопасности DNS). Более того, имя синоним никогда не должно появляться в правой части записей описания ресурсов. Нужно также понимать, что синоним должен быть определен только один раз. Последнее требование соблюдается далеко не всеми реализациями серверов доменных имен.
Администратору зоны следует понимать, как DNS работает с CNAME записями описания зоны. Поиск CNAME осуществляется только в том случае, если запросы другого типа, скажем поиск адресной записи, не дали положительного отклика. Т.е. сервер получает запрос к своей зоне на адресную запись; он не находит такой записи, но в описании зоны есть CNAME запись, которая соответствует запрашиваемому доменному имени; сервер на запрос возвращает эту запись и адресную запись, если последняя находится в описании этой же зоны. Если же CNAME ссылается на каноническое имя из другой зоны, то в отклике будет только CNAME.
Вот часть отчета nslookup, где указан запрос и ответ на него без секции данных секции авторитативности отклика сервера и дополнительной секции:
————
Got answer:
HEADER:
opcode = QUERY, id = 51763, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 2, authority records = 2, additional = 2
QUESTIONS:
user.webstatistics.ru, type = A, class = IN
ANSWERS:
-> user.webstatistics.ru
canonical name = host.webstatistics.ru
ttl = 3 (3S)
-> host.webstatistics.ru
internet address = 144.206.192.63
ttl = 3 (3S)
Из этого отчета следует, что мы искали адресную запись для user.webstatistics.ru, но ее в описании зоны нет, поэтому сервер нашел CNAME и адрес для канонического имени синонима.
При этом в RFC 1034 есть строгое указание, что если CNAME будет указывать не на каноническое имя, а опять на синоним, в этом случае сервер должен вернуть негативный отклик, а не CNAME. При появлении такой цепочки в одной зоне определить цепочку можно, но при наличии CNAME цепочки через границы зон выявить ее практически невозможно.
Последнее проверить очень трудно, т.к. клиент при поиске в поле типа записи запроса укажет тип A (адресная запись). Новый сервер не будет знать о результатах предыдущего поиска и снова будет при отрицательном результате искать CNAME.
Вот пример из той же зоны, что и раньше, но мы в зоне реализовали цепочку CNAME:
;; res_nmkquery(QUERY, user1.webstatistics.ru, IN, A)
————
Got answer:
HEADER:
opcode = QUERY, id = 47112, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 3, authority records = 2, additional = 2
QUESTIONS:
user1.webstatistics.ru, type = A, class = IN
ANSWERS:
-> user1.webstatistics.ru
canonical name = user.webstatistics.ru
ttl = 3 (3S)
-> user.webstatistics.ru
canonical name = host.webstatistics.ru
ttl = 3 (3S)
-> host.webstatistics.ru
internet address = 144.206.192.63
ttl = 3 (3S)
AUTHORITY RECORDS:
-> webstatistics.ru
nameserver = ns.webstatistics.ru
ttl = 3600 (1H)
-> webstatistics.ru
nameserver = ns4.nic.ru
ttl = 3600 (1H)
ADDITIONAL RECORDS:
-> ns.webstatistics.ru
internet address = 144.206.192.60
ttl = 3600 (1H)
-> ns4.nic.ru
internet address = 194.226.96.8
ttl = 19465 (5h24m25s)
————
Name: host.webstatistics.ru
Address: 144.206.192.63
Aliases: user1.webstatistics.ru, user.webstatistics.ru
Сервер (BIND версии 9) вернул нам правильный IP-адрес, перебрав цепочку CNAME.
На самом деле многие «глупые»(stub) клиенты не умеют работать с цепочками CNAME, и по это причине информационный ресурс, к которому обращаются по имени-синониму, будет не доступен.
Таким образом, не смотря на то, что в спецификации цепочки синонимов запрещены явным образом, в реальной жизни они могут появляться и появляются.
Наш пример показывает цепочку в одной зоне, но гораздо хуже межзонные цепочки. Межзонная цепочка CNAME плоха тем, что не отслеживает исчезновение адресной записи в другой зоне, за которую сервер, содержащий в своей зоне CNAME, не отвечает. Как итог — появление «подвешенных» CNAME записей.
Теперь вернемся к вопросу о том, что для доменного имени, которое является синонимом, может существовать только одна запись описания ресурса и эта запись — CNAME. Что происходит, когда это правило нарушается?
Первая распространенная ошибка, на которую указывают и все RFC и FAQ — использование CNAME в совокупности с NS записями. Рассмотрим пример (RFC 1912):
podunk.xx. IN NS ns1
IN NS ns2
IN CNAME mary
mary IN A 1.2.3.4
В данном случае для домена Podunk.xx. определено два сервера доменных имен ns1 и ns2, но одновременно указано, что Podunk.xx. — это синоним для канонического имени mary. Mary, ns1 и ns2 — это не полные имена. В нашем случае данное обстоятельство значения не имеет. BIND, встретив CNAME, обе записи NS проигнорирует, т.к. будет следовать соответствующим стандартам и рекомендациям.
На самом деле, можно усмотреть противоречие между тем, что было описано в алгоритме обработки CNAME записей и тем, что описано абзацем выше. Ведь при поиске NS мы найдем NS записи, и, следовательно, нам не будет выдана CNAME запись.
Все правильно, если NS записи будут загружены в память сервером доменных имен при его запуске. Но сервер проверяет при своем запуске корректность описания зоны. Он просто проигнорирует все записи, отличные от CNAME, которые содержат синоним в первом поле записи описания ресурсов.
Вот пример сообщения сервера для этого случая (BIND 9):
Oct 14 12:55:51 generate named[136]: dns_master_load: webstatistics.ru:21: zone.
webstatistics.ru: CNAME and other data
Oct 14 12:55:51 generate named[136]: zone webstatistics.ru/IN: loading master fi
le webstatistics.ru: CNAME and other data
А вот фрагмент описания зоны, на которую он ругается:
zone IN NS ns.wenstatistics.ru.
IN CNAME subzone
subzone IN A 144.206.192.61
BIND 9, найдя такую ошибку, в зоне вообще обслуживать ее не будет. Точнее говоря, если он ее уже обслуживает, то при перезагрузке (restart) он старое описание на новое в своих кэшах не заменить, а при начальном запуске его не загрузит.
На самом деле ситуация «CNAME на NS» часто встречается в том случае, когда хотят определить IP адрес для доменного имени зоны. Если быть более точным, то администратор хочет некоторому хосту в зоне присвоить то же имя, что и всему домену. Например, это нужно для обеспечения доступа к веб-серверу по именам www.kyky.ru и kyky.ru. В этом случае описание вида:
$TTL 3600
@ IN SOA ns.kyky.ru hostmaster.kyky.ru (
20021013 3h 30m 30d 3600 )
IN NS ns.kyky.ru.
IN NS ns.provider.ru.
IN CNAME server.kyky.ru.
server IN A 192.168.0.1
www IN CNAME server.kyky.ru.
ns IN CNAME server.kyky.ru.
будет ошибочным. Мы потеряем не только NS записи зоны kyky.ru, но и вообще все записи этой зоны. Правильным был бы следующий вариант:
$TTL 3600
@ IN SOA ns.kyky.ru hostmaster.kyky.ru (
20021013 3h 30m 30d 3600 )
IN NS ns.kyky.ru.
IN NS ns.provider.ru.
IN A 192.168.0.1
server IN A 192.168.0.1
ns IN A 192.168.0.1
www IN CNAME kyky.ru.
В принципе, вместо «kyky.ru.» в CNAME можно было бы указать и символ @.
Раз уж мы заговорили о символе «@», то следует заметить, что этот символ в поле nickname применяться не должен, т.к., фактически, тем самым утверждается, что текущее имя зоны — это синоним другого имени, и, следовательно, описание этой зоны следует проигнорировать.
Скорее всего, идея об использовании символа «@» в CNAME возникла при желании назначить имя зоны конкретному хосту, который имеет IP-адрес. Движение мысли в этом случае понятно: хост — это синоним зоны, поэтому мы и назначаем зоне IP-адрес через имя хоста. Если вдуматься, то такая логика неверна. Хост и домен — это совершенно разные понятия. Если вы хотите хосту, а точнее IP-адресу поставить в соответствие еще одно имя, то делать это следует посредством адресной записи, как в приведенном выше примере. При этом совершенно не имеет значения тот факт, что назначаемое имя — это имя зоны.
На самом деле, при исправлении описания зоны мы поправили еще одну запись. В первоначальном варианте имя ns.kyky.ru является синонимом для server.kyky.ru. Таким образом, в первоначальном варианте существовала недопустимая цепочка в рамках описания зоны, которую сервер может сам обнаружить. В новом варианте мы запись CNAME заменили на адресную запись.
Вообще говоря, немотивированные запреты всегда провоцируют на попытки попробовать программное обеспечение на соответствие этим запретам. Ведь, в конечном счете, для нашей зоны в рамках описания зоны существует адресная запись, и сервер может ее успешно найти по цепочке CNAME (см. пример в начале этого материала).
Косвенно понятно, почему введен запрет. В конце концов, число серверов корневой зоны ограничено числом 13 по одной простой причине — размеру пакета UDP. На самом деле цепочки без конца и края также упрутся в то же ограничение, ведь в пакете нужно передавать и CNAME-ы и IP-адрес. Если изменять логику обработки запросов и заставлять клиента итеративно обращаться к серверу по CNAME цепочке, то где предел такого цикла обращений.
На самом деле есть еще одна причина запрета на использование CNAME для NS и MX, но прежде, чем ее назвать и обсудить, мы рассмотрим проблемы, связанные с совместным использованием MX и CNAME.
Трудность поиска ошибок этого сорта в том, что приходится работать с двумя информационными сервисами одновременно. Ошибки описания зоны проявляются не при поиске IP-адресов или доменных имен, а при доставке электронной почты.
Ошибки совместного применения CNAME и MX заключается в том, что в записи MX синоним используют как в первом поле MX, так и в последнем поле MX. Ни первое, ни второе делать не следует.
Первый вариант:
$ORIGIN kyky.ru
@ IN A 192.168.0.2
kuku IN CNAME kyky.ru.
IN MX 10 kyky.ru.
В данном случае, мы хотим отправлять почту на kuku.kyky.ru через kyky.ru. Правило запрета существования других записей описания ресурса для синонима кроме единственной CNAME записи, которая этот синоним и вводит, заставляет сервер проигнорировать MX.
Правильным бы было:
$ORIGIN kyky.ru
@ IN A 192.168.0.2
IN MX 10 kyky.ru.
kuku IN CNAME kyky.ru.
В данном случае, если почта отправляется на kuku.kyky.ru, то по CNAME сервер доменных имен возвращает kyky.ru адресную запись для kyky.ru. Почтовый клиент соединяется с этим IP-адресом и отправляет на него почту. Другое дело настройки почтового шлюза на kyky.ru. Если он не распознает имя kuku.kyky.ru как свое собственное, либо, если у него нет правил пересылки для kuku.kyky.ru, то возникнут проблемы с доставкой почты, но это уже не проблема DNS.
Теперь другой вариант. Синоним используется в последнем поле записи MX:
$ORIGIN kyky.ru
@ IN A 192.168.0.2
IN MX 10 kuku.kyky.ru.
kuku IN CNAME kyky.ru.
Этот случай аналогичен случаю использования в качестве имени сервера в NS записи синонима, заданного через CNAME. По этой причине мы сейчас возобновим обсуждение проблемы, начатое в части, касающейся NS записей.
В основе запрета на использование синонима в правой части записей MX и NS лежит процедура обработки запросов на MX и NS. Все дело в том, что в качестве ответа на запрос типа NS или MX сервер в основной секции данных отклика возвращает доменной имя сервера доменных имен, либо, если запрос на запись MX, доменное имя почтового шлюза, а в дополнительной секции отклика соответствующие адресные записи. CNAME запись никогда не может появиться в дополнительной секции отклика сервера доменных имен.
Следовательно, клиент, который попадает при поиске MX или NS на синоним
Должен инициировать дополнительный запрос адресной записи. Особенность почтовых систем такова, что они такого запроса в большинстве случаев не инициируют. Как следствие — почта не может быть доставлена, если речь идет о MX записи.
Вот пример с записью NS:
> set debug
> set q=ns
> webstatistics.ru.
Server: [144.206.192.60]
Address: 144.206.192.60
;; res_nmkquery(QUERY, webstatistics.ru, IN, NS)
————
Got answer:
HEADER:
opcode = QUERY, id = 41793, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 2, authority records = 0, additional = 1
QUESTIONS:
webstatistics.ru, type = NS, class = IN
ANSWERS:
-> webstatistics.ru
nameserver = ns.webstatistics.ru
ttl = 3600 (1H)
-> webstatistics.ru
nameserver = ns4.nic.ru
ttl = 3600 (1H)
ADDITIONAL RECORDS:
-> ns4.nic.ru
internet address = 194.226.96.8
ttl = 86297 (23h58m17s)
————
webstatistics.ru
nameserver = ns.webstatistics.ru
ttl = 3600 (1H)
webstatistics.ru
nameserver = ns4.nic.ru
ttl = 3600 (1H)
ns4.nic.ru
internet address = 194.226.96.8
ttl = 86297 (23h58m17s)
>
Мы запрашиваем NS для зоны webstatistics.ru. В качестве ответа получаем доменные имена серверов доменных имен, но ns.webstatistics.ru — это синоним для webstatistics.ru, поэтому его адресной записи в дополнительной секции отклика сервера доменных имен нет. Ниже представлен пример описания этой зоны:
$ORIGIN ru.
webstatistics 3600 IN SOA ns.webstatistics.ru. hostmaster.webstatistics.ru. (
1 3600 600 86400 3600 )
3600 IN NS ns.webstatistics.ru.
3600 IN NS ns4.nic.ru.
IN A 144.206.192.60
$ORIGIN webstatistics.ru.
ns IN CNAME @
$ORIGIN nic.ru.
ns4 IN A 194.226.96.8
Любопытно, что при запуске BIND 9-ой версии не сообщил о некорректном применении CNAME.
Считается, что гораздо проще заставить администраторов соблюдать правила использования CNAME записей, чем пытаться исправить ошибки администратора за счет «умного» программного обеспечения.
На самом деле ошибка может проистекать из-за обычной невнимательности администратора.
Приведем пример правильного и неправильного использования записи CNAME:
$ORIGIN polyn.net.kiae.su.
olga IN A 144.206.192.2
IN MX 0 olga
IN MX 10 ns.polyn.kiae.su.
www IN CNAME olga.polyn.kiae.su.
gopher IN CNAME olga.polyn.kiae.su.
В данном случае записи типа CNAME указаны правильно, т.к. не мешают переадресации почты на машину olga.polyn.kiae.su. Но если их поменять местами с записями типа MX, то скорее всего почта работать не будет:
$ORIGIN polyn.net.kiae.su.
olga IN A 144.206.192.2
www IN CNAME olga.polyn.kiae.su.
gopher IN CNAME olga.polyn.kiae.su.
IN MX 0 olga
IN MX 10 ns.polyn.kiae.su.
В данном случае можно предположить, что при редактировании зоны администратор просто неаккуратно скопировал блоки записей. Результат — неправильное применение CNAME.
Теперь от грустного — ошибок, перейдем к особенностям применения CNAME. Случай, когда CNAME используется для простого определения синонимов, мы уже рассматривали. Теперь коснемся такого приема, как Round Robin алгоритм.
Обычно циклическую перестановку адресов рассматривают в контексте адресных записей и позиционируют как один из способов распределения нагрузки. На самом деле BIND можно настроить таким образом, что он позволит «тасовать» не только адресные записи. В частности это разрешено будет делать и для CNAME записей. При этом следует помнить, что строго говоря такое применение CNAME запрещено спецификациями.
Вот пример множественных адресных записей:
www.domain.ru. IN A 192.168.0.1
www.domain.ru. IN A 192.168.0.2
www.domain.ru. IN A 192.168.0.3
А вот его аналог для записей типа CNAME:
Server1.domain.ru. IN A 192.168.0.1
Server1.domain.ru. IN A 192.168.0.2
Server1.domain.ru. IN A 192.168.0.1
www.domain.ru. IN CNAME server1.domain.ru.
www.domain.ru. IN CNAME server2.domain.ru.
www.domain.ru. IN CNAME server3.domain.ru.
На первый взгляд большой разницы в том, что тасовать (адресные записи или CNAME записи), нет. И в том и в другом случае адреса ресурса циклически переставляются. На один запрос мы получаем один адрес, на другой — второй, и так далее по кругу.
Разница заключается в том, что на каждый запрос в первом случае выдается список IP-адресов, где они все перечисляются, только порядок их следования в отклике меняется. В этом случае клиент может теоретически перебрать их все, используя только одно обращение к DNS.
Во втором случае в качестве отклика возвращаются CNAME записи. Это значит, что клиент в конечном итоге получает не список IP-адресов, а только один IP-адрес.
На самом деле рекомендуется все-таки не использовать «тасование» CNAME, тем паче, что в BIND 9 на выше приведенный пример будет получен при запуске сервера следующий отклик в логах:
Oct 13 18:03:15 generate named[136]: dns_master_load: webstatistics.ru:19:
www.domain.ru: multiple RRs of singleton type
Любопытно, что обслуживаться запросы по синониму будут. Просто из всех записей одного синонима будет выбрана последняя. Если же мы имеем дело со множественными адресными записями, и на их доменное имя существует синоним, то для запроса на этот синоним будет выдан список всех IP-адресов.
Ниже приведем пример описанного только что случая:
$ORIGIN ru.
Webstatistics 3600 IN SOA webstatistics.ru. paul.webstatistics.ru. (
1 3600 600 86400 3600 )
3600 IN NS ns.webstatistics.ru.
3600 IN NS ns4.nic.ru.
IN A 144.206.192.60
$ORIGIN webstatistics.ru.
ns 3600 IN A 144.206.192.60
$ORIGIN nic.ru.
ns4 IN A 194.226.96.8
$ORIGIN webstatistics.ru.
www 3 IN A 144.206.192.60
www 3 IN A 144.206.192.61
www 3 IN A 144.206.192.62
www 3 IN A 144.206.160.32
www1 IN CNAME ns.webstatistics.ru.
www1 IN CNAME www
В данном случае BIND версии 9 игнорирует первую запись CNAME, выдает выше приведенное сообщение в логе и поддерживает только последний CNAME.
Если теперь обратиться за IP-адресом www1.webstatistics.ru, то мы получим следующее (тестирование программой nslookup):
> set debug
> www1.webstatistics.ru.
Server: [144.206.192.60]
Address: 144.206.192.60
;; res_nmkquery(QUERY, www1.webstatistics.ru, IN, A)
————
Got answer:
HEADER:
opcode = QUERY, id = 33822, rcode = NOERROR
header flags: response, auth. answer, want recursion, recursion avail.
questions = 1, answers = 5, authority records = 2, additional = 2
QUESTIONS:
www1.webstatistics.ru, type = A, class = IN
ANSWERS:
-> www1.webstatistics.ru
canonical name = www.webstatistics.ru
ttl = 3 (3S)
-> www.webstatistics.ru
internet address = 144.206.192.60
ttl = 3 (3S)
-> www.webstatistics.ru
internet address = 144.206.192.61
ttl = 3 (3S)
-> www.webstatistics.ru
internet address = 144.206.192.62
ttl = 3 (3S)
-> www.webstatistics.ru
internet address = 144.206.160.32
ttl = 3 (3S)
AUTHORITY RECORDS:
-> webstatistics.ru
nameserver = ns.webstatistics.ru
ttl = 3600 (1H)
-> webstatistics.ru
nameserver = ns4.nic.ru
ttl = 3600 (1H)
ADDITIONAL RECORDS:
-> ns.webstatistics.ru
internet address = 144.206.192.60
ttl = 3600 (1H)
-> ns4.nic.ru
internet address = 194.226.96.8
ttl = 79606 (22h6m46s)
————
Name: www.webstatistics.ru
Addresses: 144.206.192.60, 144.206.192.61, 144.206.192.62, 144.206.160.32
Aliases: www1.webstatistics.ru
>
На запрос адреса мы в основной секции отклика получаем CNAME и все адресные записи, в авторитативной секции получаем доменные имена серверов зоны (записи NS), а в дополнительной секции IP-адреса этих серверов доменных имен.
И в заключении о реальном масштабе ошибок, связанных с применением CNAME в системе доменных имен. Согласно исследованиям компании Men & Mice проведенным на 5000 случайно выбранных зонах домена com в августе 2002 года в 3.3%-ах случаев была зафиксирована ссылка в MX записи на синоним, т.е. неправильное совместное применение CNAME и MX.
Рекомендованная литература:
- P. Mockapetris. RFC-1034. DOMAIN NAMES — CONCEPTS AND FACILITIES. ISI, 1987. (http://www.ietf.org/rfc/rfc1034.txt?number=1034)
- P. Mockapetris. RFC-1035. DOMAIN NAMES — IMPLEMENTATION AND SPECIFICATION. ISI, 1987. (http://www.ietf.org/rfc/rfc1035.txt?number=1035)
- Альбитц П., Ли К.. DNS и BIND. — Пер. с англ. — СПб: Символ-Плюс, 2002. — 696 с.
- Документация по BIND 9. Справочное руководство системного администратора. (http://www.nominum.com/resources/documentation/Bv9ARM.pdf)
- D. Barr. RFC 1912. Common DNS Operational and Configuration Errors. 1996. (http://www.ietf.org/rfc/rfc1912.txt?number=1912)
- R. Elz, R. Bush. RFC 2181. Clarifications to the DNS Specificatrion. 1997. (http://www.ietf.org/rfc/rfc2181.txt?number=2181)
Полезные ссылки:
- http://www.rscott.org/dns/cname.html — о способах верификации ошибок в описании зоны, относящихся к записям CNAME.
- http://www.adminschoice.com/docs/dns_trouble_shooting.htm — пример правильного и неправильного употребления NS и CNAME.
- http://support.microsoft.com/default.aspx?scid=KB;EN-US;q159310& — проблемы совмести dns.exe и BIND при обработке откликов NS и CNAME.
- http://cr.yp.to/im/canme.html — обсуждается проблема работы с DNS программ sendmail и qmail. Основное внимание уделено работе с некорректными CNAME — записями.
- http://www.acmebw.com/askmrdns/ — FAQ по системе доменных имен. На этот архив ссылаются и разработчики BIND. Вопросам некорректного использования CNAME посвящено около десятка страниц.
- http://www.menandmice.com/6000/61_recent_survey.html — статистика ошибок при конфигурации серверов системы доменных имен.
Вступление
Любой пользователь Интернет имеющий домены на серверах хостинг-провайдеров могут создавать и редактировать свои DNS записи. DNS записи имеют Имя, Тип записи и Адрес. Эти названия в различных панелях могут меняться. Например, может быть так:
Имя/Хост/Псевдоним; Тип записи; Значение/Ответ/Назначение/Адрес.
Во всех вариантах «Тип записи» остается неизменным.
Имя записи
Имя записи, оно же хост/псевдоним это доменное имя, к которому принадлежит или привязана создаваемая запись.
При создании записи в поле «Имя» доменное имя указывается полностью. Имя субдомена или псевдонима не нужно указывать полностью. Достаточно указать имя третьего уровня: mail, www, ftp. Если вводите полное имя, обязательно поставьте точку в конце. То есть имя mail и mail.example.ru. это одно и то же имя в поле Имя/хост/псевдоним .
Рассмотрим основные типы DNS записей, с которыми предстоит сталкиваться при обслуживании своих доменов.
Тип записи А
Тип записи: А (address record) или (адрес Internet 4). Этот тип записи привязывает конкретное доменное имя на определенный, точный IP-адрес.
Можно добавить больше одного IP адреса для одного домена (имени хоста). Это нужно если используется firewall. Для этого нужно добавить вторую запись типа A, аналогично первой. Указав только другой IP.
В теории можно для одного IP адреса, указать более одного домена. Но этого делать не нужно, так как система доменных имен (DNS) имеет запись специально предназначенную для создания псевдонимов. Называется эти запись типа CNAME.
Тип записи АААА
Тип записи: AAАA (address record для IPv6) или (адрес Internet 6). Тоже. Что и тип записи А, но IP адрес имеет внешний вид по протоколу IPv6. Например: IPv6-2a03:4900:0:3::99:155
Тип записи CNAME
CNAME (каноническое имя -canonical name record). Запись типа CNAME позволяет иметь и использовать на сервере более одного имени домена (хоста).
Сначала создается одна запись типа А, для одного IP адреса. Имя домена в записи типа А, называется каноническим именем. Другие домены называют мнемонические. Мнемонические имена могут быть псевдонимами (произвольными именами) или субдоменами. Здесь пример CNAME записи:
popov.example.ru. CNAME example.ru. (не забываем точки в конце).
Сервер может иметь любое количество псевдонимов. Для каждого псевдонима нужно создать запись типа CNAME.
Еще пример записи CNAME:
hosting-1 IN A 8.8.8.8
www IN CNAME hosting-1
ftp IN CNAME hosting-1
Покупаем второй IP и на второй IP переводим поддомен ftp:
hosting-1 IN A 8.8.8.8
hosting-2 IN A 8.8.8.9
www IN CNAME hosting-a
ftp IN CNAME hosting-b, переносим на второй хостинг FTP –сервер.
Еще пример записи CNAME:
hosting-1 IN A 8.8.8.8
peter IN CNAME hosting-1
oleg IN CNAME hosting-1
Следующими записями CNAME привязываем псевдонимы:
example.com. IN CNAME example.ru.
www.example.com. IN CNAME example.ru.
test.example.com. IN CNAME example.ru.
тем самым мы связываем домены example.com, www.example.com, test.example.com с каноническим доменом example.ru. Точки в конце обязательны.
Еще пример переадресация (редирект) с помощью записи типа CNAME
www.example.ru. IN CNAME example.ru.
Обычно, сервера по умолчанию создают записи CNAME только для поддоменов основного домена и не делают их для других доменов (как на фото).
Тип записи MX
MX (почтовый сервер). Эта запись создает поддомен, который обслуживается внутренним (своим) почтовым сервером.
Например: Имя/хост/псевдоним – example.ru; Тип записи -MX (почтовый сервер); Значение/ответ/назначение/Адрес – mail. Этой записью вы создаете почтовый поддомен mail.example.ru. Если используется внутренний почтовый сервис сервера, то для поддомена mail.example.ru нужно создать тип записи «А». Имя:mail- A (тип записи)- Адрес: IP сервера.
В качестве почтового сервиса можно использовать сторонние почтовые сервера. Для этого вам нужно привязать свой домен к стороннему почтовому серверу. На нем вам создадут, автоматом, MX запись. Если не создадут, то дадут адрес почтового сервера. После этого вам нужно создать записи типа CNAME и MX на своем сервере.
Записью CNAME переадресуйте почтовый домен mail.example.ru. на адрес почтового домена. А записью типа MX для самого домена example.ru. задайте адрес вашего стороненого почтового ящика. В качестве примера можно использовать почтовый сервер Яндекс.
- Для Яндекс тип записи MX будет такой:
Имя/хост/псевдоним – example.ru; Тип записи -MX (почтовый сервер); Значение/ответ/назначение/Адрес – mx.yandex.ru. Приоритет 10.
- Тип CNAME такой:
Имя/хост/псевдоним – mail; Тип записи –CNAME; Значение/ответ/назначение/Адрес –domain.mail.yandex.ru. Приоритет 10.
На почтовом сервере Яндекс, можно без делегирования домена, подключить его только к почтовому серверу Яндекс, создав там, почтовый ящик.
Кроме Яндекс, с помощью MX записей можно привязать домен к почтовым серверам Google, Mail.ru и другим:
Тип записи NS
Тип записи NS (сервер имён). Это, пожалуй, самый важный тип записи. Он определяет домены (адреса) DNS серверов, обслуживающих этот домен.
Тип записи TXT
TXT (текстовая запись). Это информационная запись. Она не несет функциональной нагрузки.
Запись типа SOA (Start Of Authority)
Запись типа SOA показывает, где храниться на каком сервере лежит основная информация об этом домене. В записи типа SOA указывается полное, уточненное доменное имя зоны. Уточненное доменное имя должно оканчиваться точкой. В записи SOA может стоять символ @, вместо уточненного имени. В этом случае, доменное имя будет взято из файла конфигурации.
Далее в записи SOA указываются:
- Произвольный серийный номер версии данных (Serial). При запросе вторичного сервера на обновление данных, он, прежде всего, проверяет серийный номер;
- Периодичность запроса для обновления данных со стороны вторичного (Secondary) сервера (Refresh), в секундах;
- Период повторного запроса вторичного сервера при первичной неудаче (Retry);
- Срок действия (годности) данных (Expire), иначе истечение времени, через которое вторичный сервер перестанет обслуживать запросы, если ему не получиться восстановить связь с первичным сервером, в секундах;
- И последнее, время жизни данных зоны DNS в кэше сервера (TTL), запросившего их, в секундах.
Приведу пример записи SOA, для Microsoft DNS
Как редактировать DNS записи в панели ISPManager
В панели ISPManager DNS записи редактируются на вкладке: Доменные имена→ «Клик» по домену.
Как редактировать DNS записи в панели DirectAdmin
В панели DirectAdmin DNS записи редактируются на вкладке: Управление DNS.
©www.wordpress-abc.ru
Другие статьи раздела: Хостинг для WordPress
Похожие посты:
How to pronounce dns?
How to say dns in sign language?
Words popularity by usage frequency
ranking | word | |
---|---|---|
#2958 | dna | |
#6661 | dns | |
#11882 | dn | |
#19672 | dsa | |
#95691 | dne |
Translation
Find a translation for the dns synonym in other languages:
Select another language:
- — Select —
- 简体中文 (Chinese — Simplified)
- 繁體中文 (Chinese — Traditional)
- Español (Spanish)
- Esperanto (Esperanto)
- 日本語 (Japanese)
- Português (Portuguese)
- Deutsch (German)
- العربية (Arabic)
- Français (French)
- Русский (Russian)
- ಕನ್ನಡ (Kannada)
- 한국어 (Korean)
- עברית (Hebrew)
- Gaeilge (Irish)
- Українська (Ukrainian)
- اردو (Urdu)
- Magyar (Hungarian)
- मानक हिन्दी (Hindi)
- Indonesia (Indonesian)
- Italiano (Italian)
- தமிழ் (Tamil)
- Türkçe (Turkish)
- తెలుగు (Telugu)
- ภาษาไทย (Thai)
- Tiếng Việt (Vietnamese)
- Čeština (Czech)
- Polski (Polish)
- Bahasa Indonesia (Indonesian)
- Românește (Romanian)
- Nederlands (Dutch)
- Ελληνικά (Greek)
- Latinum (Latin)
- Svenska (Swedish)
- Dansk (Danish)
- Suomi (Finnish)
- فارسی (Persian)
- ייִדיש (Yiddish)
- հայերեն (Armenian)
- Norsk (Norwegian)
- English (English)
Citation
Use the citation below to add these synonyms to your bibliography:
Are we missing a good synonym for dns?
Browse Synonyms.com
Quiz
Are you a human thesaurus?
»
Which of the following words is not a synonym of the others?
-
A. chirpy
-
B. heavy
-
C. floaty
-
D. perky
Nearby & related entries:
- Dnipropetrovsk
- dniu
- dnk
- dnp
- dnr
- dnt
- Dntel
- do
- do a job on
- do a slow burn
Alternative searches for dns:
- Search for Definitions for dns
- Search for Antonyms for dns
- Search for Anagrams for dns
- Quotes containing the term dns
- Search for Phrases containing the term dns
- Search for Poems containing the term dns
- Search for Scripts containing the term dns
- Search for Abbreviations containing the term dns
- What rhymes with dns?
- Search for Song lyrics that mention dns
- Search for dns on Amazon
- Search for dns on Google
-
Определения слова dns
- ДНК
Синонимы к слову dns
-
- dna
Посмотрите другие слова
-
- Что такое compte-gouttes
- Определение термина compte
- Толкование слова compression
- Что означает понятие distraction
- Лексическое значение compote
- Словарь значения слов distinction
- Грамматическое значение composition
- Значение слова distillation
- Прямое и переносное значение слова cerisier
- Происхождение слова empirisme
- Синоним к слову conclusion
- Антоним к слову docteur
- Омоним к слову employeur
- Гипоним к слову concubin
- Холоним к слову chainage
- Гипероним к слову documentation
- Пословицы и поговорки к слову dodo
- Перевод слова на другие языки concubine
- DNS
-
- служба имен доменов
- служба доменных имен
- система имен доменов
- система доменных имен
- система (сервер, служба) доменных имен
- сервер имен доменов
- сервер доменных имен
- отдел ядерной безопасности
- доменная система именования
доменная система именования
служба имен доменов
—
[Л.Г.Суменко. Англо-русский словарь по информационным технологиям. М.: ГП ЦНИИС, 2003.]Тематики
- информационные технологии в целом
Синонимы
- служба имен доменов
EN
- domain name system
- DNS
отдел ядерной безопасности
—
[А.С.Гольдберг. Англо-русский энергетический словарь. 2006 г.]Тематики
- энергетика в целом
EN
- department of nuclear safety
- DNS
сервер доменных имен
сервер имен доменов
Сервер, осуществляющий преобразование имен доменов в IP-адрес.
[http://www.morepc.ru/dict/]
Тематики
- информационные технологии в целом
Синонимы
- сервер имен доменов
EN
- DNS
- Domain Name Server
система (сервер, служба) доменных имен
Вспомогательный протокол сеансового уровня (L5) для поиска в иерархической системе доменных имён. Чаще всего используется для разрешения доменного имени в сетевой адрес: например, по имени www.microsoft.com можно найти IP-адрес 207.46.198.60 и ещё семь запасных. Помимо соответствия имени и адреса, база данных DNS может хранить псевдонимы, информацию об именах серверов для тех или иных служб, о географических координатах узлов сети и их программно-аппаратном обеспечении, произвольную текстовую информацию.
[http://www.morepc.ru/dict/]служба доменных имен
Служба DNS предназначена для обнаружения и перевода имен интернет-доменов в IP-адреса. Доменное имя — это значимое и легко запоминаемое имя интернет-адреса. Например, доменное имя www.example.com запоминается проще, чем 192.0.34.166. Таблицы перевода доменных имен содержатся на серверах доменных имен (DNS).
[http://www.alltso.ru/publ/glossarij_setevoe_videonabljudenie_terminy/1-1-0-34]Тематики
- информационные технологии в целом
Синонимы
- служба DNS
EN
- DNS
- Domain Name System
система доменных имен
Текстовая система адресации в Интернете, сопоставляющая имя домена и числовой IP-адрес.
[http://www.lexikon.ru/rekl/a_eng.html]Тематики
- реклама
EN
- DNS
- Domain Name System
система имен доменов
служба доменных имен
Распределенный механизм имен/адресов, используемых в сети Internet. Используется для преобразования логических имен в IP-адреса. DNS используется в сети Internet, обеспечивая возможность работы с понятными и легко запоминающимися именами вместо неудобоваримых чисел IP-адреса.
[http://www.lexikon.ru/dict/net/index.html]Тематики
- сети вычислительные
Синонимы
- служба доменных имен
EN
- DNS
- domain name service
- domain name system
служба доменных имен
Осуществляет преобразование символьного доменного имени в числовой IP-адрес. Построена на принципе распределенного администрирования (делегирования полномочий), когда каждый компьютер или сам “знает” ответ на вопрос, или “знает”, в каком направлении передать данный запрос. Система замкнута и если запрошенная информация имеется на каком-либо компьютере, она будет найдена и передана клиенту. В случае, если вопрос не имеет ответа, клиент получает сообщение о невозможности получения ответа на вопрос.
[http://www.lexikon.ru/rekl/a_eng.html]Тематики
- реклама
EN
- DNS
- Domain Name Service
служба имен доменов
служба доменных имен
Служба Интернет, представляющая собой распределенную базу данных для иерархической системы имен сетей и компьютеров, подключенных к сети. Способ преобразования строчных адресов серверов Интернета в числовые IP-адреса.
[аутсорсингаhttp://www.outsourcing.ru/content/glossary/A/page-1.asp]Тематики
- информационные технологии в целом
Синонимы
- служба доменных имен
EN
- DNS
- domain name system
Англо-русский словарь нормативно-технической терминологии.
.
2015.
Полезное
Смотреть что такое «DNS» в других словарях:
-
DNS — DNS … Deutsch Wörterbuch
-
DNS — ist eine Abkürzung für: Desoxyribonukleinsäure, enthält die genetische Information, das „Erbgut“ von Zellen Domain Name System, ein weltweiter Verzeichnisdienst, der den Namensraum des Internets verwaltet Direkte Numerische Simulation, ein… … Deutsch Wikipedia
-
Dns — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. {{{image}}} Sigles d une seule lettre Sigles de deux lettres > Sigles de trois lettres … Wikipédia en Français
-
DNS — abbrv. Domain Name System. The Essential Law Dictionary. Sphinx Publishing, An imprint of Sourcebooks, Inc. Amy Hackney Blackwell. 2008. DNS … Law dictionary
-
DNS — may refer to: Contents 1 Military 2 Science 2.1 Chemistry 2.2 Medicine 3 Technologies … Wikipedia
-
DNS — [de|ɛn |ɛs] die; ; nur Sg, Biol, Chem; (Abk für Desoxyribonukleinsäure) eine Substanz (in Form von langen Ketten), aus der die Chromosomen bestehen und die die genetische Information enthält || K : DNS Strang … Langenscheidt Großwörterbuch Deutsch als Fremdsprache
-
DNS — † Catholic Encyclopedia ► Ecclesiastical Abbreviations ► Abbreviation in general use, chiefly Ecclesiastical Dominus ( Lord ) The Catholic Encyclopedia, Volume VIII. New York: Robert Appleton Company. Nihil Obstat. 1910 … Catholic encyclopedia
-
DNS — 〈Abk. für〉 Desoxyribonucleinsäure … Lexikalische Deutsches Wörterbuch
-
DNS — DNS: Abk. für ↑Desoxyribonukleinsäure … Das Wörterbuch medizinischer Fachausdrücke
-
DNS — [de|ɛn |ɛs]: Abk. für ↑Desoxyribonukleinsäure … Das große Fremdwörterbuch
-
DNS — (Domain Name System система доменных имён) Компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации… … Словарь бизнес-терминов
Educalingo использует cookies для персонализации рекламы и получения статистики по использованию веб-трафика. Мы также передаем информацию об использовании сайта в нашу социальную сеть, партнерам по рекламе и аналитике.
ПРОИЗНОШЕНИЕ СЛОВА DNS
ЧТО ОЗНАЧАЕТ СЛОВО DNS
Нажмите, чтобы посмотреть исходное определение слова «DNS» в словаре английский языка.
Нажмите, чтобы посмотреть автоматический перевод определения на русский языке.
система доменных имен
Domain Name System
Система доменных имен — это иерархическая распределенная система именования для компьютеров, служб или любого ресурса, подключенного к Интернету или частной сети. Он связывает информацию из доменных имен с каждым из назначенных объектов. Наиболее заметно, что он переводит легко запоминаемые имена доменов на числовые IP-адреса, необходимые для поиска компьютерных служб и устройств по всему миру. Система доменных имен является важным компонентом функциональности Интернета. В этой статье представлено функциональное описание системы доменных имен. Более широкое использование и отраслевые аспекты фиксируются на странице имени домена. Часто используемая аналогия для объяснения Системы доменных имен заключается в том, что она служит в качестве телефонной книги для Интернета путем перевода дружественных человеческим компьютерам имен компьютеров в IP-адреса. Например, доменное имя www.example.com переводит на адреса 93.184.216.119 и 2606: 2800: 220: 6d: 26bf: 1447: 1097: aa7. В отличие от телефонной книги, DNS можно быстро обновить, позволяя изменять местоположение службы в сети, не затрагивая конечных пользователей, которые продолжают использовать одно и то же имя хоста. The Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates information from domain names with each of the assigned entities. Most prominently, it translates easily memorized domain names to the numerical IP addresses needed for locating computer services and devices worldwide. The Domain Name System is an essential component of the functionality of the Internet. This article presents a functional description of the Domain Name System. Broader usage and industry aspects are captured on the Domain name page. An often-used analogy to explain the Domain Name System is that it serves as the phone book for the Internet by translating human-friendly computer hostnames into IP addresses. For example, the domain name www.example.com translates to the addresses 93.184.216.119 and 2606:2800:220:6d:26bf:1447:1097:aa7. Unlike a phone book, the DNS can be quickly updated, allowing a service’s location on the network to change without affecting the end users, who continue to use the same host name.
Значение слова DNS в словаре английский языка
Определение DNS в словаре — это Отдел национальных сбережений. Другим определением DNS является система доменных имен.
The definition of DNS in the dictionary is Department for National Savings. Other definition of DNS is domain name system.
Нажмите, чтобы посмотреть исходное определение слова «DNS» в словаре английский языка.
Нажмите, чтобы посмотреть автоматический перевод определения на русский языке.
Синонимы и антонимы слова DNS в словаре английский языка
Перевод слова «DNS» на 25 языков
ПЕРЕВОД СЛОВА DNS
Посмотрите перевод слова DNS на 25 языков с помощью нашего многоязыкового переводчика c английский языка.
Переводы слова DNS с английский языка на другие языки, представленные в этом разделе, были выполнены с помощью автоматического перевода, в котором главным элементом перевода является слово «DNS» на английский языке.
Переводчик с английский языка на китайский язык
域名
1,325 миллионов дикторов
Переводчик с английский языка на испанский язык
DNS
570 миллионов дикторов
английский
DNS
510 миллионов дикторов
Переводчик с английский языка на хинди язык
डीएनएस
380 миллионов дикторов
Переводчик с английский языка на арабский язык
DNS
280 миллионов дикторов
Переводчик с английский языка на русский язык
DNS
278 миллионов дикторов
Переводчик с английский языка на португальский язык
DNS
270 миллионов дикторов
Переводчик с английский языка на бенгальский язык
ডিএনএস
260 миллионов дикторов
Переводчик с английский языка на французский язык
DNS
220 миллионов дикторов
Переводчик с английский языка на малайский язык
DNS
190 миллионов дикторов
Переводчик с английский языка на немецкий язык
DNS
180 миллионов дикторов
Переводчик с английский языка на японский язык
DNS
130 миллионов дикторов
Переводчик с английский языка на корейский язык
DNS
85 миллионов дикторов
Переводчик с английский языка на яванский язык
DNS
85 миллионов дикторов
Переводчик с английский языка на вьетнамский язык
DNS
80 миллионов дикторов
Переводчик с английский языка на тамильский язык
டிஎன்எஸ்
75 миллионов дикторов
Переводчик с английский языка на маратхи язык
DNS
75 миллионов дикторов
Переводчик с английский языка на турецкий язык
DNS
70 миллионов дикторов
Переводчик с английский языка на итальянский язык
DNS
65 миллионов дикторов
Переводчик с английский языка на польский язык
DNS
50 миллионов дикторов
Переводчик с английский языка на украинский язык
DNS
40 миллионов дикторов
Переводчик с английский языка на румынский язык
DNS
30 миллионов дикторов
Переводчик с английский языка на греческий язык
DNS
15 миллионов дикторов
Переводчик с английский языка на африкаанс язык
DNS
14 миллионов дикторов
Переводчик с английский языка на шведский язык
DNS
10 миллионов дикторов
Переводчик с английский языка на норвежский язык
DNS
5 миллионов дикторов
Тенденции использования слова DNS
ТЕНДЕНЦИИ ИСПОЛЬЗОВАНИЯ ТЕРМИНА «DNS»
ЧАСТОТНОСТЬ
Слово используется очень часто
На показанной выше карте показана частотность использования термина «DNS» в разных странах.
Тенденции основных поисковых запросов и примеры использования слова DNS
Список основных поисковых запросов, которые пользователи ввели для доступа к нашему онлайн-словарю английский языка и наиболее часто используемые выражения со словом «DNS».
ЧАСТОТА ИСПОЛЬЗОВАНИЯ ТЕРМИНА «DNS» С ТЕЧЕНИЕМ ВРЕМЕНИ
На графике показано годовое изменение частотности использования слова «DNS» за последние 500 лет. Формирование графика основано на анализе того, насколько часто термин «DNS» появляется в оцифрованных печатных источниках на английский языке, начиная с 1500 года до настоящего времени.
Примеры использования в литературе на английский языке, цитаты и новости о слове DNS
ЦИТАТЫ СО СЛОВОМ «DNS»
Известные цитаты и высказывания со словом DNS.
Google has helped raise the importance of DNS above the network engineering community, which has been really good.
With DNS, it’s possible to control key components of Internet navigation. Google already controls search, they are quickly gaining market share to control the browser, and when you put in DNS, it becomes the trifecta of complete navigational control.
КНИГИ НА АНГЛИЙСКИЙ ЯЗЫКЕ, ИМЕЮЩЕЕ ОТНОШЕНИЕ К СЛОВУ «DNS»
Поиск случаев использования слова DNS в следующих библиографических источниках. Книги, относящиеся к слову DNS, и краткие выдержки из этих книг для получения представления о контексте использования этого слова в литературе на английский языке.
This book brings you up-to-date with the latest changes in this crucial service. The fifth edition covers BIND 9.3.2, the most recent release of the BIND 9 series, as well as BIND 8.4.7.
Cricket Liu, Paul Albitz, 2006
This book unravels the mysteries of DNS, offering insight into origins, evolution, and key concepts like domain names and zone files.
This book also features methods for troubleshooting problems with IPv6 forward- and reverse-mapping, and techniques for helping islands of IPv6 clients communicate with IPv4 resources.
This handy guide walks you through installing, configuring, and troubleshooting DNS on either a Windows- or Unix-based system. Whether you’re just curious or you plan to build your own DNS server, you’ll find the answers here.
Blair Rampling, David Dalan, 2003
5
DNS on Windows Server 2003
If you’re a Windows user who simply wants to take the mystery out of the Internet, this book is a readable introduction to the Internet’s architecture and inner workings.
Cricket Liu, Matt Larson, Robbie Allen, 2003
With the wide range of recipes in this book, you’ll be able to Check whether a name is registered Register your domain name and name servers Create zone files for your domains Protect your name server from abuse Set up back-up mail servers …
7
Microsoft Windows 2000 DNS: Implementation and Administration
This book will focus on integration and less about Microsoft positioning (i.e. the shortcomings of different DNS models and how Microsoft tries to be «cutting edge».) Kevin Kocis, MCSE has been working in the Information Technology field …
8
Linux DNS server administration
Geared especially toward professional Linux administrators, this book—part of an eight-book set from the Craig Hunt Linux Library—provides advanced treatment of Domain Name Service (DNS), a server that translates Internet protocol …
9
Numerical Techniques for Direct and Large-Eddy Simulations
Helping readers understand the vast amount of literature in the field, this book explains how to apply relevant numerical techniques for practical computational fluid dynamics simulations and implement these methods in fluid dynamics …
Xi Jiang, Choi-Hong Lai, 2009
10
Windows Server 2008: The Definitive Guide
Up to this point, I’ve treated the Windows Server 2008 DNS service as a
traditional nameserver, mostly compliant with the relevant RFCs, which can act in
both primary and secondary “modes” for a zone. However, Windows Server 2008
offers …
НОВОСТИ, В КОТОРЫХ ВСТРЕЧАЕТСЯ ТЕРМИН «DNS»
Здесь показано, как национальная и международная пресса использует термин DNS в контексте приведенных ниже новостных статей.
Facebook casts a hex with self-referential IPv6
A quick DNS lookup of facebook.com confirms this: the domain resolves to 2a03:2880:2130:cf05:face:b00c::1. Faceb00c. Get it? At The Reg’s … «The Register, Июл 15»
Dot-com da-bomb Verisign fires off a Cloudflare rival
Operator of the dot-com registry Verisign has launched a rival to popular website protector Cloudflare, called DNS Firewall. Announcing the … «The Register, Июл 15»
DNS Made Easy Announces Initiative to Urge Users to Utilize …
DNS Made Easy explains why Secondary DNS has elevated from a commodity to an absolute necessity in light of recent DNS outages among … «Benzinga, Июл 15»
Verisign introduces new cloud-based DNS firewall
With a new DNS firewall solution, Verisign makes use of its in-depth information on top-level domains to protect the enterprise from online … «Network World, Июл 15»
Heiko Hammel capitalises on Lestrup’s DNS in Lausitz
Heikko Hammel closes the points gap in the ADAC Procar Series Division 1 class to just 12 points after Fredrik Lestrup’s race winning streak in … «TouringCarTimes, Июл 15»
Study discovers security vulnerabilities in 14 popular VPN services
Out of the 14 VPN services covered by the study, 10 were vulnerable to IPv6 leaks and only one was safe from DNS hijacking. None of the VPN … «TechSpot, Июл 15»
Private I: Hijacked DNS puts iOS virtual private networks at slight risk
The first relates to IPv6 networking, which doesn’t seem to affect iOS and can be worked around in OS X. The second involves DNS (domain … «Macworld, Июл 15»
Cisco-OpenDNS Deal Shows Importance of DNS in Security, Dyn …
The deal highlights the importance of the DNS layer, Hitchcock says. Standing for domain name system, DNS translates the URLs we see into … «Xconomy, Июл 15»
Secure the DNS to Secure the Business
Securing DNS is crucial to mitigating APTs. Businesses that don’t are neglecting their best defense says Chris Marrison. From banks to … «Infosecurity Magazine, Июл 15»
VPN Providers Respond To Allegations of Data Leakage
“Current topology allows us to have the same IP address for VPN DNS server and VPN gateway, solving the vulnerability at its roots, months … «TorrentFreak, Июл 15»
ССЫЛКИ
« EDUCALINGO. Dns [онлайн]. Доступно на <https://educalingo.com/ru/dic-en/dns>. Май 2023 ».
2004 г Система доменных имен
Материалы книги П.Б. Храмцова Запись назначения синонима каноническому имени «Canonical Name». Особенности использования синонимов при работе с NS и MX записями.Здесь рассматриваются особенности применения синонимов доменных имен, которые задаются записью описания ресурсов CNAME. Разбираются основные ошибки при комбинировании записи определения синонимов с записями MX и NS. Обсуждение записей описания ресурсов очень похоже на движение по ленте Мебиуса. В принципе, можно начинать с любого места (с любой записи), к которому все равно вернешься. Запись CNAME больше всего подходит для точки начала и окончания, т.к. больше всего ошибок при настройке описания зон связано с применением этой записи в сочетании с другими записями описания зоны. Запись CNAME определяет синонимы для реального (канонического) доменного имени машины, которое определено в записи типа A. Имя в записи типа A называют каноническим именем машины. Формат записи CNAME можно определить следующим образом: [nickname] [ttl] IN CNAME [host] Поле nickname определяет синоним для канонического имени, которое задается в поле host. Запись CNAME чаще всего используется для определения имен информационных сервисов Internet, которые установлены на хосте. Так следующий пример определяет синонимы, для компьютера, на котором установлены серверы протоколов http и gopher: $ORIGIN polyn.kiae.su. olga IN A 144.206.192.2 www IN CNAME olga.polyn.kiae.su. gopher IN CNAME olga.polyn.kiae.su. Директива управления $ORIGIN введена здесь только для определения текущего имени зоны. Две записи типа CNAME позволяют организовать доступ к серверам, используя имена, характерные для соответствующих Интернет-сервисов. Именно такие синонимы и используются в описаниях зон при обращении к таким системам как Yahoo(www.yahoo.com) или Altavista (www.altavista.digital.com). Ниже приведен пример обращения к www.netscape.com: > www.netscape.com Server: IRIS.polyn.kiae.su Address: 144.206.192.10 ;; res_nmkquery(QUERY, www.netscape.com, IN, A) ------------ Got answer: HEADER: opcode = QUERY, id = 12635, rcode = NOERROR header flags: response, auth. answer, want recursion, recursion avail. questions = 1, answers = 5, authority records = 3, additional = 3 QUESTIONS: www.netscape.com, type = A, class = IN ANSWERS: -> www.netscape.com canonical name = netscape.com ttl = 900 (15M) -> netscape.com internet address = 64.12.180.19 ttl = 900 (15M) -> netscape.com internet address = 64.12.180.22 ttl = 900 (15M) -> netscape.com internet address = 64.12.151.211 ttl = 900 (15M) -> netscape.com internet address = 64.12.151.215 ttl = 900 (15M) AUTHORITY RECORDS: -> netscape.com nameserver = ns.netscape.com ttl = 86400 (1D) -> netscape.com nameserver = ns1.netscape.com ttl = 86400 (1D) -> netscape.com nameserver = ns2.netscape.com ttl = 86400 (1D) ADDITIONAL RECORDS: -> ns.netscape.com internet address = 198.95.251.10 ttl = 3600 (1H) -> ns1.netscape.com internet address = 149.174.213.7 ttl = 3600 (1H) -> ns2.netscape.com internet address = 207.200.73.80 ttl = 3600 (1H) ------------ Name: netscape.com Addresses: 64.12.180.19, 64.12.180.22, 64.12.151.211, 64.12.151.215 Aliases: www.netscape.com > Из отчета nslookup видно, что www.netscape.com является синонимом netscape.com, которая, в свою очередь, имеет несколько адресных записей. В авторитативной секции отклика указаны доменные имена серверов зоны netscape.com, а в дополнительной секции их IP-адреса. Правда, при обращении к серверу протокола http, который является базовым для системы World Wide Web, изменение имени машины, с которой осуществляют обслуживание, может быть вызвано многими причинами: перенаправлением запроса на другой сервер, использование виртуального сервера и т.п. При использовании записей типа CNAME следует проявлять осторожность. Некоторые администраторы рекомендуют вообще от нее отказаться и если нужно еще одно имя, то лучше указать еще одну A-запись для того же самого IP-адреса. На самом деле, применение записей CNAME строго регламентировано в RFC 1034 и RFC 1912. Смысл применения CNAME — назначение синонима для канонического имени. Описание ресурсов для канонического имени и для синонима должны совпадать. По этой причине для имени, определенного как синоним не должно быть никаких других записей описания ресурсов (На самом деле существуют отдельные исключения, связанные с поддержкой безопасности DNS). Более того, имя синоним никогда не должно появляться в правой части записей описания ресурсов. Нужно также понимать, что синоним должен быть определен только один раз. Последнее требование соблюдается далеко не всеми реализациями серверов доменных имен. Администратору зоны следует понимать, как DNS работает с CNAME записями описания зоны. Поиск CNAME осуществляется только в том случае, если запросы другого типа, скажем поиск адресной записи, не дали положительного отклика. Т.е. сервер получает запрос к своей зоне на адресную запись; он не находит такой записи, но в описании зоны есть CNAME запись, которая соответствует запрашиваемому доменному имени; сервер на запрос возвращает эту запись и адресную запись, если последняя находится в описании этой же зоны. Если же CNAME ссылается на каноническое имя из другой зоны, то в отклике будет только CNAME. Вот часть отчета nslookup, где указан запрос и ответ на него без секции данных секции авторитативности отклика сервера и дополнительной секции: ------------ Got answer: HEADER: opcode = QUERY, id = 51763, rcode = NOERROR header flags: response, auth. answer, want recursion, recursion avail. questions = 1, answers = 2, authority records = 2, additional = 2 QUESTIONS: user.webstatistics.ru, type = A, class = IN ANSWERS: -> user.webstatistics.ru canonical name = host.webstatistics.ru ttl = 3 (3S) -> host.webstatistics.ru internet address = 144.206.192.63 ttl = 3 (3S) Из этого отчета следует, что мы искали адресную запись для user.webstatistics.ru, но ее в описании зоны нет, поэтому сервер нашел CNAME и адрес для канонического имени синонима. При этом в RFC 1034 есть строгое указание, что если CNAME будет указывать не на каноническое имя, а опять на синоним, в этом случае сервер должен вернуть негативный отклик, а не CNAME. При появлении такой цепочки в одной зоне определить цепочку можно, но при наличии CNAME цепочки через границы зон выявить ее практически невозможно. Последнее проверить очень трудно, т.к. клиент при поиске в поле типа записи запроса укажет тип A (адресная запись). Новый сервер не будет знать о результатах предыдущего поиска и снова будет при отрицательном результате искать CNAME. Вот пример из той же зоны, что и раньше, но мы в зоне реализовали цепочку CNAME: ;; res_nmkquery(QUERY, user1.webstatistics.ru, IN, A) ------------ Got answer: HEADER: opcode = QUERY, id = 47112, rcode = NOERROR header flags: response, auth. answer, want recursion, recursion avail. questions = 1, answers = 3, authority records = 2, additional = 2 QUESTIONS: user1.webstatistics.ru, type = A, class = IN ANSWERS: -> user1.webstatistics.ru canonical name = user.webstatistics.ru ttl = 3 (3S) -> user.webstatistics.ru canonical name = host.webstatistics.ru ttl = 3 (3S) -> host.webstatistics.ru internet address = 144.206.192.63 ttl = 3 (3S) AUTHORITY RECORDS: -> webstatistics.ru nameserver = ns.webstatistics.ru ttl = 3600 (1H) -> webstatistics.ru nameserver = ns4.nic.ru ttl = 3600 (1H) ADDITIONAL RECORDS: -> ns.webstatistics.ru internet address = 144.206.192.60 ttl = 3600 (1H) -> ns4.nic.ru internet address = 194.226.96.8 ttl = 19465 (5h24m25s) ------------ Name: host.webstatistics.ru Address: 144.206.192.63 Aliases: user1.webstatistics.ru, user.webstatistics.ru Сервер (BIND версии 9) вернул нам правильный IP-адрес, перебрав цепочку CNAME. На самом деле многие «глупые»(stub) клиенты не умеют работать с цепочками CNAME, и по это причине информационный ресурс, к которому обращаются по имени-синониму, будет не доступен. Таким образом, не смотря на то, что в спецификации цепочки синонимов запрещены явным образом, в реальной жизни они могут появляться и появляются. Наш пример показывает цепочку в одной зоне, но гораздо хуже межзонные цепочки. Межзонная цепочка CNAME плоха тем, что не отслеживает исчезновение адресной записи в другой зоне, за которую сервер, содержащий в своей зоне CNAME, не отвечает. Как итог — появление «подвешенных» CNAME записей. Теперь вернемся к вопросу о том, что для доменного имени, которое является синонимом, может существовать только одна запись описания ресурса и эта запись — CNAME. Что происходит, когда это правило нарушается? Первая распространенная ошибка, на которую указывают и все RFC и FAQ — использование CNAME в совокупности с NS записями. Рассмотрим пример (RFC 1912): podunk.xx. IN NS ns1 IN NS ns2 IN CNAME mary mary IN A 1.2.3.4 В данном случае для домена Podunk.xx. определено два сервера доменных имен ns1 и ns2, но одновременно указано, что Podunk.xx. — это синоним для канонического имени mary. Mary, ns1 и ns2 — это не полные имена. В нашем случае данное обстоятельство значения не имеет. BIND, встретив CNAME, обе записи NS проигнорирует, т.к. будет следовать соответствующим стандартам и рекомендациям. На самом деле, можно усмотреть противоречие между тем, что было описано в алгоритме обработки CNAME записей и тем, что описано абзацем выше. Ведь при поиске NS мы найдем NS записи, и, следовательно, нам не будет выдана CNAME запись. Все правильно, если NS записи будут загружены в память сервером доменных имен при его запуске. Но сервер проверяет при своем запуске корректность описания зоны. Он просто проигнорирует все записи, отличные от CNAME, которые содержат синоним в первом поле записи описания ресурсов. Вот пример сообщения сервера для этого случая (BIND 9): Oct 14 12:55:51 generate named[136]: dns_master_load: webstatistics.ru:21: zone. webstatistics.ru: CNAME and other data Oct 14 12:55:51 generate named[136]: zone webstatistics.ru/IN: loading master fi le webstatistics.ru: CNAME and other data А вот фрагмент описания зоны, на которую он ругается: zone IN NS ns.wenstatistics.ru. IN CNAME subzone subzone IN A 144.206.192.61 BIND 9, найдя такую ошибку, в зоне вообще обслуживать ее не будет. Точнее говоря, если он ее уже обслуживает, то при перезагрузке (restart) он старое описание на новое в своих кэшах не заменить, а при начальном запуске его не загрузит. На самом деле ситуация «CNAME на NS» часто встречается в том случае, когда хотят определить IP адрес для доменного имени зоны. Если быть более точным, то администратор хочет некоторому хосту в зоне присвоить то же имя, что и всему домену. Например, это нужно для обеспечения доступа к веб-серверу по именам www.kyky.ru и kyky.ru. В этом случае описание вида: $TTL 3600 @ IN SOA ns.kyky.ru hostmaster.kyky.ru ( 20021013 3h 30m 30d 3600 ) IN NS ns.kyky.ru. IN NS ns.provider.ru. IN CNAME server.kyky.ru. server IN A 192.168.0.1 www IN CNAME server.kyky.ru. ns IN CNAME server.kyky.ru. будет ошибочным. Мы потеряем не только NS записи зоны kyky.ru, но и вообще все записи этой зоны. Правильным был бы следующий вариант: $TTL 3600 @ IN SOA ns.kyky.ru hostmaster.kyky.ru ( 20021013 3h 30m 30d 3600 ) IN NS ns.kyky.ru. IN NS ns.provider.ru. IN A 192.168.0.1 server IN A 192.168.0.1 ns IN A 192.168.0.1 www IN CNAME kyky.ru. В принципе, вместо «kyky.ru.» в CNAME можно было бы указать и символ @. Раз уж мы заговорили о символе «@», то следует заметить, что этот символ в поле nickname применяться не должен, т.к., фактически, тем самым утверждается, что текущее имя зоны — это синоним другого имени, и, следовательно, описание этой зоны следует проигнорировать. Скорее всего, идея об использовании символа «@» в CNAME возникла при желании назначить имя зоны конкретному хосту, который имеет IP-адрес. Движение мысли в этом случае понятно: хост — это синоним зоны, поэтому мы и назначаем зоне IP-адрес через имя хоста. Если вдуматься, то такая логика неверна. Хост и домен — это совершенно разные понятия. Если вы хотите хосту, а точнее IP-адресу поставить в соответствие еще одно имя, то делать это следует посредством адресной записи, как в приведенном выше примере. При этом совершенно не имеет значения тот факт, что назначаемое имя — это имя зоны. На самом деле, при исправлении описания зоны мы поправили еще одну запись. В первоначальном варианте имя ns.kyky.ru является синонимом для server.kyky.ru. Таким образом, в первоначальном варианте существовала недопустимая цепочка в рамках описания зоны, которую сервер может сам обнаружить. В новом варианте мы запись CNAME заменили на адресную запись. Вообще говоря, немотивированные запреты всегда провоцируют на попытки попробовать программное обеспечение на соответствие этим запретам. Ведь, в конечном счете, для нашей зоны в рамках описания зоны существует адресная запись, и сервер может ее успешно найти по цепочке CNAME (см. пример в начале этого материала). Косвенно понятно, почему введен запрет. В конце концов, число серверов корневой зоны ограничено числом 13 по одной простой причине — размеру пакета UDP. На самом деле цепочки без конца и края также упрутся в то же ограничение, ведь в пакете нужно передавать и CNAME-ы и IP-адрес. Если изменять логику обработки запросов и заставлять клиента итеративно обращаться к серверу по CNAME цепочке, то где предел такого цикла обращений. На самом деле есть еще одна причина запрета на использование CNAME для NS и MX, но прежде, чем ее назвать и обсудить, мы рассмотрим проблемы, связанные с совместным использованием MX и CNAME. Трудность поиска ошибок этого сорта в том, что приходится работать с двумя информационными сервисами одновременно. Ошибки описания зоны проявляются не при поиске IP-адресов или доменных имен, а при доставке электронной почты. Ошибки совместного применения CNAME и MX заключается в том, что в записи MX синоним используют как в первом поле MX, так и в последнем поле MX. Ни первое, ни второе делать не следует. Первый вариант: $ORIGIN kyky.ru @ IN A 192.168.0.2 kuku IN CNAME kyky.ru. IN MX 10 kyky.ru. В данном случае, мы хотим отправлять почту на kuku.kyky.ru через kyky.ru. Правило запрета существования других записей описания ресурса для синонима кроме единственной CNAME записи, которая этот синоним и вводит, заставляет сервер проигнорировать MX. Правильным бы было: $ORIGIN kyky.ru @ IN A 192.168.0.2 IN MX 10 kyky.ru. kuku IN CNAME kyky.ru. В данном случае, если почта отправляется на kuku.kyky.ru, то по CNAME сервер доменных имен возвращает kyky.ru адресную запись для kyky.ru. Почтовый клиент соединяется с этим IP-адресом и отправляет на него почту. Другое дело настройки почтового шлюза на kyky.ru. Если он не распознает имя kuku.kyky.ru как свое собственное, либо, если у него нет правил пересылки для kuku.kyky.ru, то возникнут проблемы с доставкой почты, но это уже не проблема DNS. Теперь другой вариант. Синоним используется в последнем поле записи MX: $ORIGIN kyky.ru @ IN A 192.168.0.2 IN MX 10 kuku.kyky.ru. kuku IN CNAME kyky.ru. Этот случай аналогичен случаю использования в качестве имени сервера в NS записи синонима, заданного через CNAME. По этой причине мы сейчас возобновим обсуждение проблемы, начатое в части, касающейся NS записей. В основе запрета на использование синонима в правой части записей MX и NS лежит процедура обработки запросов на MX и NS. Все дело в том, что в качестве ответа на запрос типа NS или MX сервер в основной секции данных отклика возвращает доменной имя сервера доменных имен, либо, если запрос на запись MX, доменное имя почтового шлюза, а в дополнительной секции отклика соответствующие адресные записи. CNAME запись никогда не может появиться в дополнительной секции отклика сервера доменных имен.
Следовательно, клиент, который попадает при поиске MX или NS на синоним Вот пример с записью NS: > set debug > set q=ns > webstatistics.ru. Server: [144.206.192.60] Address: 144.206.192.60 ;; res_nmkquery(QUERY, webstatistics.ru, IN, NS) ------------ Got answer: HEADER: opcode = QUERY, id = 41793, rcode = NOERROR header flags: response, auth. answer, want recursion, recursion avail. questions = 1, answers = 2, authority records = 0, additional = 1 QUESTIONS: webstatistics.ru, type = NS, class = IN ANSWERS: -> webstatistics.ru nameserver = ns.webstatistics.ru ttl = 3600 (1H) -> webstatistics.ru nameserver = ns4.nic.ru ttl = 3600 (1H) ADDITIONAL RECORDS: -> ns4.nic.ru internet address = 194.226.96.8 ttl = 86297 (23h58m17s) ------------ webstatistics.ru nameserver = ns.webstatistics.ru ttl = 3600 (1H) webstatistics.ru nameserver = ns4.nic.ru ttl = 3600 (1H) ns4.nic.ru internet address = 194.226.96.8 ttl = 86297 (23h58m17s) > Мы запрашиваем NS для зоны webstatistics.ru. В качестве ответа получаем доменные имена серверов доменных имен, но ns.webstatistics.ru — это синоним для webstatistics.ru, поэтому его адресной записи в дополнительной секции отклика сервера доменных имен нет. Ниже представлен пример описания этой зоны: $ORIGIN ru. webstatistics 3600 IN SOA ns.webstatistics.ru. hostmaster.webstatistics.ru. ( 1 3600 600 86400 3600 ) 3600 IN NS ns.webstatistics.ru. 3600 IN NS ns4.nic.ru. IN A 144.206.192.60 $ORIGIN webstatistics.ru. ns IN CNAME @ $ORIGIN nic.ru. ns4 IN A 194.226.96.8 Любопытно, что при запуске BIND 9-ой версии не сообщил о некорректном применении CNAME. Считается, что гораздо проще заставить администраторов соблюдать правила использования CNAME записей, чем пытаться исправить ошибки администратора за счет «умного» программного обеспечения. На самом деле ошибка может проистекать из-за обычной невнимательности администратора. Приведем пример правильного и неправильного использования записи CNAME: $ORIGIN polyn.net.kiae.su. В данном случае записи типа CNAME указаны правильно, т.к. не мешают переадресации почты на машину olga.polyn.kiae.su. Но если их поменять местами с записями типа MX, то скорее всего почта работать не будет: $ORIGIN polyn.net.kiae.su. olga IN A 144.206.192.2 www IN CNAME olga.polyn.kiae.su. gopher IN CNAME olga.polyn.kiae.su. IN MX 0 olga IN MX 10 ns.polyn.kiae.su. В данном случае можно предположить, что при редактировании зоны администратор просто неаккуратно скопировал блоки записей. Результат — неправильное применение CNAME. Теперь от грустного — ошибок, перейдем к особенностям применения CNAME. Случай, когда CNAME используется для простого определения синонимов, мы уже рассматривали. Теперь коснемся такого приема, как Round Robin алгоритм. Обычно циклическую перестановку адресов рассматривают в контексте адресных записей и позиционируют как один из способов распределения нагрузки. На самом деле BIND можно настроить таким образом, что он позволит «тасовать» не только адресные записи. В частности это разрешено будет делать и для CNAME записей. При этом следует помнить, что строго говоря такое применение CNAME запрещено спецификациями. Вот пример множественных адресных записей: www.domain.ru. IN A 192.168.0.1 www.domain.ru. IN A 192.168.0.2 www.domain.ru. IN A 192.168.0.3 А вот его аналог для записей типа CNAME: Server1.domain.ru. IN A 192.168.0.1 Server1.domain.ru. IN A 192.168.0.2 Server1.domain.ru. IN A 192.168.0.1 www.domain.ru. IN CNAME server1.domain.ru. www.domain.ru. IN CNAME server2.domain.ru. www.domain.ru. IN CNAME server3.domain.ru. На первый взгляд большой разницы в том, что тасовать (адресные записи или CNAME записи), нет. И в том и в другом случае адреса ресурса циклически переставляются. На один запрос мы получаем один адрес, на другой — второй, и так далее по кругу. Разница заключается в том, что на каждый запрос в первом случае выдается список IP-адресов, где они все перечисляются, только порядок их следования в отклике меняется. В этом случае клиент может теоретически перебрать их все, используя только одно обращение к DNS. Во втором случае в качестве отклика возвращаются CNAME записи. Это значит, что клиент в конечном итоге получает не список IP-адресов, а только один IP-адрес. На самом деле рекомендуется все-таки не использовать «тасование» CNAME, тем паче, что в BIND 9 на выше приведенный пример будет получен при запуске сервера следующий отклик в логах: Oct 13 18:03:15 generate named[136]: dns_master_load: webstatistics.ru:19: www.domain.ru: multiple RRs of singleton type Любопытно, что обслуживаться запросы по синониму будут. Просто из всех записей одного синонима будет выбрана последняя. Если же мы имеем дело со множественными адресными записями, и на их доменное имя существует синоним, то для запроса на этот синоним будет выдан список всех IP-адресов. Ниже приведем пример описанного только что случая: $ORIGIN ru. Webstatistics 3600 IN SOA webstatistics.ru. paul.webstatistics.ru. ( 1 3600 600 86400 3600 ) 3600 IN NS ns.webstatistics.ru. 3600 IN NS ns4.nic.ru. IN A 144.206.192.60 $ORIGIN webstatistics.ru. ns 3600 IN A 144.206.192.60 $ORIGIN nic.ru. ns4 IN A 194.226.96.8 $ORIGIN webstatistics.ru. www 3 IN A 144.206.192.60 www 3 IN A 144.206.192.61 www 3 IN A 144.206.192.62 www 3 IN A 144.206.160.32 www1 IN CNAME ns.webstatistics.ru. www1 IN CNAME www В данном случае BIND версии 9 игнорирует первую запись CNAME, выдает выше приведенное сообщение в логе и поддерживает только последний CNAME. Если теперь обратиться за IP-адресом www1.webstatistics.ru, то мы получим следующее (тестирование программой nslookup): > set debug > www1.webstatistics.ru. Server: [144.206.192.60] Address: 144.206.192.60 ;; res_nmkquery(QUERY, www1.webstatistics.ru, IN, A) ------------ Got answer: HEADER: opcode = QUERY, id = 33822, rcode = NOERROR header flags: response, auth. answer, want recursion, recursion avail. questions = 1, answers = 5, authority records = 2, additional = 2 QUESTIONS: www1.webstatistics.ru, type = A, class = IN ANSWERS: -> www1.webstatistics.ru canonical name = www.webstatistics.ru ttl = 3 (3S) -> www.webstatistics.ru internet address = 144.206.192.60 ttl = 3 (3S) -> www.webstatistics.ru internet address = 144.206.192.61 ttl = 3 (3S) -> www.webstatistics.ru internet address = 144.206.192.62 ttl = 3 (3S) -> www.webstatistics.ru internet address = 144.206.160.32 ttl = 3 (3S) AUTHORITY RECORDS: -> webstatistics.ru nameserver = ns.webstatistics.ru ttl = 3600 (1H) -> webstatistics.ru nameserver = ns4.nic.ru ttl = 3600 (1H) ADDITIONAL RECORDS: -> ns.webstatistics.ru internet address = 144.206.192.60 ttl = 3600 (1H) -> ns4.nic.ru internet address = 194.226.96.8 ttl = 79606 (22h6m46s) ------------ Name: www.webstatistics.ru Addresses: 144.206.192.60, 144.206.192.61, 144.206.192.62, 144.206.160.32 Aliases: www1.webstatistics.ru > На запрос адреса мы в основной секции отклика получаем CNAME и все адресные записи, в авторитативной секции получаем доменные имена серверов зоны (записи NS), а в дополнительной секции IP-адреса этих серверов доменных имен. И в заключении о реальном масштабе ошибок, связанных с применением CNAME в системе доменных имен. Согласно исследованиям компании Men & Mice проведенным на 5000 случайно выбранных зонах домена com в августе 2002 года в 3.3%-ах случаев была зафиксирована ссылка в MX записи на синоним, т.е. неправильное совместное применение CNAME и MX.
Назад Оглавление Вперед |
Субтитры из фильмов
DNS earlier chapters.
В ПРЕДЫДУЩИХ СЕРИЯХ.
DNS earlier chapters. — I have the papers. — Those of my father?
В ПРЕДЫДУЩИХ СЕРИЯХ. — У меня есть документы.
You mean a DNS hijacking?
Ты говоришь о подмене сервера?
The dns wasn’t configured.
Система доменных имен не была изменена.
We can tie into multiple lines, diffuse our footprint, keep hopping DNS addresses.
Сможем подключиться ко многим каналам связи, путать следы, менять ай-пи.
It’s an outside DNS attack, our entire network shut down.
Это внешняя атака, вся наша сеть под колпаком.