Что такое DNS и как работает система доменных имен

Что такое DNS и как работает система доменных имен

Виктория Филева
Виктория Филева Младший системный администратор
10 декабря 2025

Как устроена система доменных имен, какие бывают ресурсные записи, как происходит обработка запросов и почему защита DNS-инфраструктуры так важна.

Изображение записи

Когда пользователь вводит адрес вроде www.selectel.ru в строке браузера, кажется, что соединение с сайтом происходит мгновенно и напрямую. Но на практике за этим стоит многошаговый процесс, в котором участвует распределенная система доменных имен (DNS).

Эта система — один из базовых компонентов сетевой инфраструктуры. Без нее интернет перестал бы существовать в привычном виде: вместо коротких и понятных доменных имен нам пришлось бы использовать длинные IP-адреса. 

Что такое DNS

DNS (Domain Name System) — это распределенная иерархическая система, которая преобразует доменные имена в IP-адреса и тем самым обеспечивает доступ к ресурсам в интернете. Проще говоря, DNS выполняет функцию «телефонной книги» для сети: вместо длинных цифровых адресов серверов, пользователю достаточно ввести доменное имя — система автоматически найдет соответствующий IP-адрес.

Схема: как DNS помогает пользователю оказаться на сайте.
Как DNS помогает пользователю оказаться на сайте.

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

Зачем нужна DNS

DNS решает несколько фундаментальных задач. 

  • Удобство. Людям проще запомнить адрес selectel.ru, чем 85.119.149.3.
  • Абстракция. DNS отделяет адрес сервера от доменного имени: инфраструктуру можно перестраивать, переносить сервисы или менять IP-адреса. При этом само доменное имя остается тем же.
  • Балансировка. Администратор может назначить несколько адресов для одного домена — например, через несколько A-записей.
  • Масштабируемость. Иерархическая структура позволяет распределять управление зонами.
  • Безопасность. DNS может работать с цифровыми подписями (DNSSEC) и механизмами фильтрации запросов.

Как работает DNS

Представим, что пользователь вводит адрес selectel.ru. На первый взгляд кажется, что браузер просто «открывает сайт», но на самом деле происходит сложная цепочка действий.

  1. DNS-клиент на компьютере или роутере формирует запрос для домена selectel.ru.
  2. Запрос отправляется на рекурсивный DNS-сервер провайдера или корпоративной сети.
  3. Сервер проверяет локальный кэш. Если запись найдена — возвращает ее сразу. Если нет, начинается поиск по иерархии.
  4. Сервер обращается к корневым DNS-серверам, которые знают, какие серверы управляют доменами верхнего уровня (например, .ru). Затем он обращается к TLD-серверам зоны .ru и, наконец, к авторитетному серверу домена selectel.ru, где хранится нужная запись.
  5. Рекурсивный сервер получает IP-адрес — например, 85.119.149.3 — и передает его клиенту.
  6. Браузер устанавливает соединение по TCP/IP и загружает страницу.

Из чего состоит система

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

Корневой уровень

На вершине иерархии находятся корневые DNS-серверы — это группа из 13 логических серверов, обозначенных буквами от A до M. Они хранят сведения о том, какие серверы отвечают за домены верхнего уровня (TLD). Когда рекурсивный сервер обращается к корневому, последний не сообщает сам IP-адрес искомого домена, а указывает, к каким TLD-серверам нужно обратиться дальше. Например, при запросе selectel.ru корневой сервер направит запрос к серверам зоны .ru.

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

Домены верхнего уровня (TLD)

Следующий уровень — серверы доменов верхнего уровня, например .com, .org, .ru, .net. Они управляют всеми доменами внутри соответствующих TLD-зон и «знают», какие авторитетные серверы обслуживают конкретный домен.

Когда рекурсивный сервер получает указание от корневого уровня, он обращается к конкретному TLD-серверу. Тот, в свою очередь, указывает, где находятся авторитетные серверы домена — например, для selectel.ru это будут NS-записи, которые содержат адреса серверов, отвечающих за зону. Как и корневые, TLD-серверы распределены глобально и используют Anycast-топологию для стабильной работы и быстрого отклика.

