DNS — Википедия
У этого термина существуют и другие значения, см. DNS (значения).DNS | |
---|---|
Название | Domain Name System |
Уровень (по модели OSI) | Прикладной |
Семейство | TCP/IP |
Порт/ID | 53/TCP, 53/UDP |
Назначение протокола | Разрешение доменных имён |
Спецификация | RFC 1034, RFC 1035 / STD 13 |
Основные реализации (клиенты) | Встроен во все сетевые ОС |
Основные реализации (серверы) | BIND, NSD, PowerDNS или Microsoft DNS Server |

DNS (англ. Domain Name System «система доменных имён») — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста (компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).
Распределённая база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определённому протоколу.
Основой DNS является представление об иерархической структуре доменного имени и зонах. Каждый сервер, отвечающий за имя, может делегировать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения — другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за «свою» часть доменного имени.
Начиная с 2010 года в систему DNS внедряются средства проверки целостности передаваемых данных, называемые DNS Security Extensions (DNSSEC). Передаваемые данные не шифруются, но их достоверность проверяется криптографическими способами. Внедряемый стандарт DANE обеспечивает передачу средствами DNS достоверной криптографической информации (сертификатов), используемых для установления безопасных и защищённых соединений транспортного и прикладного уровней.
DNS обладает следующими характеристиками:
- Распределённость администрирования. Ответственность за разные части иерархической структуры несут разные люди или организации.
- Распределённость хранения информации. Каждый узел сети в обязательном порядке должен хранить только те данные, которые входят в его зону ответственности, и (возможно) адреса корневых DNS-серверов.
- Кэширование информации. Узел может хранить некоторое количество данных не из своей зоны ответственности для уменьшения нагрузки на сеть.
- Иерархическая структура, в которой все узлы объединены в дерево, и каждый узел может или самостоятельно определять работу нижестоящих узлов, или
- Резервирование. За хранение и обслуживание своих узлов (зон) отвечают (обычно) несколько серверов, разделённые как физически, так и логически, что обеспечивает сохранность данных и продолжение работы даже в случае сбоя одного из узлов.
DNS важна для работы Интернета, так как для соединения с узлом необходима информация о его IP-адресе, а для людей проще запоминать буквенные (обычно осмысленные) адреса, чем последовательность цифр IP-адреса. В некоторых случаях это позволяет использовать виртуальные серверы, например, HTTP-серверы, различая их по имени запроса. Первоначально преобразование между доменными и IP-адресами производилось с использованием специального текстового файла hosts, который составлялся централизованно и автоматически рассылался на каждую из машин в своей локальной сети. С ростом Сети возникла необходимость в эффективном, автоматизированном механизме, которым и стала DNS.
DNS была разработана Полом Мокапетрисом в 1983 году; оригинальное описание механизмов работы содержится в RFC 882 и RFC 883. В 1987 публикация RFC 1034 и RFC 1035 изменила спецификацию DNS и отменила RFC 882, RFC 883 и RFC 973 как устаревшие.
- поддержка динамических обновлений
- защита данных (DNSSEC) и транзакций (TSIG)
- поддержка различных типов информации
Использование более простого и запоминающегося имени вместо числового адреса хоста относится к эпохе ARPANET. Стэнфордский исследовательский институт (теперь SRI International) поддерживал текстовый файл HOSTS.TXT, который сопоставлял имена узлов с числовыми адресами компьютеров в ARPANET. Поддержание числовых адресов, называемых списком присвоенных номеров, было обработано Джоном Постелем в Институте информационных наук Университета Южной Калифорнии (ISI), команда которого тесно сотрудничала с НИИ.[1]
Адреса назначались вручную. Чтобы запросить имя хоста и адрес и добавить компьютер в главный файл, пользователи связывались с сетевым информационным центром (NIC) SRI, руководимым Элизабет Фейнлер, по телефону в рабочее время.
К началу 1980-х годов поддержание единой централизованной таблицы хостов стало медленным и громоздким, а развивающейся сети требовалась автоматическая система именования для решения технических и кадровых вопросов. Постел поставил перед собой задачу выработать компромисс между пятью конкурирующими предложениями для решения задачи, сформулированной Полом Мокапетрисом. Мокапетрис вместо этого создал концепцию иерархической системы доменных имен.
Рабочая группа IETF опубликовала оригинальные спецификации в RFC 882 и RFC 883 в ноябре 1983 года.
В 1984 году четыре студента UC Berkeley, Дуглас Терри, Марк Пейнтер, Дэвид Риггл и Сонгниан Чжоу, написали первую версию сервера имен BIND (Berkeley Internet Name Daemon). В 1985 году Кевин Данлэп из DEC существенно пересмотрел реализацию DNS. Майк Карел, Фил Альмквист и Пол Викси поддерживали BIND с тех пор. В начале 1990-х годов BIND был перенесен на платформу Windows NT. Он широко распространен, особенно в Unix-системах, и по-прежнему является наиболее широко используемым программным обеспечением DNS в Интернете.
В ноябре 1987 года были приняты спецификации DNS — RFC 1034 и RFC 1035. После этого были приняты сотни RFC, изменяющих и дополняющих DNS.
Первоначально проблемы безопасности не были основными соображениями при разработке программного обеспечения DNS или любого программного обеспечения для развёртывания в раннем Интернете, поскольку сеть не была открыта для широкой общественности. Однако рост Интернета в коммерческом секторе в 1990-х годах изменил требования к мерам безопасности для защиты целостности данных и аутентификации пользователей.
Несколько уязвимостей были обнаружены и использованы злоумышленниками. Одной из таких проблем является отравление кэша DNS, в котором данные распространяются на кэширующие преобразователи под предлогом того, что они являются авторитетным сервером происхождения, тем самым загрязняя хранилище данных потенциально ложной информацией и длительными сроками действия (время жизни). Впоследствии, запросы легитимных приложений могут быть перенаправлены на сетевые хосты, контролируемые злоумышленником.
DNS-ответы ранее не имели криптографической подписи, что давало возможность для множества вариантов атаки. Современные расширения системы безопасности доменных имен (DNSSEC) изменяют DNS, чтобы добавить поддержку криптографически подписанных ответов. Другие расширения, такие как TSIG, добавляют поддержку криптографической аутентификации между доверенными одноранговыми узлами и обычно используются для авторизации передачи зоны или операций динамического обновления.
Некоторые доменные имена могут использоваться для достижения эффектов спуфинга. Например, paypal.com и paypa1.com — это разные имена, но пользователи могут не различать их в графическом пользовательском интерфейсе в зависимости от выбранного шрифта пользователя. Во многих шрифтах буква l и цифра 1 выглядят очень похожими или даже идентичными. Эта проблема остро стоит в системах, которые поддерживают интернационализированные доменные имена, поскольку многие коды символов в ISO 10646 могут отображаться на типичных экранах компьютеров. Эта уязвимость иногда используется в фишинге.
Для подтверждения результатов DNS также могут использоваться такие методы, как обратный DNS с подтверждением прямых записей, но криптографически достоверными они не являются; при этом не учитывается вариант подмены маршрутной информации (англ. BGP hijacking).
Ключевыми понятиями DNS являются:
- Доме́н (англ. domain «область») — узел в дереве имён, вместе со всеми подчинёнными ему узлами (если таковые имеются), то есть именованная ветвь или поддерево в дереве имён. Структура доменного имени отражает порядок следования узлов в иерархии; доменное имя читается слева направо от младших доменов к доменам высшего уровня (в порядке повышения значимости): вверху находится корневой домен (имеющий идентификатор «
»(точка)), ниже идут домены первого уровня (доменные зоны), затем — домены второго уровня, третьего и т. д. (например, для адресаru.wikipedia.org.
домен первого уровня —org
, второго —wikipedia
, третьего —ru
). DNS позволяет не указывать точку корневого домена. - Поддомен (англ. subdomain) — подчинённый домен (например,
wikipedia.org
— поддомен доменаorg
, аru.wikipedia.org
— доменаwikipedia.org
). Теоретически такое деление может достигать глубины 127 уровней, а каждая метка может содержать до 63 символов, пока общая длина вместе с точками не достигнет 254 символов. Но на практике регистраторы доменных имён используют более строгие ограничения. Например, если у вас есть домен видаmydomain.ru
, вы можете создать для него различные поддомены видаmysite1.mydomain.ru
,mysite2.mydomain.ru
и т. д. - Ресурсная запись — единица хранения и передачи информации в DNS. Каждая ресурсная запись имеет имя (то есть привязана к определённому доменному имени, узлу в дереве имён), тип и поле данных, формат и содержание которого зависит от типа.
- Зона — часть дерева доменных имён (включая ресурсные записи), размещаемая как единое целое на некотором сервере доменных имён (DNS-сервере, см. ниже), а чаще — одновременно на нескольких серверах (см. ниже). Целью выделения части дерева в отдельную зону является передача ответственности (см. ниже) за соответствующий домен другому лицу или организации. Это называется делегированием (см. ниже). Как связная часть дерева, зона внутри тоже представляет собой дерево. Если рассматривать пространство имён DNS как структуру из зон, а не отдельных узлов/имён, тоже получается дерево; оправданно говорить о родительских и дочерних зонах, о старших и подчинённых. На практике большинство зон 0-го и 1-го уровня (‘.’, ru, com, …) состоят из единственного узла, которому непосредственно подчиняются дочерние зоны. В больших корпоративных доменах (2-го и более уровней) иногда встречается образование дополнительных подчинённых уровней без выделения их в дочерние зоны.
- Делегирование — операция передачи ответственности за часть дерева доменных имён другому лицу или организации. За счёт делегирования в DNS обеспечивается распределённость администрирования и хранения. Технически делегирование выражается в выделении этой части дерева в отдельную зону, и размещении этой зоны на DNS-сервере (см. ниже), управляемом этим лицом или организацией. При этом в родительскую зону включаются «склеивающие» ресурсные записи (NS и А), содержащие указатели на DNS-сервера дочерней зоны, а вся остальная информация, относящаяся к дочерней зоне, хранится уже на DNS-серверах дочерней зоны.
- DNS-сервер — специализированное ПО для обслуживания DNS, а также компьютер, на котором это ПО выполняется. DNS-сервер может быть ответственным за некоторые зоны и/или может перенаправлять запросы вышестоящим серверам.
- DNS-клиент — специализированная библиотека (или программа) для работы с DNS. В ряде случаев DNS-сервер выступает в роли DNS-клиента.
- Авторитетность (англ. authoritative) — признак размещения зоны на DNS-сервере. Ответы DNS-сервера могут быть двух типов: авторитетные (когда сервер заявляет, что сам отвечает за зону) и неавторитетные (англ. Non-authoritative), когда сервер обрабатывает запрос, и возвращает ответ других серверов. В некоторых случаях вместо передачи запроса дальше DNS-сервер может вернуть уже известное ему (по запросам ранее) значение (режим кеширования).
- DNS-запрос (англ. DNS query) — запрос от клиента (или сервера) серверу. Запрос может быть рекурсивным или нерекурсивным (см. Рекурсия).
Система DNS содержит иерархию DNS-серверов, соответствующую иерархии зон. Каждая зона поддерживается как минимум одним авторитетным сервером DNS (от англ. authoritative — авторитетный), на котором расположена информация о домене.
Имя и IP-адрес не тождественны — один IP-адрес может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов (это называется виртуальный хостинг). Обратное тоже справедливо — одному имени может быть сопоставлено множество IP-адресов: это позволяет создавать балансировку нагрузки.
Для повышения устойчивости системы используется множество серверов, содержащих идентичную информацию, а в протоколе есть средства, позволяющие поддерживать синхронность информации, расположенной на разных серверах. Существует 13 корневых серверов, их адреса практически не изменяются.[2]
Протокол DNS использует для работы TCP- или UDP-порт 53 для ответов на запросы. Традиционно запросы и ответы отправляются в виде одной UDP-датаграммы. TCP используется, когда размер данных ответа превышает 512 байт, и для AXFR-запросов.
Рекурсия[править | править код]
Термином рекурсия в DNS обозначают алгоритм поведения DNS-сервера: выполнение от имени клиента полный поиск нужной информации во всей системе DNS, при необходимости обращаясь к другим DNS-серверам.
DNS-запрос может быть рекурсивным — требующим полного поиска, — и нерекурсивным (или итеративным) — не требующим полного поиска.
Аналогично — DNS-сервер может быть рекурсивным (умеющим выполнять полный поиск) и нерекурсивным (не умеющим выполнять полный поиск). Некоторые программы DNS-серверов, например, BIND, можно сконфигурировать так, чтобы запросы одних клиентов выполнялись рекурсивно, а запросы других — нерекурсивно.
При ответе на нерекурсивный запрос, а также при неумении или запрете выполнять рекурсивные запросы, DNS-сервер либо возвращает данные о зоне, за которую он ответственен, либо возвращает ошибку. Настройки нерекурсивного сервера, когда при ответе выдаются адреса серверов, которые обладают большим объёмом информации о запрошенной зоне, чем отвечающий сервер (чаще всего — адреса корневых серверов), являются некорректными, и такой сервер может быть использован для организации DoS-атак.
В случае рекурсивного запроса DNS-сервер опрашивает серверы (в порядке убывания уровня зон в имени), пока не найдёт ответ или не обнаружит, что домен не существует (на практике поиск начинается с наиболее близких к искомому DNS-серверов, если информация о них есть в кэше и не устарела, сервер может не запрашивать другие DNS-серверы).
Рассмотрим на примере работу всей системы.
Предположим, мы набрали в браузере адрес ru.wikipedia.org
. Браузер ищет соответствие этого адреса IP-адресу в файле hosts. Если файл не содержит соответствия, то далее браузер спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org
»?
Однако сервер DNS может ничего не знать не только о запрошенном имени, но и даже обо всём домене wikipedia.org
.
В этом случае сервер обращается к корневому серверу — например, 198.41.0.4. Этот сервер сообщает — «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 является ответственным за зону org
.» Тогда сервер DNS направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 является ответственным за зону wikipedia.org
.» Наконец, тот же запрос отправляется к третьему DNS-серверу и получает ответ — IP-адрес, который и передаётся клиенту — браузеру.
В данном случае при разрешении имени, то есть в процессе поиска IP по имени:
- браузер отправил известному ему DNS-серверу рекурсивный запрос — в ответ на такой тип запроса сервер обязан вернуть «готовый результат», то есть IP-адрес, либо пустой ответ и код ошибки NXDOMAIN;
- DNS-сервер, получивший запрос от браузера, последовательно отправлял нерекурсивные запросы, на которые получал от других DNS-серверов ответы, пока не получил ответ от сервера, ответственного за запрошенную зону;
- остальные упоминавшиеся DNS-серверы обрабатывали запросы нерекурсивно (и, скорее всего, не стали бы обрабатывать запросы рекурсивно, даже если бы такое требование стояло в запросе).
Иногда допускается, чтобы запрошенный сервер передавал рекурсивный запрос «вышестоящему» DNS-серверу и дожидался готового ответа.
При рекурсивной обработке запросов все ответы проходят через DNS-сервер, и он получает возможность кэшировать их. Повторный запрос на те же имена обычно не идёт дальше кэша сервера, обращения к другим серверам не происходит вообще. Допустимое время хранения ответов в кэше приходит вместе с ответами (поле TTL ресурсной записи).
Рекурсивные запросы требуют больше ресурсов от сервера (и создают больше трафика), так что обычно принимаются от «известных» владельцу сервера узлов (например, провайдер предоставляет возможность делать рекурсивные запросы только своим клиентам, в корпоративной сети рекурсивные запросы принимаются только из локального сегмента). Нерекурсивные запросы обычно принимаются ото всех узлов сети (и содержательный ответ даётся только на запросы о зоне, которая размещена на узле, на DNS-запрос о других зонах обычно возвращаются адреса других серверов).
Обратный DNS-запрос[править | править код]
DNS используется в первую очередь для преобразования символьных имён в IP-адреса, но он также может выполнять обратный процесс. Для этого используются уже имеющиеся средства DNS. Дело в том, что с записью DNS могут быть сопоставлены различные данные, в том числе и какое-либо символьное имя. Существует специальный домен in-addr.arpa
, записи в котором используются для преобразования IP-адресов в символьные имена. Например, для получения DNS-имени для адреса 11.22.33.44
можно запросить у DNS-сервера запись 44.33.22.11.in-addr.arpa
, и тот вернёт соответствующее символьное имя. Обратный порядок записи частей IP-адреса объясняется тем, что в IP-адресах старшие биты расположены в начале, а в символьных DNS-именах старшие (находящиеся ближе к корню) части расположены в конце.
Записи DNS, или ресурсные записи (англ. resource records, RR), — единицы хранения и передачи информации в DNS. Каждая ресурсная запись состоит из следующих полей[3]:
- имя (NAME) — доменное имя, к которому привязана или которому «принадлежит» данная ресурсная запись,
- тип (TYPE) ресурсной записи — определяет формат и назначение данной ресурсной записи,
- класс (CLASS) ресурсной записи; теоретически считается, что DNS может использоваться не только с TCP/IP, но и с другими типами сетей, код в поле класс определяет тип сети[4],
- TTL (Time To Live) — допустимое время хранения данной ресурсной записи в кэше неответственного DNS-сервера,
- длина поля данных (RDLEN),
- поле данных (RDATA), формат и содержание которого зависит от типа записи.
Наиболее важные типы DNS-записей:
- Запись A (address record) или запись адреса связывает имя хоста с адресом протокола IPv4. Например, запрос A-записи на имя
referrals.icann.org
вернёт его IPv4-адрес —192.0.34.164
. - Запись AAAA (IPv6 address record) связывает имя хоста с адресом протокола IPv6. Например, запрос AAAA-записи на имя
K.ROOT-SERVERS.NET
вернёт его IPv6-адрес —2001:7fd::1
. - Запись CNAME (canonical name record) или каноническая запись имени (псевдоним) используется для перенаправления на другое имя.
- Запись MX (mail exchange) или почтовый обменник указывает сервер(ы) обмена почтой для данного домена.
- Запись NS (name server) указывает на DNS-сервер для данного домена.
- Запись PTR (pointer[5][6]) обратная DNS-запись или запись указателя связывает IP-адрес хоста с его каноническим именем. Запрос в домене
in-addr.arpa
на IP-адрес хоста в reverse-форме вернёт имя (FQDN) данного хоста (см. Обратный DNS-запрос). Например (на момент написания), для IP-адреса192.0.34.164
запрос записи PTR164.34.0.192.in-addr.arpa
вернёт его каноническое имяreferrals.icann.org
. В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR-записи для хоста, с которого происходит отправка. В этом случае PTR-запись для IP-адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе SMTP-сессии. - Запись SOA (Start of Authority) или начальная запись зоны указывает, на каком сервере хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, тайминги (параметры времени) кеширования зонной информации и взаимодействия DNS-серверов.
- SRV-запись (server selection) указывает на серверы для сервисов, используется, в частности, для Jabber и Active Directory.
Документ RFC 2606 (Reserved Top Level DNS Names — Зарезервированные имена доменов верхнего уровня) определяет названия доменов, которые следует использовать в качестве примеров (например, в документации), а также для тестирования. Кроме example.com
, example.org
и example.net
, в эту группу также входят test
, invalid
и др.
Доменное имя может состоять только из ограниченного набора ASCII-символов, позволяя набрать адрес домена независимо от языка пользователя. ICANN утвердил основанную на Punycode систему IDNA, преобразующую любую строку в кодировке Unicode в допустимый DNS набор символов.
Серверы имен:
Статьи[править | править код]
Документы RFC[править | править код]
- RFC 1034 — Domain Names — Concepts and Facilities
- RFC 1035 — Domain Names — Implementation and Specification
- RFC 1912 — Common DNS Operational and Configuration Errors
- RFC 1591 — Domain Name System Structure and Delegation
- RFC 1713 — Tools for DNS Debugging
- RFC 2606 — Reserved Top Level DNS Names
Что такое Яндекс.DNS — Яндекс.DNS. Помощь
Дата-центры Яндекс.DNS находятся в России, странах СНГ и Западной Европе. Запросы пользователя обрабатывает ближайший дата-центр, что обеспечивает высокую скорость соединения. | ![]() | ![]() | ![]() |
Яндекс ежедневно проверяет десятки миллионов страниц на наличие вредоносного кода. Для этого применяются сигнатурная технология Sophos и собственный антивирус Яндекса. При обнаружении подозрительной активности страница отмечается как опасная, а вредоносный код добавляется в базу вирусных сигнатур. Данные о зараженных сайтах обновляются несколько раз в сутки. | ![]() | ![]() | |
Яндекс выявляет сайты, обладающие признаками мошеннических. К ним относятся, например, страницы, созданные с целью узнать у пользователя номер его телефона или предлагающие отправлять SMS-сообщения, из-за которых со счета списываются крупные суммы денег. Яндекс.DNS блокирует такие сайты — при попытке зайти на них, пользователь увидит предупреждение. | ![]() | ![]() | |
Бот — это автономная вредоносная программа, которая ставится на компьютер и позволяет удаленно управлять им по сети без ведома хозяина. Зараженный ботом компьютер обычно управляется через специальный C&C-сервер (от англ. command-and-control — «командование и контроль»). Адрес управляющего сервера меняется динамически, чтобы затруднить его обнаружение и блокировку. Поэтому боту на зараженном компьютере известно только доменное имя сервера — IP-адрес он запрашивает с помощью системного DNS. Яндекс.DNS блокирует запросы IP-адресов всех известных C&C-серверов. Из-за этого бот вынужден бездействовать, а злоумышленник теряет удаленный доступ к компьютеру пользователя. Постоянно обновляемый список управляющих серверов Яндекс получает от системы Virus Tracker. | ![]() | ![]() | |
Алгоритмы Яндекса позволяют определять эротический и порнографический контент Интернет-страниц. Анализируется как текст и картинки в документе, так и другие, косвенные, факторы — например, ссылочное окружение. Если сайт был признан «ресурсом для взрослых», Яндекс.DNS блокирует его. Сайт нельзя будет не только открыть в браузере, но и увидеть его в рекламных блоках на других сайтах. Для хоста такой рекламной сети запрещается получение правильного IP-адреса, поэтому объявления и баннеры не могут быть загружены. Данные о «ресурсах для взрослых» обновляются 2-3 раза в неделю. | ![]() | ||
Данный режим поиска позволяет полностью исключать из поисковой выдачи контент для взрослых, а также сайты, содержащие нецензурную лексику. | ![]() |
Что такое DNS | Настройка серверов windows и linux
DNS (англ. Domain Name System — система доменных имён) — компьютерная распределённая система для получения информации о доменах. Чаще всего используется для получения IP-адреса по имени хоста(компьютера или устройства), получения информации о маршрутизации почты, обслуживающих узлах для протоколов в домене (SRV-запись).
Распределённая база данных DNS поддерживается с помощью иерархии DNS-серверов, взаимодействующих по определённому протоколу.
Основой DNS является представление об иерархической структуре доменного имени и зонах. Каждый сервер, отвечающий за имя, может делегировать ответственность за дальнейшую часть домена другому серверу (с административной точки зрения — другой организации или человеку), что позволяет возложить ответственность за актуальность информации на серверы различных организаций (людей), отвечающих только за «свою» часть доменного имени.
Начиная с 2010 года, в систему DNS внедряются средства проверки целостности передаваемых данных, называемые DNS Security Extensions (DNSSEC). Передаваемые данные не шифруются, но их достоверность проверяется криптографическими способами. Внедряемый стандарт DANE обеспечивает передачу средствами DNS достоверной криптографической информации (сертификатов), используемых для установления безопасных и защищённых соединений транспортного и прикладного уровней.
Ключевые характеристики DNS
DNS обладает следующими характеристиками:
- Распределённость администрирования. Ответственность за разные части иерархической структуры несут разные люди или организации.
- Распределённость хранения информации. Каждый узел сети в обязательном порядке должен хранить только те данные, которые входят в его зону ответственности, и (возможно) адреса корневых DNS-серверов.
- Кеширование информации. Узел может хранить некоторое количество данных не из своей зоны ответственности для уменьшения нагрузки на сеть.
- Иерархическая структура, в которой все узлы объединены в дерево, и каждый узел может или самостоятельно определять работу нижестоящих узлов, или делегировать (передавать) их другим узлам.
- Резервирование. За хранение и обслуживание своих узлов (зон) отвечают (обычно) несколько серверов, разделённые как физически, так и логически, что обеспечивает сохранность данных и продолжение работы даже в случае сбоя одного из узлов.
DNS важна для работы Интернета, так как для соединения с узлом необходима информация о его IP-адресе, а для людей проще запоминать буквенные (обычно осмысленные) адреса, чем последовательность цифр IP-адреса. В некоторых случаях это позволяет использовать виртуальные серверы, например, HTTP-серверы, различая их по имени запроса. Первоначально преобразование между доменными и IP-адресами производилось с использованием специального текстового файла hosts, который составлялся централизованно и автоматически рассылался на каждую из машин в своей локальной сети. С ростом Сети возникла необходимость в эффективном, автоматизированном механизме, которым и стала DNS.
DNS была разработана Полом Мокапетрисом в 1983 году; оригинальное описание механизмов работы содержится в RFC 882 и RFC 883. В 1987 публикация RFC 1034 и RFC 1035 изменила спецификацию DNS и отменила RFC 882, RFC 883 и RFC 973 как устаревшие.
Дополнительные возможности
- поддержка динамических обновлений
- защита данных (DNSSEC) и транзакций (TSIG)
- поддержка различных типов информации
Терминология и принципы работы
Ключевыми понятиями DNS являются:
- Доме́н (англ. domain — область) — узел в дереве имён, вместе со всеми подчинёнными ему узлами (если таковые имеются), то есть именованнаяветвь или поддерево в дереве имен. Структура доменного имени отражает порядок следования узлов в иерархии; доменное имя читается слева направо от младших доменов к доменам высшего уровня (в порядке повышения значимости): вначале корневой домен (не имеющий идентификатора), ниже идут домены первого уровня (доменные зоны), затем — домены второго уровня, третьего и т. д. (например, для адреса ru.wikipedia.org. домен первого уровня — org, второго wikipedia, третьего ru). На практике точку перед корневым доменом часто опускают («ru.wikipedia.org» вместо»ru.wikipedia.org.»), но она бывает важна в случаях разделения между относительными доменами и FQDN (англ. Fully Qualifed Domain Name, полностью определённое имя домена).
- Поддомен (англ. subdomain) — подчинённый домен (например, wikipedia.org — поддомен домена org, а ru.wikipedia.org — доменаwikipedia.org). Теоретически такое деление может достигать глубины 127 уровней, а каждая метка может содержать до 63 символов, пока общая длина вместе с точками не достигнет 254 символов. Но на практике регистраторы доменных имён используют более строгие ограничения. Например, если у вас есть домен вида mydomain.ru, вы можете создать для него различные поддомены вида mysite1.mydomain.ru, mysite2.mydomain.ru и т. д.
- Ресурсная запись — единица хранения и передачи информации в DNS. Каждая ресурсная запись имеет имя (то есть привязана к определенному Доменному имени, узлу в дереве имен), тип и поле данных, формат и содержание которого зависит от типа.
- Зона — часть дерева доменных имен (включая ресурсные записи), размещаемая как единое целое на некотором сервере доменных имен (DNS-сервере, см. ниже), а чаще — одновременно на нескольких серверах (см. ниже). Целью выделения части дерева в отдельную зону является передача ответственности (см. ниже) за соответствующий домен другому лицу или организации. Это называется делегированием (см. ниже). Как связная часть дерева, зона внутри тоже представляет собой дерево. Если рассматривать пространство имен DNS как структуру из зон, а не отдельных узлов/имен, тоже получается дерево; оправданно говорить о родительских и дочерних зонах, о старших и подчиненных. На практике, большинство зон 0-го и 1-го уровня (‘.’, ru, com, …) состоят из единственного узла, которому непосредственно подчиняются дочерние зоны. В больших корпоративных доменах (2-го и более уровней) иногда встречается образование дополнительных подчиненных уровней без выделения их в дочерние зоны.
- Делегирование — операция передачи ответственности за часть дерева доменных имен другому лицу или организации. За счет делегирования в DNS обеспечивается распределенность администрирования и хранения. Технически делегирование выражается в выделении этой части дерева в отдельную зону, и размещении этой зоны на DNS-сервере (см. ниже), управляемом этим лицом или организацией. При этом в родительскую зону включаются «склеивающие» ресурсные записи (NS и А), содержащие указатели на DNS-сервера дочерней зоны, а вся остальная информация, относящаяся к дочерней зоне, хранится уже на DNS-серверах дочерней зоны.
- DNS-сервер — специализированное ПО для обслуживания DNS, а также компьютер, на котором это ПО выполняется. DNS-сервер может быть ответственным за некоторые зоны и/или может перенаправлять запросы вышестоящим серверам.
- DNS-клиент — специализированная библиотека (или программа) для работы с DNS. В ряде случаев DNS-сервер выступает в роли DNS-клиента.
- Авторитетность (англ. authoritative) — признак размещения зоны на DNS-сервере. Ответы DNS-сервера могут быть двух типов: авторитетные (когда сервер заявляет, что сам отвечает за зону) и неавторитетные (англ. Non-authoritative), когда сервер обрабатывает запрос, и возвращает ответ других серверов. В некоторых случаях вместо передачи запроса дальше DNS-сервер может вернуть уже известное ему (по запросам ранее) значение (режим кеширования).
- DNS-запрос (англ. DNS query) — запрос от клиента (или сервера) серверу. Запрос может быть рекурсивным или нерекурсивным (см. Рекурсия).
- Root-Hint — Well-known сервера отвечающие за корневой домен «.» (точка)
Система DNS содержит иерархию DNS-серверов, соответствующую иерархии зон. Каждая зона поддерживается как минимум одним авторитетным сервером DNS (от англ. authoritative — авторитетный), на котором расположена информация о домене.
Имя и IP-адрес не тождественны — один IP-адрес может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов(это называется виртуальный хостинг). Обратное тоже справедливо — одному имени может быть сопоставлено множество IP-адресов: это позволяет создавать балансировку нагрузки.
Для повышения устойчивости системы используется множество серверов, содержащих идентичную информацию, а в протоколе есть средства, позволяющие поддерживать синхронность информации, расположенной на разных серверах. Существует 13 корневых серверов, их адреса практически не изменяются.[1]
Протокол DNS использует для работы TCP- или UDP-порт 53 для ответов на запросы. Традиционно запросы и ответы отправляются в виде одной UDPдатаграммы. TCP используется когда размер данных ответа превышает 512 байт и для AXFR-запросов.
Рекурсия
Термином Рекурсия в DNS обозначают алгоритм поведения DNS-сервера, при котором сервер выполняет от имени клиента полный поиск нужной информации во всей системе DNS, при необходимости обращаясь к другим DNS-серверам.
DNS-запрос может быть рекурсивным — требующим полного поиска, — и нерекурсивным (или итеративным) — не требующим полного поиска.
Аналогично, DNS-сервер может быть рекурсивным (умеющим выполнять полный поиск) и нерекурсивным (не умеющим выполнять полный поиск). Некоторые программы DNS-серверов, например, BIND, можно сконфигурировать так, чтобы запросы одних клиентов выполнялись рекурсивно, а запросы других — нерекурсивно.
При ответе на нерекурсивный запрос, а также при неумении или запрете выполнять рекурсивные запросы, DNS-сервер либо возвращает данные о зоне, за которую он ответствен, либо возвращает ошибку. Настройки нерекурсивного сервера, когда при ответе выдаются адреса серверов, которые обладают большим объёмом информации о запрошенной зоне, чем отвечающий сервер (чаще всего — адреса корневых серверов), являются некорректными и такой сервер может быть использован для организации DoS-атак.
В случае рекурсивного запроса DNS-сервер опрашивает серверы (в порядке убывания уровня зон в имени), пока не найдёт ответ или не обнаружит, что домен не существует. (На практике поиск начинается с наиболее близких к искомому DNS-серверов, если информация о них есть в кэше и не устарела, сервер может не запрашивать другие DNS-серверы.)
Рассмотрим на примере работу всей системы.
Предположим, мы набрали в браузере адрес ru.wikipedia.org. Браузер спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org»? Однако, сервер DNS может ничего не знать не только о запрошенном имени, но даже обо всём домене wikipedia.org. В этом случае сервер обращается к корневому серверу — например, 198.41.0.4. Этот сервер сообщает — «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 является ответственным за зону org.» Тогда сервер DNS направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 является ответственным за зону wikipedia.org.» Наконец, тот же запрос отправляется к третьему DNS-серверу и получает ответ — IP-адрес, который и передаётся клиенту — браузеру.
В данном случае при разрешении имени, то есть в процессе поиска IP по имени:
- браузер отправил известному ему DNS-серверу рекурсивный запрос — в ответ на такой тип запроса сервер обязан вернуть «готовый результат», то есть IP-адрес, либо пустой ответ и код ошибки NXDOMAIN;
- DNS-сервер, получивший запрос от браузера, последовательно отправлял нерекурсивные запросы, на которые получал от других DNS-серверов ответы, пока не получил ответ от сервера, ответственного за запрошенную зону;
- остальные упоминавшиеся DNS-серверы обрабатывали запросы нерекурсивно (и, скорее всего, не стали бы обрабатывать запросы рекурсивно, даже если бы такое требование стояло в запросе).
Иногда допускается, чтобы запрошенный сервер передавал рекурсивный запрос «вышестоящему» DNS-серверу и дожидался готового ответа.
При рекурсивной обработке запросов все ответы проходят через DNS-сервер, и он получает возможность кэшировать их. Повторный запрос на те же имена обычно не идет дальше кэша сервера, обращения к другим серверам не происходит вообще. Допустимое время хранения ответов в кэше приходит вместе с ответами (поле TTL ресурсной записи).
Рекурсивные запросы требуют больше ресурсов от сервера (и создают больше трафика), так что обычно принимаются от «известных» владельцу сервера узлов (например, провайдер предоставляет возможность делать рекурсивные запросы только своим клиентам, в корпоративной сети рекурсивные запросы принимаются только из локального сегмента). Нерекурсивные запросы обычно принимаются ото всех узлов сети (и содержательный ответ даётся только на запросы о зоне, которая размещена на узле, на DNS-запрос о других зонах обычно возвращаются адреса других серверов).
Обратный DNS-запрос
Основная статья: Обратный запрос DNS
DNS используется в первую очередь для преобразования символьных имён в IP-адреса, но он также может выполнять обратный процесс. Для этого используются уже имеющиеся средства DNS. Дело в том, что с записью DNS могут быть сопоставлены различные данные, в том числе и какое-либо символьное имя. Существует специальный домен in-addr.arpa, записи в котором используются для преобразования IP-адресов в символьные имена. Например, для получения DNS-имени для адреса 11.22.33.44 можно запросить у DNS-сервера запись 44.33.22.11.in-addr.arpa, и тот вернёт соответствующее символьное имя. Обратный порядок записи частей IP-адреса объясняется тем, что в IP-адресах старшие биты расположены в начале, а в символьных DNS-именах старшие (находящиеся ближе к корню) части расположены в конце.
Записи DNS
Основная статья: Ресурсные записи DNS
Записи DNS, или Ресурсные записи (англ. Resource Records, RR) — единицы хранения и передачи информации в DNS. Каждая ресурсная запись состоит из следующих полей:
- имя (NAME) — доменное имя, к которому привязана или которому «принадлежит» данная ресурсная запись,
- TTL (Time To Live) — допустимое время хранения данной ресурсной записи в кэше не ответственного DNS-сервера,
- тип (TYPE) ресурсной записи — определяет формат и назначение данной ресурсной записи,
- класс (CLASS) ресурсной записи; теоретически считается, что DNS может использоваться не только с TCP/IP, но и с другими типами сетей, код в поле класс определяет тип сети[2],
- длина поля данных (RDLEN),
- поле данных (RDATA), формат и содержание которого зависит от типа записи.
Наиболее важные типы DNS-записей:
- Запись A (address record) или запись адреса связывает имя хоста с адресом протокола IPv4. Например, запрос A-записи на имяreferrals.icann.org вернёт его IPv4-адрес — 192.0.34.164.
- Запись AAAA (IPv6 address record) связывает имя хоста с адресом протокола IPv6. Например, запрос AAAA-записи на имя K.ROOT-SERVERS.NET вернёт его IPv6-адрес — 2001:7fd::1.
- Запись CNAME (canonical name record) или каноническая запись имени (псевдоним) используется для перенаправления на другое имя.
- Запись MX (mail exchange) или почтовый обменник указывает сервер(ы) обмена почтой для данного домена.
- Запись NS (name server) указывает на DNS-сервер для данного домена.
- Запись PTR (pointer) или запись указателя связывает IP-адрес хоста с его каноническим именем. Запрос в домене in-addr.arpa на IP-адрес хоста в reverse форме вернёт имя (FQDN) данного хоста (см. Обратный DNS-запрос). Например, (на момент написания) для IP-адреса 192.0.34.164 запрос записи PTR 164.34.0.192.in-addr.arpa вернёт его каноническое имя referrals.icann.org. В целях уменьшения объёма нежелательной корреспонденции (спама) многие серверы-получатели электронной почты могут проверять наличие PTR-записи для хоста, с которого происходит отправка. В этом случае PTR-запись для IP-адреса должна соответствовать имени отправляющего почтового сервера, которым он представляется в процессе SMTP-сессии.
- Запись SOA (Start of Authority) или начальная запись зоны указывает, на каком сервере хранится эталонная информация о данном домене, содержит контактную информацию лица, ответственного за данную зону, тайминги (параметры времени) кеширования зонной информации и взаимодействия DNS-серверов.
- SRV-запись (server selection) указывает на серверы для сервисов, используется, в частности, для Jabber и Active Directory.
- DNAME-запись, используется в ситуациях, когда вам нужно перенаправлять все запросы для домена А в домен Б, но не путать с редиректом, так как в домене Б, обязательно должны быть те записи к которым обращаются из домена А, в противном случае, запросивший получит ошибку, что узел не удалось обнаружить.
Порядок разрешения имен и поправки связанные с кэшированием
При запросе имени происходит несколько важных процедур, которые необходимо учитывать. Во первых это данные о связке имя — IP адрес может храниться в нескольких местах ( Hosts, DNS Cash, Lmhosts, DNS Server и др). Для того что бы полностью понимать принцип работы — нужно знать порядок в котором Windows пытается разрешить любое имя.
- При разрешении имени сверяется с локальным именем компьютера.
- Если локальное имя не совпадает с запрашиваемым, то выполнятся поиск в DNS Cash. ВАЖНО: в DNS кэш динамически загружаются данные из файла HOSTS ( поэтому поиск по файлу hosts не происходит, его данные всегда в памяти ПК, что ускоряет обработку ). Файл Hosts расположен в %systemroot%\System32\Drivers\Etc
- Если имя не разрешилось в IP адрес, то пересылается на DNS сервер, который задан в сетевых настройках.
- Если имя сервера плоское ( к примеру: server1 ) и не может быть разрешено с помощью DNS, то имя конвертируется в NetBIOS имя и ищется в локальном кэше
- Если имя не может разрешиться, то ищется на WINS серверах
- Если имя не может быть определено и на WINS сервере, то ищется с помощью BROADCAST запроса в локальной подсети
- Если имя не определилось, то ищется в файле LMHOSTS
На данном рисунке показывается все пункты:
Порядок разрешения имен и поправки связанные с кэшированием
Поиск по всем 7-ми шагам прекращается как только находится первое вхождение, удовлетворяющие условиям.
Примечание:
-Посмотреть DNS кэш можно по команде c:\>ipconfig /displaydns
c:\>ipconfig /displaydns
Windows IP Configuration
api.wordpress.org
—————————————-
Record Name . . . . . : api.wordpress.org
Record Type . . . . . : 1
Time To Live . . . . : 158
Data Length . . . . . : 4
Section . . . . . . . : Answer
A (Host) Record . . . : 72.233.56.138
Record Name . . . . . : ns1.mobiusltd.com
Record Type . . . . . : 1
Time To Live . . . . : 158
Data Length . . . . . : 4
Section . . . . . . . : Additional
A (Host) Record . . . : 67.19.16.228
-Очистить DNS кэш можно по команде ipconfig /flushdns
c:\>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
Как можно самому посмотреть ответы на запросы?
Отличной утилитой для диагностики DNS является NSLookup.exe
На какие ключи я бы обратил внимание:
- LServer — Можно принудительно подключиться к определенному DNS серверу
- set type=** для выбора параметров, которые мы хотим получить, к примеру set type=mx
Приведу пример использования утилиты NSLookup. Допустим нам надо узнать MX и NS записи для домена mail.ru
C:\>nslookup
Default Server: china-lo-oldnbn.ti.ru
Address: 212.1.224.53
> set type=mx
> mail.ru
Server: china-lo-oldnbn.ti.ru
Address: 212.1.224.53
Non-authoritative answer:
mail.ru MX preference = 10, mail exchanger = mxs.mail.ru
mail.ru nameserver = ns.mail.ru
mail.ru nameserver = ns1.mail.ru
mail.ru nameserver = ns3.mail.ru
mail.ru nameserver = ns4.mail.ru
mail.ru nameserver = ns5.mail.ru
mail.ru nameserver = ns2.mail.ru
mxs.mail.ru internet address = 94.100.176.20 n
s4.mail.ru internet address = 94.100.178.64
ns.mail.ru internet address = 94.100.178.70
ns1.mail.ru internet address = 94.100.179.159
Состав UDP пакета
DNS сервера использую 53-й UDP порт для запросов. Обычно отвечают одной дейтаграммой.
Состав UDP датаграммы содержащей DNS запрос
Состав UDP пакета-01
Состав UDP пакета-02
Зарезервированные доменные имена
Документ RFC 2606 (Reserved Top Level DNS Names — Зарезервированные имена доменов верхнего уровня) определяет названия доменов, которые следует использовать в качестве примеров (например, в документации), а также для тестирования. Кроме example.com
, example.org
и example.net
, в эту группу также входят test
, invalid
и др.
Интернациональные доменные имена
Доменное имя может состоять только из ограниченного набора ASCII символов, позволяя набрать адрес домена независимо от языка пользователя. ICANNутвердил основанную на Punycode систему IDNA, преобразующую любую строку в кодировке Unicode в допустимый DNS набор символов.
сервер — это… Что такое DNS-сервер?
DNS-сервер, name server — приложение, предназначенное для ответов на DNS-запросы по соответствующему протоколу. Также DNS-сервером могут называть хост, на котором запущено приложение.
Типы DNS-серверов
По выполняемым функциям DNS-серверы делятся на несколько групп, в зависимости от конфигурации конкретный сервер может относиться к нескольким типам:
- авторитативный DNS-сервер — сервер, отвечающий за какую-либо зону.
- Мастер или первичный сервер (в терминологии BIND) — сервер, имеющий право на внесение изменений в данные зоны. Обычно для зоны бывает только один мастер сервер. В случае Microsoft DNS-сервера и его интеграции с Active Directory мастер-серверов может быть несколько (так как репликация изменений осуществляется не средствами DNS-сервера, а средствами Active Directory, за счёт чего обеспечивается равноправность серверов и актуальность данных).
- Слейв или вторичный сервер, не имеющий права на внесение изменений в данные зоны и получающий сообщения об изменениях от мастер-сервера. В отличие от мастер-сервера их может быть (практически) неограниченное количество. Слейв так же является авторитативным сервером (и пользователь не может различить мастер и слейв, разница появляется только на этапе конфигурирования/внесения изменений в настройки зоны).
- Кэширующий DNS-сервер — сервер, который обслуживает запросы клиентов, (получает рекурсивный запрос, выполняет его с помощью нерекурсивных запросов к авторитативным серверам или передаёт рекурсивный запрос вышестоящему DNS-серверу)
- Локальный DNS-сервер; используется для обслуживания DNS-клиентов, исполняющихся на локальной машине. Фактически, это разновидность кэширующего DNS-сервера, сконфигурированная для обслуживания локальных приложений.
- Перенаправляющий DNS-сервер; (англ. forwarder, внутренний DNS-сервер) сервер, перенаправляющий полученные рекурсивные запросы вышестоящему кэширующему серверу в виде рекурсивных запросов. Используется преимущественно для снижения нагрузки на кэширующий DNS-сервер.
- Корневой DNS-сервер — сервер, являющийся авторитативным за корневую зону. Общеупотребительных корневых серверов в мире всего 13 штук, их доменные имена находятся в зоне root-servers.net и называются a.root-servers.net, b.root-servers.net, …, m.root-servers.net. В определённых конфигурациях локальной сети возможна ситуация настройки локальных корневых серверов.
- Регистрирующий DNS-сервер. Сервер, принимающий динамические обновления от пользователей. Часто совмещается с DHCP-сервером. В Microsoft DNS-сервере при работе на контроллере домена сервер работает в режиме регистрирующего DNS-сервера, принимая от компьютеров домена информацию о соответствии имени и IP компьютера и обновляя в соответствии с ней данные зоны домена.
- DNSBL-сервер (сервер с чёрными списками адресов и имён). Формально, такой сервер не входит в иерархию DNS, однако использует тот же механизм и протокол для работы, что и DNS-сервера.
Виды DNS-запросов
Прямой запрос
Прямой (forward) запрос — запрос на преобразование имени (символьного адреса) хоста в IP-адрес.
Обратный запрос
Обратный (reverse) запрос — запрос на преобразование IP-адреса в имя хоста.
Рекурсивный запрос
Рекурсивный запрос предполагает получение окончательного ответа от сервера, к которому он направлен. Рекурсию выполняет сервер.
Итеративный запрос
Итеративный запрос — предполагает (допускает) выполнение рекурсии клиентом.
View
Некоторые сервера поддерживают возможность работать в разных режимах для разных сегментов сети. В Bind этот режим называется view. Например, сервер может для локальных адресов (например, 10.0.0.0/8) отдавать локальные адреса серверов, для пользователей внешней сети — внешние адреса. Так же сервер может быть авторитативным для заданной зоны только для указанного диапазона адресов (например, в сети 10.0.0.0/8 сервер объявляет себя авторитативным за зону internal, при этом для внешних адресов в ответ на запрос имени из зоны internal будет отдаваться ответ «неизвестен»).
Используемые порты
Все DNS-сервера по стандарту RFC 1035 отвечают на 53 порту TCP и UDP. При отправке запросов ранние версии BIND использовали 53 порт, более новые ведут себя как DNS-клиенты, используя свободные незарегистрированные адреса.
Что такое DNS, принцип ее работы и как указать или сменить DNS сервера для домена
DNS — (Domain Names System) Система Доменных Имен — представляет собой сетевую службу, на серверах которой происходит сопоставление доменных имен с цифровыми значениями их IP адресов.
Рассмотрим подробнее что такое DNS как она устроена и работает
Интернет представляет собой IP сеть и каждому компьютеру в этой сети соответствует определенный персональный номер который и называется IP адрес. Но так как цифровую адресацию использовать не удобно, было принято решение использовать буквенное написание адресов. Поэтому заходя на любые сайты в сети интернет вы вводите не цифры, а буквы. Но проблема заключается в том, что компьютеры умеют воспринимать только цифровую информацию, т. е. последовательность единиц и нулей и абсолютно не умеют понимать буквенную информацию.
Именно поэтому в сети интернет была создана специальная служба, которая переводит буквенное написание адресов в цифры и называется эта служба DNS (Domain Name System).
Служба DNS представляет собой огромную базу данных которая содержит информацию о соответствии определенного доменного имени определенному IP адресу. Визуально ее можно изобразить так:
В интернете находится огромное количество доменных имен и с каждым днем их становится все больше, поэтому можете представить насколько огромна база данных этой службы. Хранить такое большое количество информации на одном сервере не резонно и практически не возможно.
Но так как сеть интернет состоит из подсетей было принято решение разбить эту базу данных и размещать определенный ее размер в каждой из подсетей. Где содержатся соответствия IP адресов доменным именам только для компьютеров входящих в данную подсеть.
Что такое NS сервер
Сервер который содержит всю информацию о соответствии доменных имен в конкретной подсети носит название NS сервер, расшифровывается как Name Server или именной сервер. Рассмотрим пример преобразования доменного имени в IP адрес на основе упрощенной сети.
Как вы видите в этой сети имеется компьютер с доменом alfa с IP адресом 192.55.11.25 и компьютер с доменам beta с IP адресом 192.55.11.26, ну и сам DNS сервер, который так же имеет соответствующий IP адрес. Теперь предположим ситуацию, что компьютеру beta нужно обратиться к компьютеру alfa, но он не знает его IP адреса только доменное имя. Однако он знает IP адрес DNS сервера к которому он и обращается, чтобы узнать IP адрес сервера alfa. NS сервер производит поиск в своей базе данных и найдя тот IP адрес, который соответствует доменному имени alfa передает его компьютеру beta. Компьютер beta получив IP адрес обращается по нему к компьютеру beta.
Как известно все доменные имена имеют свою иерархическую структуру и разбиты на доменные зоны .ru . com и другие. Подробнее смотрите в материале Виды доменов и доменных зон. Так вот в каждой доменной зоне есть свой NS сервер содержащий информацию о IP адресах тех доменов которые входят в определенную доменную зону. Таким образом эта огромная база данных разделена на менее объемные.
Настройка DNS
Каким образом можно изменить и указать DNS сервера для домена.
Для того, чтобы при вводе в адресную строку браузера адреса вашего сайта происходила его загрузка, нужно связать доменное имя сайта с хостингом. Чтобы это сделать мы должны сообщить в службу DNS к какому NS серверу нужно обращаться, чтобы тот в свою очередь посмотрел в своей базе данных и сообщил к какому серверу (хостингу) обратиться браузеру.
Запись DNS серверов выглядит следующим образом:
ns1.vashhosting.ru
ns2.vashhosting.ru
Найти эти адреса вы можете:
- в письме которое присылает вам хостинг провайдер сразу после заказа хостинга;
- в панели управления хостингом, например в разделе домены;
- обратившись в службу поддержки хостинга.
Теперь о том где их необходимо указать. Данные адреса DNS серверов необходимо указать тому домену который вы собираетесь использовать в качестве адреса вашего сайта. Поэтому идите на сайт того регистратора доменных имен где вы зарегистрировали свой домен. В управлении доменом найдите пункт DNS сервера или Управление DNS-серверами / Делегирование, название может отличаться в зависимости от регистратора. Например у регистратора доменных имен reg.ru, который я использую для регистрации своих доменов, необходимо перейти в раздел «Мои домены» >> отметить нужный домен и из вы выпадающего списка выбрать «Изменить DNS сервера».
После захода в данный раздел откроется форма в поля которой необходимо внести соответствующие DNS-сервера. Для этого в моем случае нужно снять галочку из пункта «Использовать имена регистратора» и далее в поле DNS1 указать ns1.vashhosting.ru, а вполе DNS2 указать ns2.vashhosting.ru. IP адреса можно не указывать поэтому некоторые хостинг-провайдеры их не выдают. После заполнения полей нажмите кнопку «Изменить».
После этого необходимо подождать некоторое время пока не произойдет сопоставление DNS серверов. Для этого может потребоваться от нескольких часов до целых суток. Поэтому сразу как только вы их укажете ваш сайт загружаться не будет.
Как указать свои DNS сервера для домена
Иногда необходимо указать свои DNS сервера, т. е. DNS сервера которые расположены в этом же домене. Услуга свои DNS сервера имеется практически на всех VPS / VDS предоставляемых хостинг провайдерами. В этом случае, например для данного сайта в качестве DNS-сервера указывается ns1.webmastermix.ru и ns2.webmastermix.ru.
При этом необходимо учитывать следующие моменты:
1. Если свои DNS сервера вы указываете для домена находящегося в зонах RU, SU, РФ, то обязательно необходимо указывать для каждого DNS сервера его IP адрес. При этом каждый указываемый IP адрес должен отличаться хотя бы на одну цифру, указывать одинаковые IP не допустимо.
2. Если те DNS сервера, которые вы указываете для своего доменного имени находятся в другом домене, например если для домена webmastermix.ru указать DNS сервера типа 1ns.vash-sait.ru или 2ns.vash-sait.ru, то указывать IP адреса не нужно.
3. Если вы указываете свои DNS сервера для международного домена, то эти DNS-сервера должны быть заранее зарегистрированы в международной базе NSI Registry. Указать их без регистрации в этой базе не возможно. При регистрации в NSI Registry вам необходимо будет ввести IP адреса для каждого DNS-сервера. Поэтому при указании DNS серверов для домена указывать IP адреса нет необходимости.
Прикрепляем IP адрес к домену
Чтобы прикрепить IP адрес к домену, необходимо зайти в настройку DNS записей. Как это сделать будет зависеть от панели управления хостингом. Например в ISPmanager нужно зайти в раздел «Доменные имена», далее кликнуть 2 раза по необходимому доменному имени и указать или отредактировать следующие три записи (чтобы создать запись кликните по иконке «Создать», чтобы изменить кликните по необходимой записи):
Для первой записи в поле «Имя» укажите www, в выпадающем списке «Тип» выберите A (адрес Internet v4), а в поле «Адрес» укажите необходимый IP адрес.
Для второй записи в поле «Имя» укажите @ (собака), в выпадающем списке «Тип» выберите A (адрес Internet v4), а в поле «Адрес» укажите необходимый IP адрес.
Для третьей записи в поле «Имя» укажите * (звездочка), в выпадающем списке «Тип» выберите A (адрес Internet v4), а в поле «Адрес» укажите необходимый IP адрес.
Видео: Как работает система DNS
Материал подготовлен проектом: WebMasterMix.ru
Рекомендуем ознакомиться:
- Подробности
Опубликовано: 19 Ноябрь 2013
Обновлено: 20 Ноябрь 2013
Просмотров: 39572
DNS-сервер на Windows 7: запуск, настройка и устранение возможных ошибок
Иногда пользователям требуется самостоятельно установить и настроить DNS-сервер на операционной системе Windows 7. Он может применяться в рабочих целях, для создания собственного сайта или по любым другим причинам. Windows 7 — это графическая операционная система (в отличие от Linux), интерфейс которой интуитивно понятен, и настроить DNS-сервер не составит большого труда даже для человека, не обладающего специальными навыками. Аналогично можно своими руками исправить возникающие ошибки, когда ДНС не отвечает, недоступен или не обнаружен.
Что такое DNS-сервер и для чего он нужен
DNS — это не что иное, как Domain Name System. Как следует из названия, это сервер, который выдаёт доменные имена IP-адресам в интернете. Все сайты имеют свой IP, другими словами, набор цифр, который позволяет компьютеру добраться до интернет-ресурсов (например, 192.168.11.231). Но при смене провайдера адрес меняется, как же пользователям узнать, где теперь находится их веб-портал? Для этого и нужен DNS-сервер, он выдаёт понятные человеку наименования вместо IP и позволяет вам достучаться до нужного адреса без знания набора цифр.
Итак, в один прекрасный момент вы решили, что вам нужно доменное имя для почты, личного сайта или FTP-сервера. Вам нужно будет установить и настроить ДНС-сервер, чтобы ваш хост смогли найти без сложного запоминания набора цифр.
Где найти и как включить ДНС на Windows 7
Пользователь, от имени которого будут выполняться все нижеперечисленные операции, должен обладать правами администратора компьютера.
- В меню «Пуск» вам первым делом понадобится зайти в «Панель управления».
Выберите «Панель управления»
- Если панель управления имеет сокращённый вид, то в пункте «Сеть и интернет» обратите внимание на «Просмотр состояния сети и задач». Если у вас по умолчанию отображаются все элементы панели управления единым списком, используйте «Центр управления сетями и общим доступом».
Выберите «Просмотр состояния сети и задач»
- В разделе «Просмотр активных сетей» найдите то подключение, благодаря которому вы имеете доступ к интернету (то, что стоит после «Подключения»), и нажмите на него.
Выберите подключение для
- Перед вами откроется новое окно, в котором отображаются все настройки выбранного подключения. Нажмите кнопку «Свойства».
Нажмите кнопку «Свойства»
- Среди отмеченных компонентов, которые используются подключением, найдите «Протокол Интернета версии 4 (TCP/IPv4)» или «Протокол Интернета версии 6 (TCP/IPv6)» и щёлкните по кнопке «Свойства».
Выберите «Свойства» для подходящего протокола
- Активируйте пункт «Использовать следующие адреса DNS-серверов» и наберите в текстовом поле адрес вашего сервера и дополнительный, если первый окажется неактивным.
Введите адрес вашего сервера и альтернативного
- После этого не забудьте нажать «Ок», чтобы ваши изменения сохранились.
Когда возникает необходимость менять
Обычно все пользуются DNS-сервером своего провайдера, но он не всегда обеспечивает хорошую скорость загрузки. К тому же такие механизмы часто не справляются с нагрузкой и «падают», тем самым ограничивая вам доступ во всемирную сеть. Такие бесплатные сервисы, как Яндекс.DNS или Google Public DNS помогут обойти эту проблему.
Это две крупнейшие компании, которые могут позволить себе качественное оборудование и справляются даже с большими нагрузками. Их серверы расположены в разных уголках нашей страны и мира. Благодаря этому, а также умному распределению запросов сигнал поступает на ближайший доступный сервер и страницы в интернете грузятся в несколько раз быстрее, чем у провайдера. Кроме того, такие сервисы имеют и множество других настроек: фильтрацию, родительский контроль, встроенный антивирус и пользовательский чёрный список.
В связи со введением новых законов в Российской Федерации провайдеры обязаны блокировать доступ к некоторым сайтам. Многим уже известны пути обхода этого ограничения, и один из них — это DNS-сервер. Закон не коснулся компаний, предоставляющих услуги по подключению ДНС, а это значит, что у них есть ещё одно преимущество перед провайдерами.
Как настроить или изменить
- Проделайте пункты 1–5 включения DNS.
- Вместо ввода IP-адресов (которые уже есть) нажмите на кнопку «Дополнительно».
Нажмите на кнопку «Дополнительно»
- В новом открывшемся окне «Дополнительные параметры TCP/IP» перейдите на вкладку DNS.
Перейдите на вкладку DNS и измените настройки сервера
- Измените настройки и нажмите «Ок», чтобы сохранить их.
На одном из этапов вы вводили адрес сервера и альтернативный. Это нужно потому, что доменные имена со всего мира не могут храниться в одном месте. Когда компьютер ищет среди DNS запрашиваемое имя, он обходит несколько серверов по порядку, который вы можете самостоятельно задать в текстовом поле «Адреса DNS-серверов в порядке использования». Здесь может быть не только два набора цифр, введённых изначально, но и несколько дополнительных.
DNS-суффиксы нужны для формирования внутренних сетей, поддоменных имён (например, subdomain.domain.com). Если сервер вам необходим только для подключения к интернету, то можно пропустить эту настройку и оставить её по умолчанию. Если вы пользуетесь, например, внутренней рабочей сетью, введите суффиксы её поддоменов в соответствующее поле.
Включённая настройка «Зарегистрировать адрес этого подключения в DNS» означает, что ваш компьютер будет зарегистрирован на сервере со своим адресом и именем устройства, прописанного в настройках. Узнать, как называется ваше устройство, можно в «Панели управления» в пункте «Система». Включённый пункт «Использовать DNS-суффикс подключения при регистрации в DNS» присоединит к имени вашего компьютера в сети дополнительный суффикс.
Как поменять DNS-сервер: необходимые настройки на видео
В каких случаях DNS может не отвечать и что надо делать
Служба DNS отключена
Возможно, DNS на вашем устройстве просто не работает. Нужно проверить настройки системных служб, для этого:
- В меню «Пуск» найдите «Панель управления».
- Выберите «Система и безопасность».
Выберите «Система и безопасность»
- В следующем окне нажмите на «Администрирование».
Нажмите на «Администрирование»
- Перед вами откроется список всех доступных программ, выберите «Службы».
Выберите «Службы»
- Найдите «DNS-клиент» и дважды щёлкните по нему мышкой.
Кликните на DNS-клиент
- Обратите внимание на «Тип запуска» — этот пункт должен иметь настройку «Автоматически».
DNS должен запускаться автоматически
- После изменения не забудьте сохранить, нажав «Ок».
Неисправность DNS-сервера
Если все необходимые службы включены, а DNS-сервер всё равно не отвечает, значит, он неисправен. В таком случае рекомендуется поменять его. Для этого нужно выполнить те же самые действия, что и при подключении сервера, но вместо старого адреса ввести новый.
Как исправить возможные ошибки сервера ДНС: видео
Что такое DHCP-сервер и чем он отличается от DNS
Во время настройки DNS-сервера вы часто сталкивались с аббревиатурой DHCP. Что это и для чего нужно?
DHCP расшифровывается как Dynamic Host Configuration Protocol. Это сетевой протокол, который автоматически выдаёт компьютерам в сети нужные IP-адреса и другие настройки. Например, администратор сети может задать диапазон, в котором должны находиться хосты. Это значительно ускоряет настройку большой компьютерной сети и позволяет избежать множества ошибок.
В отличие от DNS этот протокол работает исключительно с IP-адресами и их настройками. В совокупности эти службы представляют собой очень мощный сервис и значительно облегчают работу системным администраторам.
DNS-сервер нужен для хранения доменных имён различных IP-адресов в интернете. Его использование имеет множество преимуществ: ускорение загрузки, гибкие настройки, обход блокировки ресурсов. Наладить его работу в операционной системе Windows 7 вовсе не сложно. А практически любая проблема с подключением решается включением службы или сменой сервера.
Сервер DNS — это что такое? DNS Unlocker
Интернет представляет собой собрание локальных компьютерных сетей, которые располагаются во всех странах мира. Как правило, такие линии связи контактируют друг с другом, соблюдая единые правила, называемые протоколами. Такие условия принимаются всеми сторонами на добровольной основе, ведь еще не существует ни единого правительственного нормативного акта, который заставлял бы их использовать.
Что такое DNS?
DNS – это один из самых важных наборов правил. Название расшифровывается как «доменная система имен». DNS стоит воспринимать как распределенную базу данных, которая содержит информацию о девайсах сети: IP-адрес, сведения для маршрутизации почтовых сообщений, имя машины.

