Як працює DNS, коли ви відкриваєте сайт

Ви вводите versuss.space, а комп'ютер має підключитися до числової адреси на кшталт 203.0.113.42. Переклад між іменами й адресами виконує DNS — система доменних імен, «телефонна книга інтернету».

Ілюстрація до статті: Як працює DNS, коли ви відкриваєте сайт

Оновлено:

Ви вводите versuss.space, а комп’ютер має підключитися до числової адреси на кшталт 203.0.113.42. Переклад між іменами й адресами виконує DNS — система доменних імен, «телефонна книга інтернету». Вона працює настільки непомітно, що згадують про неї лише коли щось ламається: «сайт не відкривається, хоча інтернет є», «змінив хостинг, а сайт показує старий», «чому провайдер знає, які сайти я відвідую». Ця стаття пояснює, як відбувається пошук імені, чому зміни «поширюються» годинами, які бувають записи й як захистити DNS від підглядання й підміни.

Резолвери, кореневі сервери та ланцюжок запитів

Коли браузеру потрібна адреса versuss.space, відбувається ланцюжок звернень:

  1. Кеш пристрою. Операційна система й браузер пам’ятають недавні відповіді. Якщо ім’я є в кеші й не застаріло — все, запит у мережу не йде.
  2. Рекурсивний резолвер. Інакше запит іде до резолвера — зазвичай провайдера (адреса приходить разом із Wi-Fi), або публічного (Cloudflare 1.1.1.1, Google 8.8.8.8, Quad9 9.9.9.9). Резолвер — це «довідкова служба», що шукає відповідь замість вас і теж має великий кеш.
  3. Кореневі сервери. Якщо резолвер не знає відповіді, він запитує один із 13 кореневих серверів (насправді сотні дзеркал по світу): «хто відповідає за .space?». Той відповідає адресами серверів домену верхнього рівня.
  4. Сервери TLD. Резолвер запитує сервери .space: «хто відповідає за versuss.space?» — і отримує адреси авторитетних серверів цього домену (їх задає власник у реєстратора як NS-записи).
  5. Авторитетний сервер. Резолвер запитує його: «яка адреса versuss.space?» — і отримує остаточну відповідь із TTL — часом, на який її можна закешувати.
  6. Резолвер зберігає відповідь у кеші й повертає пристрою; наступні запити від будь-кого через цей резолвер обслуговуються з кешу до кінця TTL.

Увесь ланцюжок займає десятки мілісекунд і виконується лише при холодному кеші; популярні домени майже завжди в кеші резолвера.

Що відбувається, коли ви вводите example.com
Що відбувається, коли ви вводите example.com · Схема: Versuss

Типи записів

  • A — ім’я → IPv4-адреса; AAAA — ім’я → IPv6-адреса.
  • CNAME — псевдонім: www.example.com → example.com; часто використовується для CDN і хостингів.
  • MX — куди доставляти пошту для домену.
  • TXT — довільний текст: підтвердження володіння доменом, правила пошти SPF/DKIM/DMARC.
  • NS — авторитетні сервери домену.
  • CAA — які центри сертифікації можуть видавати сертифікати для домену.

Чому зміни «поширюються» годинами

Нічого фізично не поширюється. Коли ви змінюєте запис, авторитетний сервер знає нове значення одразу. Але резолвери по всьому світу тримають старе значення в кеші до кінця його TTL — і хтось отримає стару відповідь ще годину або добу. Звідси практика: за день до міграції зменшити TTL до 300 секунд, дочекатися, поки старий довгий TTL спливе в кешах, зробити зміну, а після — повернути довгий TTL. І звідси ж ілюзія «у мене відкривається, а у друга ні»: ви й друг користуєтесь різними резолверами з різним станом кешу.

Приватність і безпека

Класичний DNS іде відкритим текстом на порт 53: провайдер і будь-хто в мережі бачить кожний домен, який ви запитуєте, і може підмінити відповідь — саме так працюють блокування сайтів провайдером і частина атак у публічному Wi-Fi. Захисти:

  • DNS over HTTPS (DoH) і DNS over TLS (DoT) шифрують запити до резолвера. Браузери й системи підтримують це в налаштуваннях; ви обираєте резолвер, якому довіряєте, замість провайдера за замовчуванням.
  • DNSSEC — цифрові підписи записів, які дають резолверу перевірити, що відповідь не підмінена. Захищає цілісність, не приватність; вмикається власником домену й підтримується резолвером.
  • Фільтрувальні резолвери (Quad9, NextDNS, Pi-hole вдома) блокують відомі шкідливі й рекламні домени на рівні DNS для всіх пристроїв у мережі.

Як виправити типові проблеми з DNS

  • Якщо «інтернет є, а сайти не відкриваються» — спробуйте змінити резолвер на 1.1.1.1 чи 9.9.9.9; часто це проблема DNS провайдера.
  • Увімкніть DNS over HTTPS у браузері чи системі, особливо на ноутбуку, що буває в чужих мережах.
  • Власникам доменів: перед міграцією зменшуйте TTL заздалегідь; після — перевіряйте з кількох резолверів (dig @1.1.1.1 example.com).
  • Налаштуйте SPF, DKIM і DMARC у TXT-записах — без них пошта з вашого домену потрапляє в спам.
  • Увімкніть DNSSEC у реєстратора, якщо хостинг DNS його підтримує, і додайте CAA-запис.
  • Не змінюйте NS-записи без розуміння наслідків: вони переносять керування всім доменом.

Часті запитання

Чи бачить провайдер сайти, якщо я користуюсь HTTPS?

Через відкритий DNS — так, він бачить домени. Зашифрований DNS закриває цей канал; лишається SNI у TLS-рукостисканні, який поступово ховає Encrypted Client Hello.

Що таке «DNS-витік» у VPN?

Ситуація, коли трафік іде через тунель, а DNS-запити — до резолвера провайдера повз тунель, розкриваючи відвідувані домени. Якісні VPN-клієнти направляють DNS у тунель і мають перевірку на витік.

Чому один сайт відкривається з телефона, але не з ноутбука в тій же мережі?

Різні кеші DNS або різні резолвери (телефон може використовувати приватний DNS Android/iOS). Очистіть кеш (ipconfig /flushdns, перезапуск браузера) або порівняйте налаштування DNS.

DNS — це перше запитання, яке ставить кожне підключення; хто відповідає на нього, той знає, куди ви йдете, і може вказати не туди.

Коротко: DNS перекладає імена в адреси через ланцюжок кешів і серверів — від пристрою до резолвера, кореневих, TLD й авторитетних серверів, — а відповіді кешуються на час TTL, через що зміни видно не одразу. Записи A, AAAA, CNAME, MX, TXT і NS описують домен; зашифрований DNS захищає приватність, DNSSEC — від підміни, а зміна резолвера часто вирішує «незрозумілі» проблеми з доступом.