Структура доменного имени admin.blog.selectel.ru.
Структура доменного имени.

Подробнее об уровнях доменов мы рассказывали в отдельном тексте, поэтому остановимся на ключевых аспектах.

Авторитетные DNS-серверы

Авторитетные серверы — это серверы, которые хранят точные данные о домене в виде ресурсных записей: A, AAAA, MX, NS, CNAME, TXT, SOA и других. Именно они дают окончательный ответ на запрос: возвращают IP-адрес, почтовый сервер, параметры зоны или другую информацию.

Например, авторитетный сервер зоны selectel.ru хранит запись A с адресом 85.119.149.3 и соответствующие MX-записи для почтовых сервисов. Для одного домена обычно есть несколько авторитетных серверов — это обеспечивает резервирование и распределение нагрузки.

Рекурсивные резолверы

Рекурсивные DNS-серверы (резолверы) работают как посредники между пользователем и всей DNS-иерархией. Их задача — найти нужную запись, если ее нет в локальном кэше. Для этого резолвер поочередно обращается к корневым серверам, серверам TLD и авторитетным серверам, собирая итоговый ответ и возвращая его клиенту.

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

Клиенты (stub-резолверы)

Stub-резолверы — это минимальные DNS-клиенты, встроенные в операционные системы, роутеры и мобильные устройства. Они формируют DNS-запрос и передают его на рекурсивный сервер, которому доверяют всю дальнейшую работу.

Например, когда пользователь вводит selectel.ru в браузере, stub-резолвер отправляет запрос на локальный резолвер или DNS-сервер провайдера. Сам он сложный поиск не выполняет — этим занимается рекурсивный сервер.

Как взаимодействуют уровни

  1. Пользователь вводит доменное имя в браузере.
  2. Stub-резолвер отправляет запрос на рекурсивный сервер.
  3. Рекурсивный сервер проверяет кэш и, при необходимости, обращается к корневому серверу.
  4. Корневой сервер указывает TLD-сервер.
  5. TLD-сервер направляет к авторитетному серверу.
  6. Авторитетный сервер возвращает точный IP-адрес.
  7. Рекурсивный сервер кэширует результат и передает его пользователю.

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

Ключевые понятия системы доменных имен

Домен и поддомены

Домен — это символьное имя, которое идентифицирует ресурс в DNS-иерархии. Он состоит из уровней, разделенных точками — например, www.sub.example.com, где example.com — домен второго уровня, sub.example.com — поддомен, а www — хост.

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

IP-адрес

IP-адрес — уникальный идентификатор узла сети, который обладает форматом IPv4 (192.168.0.1) или IPv6 (2001:db8::1). DNS служит прослойкой между человеком и машиной: пользователь работает с доменным именем, а браузер — с IP-адресом.

Зона и файл зоны

Зона DNS — это часть пространства имен, за которую отвечает конкретный администратор или сервер. Она включает один или несколько доменов. Данные зоны хранятся в файле зоны, где перечислены все ресурсные записи (Resource Records), определяющие поведение домена.

Пример фрагмента зоны:


      @     IN  SOA   ns1.example.com. admin.example.com. (
              2025111301 ; serial
              3600       ; refresh
              600        ; retry
              1209600    ; expire
              86400 )    ; minimum
@     IN  NS    ns1.example.com.
@     IN  A     93.184.216.34
www   IN  CNAME example.com.

DNS-сервер

DNS-сервер — это узел, который хранит DNS-записи и отвечает на запросы. В «DNS-экосистеме» существуют разные роли:

  • корневые — находятся на верхнем уровне и направляют запросы к TLD-сервером;
  • TLD-серверы — управляют доменами верхнего уровня;
  • авторитетные — хранят точные данные о конкретной зоне;
  • рекурсивные (резолверы) — принимают запросы от клиентов и выполняют поиск результата по всей цепочке.

DNS-запрос

DNS-запрос — это сетевой пакет, который содержит доменное имя, тип записи (например, A, AAAA, MX) и параметры запроса. Он бывает двух видов:

  • рекурсивный — сервер сам ищет ответ по всей цепочке;
  • итеративный — сервер лишь указывает следующего участника цепочки, который может знать ответ.

