Все статьи

Что такое DNS-сервер, для чего нужен и как работает

21 авг 20231870

Серверы «общаются» между собой по числовым IP-адресам. Пользователям такая система неудобна и не информативна. Чтобы упростить обозначение ресурсов, хостов и серверов в сети, были придуманы доменные имена. Система из DNS-серверов позволяет распознавать ресурсы и получать к ним доступ, используя текстовые названия — домены. Как это происходит — узнайте подробно в нашем материале.

Что такое DNS-сервер и для чего он нужен

DNS расшифровывается как Domain Name System — система доменных имен, связывающая текстовые названия ресурсов с их числовыми IP-адресами. Раньше активно использовался протокол IP версии 4, в котором адреса представляют собой набор из четырех чисел от 0 до 255. В шестой версии уже целых восемь шестнадцатеричных чисел, запомнить которые пользователю просто нереально.

Система DNS призвана хранить данные о соответствии более понятных доменных имен и IP-адресов, чтобы люди могли получать доступ к нужным ресурсам и сайтам — хостам в сети. Обеспечивается это за счет DNS-серверов.

Хост — это устройство, подключенное к сети с помощью определенного интерфейса. В частности, любой компьютер в сети интернет.

В данном случае DNS — это еще и Domain Name Server, то есть сервер доменных имен. По своей сути это программа, которая отвечает на запросы и выдает по доменному имени нужный IP-адрес хоста в сети. Если под эту работу выделен целый аппаратный модуль, то он также называется DNS-сервером.

Простая схема прохождения DNS-запросов к сайтам через сервер

На устройстве пользователя формируется запрос к определенному сайту — чаще всего по доменному имени. Запрос может выполняться из браузера (открыть сайт), приложения (загрузить данные с сервера) или с самого компьютера (определить себя в сети).

Сначала домен ищется в файле hosts на устройстве, этот файл для системы является приоритетным в обращении к хостам. Если адреса там нет, то запрос поступает на DNS-сервер, доступ к которому выдается провайдером или автоматически, или назначается вручную.

На сервере также происходит поиск, и если найдено соответствие домена и IP-адреса, то запрос отправляется дальше по IP, проходит еще сколько-то устройств маршрутизации, и наконец попадает на нужный сайт, который и выдает пользователю соответствующий ответ.

DNS-серверов в интернете великое множество, поэтому если первый из них не смог определить адрес хоста, то он может «запрашивать помощь» у других — вся система взаимосвязана.

Принцип работы DNS-серверов

Каждый DNS-сервер содержит в себе специальную базу данных, в которой прописаны соответствия текстовых доменных имен и IP-адресов хостов в интернете. В каждой сети чаще всего есть свой локальный DNS-сервер, который первым делом пытается ответить на запрос.

У каждого сервера есть свой уровень. Если у локального не получается найти данные в своей базе, то запрос перенаправляется на сервер более высокого уровня или корневой DNS. Если данные не нашлись и там, запрос отправляется на сервер первого, затем второго уровня и так далее, пока ответ не будет получен.

Иногда происходит обратная работа, то есть DNS-сервер ищет домен по IP и выдает его пользователю, например при работе электронной почты.

Схема отправки запросов DNS

Обратите внимание, что DNS нужен для первого обращения к искомому ресурсу, в дальнейшем доступ к нему будет осуществляться по IP-адресу.

Есть разные типы DNS-серверов:

  • Серверы провайдера часто используют кэш, т. е. являются кэширующими. Это значит, что они сохраняют уже найденные соответствия адресов для быстрой выдачи их по запросу пользователя. Если связка не сработала, запрос будет отправлен дальше.
  • Корневые DNS-серверы хранят информацию о DNS-серверах доменной зоны, например «.ru», они направляют запрос дальше по IP-адресу нужной зоны.
  • DNS-серверы зоны в базе содержат данные о всех доменах своей зоны. Они выдают IP-адрес DNS-сервера домена.
  • DNS-сервер домена выдает IP-адрес конкретного домена. Адрес сохраняется в кэше провайдера для дальнейшего быстрого доступа.

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

Где располагаются DNS-сервера?

Корневые сервера или «точки» (поскольку они обеспечивают доступ к наивысшему уровню иерархии, обозначаемому точкой – .ru, .com и т. п.) управляются 12 различными международными организациями. Всего этих серверов 13.

Система управления построена таким образом, чтобы ни у одной из сторон не было возможности единоличного управления всем пространством имен. Корректирует совместную работу «Корпорация по управлению доменными именами и IP-адресами» ICANN. Это независимая международная структура, решающая вопросы глобальной работы с доменами, IP-адресами и сетями.

Корневой DNS-сервер — это не отдельный компьютер или устройство, а распределенная структура, различные инстанции которой доступны из разных частей мира. На сегодняшний день насчитывается 123 таких инстанции.

Географическое расположение корневых серверов и их инстанций в мире на 2006 год

Сервера зоны располагаются по всему миру в крупных дата-центрах. Логично, что основные управляющие мощности располагаются в стране, которой отведена доменная зона.

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

