Що таке DNS?
DNS (Domain Name System) — розподілена система імен, яка допомагає застосункам знаходити мережеві ресурси. Наприклад, за назвою сайту можна отримати його IPv4- або IPv6-адресу. DNS також зберігає відомості про поштові сервери й інші записи; доменне ім’я не обов’язково вказує на один сервер.
Як працює DNS-запит
Пристрій звертається до рекурсивного резолвера. Якщо відповіді немає в його кеші, резолвер отримує дані через ієрархію DNS: від кореневої зони до зони верхнього рівня та авторитетних серверів домену. Авторитетний сервер зберігає записи своєї зони; резолвер повертає відповідь клієнту.
Відповіді кешуються на час, пов’язаний із TTL запису. Тому після зміни DNS різні користувачі певний час можуть отримувати різні відповіді. Перевірити записи домену можна в сервісі DNS-параметрів.
Які дані зберігає DNS
Записи A та AAAA пов’язують ім’я з IPv4- та IPv6-адресами, MX указує поштові сервери, NS — авторитетні сервери зони. CNAME задає псевдонім імені, TXT зберігає текстові дані, зокрема для перевірки домену й налаштування пошти. Наявність запису сама по собі не означає, що відповідний сервіс доступний.
DNS і безпека
Звичайний DNS не шифрує запити між клієнтом і резолвером. DNS over HTTPS і DNS over TLS захищають цю ділянку з’єднання, але оператор обраного резолвера все одно отримує запити. DNSSEC дає змогу перевіряти справжність DNS-даних, якщо налаштовано ланцюг довіри; він не шифрує запити. Час відповіді сервера можна виміряти перевіркою DNS-відгуку.
Як улаштовано зони та делегування
DNS — не одна таблиця в одного постачальника. Ієрархія поділяє простір імен на зони, а записи NS указують, яким авторитетним серверам передано відповідальність за дочірню зону. Реєстратор домену й оператор DNS можуть бути різними компаніями. Зміна NS у реєстратора відрізняється від зміни запису A у вже делегованій зоні: перша операція змінює відповідального за дані, друга — самі дані.
Наприклад, під час перенесення сайту на новий хостинг не обов’язково переносити всю DNS-зону. Можна змінити адресний запис на чинних авторитетних серверах. Якщо змінюється й DNS-провайдер, варто заздалегідь скопіювати потрібні MX, TXT та інші записи, щоб не порушити роботу пошти й перевірки домену.
Чому відповіді можуть відрізнятися
Рекурсивні резолвери кешують як наявні записи, так і деякі негативні відповіді. Строк життя залежить від TTL і правил обробки негативного кешу. Тому відсутність запису відразу після створення не завжди означає помилку на авторитетному сервері. Порівняйте відповіді кількох резолверів і безпосередньо авторитетного сервера, а потім перевірте делегування та тип запису.
DNS не перевіряє, чи приймає вебсервер HTTP-запити та чи обслуговує пошта конкретну скриньку. Після успішної DNS-відповіді можливі помилки з’єднання, TLS або застосунку. Розділяйте діагностику імені й діагностику сервісу. Технічні основи описано в RFC 1034 і RFC 1035.
Порядок перевірки несправності
Якщо новий сайт не відкривається, спочатку запитайте записи A й AAAA, а потім з’ясуйте, які сервери є авторитетними для зони. Порівняйте їхні відповіді з відповідями рекурсивних резолверів. Якщо авторитетний сервер уже видає нове значення, а публічний резолвер — старе, імовірна причина — кеш; якщо обидва дають хибне значення, виправляти треба зону або делегування. Різні типи записів перевіряйте окремо, щоб не сприйняти правильний MX за доказ роботи сайту.
Що записати перед зверненням до підтримки
Збережіть точне ім’я, тип запису, час перевірки та відповіді авторитетного й рекурсивного серверів. Так легше відрізнити помилку делегування від затримки кешу й не змінювати справні записи навмання.
Приватність резолвера та DNS leak
DoH або DoT шифрують ділянку між клієнтом і вибраним резолвером, але вибір резолвера лишається окремим питанням. Браузер, ОС і VPN можуть використовувати різні налаштування. Щоб зрозуміти фактичний шлях запитів, дивіться що показує DNS leak test; відмінності DoH і DoT розглянуто в окремій статті.