Делегирование

Делегирование — это процесс передачи управления поддоменом другому серверу или команде. Например, владелец example.com может передать управление dev.example.com независимой группе разработчиков. Для этого в зоне добавляют NS-записи, указывающие на авторитетные серверы поддомена.

Корневые DNS-серверы

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

Корневые серверы запускают цепочку разрешения имен. Они не содержат данных о доменах второго уровня (например, selectel.ru), а направляют рекурсивные серверы к соответствующим TLD-серверам — таким как .ru, .com, .org.

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

Корневые серверы также обеспечивают устойчивость и масштабируемость глобальной DNS-системы. Благодаря технологии Anycast один и тот же IP обслуживается множеством физических серверов. Это снижает задержки и равномерно распределяет нагрузку: запрос из Москвы и запрос из Нью-Йорка обрабатываются разными узлами, но через один IP-адрес группы.

Корневые серверы — фундамент DNS. Без них рекурсивные серверы не смогли бы определить, куда отправлять запросы, а сама система разрешения имен стала бы хаотичной и ненадежной. Распределенная архитектура позволяет DNS стабильно работать даже при выходе из строя отдельных узлов или при резких нагрузках.

Дополнительные особенности

  • Корневые серверы обрабатывают миллиарды запросов в день, поэтому их производительность и отказоустойчивость критически важны.
  • Они поддерживают современные механизмы безопасности, включая DNSSEC, чтобы пользователи получали проверенные ответы.
  • Anycast помогает сохранять доступность даже в условиях DDoS-атак или сбоев части инфраструктуры.

Типы записей DNS

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

A-запись сопоставляет доменное имя с IPv4-адресом. Например, запись selectel.com. IN A 85.119.149.3 связывает укказанные домен и IP-адрес. Такие записи браузер использует для установления TCP/IP-соединений.

AAAA-запись выполняет ту же функцию, но для адресов IPv6 — например, example.com. IN AAAA 2606:2800:220:1:248:1893:25c8:1946. Поддержка AAAA-записей важна для современных сетей, где все больше трафика переходит на IPv6.

CNAME-запись создает псевдоним доменного имени. Если www.example.com указывает на example.com через CNAME, то все запросы к поддомену автоматически перенаправляются на основной домен. Это упрощает управление: IP-адрес меняется в одном месте, а не во всех связанных поддоменах.

MX-запись определяет почтовые серверы домена и задает их приоритеты. Например, запись example.com. IN MX 10 mail.example.com. направляет входящую почту на сервер mail.example.com. Приоритеты позволяют создавать резервные маршруты доставки.

NS-запись указывает, какие DNS-серверы являются авторитетными для зоны. Запись example.com. IN NS ns1.example.com. сообщает, что именно этот сервер содержит достоверные данные о домене. NS-записи используются при делегировании зон и формируют цепочку поиска.

TXT-запись хранит произвольные текстовые данные. На практике их чаще всего используют для SPF, DKIM, DMARC и других механизмов безопасности. Например, запись v=spf1 include:_spf.example.com ~all определяет, какие серверы могут отправлять почту от имени домена. Эти записи не влияют на маршрутизацию, но критически важны для защиты от спама и фишинга.

PTR-запись применяется в обратной зоне и связывает IP-адрес с доменным именем. Например, запись 34.216.184.93.in-addr.arpa. IN PTR example.com. позволит системе проверить, что IP действительно соответствует домену. PTR-записи часто используют для проверки легитимности почтовых отправителей.

SOA-запись содержит метаданные о зоне: адрес основного серверa, контакт администратора, версию зоны и параметры кэширования. Типичный пример включает поля serial, refresh, retry, expire и minimum TTL, которые определяют, как резолверы должны обновлять и хранить данные:


      example.com. IN SOA ns1.example.com. admin.example.com. (
  2025111301 ; serial
  3600       ; refresh
  1800       ; retry
  604800     ; expire
  86400      ; minimum TTL
)

Управление DNS-записями для своего сайта

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

1. В верхнем меню нажать Продукты и выбрать DNS-хостинг.

Скриншот панели управления Selectel. Выбор раздела «DNS-хостинг».

