Skip to content

Dns

DNS (Domain Name System) действует как телефонная книга интернета, преобразуя удобные для человека доменные имена в числовые IP-адреса. Использует иерархическую структуру с корневыми серверами, серверами TLD (.com, .org), авторитетными серверами и локальными DNS-серверами. Необходима для функционирования интернета, позволяя использовать запоминающиеся имена вместо IP-адресов.

Как работает DNS-запрос#

  1. Браузер проверяет локальный кэш (браузера и операционной системы); если запись найдена и не просрочена, запрос к DNS-серверам не выполняется.
  2. Если в кэше ничего нет, запрос уходит на рекурсивный DNS-сервер провайдера или публичный резолвер (например, 8.8.8.8).
  3. Рекурсивный сервер при необходимости опрашивает корневые серверы, затем серверы доменов верхнего уровня (TLD), а затем авторитетный сервер нужного домена.
  4. Полученный IP-адрес возвращается клиенту и кэшируется на всех промежуточных этапах на время, заданное параметром TTL.

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

Разные типы DNS‑записей описывают, как именно доменное имя должно разрешаться и какие службы за ним стоят.

Тип Назначение Пример использования
A Указывает IPv4-адрес сервера для доменного имени example.com → 93.184.216.34
AAAA Связывает доменное имя с IPv6-адресом example.com → 2001:db8::1
CNAME Делает одно доменное имя псевдонимом для другого www.example.com → example.com
MX Указывает почтовые серверы домена и их приоритет Почта для example.com обрабатывается сервером mail.example.com
NS Определяет авторитетные DNS‑серверы для домена example.com обслуживается ns1.example.net и ns2.example.net
TXT Хранит произвольный текст, в т. ч. SPF, DKIM и прочие служебные записи Подтверждение домена для почтового сервиса или CDN
SRV Описывает расположение конкретной службы (порт и хост) Для SIP, XMPP и других сервисов с нестандартными портами

Кэширование и TTL#

DNS активно использует кэширование, чтобы уменьшить нагрузку на серверы и ускорить открытие сайтов. Параметр TTL (Time To Live) указывает, сколько секунд запись может храниться в кэше до повторного запроса к авторитетному серверу.

  • Большой TTL уменьшает нагрузку, но замедляет распространение изменений DNS‑записей.
  • Малый TTL ускоряет применение изменений, но увеличивает число запросов к DNS‑серверам.

Основные IP адреса#

8.8.8.8 - Google 1.1.1.1 - Cloudflare

Распространённые проблемы#

  • Неправильные записи DNS: ошибка в A, MX или других записях приводит к тому, что сайт или почта становятся недоступными.
  • Задержки распространения (DNS propagation): после изменения записей старые данные ещё какое‑то время остаются в кэше провайдеров из‑за значения TTL.
  • DNS‑спуфинг и подмена ответов: злоумышленник может попытаться подделать DNS‑ответ, перенаправив пользователя на фишинговый сайт, поэтому важны защищённые механизмы вроде DNSSEC.