У интернет-провайдера обычно есть свой сервер DNS, в основном кэширующего типа.

Наконец, свой собственный DNS-сервер может создать и поддерживать любой желающий. Вы можете поддерживать на нем свой домен или же настроить кэш, чтобы ускорять работу компьютеров в локальной сети.

Какие существуют DNS-записи?

Чтобы описать домен в системе DNS, используются т. н. ресурсные записи. Основные из них — записи А, CNAME, MX, TXT и NS.

  • Запись А. Является самой главной, без нее получить доступ к домену не получится. Устанавливает соответствие доменного имени и IP-адреса сайта. Как задается:
  • Имя (Name) Тип (Type) Значение (Value)
    mts.ru A 178.248.238.27
    cloud.mts.ru A 178.248.235.135
  • Запись CNAME. Привязывает поддомены к основному сайту. Чаще всего это WWW. Как задается:
  • Имя (Name) Тип (Type) Значение (Value)
    www.mts.ru CNAME mts.ru

    В данном случае запись говорит о том, что домен www.mts.ru будет доступен с того же IP-адреса, что и mts.ru

  • Запись MX. Привязывает почтовый сервер к домену. С ее помощью отправитель будет знать, на какой почтовый сервер отправлять почту для указанного домена. Как задается:
  • Имя (Name) Тип (Type) Приоритет (Priority) Значение (Value)
    mts.ru MX 10 mail1.mts.ru
    mts.ru MX 20 mail2.mts.ru

    Для одного домена может быть задано несколько почтовых серверов, DNS-сервер выбирает их по приоритету. Если приоритетный почтовик недоступен, запрос отправляется к следующему в списке. 

  • Запись TXT. Позволяет хранить текстовую информацию, привязанную к домену. Сюда, например, добавляют сертификаты подтверждения прав на домен и т. п. данные. Запись имеет только тип и значение (Value).
  • Запись NS. Определяет DNS-серверы, которые должны передавать записи указанного домена. Обычно используются две таких записи, в которых хранятся дочерние серверы, например ns1.mts.ru и ns2.mts.ru. 

Владелец нового сайта покупает доменное имя и настраивает записи для него на сайте хостера или провайдера доменных имен. При этом DNS-сервера обычно назначаются провайдером автоматически, но если домен поддерживается другой организацией, то можно сменить NS-записи для него.

Зачем прописывать DNS-сервер?

Ресурсные записи обязательно необходимо прописать после регистрации домена, чтобы сообщить о нем другим DNS-серверам. Если этого не сделать, то сайт не будет открываться браузером.

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

Наиболее популярные зоны — «.com» и «.org» сегодня могут использоваться любым желающим, если конечно доменные имена следующего уровня не принадлежат кому-то еще. В этом случае можно выкупать имя у его текущего владельца.

Доменное имя из доменов разного уровня

Кроме международной национальной зоны, например «.ru», есть и локальные национальные зоны, которые всецело пропагандирует корпорация ICANN, считая их развитие шагом к появлению действительно глобального интернета. Для России это зона «.рф».

Если сайт создается на стороннем хостинге (сервере, который хранит файлы и рабочие алгоритмы сайта), то хостер предоставляет в пользование владельца уникальный IP-адрес для доступа. Для размещения сайта на собственных серверах владельцу нужен выделенный IP для доступа к ресурсу через сеть.

Чтобы у сайта было доменное имя, его нужно сначала приобрести, а затем как раз прописать DNS-серверы, чтобы доступ к ресурсу был удобным для всех пользователей.

Приобретая домен у регистратора, владелец сайта получает доступ к панели управления зоной, где проводится настройка ресурсных записей доменного имени. Здесь, путем привязки записей типа А, задается связь домена и IP-адреса сервера. А NS-записи помогают DNS-серверам в интернете находить адрес домена и сообщать его всем желающим.

Если же мы говорим о доступе к DNS на компьютере интернет-пользователя, то настройка серверов осуществляется в параметрах сетевого адаптера.

iСвойства сетевого адаптера в Windows для автоматического подключения

В настройках для Windows выше можно увидеть, что адрес DNS-сервера выдан пользователю автоматически, поскольку он также использует автонастройку сетей через DHCP (сетевой протокол, автоматически настраивающий подключение).

Этот адрес совпадает с адресом маршрутизатора провайдера, к которому идет подключение компьютера. Таким образом, уже на сетевом оборудовании в непосредственной близости к пользователю можно поднять и настроить DNS, чтобы ускорять перевод доменных имен в IP-адреса.

Если же настройки сетевого подключения настраиваются вручную, то DNS-сервер должен иметь IP-адрес, по которому будет определен. У каждого провайдера интернет-услуг такой сервер имеется и используется для прописывания сетевых параметров подключенных абонентов. 

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

Без системы доменных имен и DNS-серверов в частности, интернет был бы безликим и отнюдь не таким удобным. Но сегодня даже самый простой сайт подключен к глобальной системе, поддерживаемой мировыми корпорациями и международными организациями. Пока такая схема взаимодействия работает, мы сможем получать доступ к любой интересующей нас информации.