Самая первая доменная система для BSD-Unix появилась 30 лет назад. Berkley Internet Name Domain до сих пор продолжает входить в состав большинства Unix-систем.
DNS-сервер — что это?
Любой компьютер в сети Интернет носит статус клиента. Также он может параллельно играть роль сервера.
Когда существует необходимость ускорить процесс определения имен, на помощь приходит DNS-сервер. Что это такое, спросите вы?

DNS-сервер – это компьютер, на котором происходит преобразование символьных имен в IP-адреса, и наоборот.
В случае если компьютер – клиент, сетевые программы пользуются функцией gethostbyaddr для определения имени машины по ее сетевым контактным данным. Опция gethostbyname позволяет узнать IP-адрес устройства.
Если девайс используется в качестве DNS-сервера, то это свидетельствует о регистрации хотя бы одного домена на машине.
DNS-сервер отвечает на запросы привязанных к нему доменов и пересылает их при надобности к другим компьютерам из чужой зоны.
DNS-адреса в интернете
Исходя из того, что DNS – это доменная система имен, каждому компьютеру необходимо в ней идентифицироваться. Именно поэтому сетевым девайсам присваиваются собственные уникальные имена, которые состоят из букв, разделенных точками.
То есть DNS-адрес – это уникальная комбинация, состоящая из имени реального компьютера и контактных данных доменов.
Основные понятия Domain Name System
Структура DNS имеет вид древовидной иерархии, состоящей из доменов, зон, узлов и прочих элементов, о которых вы сейчас узнаете.

