Что такое DNS-серверы и как они работают — informatik-m.ru

Что такое DNS-серверы и как они работают

Данные на октябрь 2026, Windows 11, Python 3.13Опубликовано 12 июня 2025Обновлено 24 июля 20267 мин чтения
Картотечный шкаф с выдвинутым ящиком и кабелем к серверу
Коротко
  • DNS — служба, которая по имени сайта находит его IP-адрес; без неё пришлось бы вводить числа.
  • Имена устроены как дерево, а ответ на запрос собирают несколько серверов: резолвер и авторитетные серверы зон.
  • Ответы кэшируются на срок TTL, поэтому изменения записей видны не сразу.
  • Вручную DNS проверяют командой nslookup или несколькими строками на Python.
Содержание12 разделов ▾
  1. Зачем нужен DNS
  2. Как устроена система имён
  3. Какие бывают DNS-серверы
  4. Что происходит, когда вы открываете сайт
  5. Шаг 1. Устройство спрашивает резолвер
  6. Шаг 2. Резолвер проверяет кэш
  7. Шаг 3. Резолвер идёт от корня
  8. Шаг 4. Резолвер спускается по зонам
  9. Шаг 5. Авторитетный сервер даёт адрес
  10. Шаг 6. Ответ возвращается и сохраняется
  11. Кэш и TTL
  12. Основные типы записей
  13. Проверяем DNS сами
  14. Какой DNS использует ваше устройство
  15. Что делать, если DNS-сервер не отвечает
  16. Условия и ограничения
  17. Частые ошибки
  18. Короткий вывод

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

Опираемся на стандарты RFC 1034, 1035 и 9499 и на страницу российского сервиса Яндекс DNS. Команды проверены на Windows 11 и Python 3.13, данные на октябрь 2026 года.

Зачем нужен DNS

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

Как устроена система имён

Имена в DNS образуют дерево. По RFC 1034, каждый узел дерева имеет метку длиной от нуля до 63 октетов (байтов). Полное имя читается справа налево: www.example.com — это узел www внутри example, который лежит в зоне com.

Отсюда следует, что ни один сервер не должен знать всё. Каждая часть дерева — зона — находится в ведении своих серверов. Корень указывает, где искать серверы зоны com, а те указывают на серверы конкретного домена.

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

В терминологии RFC 9499 выделяют несколько ролей:

РольЧто делает
Заглушка (stub resolver)Не выполняет поиск целиком, а обращается к рекурсивному резолверу
Рекурсивный резолверВыполняет весь поиск за вас и обычно кэширует ответы
Авторитетный серверЗнает содержимое зоны из своих данных и отвечает по ней без обращения к другим серверам

Авторитетные серверы зоны перечислены в её NS-записи. Именно их вы настраиваете у регистратора, когда подключаете домен к хостингу.

Что происходит, когда вы открываете сайт

Если вы ввели example.com в адресной строке, а адрес в кэше не нашёлся, происходит примерно следующее.

Шаг 1. Устройство спрашивает резолвер

Заглушка в системе отправляет запрос рекурсивному резолверу, адрес которого выдал роутер или провайдер.

Шаг 2. Резолвер проверяет кэш

Если ответ недавно запрашивали и срок его хранения не истёк, резолвер отвечает сразу.

Шаг 3. Резолвер идёт от корня

Если в кэше пусто, резолвер спрашивает корневой сервер, где искать зону com.

Шаг 4. Резолвер спускается по зонам

Серверы зоны com указывают на серверы домена example.com.

Шаг 5. Авторитетный сервер даёт адрес

Сервер домена возвращает запись с IP-адресом.

Шаг 6. Ответ возвращается и сохраняется

Резолвер передаёт адрес устройству и кэширует его на срок TTL. Браузер соединяется с этим адресом.

Кэш и TTL

В каждой DNS-записи есть поле TTL. По RFC 1035, это 32-битное число, которое задаёт время в секундах, в течение которого запись можно хранить в кэше. Нулевое значение означает, что запись нельзя кэшировать и можно использовать только для текущей операции.

Поэтому после смены записи часть пользователей ещё какое-то время видит старый адрес: их резолверы не обновили кэш. Сколько ждать, зависит от TTL записи, обещать конкретный срок нельзя.

Основные типы записей

ЗаписьДля чегоЧто в ней
AАдрес по имениIPv4-адрес (32 бита)
AAAAТо же для IPv6IPv6-адрес; тип описан в RFC 3596
NSКто обслуживает зонуИмя авторитетного сервера
CNAMEПсевдонимДругое имя, на которое нужно перейти
MXКуда доставлять почтуИмя почтового сервера
TXTПроизвольный текстОписательный текст, смысл зависит от домена

Проверяем DNS сами

Самый простой способ — команда nslookup в Windows, macOS и Linux.

Терминал
nslookup example.com

