DNS-сервер — это компьютер, который входит в систему доменных имен (Domain Name System, DNS) интернета, и чьими основными функциями являются хранение и предоставление по запросу информации об IP-адресах устройств. На DNS-серверах работает специальное программное обеспечение, позволяющее им принимать, обрабатывать и отправлять запросы внутри DNS. Такие серверы содержат в себе данные о том, каким числовым адресам (айпи) соответствуют запрашиваемые пользователем символьные имена сайтов (домены), или указывают на другие ДНС-серверы, обладающие искомыми сведениями. В статье мы расскажем, что такое DNS, простыми словами и подробно объясним, в чем заключается суть их работы.

Что такое DNS-сервер.

Для чего нужны DNS-серверы

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

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

Каждый сайт — это просто набор файлов, и располагается он на конкретном устройстве (сервере), подключенном к глобальной сети. Чтобы вы смогли открыть веб-ресурс на своем ПК или смартфоне, ваш браузер должен отправить запрос на это конкретное устройство, поскольку только на нем имеется нужная информация. Но для этого веб-браузеру нужно знать его айпи-адрес — последовательность из четырех чисел, разделенных точками: например, 203.45.16.132. Каждое число может иметь значение от 0 до 255, что дает свыше 4-х млрд вариантов. Очевидно, угадывать и тем более хранить IP-адреса всех сайтов в памяти пользовательский гаджет не сможет. Но это и не требуется, ведь существует DNS, которая выполняет функцию телефонного справочника.

Доменные имена (domains names) — это символьные адреса веб-ресурсов (как ihc.ru), они существуют в качестве понятной человеку альтернативы цифровым. По факту, это просто обозначения айпи-адресов, запомнить которые гораздо легче, чем хаотичный (с виду) порядок цифр. Таким же образом работает книга контактов в вашем смартфоне: вы не запоминаете номера телефонов, чтобы кому-то позвонить, а просто выбираете имя из списка. Для сайтов тоже существуют подобные списки. Таблицы соответствий, где прописано, на каком IP расположен домен, хранятся на DNS-серверах. Благодаря им наши устройства могут узнать, куда направлять запрос, чтобы получить доступ к сайту.

Домен ИХЦ.

Как работают DNS-серверы

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

  1. Итак, вы указали доменное имя. Пусть это будет «ihc.ru». Теперь браузеру нужно отправить запрос на сервер, где размещен данный сайт. Прежде чем это сделать, он проверяет hosts — файл настроек ДНС, хранящийся на локальном компьютере. Если в нем есть запись о соответствии «ihc.ru» какому-либо IP-адресу, браузер обращается на указанный адрес и получает ответ в виде файлов, которые и открываются на вашем экране. Если такая запись отсутствует, он формирует DNS-запрос для сервера интернет-провайдера. Здесь его можно интерпретировать как «Дай мне айпи-адрес этого сайта, если знаешь, или спроси у других».
  2. DNS-сервер провайдера также сначала ищет информацию у себя в кэше — сохраненных соответствиях, которые запрашивали ранее. Нашел — возвращает браузеру, и тот повторяет операцию с получением файлов. Не нашел — перенаправляет запрос на корневой сервер ДНС. Поскольку тот владеет лишь общими сведениями — о расположении нижестоящих узлов системы, — в данном случае ДНС-запрос — это «просьба» предоставить IP-адрес ДНС-сервера, ответственного за определенную доменную зону (в нашем примере это «.ru»).
  3. Получив ответ, сервер интернет-провайдера снова отправляет запрос, но теперь на DNS-сервер зоны .ru. На этом участке сети размещены айпи-адреса ДНС-серверов для всех доменов в зоне .ru (names servers), но не адреса самих доменов. Поэтому он отвечает провайдеру что-то вроде «Вот IP-адрес, там должна быть информация, которую ты ищешь».
  4. Наконец, провайдерский ДНС-сервер посылает последний запрос — к доменному серверу «ihc.ru». У нас это ns1.ihc.ru (или ns2). На нем располагаются айпи-адреса нашего хостинга и клиентских сайтов. В ответ на DNS-запрос name server отдает адрес домена, сервер провайдера также возвращает его браузеру, и тот направляет запрос на нужное устройство. Вы видите на экране главную страницу ИХЦ, а ДНС-сервер провайдера и ваш веб-браузер сохраняют полученную информацию в своих кэшах. При следующем обращении к нашему сайту они смогут сразу определить нужный айпишник.

Все эти операции производятся машинами за секунды — даже если они находятся друг от друга в тысячах километров. Об этом мы тоже поговорим.

Где находятся DNS-серверы

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

Больше всего корневых ДНС расположено в Северной Америке — там они появились изначально, а затем были реплицированы на другие континенты. На втором месте по объему стоит Европа, также реплики имеются в разных странах Южной Америки, Центральной и Юго-Восточной Азии, Африки, в Австралии.

В России они размещены в шести городах:

  • Москве;
  • Санкт-Петербурге;
  • Ростове-на-Дону;
  • Екатеринбурге;
  • Новосибирске;
  • Красноярске.

Типы записей DNS-сервера

Информация на DNS-сервере хранится в виде файлов, где указано соответствие буквенного адреса числовому. Но бывают ситуации, когда к одному домену привязано несколько айпи-адресов: например, сайт и почтовый сервер. Для этого в DNS прописываются дополнительные сведения. Вместе это называется ресурсной записью (resource record).

Типы DNS-записей могут быть разными, мы перечислим основные:

  • A — IPv4-адрес сервера, на котором хранится ресурс, привязанный к доменному имени;
  • AAA — IPv6-адрес, если используется шестая версия интернет-протокола;
  • MX — буквенный адрес почтового сервера с указанием приоритета, если нужно;
  • CNAME — синонимичное имя домена, здесь чаще всего указываются поддомены или зеркала сайта;
  • NS — указывает на ДНС-серверы, где хранятся другие ресурсные записи о домене;
  • TXT — любая текстовая информация о доменном имени;
  • SPF — список серверов, которым разрешено отправлять письма от имени домена; позволяет обезопасить его от неправомерного использования;
  • SOA — начальная запись зоны, указывающая на сервер, который хранит эталонную информацию о домене.

Защита DNS-серверов от атак

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

  1. DDoS-атаки, задачей которых является исчерпание вычислительных мощностей сервера. Это делается, чтобы навредить определенным веб-ресурсам, ведь если ответственный за них ДНС-сервер «упадет», сайт останется недоступен.
  2. Взлом с использованием уязвимостей. В этом случае задача — подменить DNS-запись на ложную, чтобы сервер выдавал пользователям подставные адреса, ведущие на вредоносные веб-сайты.
Защита DNS-серверов.

Операторы ДНС-серверов постоянно улучшают их безопасность. В качестве мер защиты используют криптографические ключи для ответов на запросы, проверки пакетов на предмет подделки трафика или при помощи отслеживания DHCP-трафика, а также проверка соответствия ответа запросу и пр. На рынке также представлены программные решения для комплексной защиты.

Кроме того, для обеспечения безопасности рекомендуется:

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

Что такое DNS-зоны

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

DNS-зоной называется совокупность сведений о домене, те самые resource records, о которых мы говорили. Простыми словами, это адреса, поддомены, настройки и прочие данные, относящиеся к одному доменному имени. За одну такую зону, как правило, отвечают не менее двух ДНС-серверов.

Заключение

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