На вершине расположена корневая зона. Ее можно настраивать на различных зеркалах, которые содержат данные о серверах и отвечают за домен DNS. Это происходит на компьютерах, размещенных по всему миру.
Многочисленные серверы корневой зоны занимаются обработкой любых запросов, даже нерекурсивных. Мы уже не раз повторили это таинственное слово, а значит, пришло время объяснить, в чем заключается его суть.
Зоной можно назвать абсолютно любой участок древовидной системы доменных имен. Это цельный и неделимый сектор на карте. Выделение нескольких ветвей в одну зону позволяет делегировать ответственность за данную часть дерева другой организации или лицу.
Каждая область обязательно содержит такой компонент, как служба DNS. Это позволяет локально хранить данные, за которые приходится отвечать.

Что касается домена, то это всего лишь ветвь древовидной структуры DNS, частный узел, который имеет не одно устройство в подчинении.
В интернете есть огромное количество доменов, и все они, кроме корневого, подчиняются вышестоящим элементам.
Серверы DNS
Главный сервер DNS — это авторитетный компьютер. На нем хранятся все копии файла данных зоны, сопровождаемой администратором системы.
Вторичный сервер DNS — это один из главных компьютеров. Он копирует все файлы, хранящиеся на первичном сервере. Его главное отличие заключается в том, что данные приходят с главного сервера, а не с конфигурационных файлов зоны. Вторичный DNS-сервер может делиться информацией с остальными компьютерами такого же уровня. Любой запрос по хостам авторитетного сервера будет передан либо ему, либо главному устройству.

