Любой сайт в интернете фактически находится на каком-либо устройстве. Отдельный компьютер, подключенный к интернету, имеет индивидуальный номер, который называется IP-адресом. Он представляет собой набор из четырех чисел от 0 до 255. Благодаря этому адресу можно узнать, откуда загружается страница нужного нам ресурса.

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

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

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

Система доменных имен действует посредством DNS-сервера, который нужен для выполнения двух основных функций:

  • хранения данных о соответствии имени домена конкретному IP-адресу,
  • кэширования ресурсных записей прочих DNS-серверов.

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

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

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

Рассмотрим поэтапно функционирование приложений, предназначенных для ответа на DNS-запросы:

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

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

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

Фундаментом для обработки запросов о доменных именах являются корневые серверы, отвечающие за корневую DNS-зону. Ими руководят разные операторы, которые обеспечивают бесперебойное функционирование серверов. Первые корневые серверы появились в Северной Америке, но с течением времени они стали появляться в других странах мира. На сегодня существует 123 корневых сервера, которые располагаются в разных точках мира (в зависимости от интенсивности пользования всемирной паутиной).

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

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

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

  • А - адрес веб-ресурса, который соответствует введенному имени домена.
  • MX - адрес почтового сервера.
  • CNAME - указание привязки аналога к собственному доменному имени. Чаще всего используется для прикрепления поддомена. Например, можно привязать веб-адрес www.example.com к фактическому сайту для домена example.com.
  • NS - адрес DNS-сервера, отвечающего за содержание прочих ресурсных записей.
  • TXT - любая текстовая информация о домене.
  • SPF - данные с указанием списка серверов, которым позволено отправлять письма от имени указанного домена.
  • SOA - исходная запись зоны, в которой указаны сведения о сервере, содержащем образцовую информацию о доменном имени.

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

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

Зачастую такие серверы прописывают парами. У каждого домена существует один первичный и до 12 вторичных серверов. Это нужно для обеспечения надежности работы сайта. Если один из них полетит, то домен и ресурс будут функционировать.

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

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

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

Существует несколько схем, настройка которых позволит защитить DNS-сервер от атак хакеров:

  • Использование технологии uRPF (Unicast Reverse Path Forwarding). Суть состоит в том, чтобы определить возможность принятия пакета с конкретным адресом отправителя на указанном устройстве для передачи данных. Пакет проходит проверку и принимается в том случае, когда сетевой интерфейс, с которого он получен, предназначен для обмена информацией с адресатом данного пакета. В обратной ситуации пакет будет отброшен. Этот способ помогает выявить и частично отобрать фальшивый трафик, но не гарантирует надежную защиту от фальсификации. uRPF полагает, что данные отправляются на определенный адрес через неизменный интерфейс. Ситуация усложняется, если появляется несколько провайдеров.
  • Применение функции IP Source Guard. В ее основе лежит технология uRPF и проверка DHCP-пакетов. IP Source Guard отслеживает DHCP-трафик в интернете и выясняет, какие IP-адреса получили сетевые устройства. Это позволяет выявить поддельный трафик на некоторых портах установки. После этого данные собираются и записываются в общую таблицу итогов проверки DHCP-пакетов. В дальнейшем IP Source Guard обращается к этой таблице, чтобы осуществить проверку пакетов, полученных коммутатором. Если IP-адрес пакета не совпадает с адресом источника, то пакет откладывается.
  • Использование утилиты dns-validator. Эта программа контролирует передачу всех пакетов DNS, соотносит запрос с ответом и в случае расхождения названий отправляет уведомление пользователю.

Вывод

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

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

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