Результат на Windows 11 (строки с адресом вашего DNS-сервера опущены, адреса сайта у вас могут быть другими):

Текст
Non-authoritative answer:

Name:    example.com
Addresses:  172.66.147.243
	  104.20.23.154

Строка «Non-authoritative answer» означает, что ответ дал не авторитетный сервер домена, а резолвер, который мог взять его из кэша. Ниже имя и найденные адреса.

То же можно получить из Python: функция getaddrinfo просит у системы адреса по имени.

Python
import socket

имя = "example.com"
for семейство, тип, протокол, _, адрес in socket.getaddrinfo(имя, 443, type=socket.SOCK_STREAM):
    print(семейство.name, адрес[0])

Вывод при запуске на Python 3.13.12 (адреса зависят от времени и вашего резолвера):

Текст
AF_INET 172.66.147.243
AF_INET 104.20.23.154

Метка AF_INET означает адрес IPv4. Если у вас работает IPv6, появятся строки AF_INET6.

Какой DNS использует ваше устройство

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

В России есть, например, Яндекс DNS. По описанию сервиса, у него три режима: базовый, безопасный (блокирует опасные сайты) и семейный (дополнительно блокирует «взрослые» сайты). Сервис бесплатный. Для шифрованного соединения Яндекс указывает адреса для DoH и DoT. Помните: любой DNS-сервер видит имена, которые вы запрашиваете.

Что делать, если DNS-сервер не отвечает

  1. Проверьте, есть ли интернет вообще: другие устройства, мессенджеры.
  2. Перезагрузите роутер и компьютер.
  3. Проверьте адрес командой nslookup: если имя не находится, а соединение есть, виноват DNS.
  4. Укажите другой DNS-сервер и повторите проверку.
  5. Если не помогло, обратитесь к провайдеру.

Условия и ограничения

Версия
Октябрь 2026 — данные приведены на дату написания; команды проверены на Windows 11 и Python 3.13.12.
Кэш
Задержка обновления — результат зависит от TTL записи и кэша резолвера.
Провайдер
DNS по умолчанию — адрес сервера обычно выдаёт роутер или провайдер.
Приватность
Запросы видны — DNS-серверу видны имена, которые вы запрашиваете.
Безопасность
Обычный DNS не шифрован — шифрованные варианты — DoH и DoT; их настройка зависит от устройства.

Частые ошибки

  • Путают DNS и хостинг: DNS указывает, где сайт, а хостинг хранит сам сайт.
  • Ждут мгновенного обновления записи и не учитывают TTL.
  • Меняют DNS «для ускорения» и не замечают, что теряют фильтрацию провайдера или родительский контроль.
  • Вводят в поле DNS-сервера доменное имя вместо IP-адреса там, где нужен адрес.
  • Забывают, что любой DNS-сервер видит запрашиваемые имена.
  • Проверяют DNS только на одном устройстве и делают вывод о сети в целом.

Короткий вывод

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

Источники

  1. RFC 1034. Domain Names — Concepts and Facilities↗ rfc-editor.org
  2. RFC 1035. Domain Names — Implementation and Specification↗ rfc-editor.org
  3. RFC 9499. DNS Terminology↗ rfc-editor.org
  4. RFC 3596. DNS Extensions to Support IP Version 6 (запись AAAA)↗ rfc-editor.org
  5. Яндекс DNS: режимы и адреса серверов↗ dns.yandex.ru

Частые вопросы

Что такое DNS-сервер простыми словами?

DNS-сервер — это служба, которая по имени сайта, например example.com, сообщает IP-адрес, по которому нужно обращаться. Люди запоминают имена, а сети работают с числовыми адресами, поэтому нужен «переводчик». В терминологии RFC 9499 запросы устройства обрабатывает резолвер, а точные данные о зоне хранит авторитетный сервер.

Что делать, если DNS-сервер не отвечает?

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

Нужно ли менять DNS-сервер провайдера на публичный?

Не обязательно: по умолчанию устройство использует DNS, который выдаёт роутер или провайдер, и обычно этого достаточно. Публичный DNS меняют, когда нужна другая скорость ответов, фильтрация или когда DNS провайдера работает нестабильно. В России есть, например, Яндекс DNS с тремя режимами: базовым, безопасным и семейным. Сервис бесплатный, адреса указаны на странице dns.yandex.ru.

Чем DNS отличается от IP-адреса и домена?

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

Что такое «частный DNS» на Android?

Это настройка, которая включает шифрованный DNS на телефоне. В справке Яндекс DNS режимы указаны с именами серверов для DoT (Private DNS для Android), например common.dot.dns.yandex.net. Вместо обычных адресов в настройках вводят имя такого сервера. Точный путь к настройке зависит от версии Android и производителя, смотрите справку устройства.

  • #dns
  • #domen
  • #ip-adres
  • #set
РедакцияМатериал подготовлен по источникам выше · 24 июля 2026