Количество вторичных серверов не ограничивается. Их может быть сколько угодно. Оповещения об изменении или расширении зоны поступают регулярно, но тут все зависит и от настроек, установленных администратором.
Трансфер зоны чаще всего осуществляется посредством копирования. Существует два механизма дублирования информации: полный и инкрементальный.
Кэширующий сервер DNS
Такие компьютеры не обладают авторитетными правами. В своей памяти они сберегают ответы на вопросы, которые были заданы ранее. Если же информацию не удается найти, приходится запрашивать данные у вышестоящего DNS-сервера.
DNS Unlocker — что это за программа?
Это дополнительный модуль, который часто прилагается при установке бесплатных программ. Он чрезвычайно вредит производительности и эффективности персонального компьютера.

Это программа, которая может разрушить систему либо привести ее к бездействию. Это вирус, который молниеносно распространяется по всему миру. После первого вторжения в систему DNS Unlocker начинает действовать в фоновом режиме, то есть незаметно для пользователей. Модуль постепенно устанавливает на компьютер вредоносные и опасные коды, которые приводят к возникновению угроз системы. Кроме этого, вирусный модуль автоматически отключает антивирус, чтобы ничто не смогло защитить важные файлы и документы, к которым медленно подбирается программа.
Как определить, что ваш компьютер заражен вредоносной программой
Каковы же признаки того, что ваш ПК инфицирован DNS Unlocker? Что это за программа, вы уже знаете. Приступим к изучению сигналов, которые свидетельствуют о том, что ваши данные под угрозой.
- Возникновение неизвестных окон. Если при работе с компьютером начали появляться всплывающие объявления, отнеситесь к проблеме серьезно. Это один из признаков того, что вашу систему заразил вирусный модуль.
- Упадок производительности ПК. В последнее время ваш ПК начал очень медленно выполнять стандартные действия, на которые раньше уходили секунды? Проверьте производительность машины. Если этот показатель стремительно упал, значит, пришло время проверять систему и удалять DNS Unlocker.
- Аварийная работа системы. Если в последнее время ваш компьютер начал очень часто зависать, это также может говорить о присутствии вирусного модуля.
- Перенаправление на другую веб-страницу. DNS Unlocker – это вирусный модуль, который может изменить настройки браузеров. Это проявляется в перенаправлении на другие ресурсы. Также может измениться вид домашней страницы и поисковая система, установленная по умолчанию.
- Новые значки. На вашем рабочем столе могут появиться неизвестные ярлыки, содержащие ссылки на вредоносные и опасные веб-сайты.
- Аппаратные споры. Этот случай характеризуется отключением принтера и других устройств без вашего непосредственного вмешательства. Вы можете выбирать одни настройки, а компьютер будет реагировать на ваши команды совсем иначе либо вовсе не отвечать на них. Такая ситуация также может говорить о зараженности системы.
- Отсутствие важных файлов. Во время работы с приложениями ваша система может сообщать о критической ошибке – отсутствии важных данных. Вполне вероятно, что это следствие работы вирусного модуля. Внедрившись в систему, он способен залезть в ее настройки и удалить важные файлы, без которых корректная работа приложений становится невозможной.
Опасное воздействие DNS Unlocker на операционную систему Windows
- Вредоносное дополнение может изменить настройки браузера, привычные для вас. Речь идет о поисковой системе, что используется по умолчанию, домашней странице, всевозможных переадресациях на опасные сторонние ресурсы.
- Открыв браузер, вместо последних вкладок вы увидите незнакомую веб-страницу.
- Различные всплывающие окна и информационные сообщения будут мешать рабочему процессу. А переход по ссылкам из них – это дополнительная угроза для вашего компьютера.
- Ярлык «Мой компьютер» заменяется другим значком со ссылкой на посторонний вредоносный ресурс.
- Внедрившись в систему, вирус делает ее уязвимой, размещая подставные системные утилиты и панели инструментов.
- Поисковая система браузера начинает выдавать недостоверные результаты, а это сильно навредит, особенно если дело касается поиска официальной информации.
- DNS Unlocker изменяет стандартные настройки ОС, а также отключает диспетчер задач.
- Приложения начинают очень медленно работать и лишь периодически реагировать на запросы пользователя.
- Как и большинство вирусов, DNS Unlocker доберется до ваших конфиденциальных данных: имени, паролей. Также программа вскроет все ваши фотографии и личные файлы.
- Некоторые пользователи утверждают, что вредоносный модуль способен заблокировать доступ к рабочему столу и потребовать плату за его открытие.
- Вполне логично, что DNS Unlocker блокирует антивирусы, ведь ему хочется как можно больше времени оставаться незамеченным и распространять опасный код.

Поэтому очень важно выявить вредоносный модуль и как можно раньше его удалить. Только такая радикальная мера спасет ваш компьютер от потери важных данных.