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