EMZETT.
Увійти

DNS-записи

Коротко: Записи в зоні DNS, що пов’язують домени з певною інформацією — найвідоміше IP-адреси, але також поштові сервери, текстові відомості чи псевдоніми.

Докладніше: У кожного DNS-запису є тип (наприклад, A, AAAA, CNAME, MX, TXT, NS), ім’я, значення та TTL. У домену може бути будь-яка кількість записів різних типів; які сервери імен авторитетні для домену, визначається записами NS.

Подробиці

Найважливіші типи записів

  • A — домен → адреса IPv4, безперечно найпоширеніший тип запису
  • AAAA — домен → адреса IPv6, сучасний аналог A
  • CNAME — домен → інше доменне ім’я (псевдонім); за стандартом не може існувати разом з іншими типами записів на тому самому імені
  • MX — домен → відповідальний поштовий сервер, із номером пріоритету, коли записів кілька
  • TXT — довільний вільний текст, наприклад для підтвердження домену або для SPF/DKIM/DMARC (захист від підміни адреси електронної пошти)
  • NS — домен → авторитетний сервер імен, визначає, у кого взагалі «останнє слово» щодо зони
  • Інші, рідші типи: SRV (записи служб для певних протоколів на кшталт SIP/XMPP), CAA (визначає, які центри сертифікації можуть видавати сертифікати SSL), PTR (зворотний DNS, IP → домен замість навпаки)

Повний шлях розв’язання

Типовий запит працює так: клієнт питає у свого резолвера DNS (часто провайдера інтернету або публічного на кшталт 1.1.1.1/8.8.8.8) про emzett-digital.com. Якщо відповіді ще немає в кеші резолвера, він спочатку звертається до одного з 13 кластерів кореневих серверів (верхній рівень глобальної ієрархії DNS), який відсилає його до сервера TLD .com. Той, своєю чергою, відсилає до авторитетних серверів імен домену, названих у записі NS, які нарешті повертають відповідний A-запис. Увесь цей шлях називається «рекурсивним розв’язанням», бо резолвер проходить увесь ланцюжок від імені клієнта, замість того щоб лишати кожен окремий проміжний крок самому клієнту (що теоретично теж можливо — «ітеративне розв’язання»).

На практиці завдяки кешуванню цей повний шлях зазвичай проходиться лише один раз на резолвер: усі наступні запити (від будь-яких клієнтів, що використовують той самий резолвер) обслуговуються безпосередньо з кешу, доки не спливе відповідний TTL, без повторного проходження всього ланцюжка. Тому ж зміни DNS набувають чинності не скрізь одразу — їм спочатку потрібно «пройти» крізь усі кеші, на що може піти час до спливу початкового TTL.

Файли зон і керування

Усі записи домену разом утворюють його «зону», якою керують через файл зони в відповідного DNS-провайдера (наприклад, Cloudflare, Vercel DNS, сам реєстратор). Файл зони відповідає стандартизованому текстовому формату із записом SOA (Start of Authority, містить метадані на кшталт первинного сервера імен і серійного номера для синхронізації), за яким ідуть власне записи ресурсів. Зміни зони вносяться через вебінтерфейс або API провайдера і потім — залежно від TTL змінених записів — поширюються на всі резолвери по всьому світу за секунди–години.

Часті пастки

Класична помилка — поставити запис CNAME на те саме ім’я, де вже є запис A або MX: це порушує RFC 1034 і призводить до непередбачуваної поведінки залежно від резолвера. Так само багато хто забуває заздалегідь знизити TTL перед запланованою міграцією DNS, через що саме перемикання стає видимим скрізь не за хвилини, а за години.

Див. також: A-запис, AAAA-запис, CNAME, MX-запис, TXT-запис, NS-запис, TTL