2. Откройте страницу нужной зоны и нажмите Добавить. Подробная инструкция о создании зоны — в документации

Скриншот панели управления Selectel. Раздел DNS.

3. Укажите имя группы — домен, для которого будет создана группа. Если оставить поле пустым, создастся группа для основного домена (имени зоны). Например, для зоны example.com появится группа example.com. Чтобы создать группу для поддомена, введите его первую часть. Например, значение test создаст группу test.example.com.

Скриншот панели управления Selectel. Добавление группы записей.

4. Выберите тип ресурсных записей, задайте TTL или оставьте значение по умолчанию. 

TTL — время в секундах, в течение которого ресурсная запись в кэше NS-сервера считается актуальной. Указанный TTL применяется ко всем ресурсным записям внутри группы.

5. Введите значение записи. Для A-записи это, например, IP-адрес, который должен быть привязан к доменному имени. Нажмите Добавить.

Атаки на DNS и защита

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

DNS Spoofing / Cache Poisoning

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

Пример: пользователь пытается зайти на example.com, но из-за подмены DNS-записи запрос направляется на фальшивый сервер, где загружается фишинговая страница.

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

Защита:

  • включение DNSSEC — набора расширений, который обеспечивает цифровую подпись записей и проверку их подлинности;
  • корректная настройка кэширования и ограничение времени жизни записей (TTL);
  • использование надежных и проверенных рекурсивных серверов.

DDoS-атаки на DNS

Суть атаки: DNS-серверы перегружаются огромным количеством запросов и перестают отвечать легитимным пользователям.

Пример: злоумышленник направляет трафик одновременно на рекурсивные и авторитетные серверы, вызывая отказ сервиса.

Последствия: недоступность сайтов, сбої почтовых сервисов и внутренних систем.

Защита:

  • внедрение Anycast-архитектуры для распределения нагрузки;
  • использование CDN и балансировки трафика;
  • настройка rate-limit на публичных и рекурсивных серверах.

DNS Amplification

Суть атаки: злоумышленник использует открытые рекурсивные серверы для генерации усиленного трафика. Маленький запрос приводит к большому ответу, отправляемому на жертву.

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

Последствия: масштабный DDoS, потеря доступности услуг.

Защита:

  • ограничение рекурсии на публичных серверах;
  • закрытие открытых резолверов для внешнего доступа;
  • мониторинг и фильтрация трафика.

DNS Tunneling

Суть атаки: злоумышленник передает скрытые данные через DNS-пакеты, обходя традиционные средства контроля.

Пример: внутренние данные компании отправляются через TXT-записи или SRV-запросы на внешний сервер атакующего.

Последствия: утечка конфиденциальной информации, компрометация сети.

Защита:

  • фильтрация нестандартных запросов и контроль размера DNS-пакетов;
  • мониторинг аномалий в DNS-трафике;
  • использование DNS-фильтров и сетевых брандмауэров.

Методы общей защиты DNS

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

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

Anycast и балансировка нагрузки. Распределение серверов по географии повышает устойчивость к перегрузкам и снижает задержку при разрешении доменных имен.

Фильтрация и rate-limit. Настройка сетевых устройств на ограничение числа запросов с одного источника, фильтрация подозрительных пакетов.

Мониторинг активности. Использование систем наблюдения, таких как Zabbix, Prometheus, или специализированных DNS-анализаторов, позволяет своевременно обнаруживать аномалии и предотвращать атаки.

Чем может помочь Selectel

Selectel предлагает комплексные решения для управления DNS, обеспечивая стабильность, скорость и безопасность работы сайтов и сервисов. Использование платформы позволяет минимизировать технические риски и повысить отказоустойчивость.

Основные преимущества использования сервиса в Selectel

  • Надежные DNS-серверы.
  • Простое управление DNS-зонами.
  • Безопасность и защита.
  • Круглосуточная поддержка и консультации.

В панели управления вы можете не только делегировать домены, но и зарегистрировать новые в разделе Домены. Подробная инструкция и описание решения доступны в документации.

Заключение

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

Понимание принципов работы DNS позволяет системным администраторам, сетевым инженерам и DevOps-специалистам эффективнее строить инфраструктуру и защищать ее от угроз.