Skip to content

Кешування DNS і як воно покращує ваш Інтернет

24 de Грудень de 2022

Кеш DNS (іноді його називають DNS розв’язувач cache) — це тимчасова база даних, яка підтримується операційною системою комп’ютера і містить записи про всі останні відвідування та спроби відвідування веб-сайтів та інших доменів Інтернету. Іншими словами, кеш DNS — це лише спогад про останні пошуки DNS, до якого ваш комп’ютер може швидко звернутися, коли намагається з’ясувати, як завантажити веб-сайт.

Інформація в цій статті стосується домашніх користувачів, які не змінили свої налаштування DNS.

Призначення кешу DNS

Інтернет покладається на систему доменних імен для підтримки індексу всіх загальнодоступних веб-сайтів та їхніх відповідних IP-адрес. Ви можете розглядати це як телефонну книгу. Завдяки телефонній книзі нам не потрібно запам’ятовувати номери телефонів кожного, це єдиний спосіб спілкування за допомогою телефонів: за допомогою номера. Таким же чином DNS використовується, щоб уникнути необхідності запам’ятовувати IP-адреси кожного веб-сайту, оскільки це єдиний спосіб, за допомогою якого мережеве обладнання може спілкуватися з веб-сайтами. Ось що відбувається за завісою, коли ви просите свій веб-браузер завантажити веб-сайт. Ви вводите URL-адресу, наприклад lifewire.com і ваш веб-браузер запитує у маршрутизатора IP-адресу. Маршрутизатор має збережену адресу DNS-сервера, тому він запитує у DNS-сервера IP-адресу цього імені хоста. DNS-сервер знаходить IP-адресу, яка належить lifewire.com а потім може зрозуміти, який веб-сайт ви просите, після чого ваш браузер може завантажити відповідну сторінку. Це відбувається для кожного веб-сайту, який ви хочете відвідати. Щоразу, коли ви відвідуєте веб-сайт за його іменем хоста, веб-браузер ініціює запит до Інтернету, але цей запит не може бути виконано, доки ім’я сайту не буде «перетворено» на IP-адресу. Проблема полягає в тому, що, незважаючи на те, що ваша мережа може використовувати безліч загальнодоступних DNS-серверів, щоб спробувати прискорити процес перетворення/розв’язання, все одно швидше мати локальну копію «телефонної книги», куди потрапляють кеші DNS грати. DNS-кеш намагається ще більше прискорити процес, обробляючи розпізнавання імен нещодавно відвіданих адрес перед тим, як запит буде надіслано в Інтернет. Насправді DNS-кеші є на кожній ієрархії процесу «пошуку», який, зрештою, змушує комп’ютер завантажуватися веб-сайт. Комп’ютер досягає вашого маршрутизатора, який зв’язується з вашим провайдером, який може вразити іншого провайдера, перш ніж опинитися на так званих «кореневих DNS-серверах». Кожна з цих точок у процесі має кеш DNS з тієї самої причини, тобто для прискорення процесу розпізнавання імен.

Як працює кеш DNS

Перш ніж браузер надсилає свої запити зовнішній мережі, комп’ютер перехоплює кожен із них і шукає доменне ім’я в базі даних кешу DNS. База даних містить список усіх нещодавно доступних доменних імен і адрес, які DNS розрахував для них під час першого запиту. Вміст локального кешу DNS можна переглянути в Windows за допомогою команди ipconfig /displaydns із результатами, подібними до цього: docs.google.com
————————————
Назва запису. . . . . : docs.google.com
Тип запису. . . . . : 1
Час Жити. . . . : 21
Довжина даних. . . . . : 4
Розділ . . . . . . . : Відповідь
A (Хост) Запис . . . : 172.217.6.174

У DNS запис «A» — це частина запису DNS, яка містить IP-адресу для заданого імені хоста. Кеш DNS зберігає цю адресу, запитану назву веб-сайту та кілька інших параметрів із запису DNS хоста.

Що таке отруєння кешу DNS?

Стає DNS-кеш отруєний або забруднені коли в нього вставляються несанкціоновані доменні імена або IP-адреси. Іноді кеш-пам’ять може бути пошкоджено через технічні збої або адміністративні випадки, але отруєння кешу DNS зазвичай пов’язане з комп’ютерними вірусами чи іншими мережевими атаками, які вставляють недійсні записи DNS у кеш. Отруєння призводить до того, що клієнтські запити перенаправляються в неправильні місця призначення, як правило, на шкідливі веб-сайти або сторінки, повні реклами. Наприклад, якщо docs.google.com запис вище мав інший запис “А”, ніж коли ви вводили docs.google.com у вашому веб-переглядачі, ви потрапите в інше місце. Це створює величезну проблему для популярних веб-сайтів. Якщо зловмисник перенаправляє ваш запит на Gmail.comнаприклад, на веб-сайт, який виглядає наприклад, Gmail, але не є таким, ви можете постраждати від фішингової атаки, як-от китобійний промисел.

Очищення DNS: що це робить і як це зробити

Під час усунення несправностей, пов’язаних із отруєнням кешу чи інших проблем із підключенням до Інтернету, адміністратор комп’ютера може забажати це зробити промити (тобто очистити, скинути або стерти) кеш DNS. Оскільки очищення кешу DNS видаляє всі записи, воно також видаляє всі недійсні записи та змушує ваш комп’ютер повторно заповнити ці адреси під час наступної спроби отримати доступ до цих веб-сайтів. Ці нові адреси беруться з DNS-сервера, налаштованого на використання у вашій мережі. Отже, використавши приклад вище, якщо Gmail.com запис був отруєний і перенаправляв вас на дивний веб-сайт, очищення DNS є хорошим першим кроком до отримання регулярного ​Gmail.com знову. У Microsoft Windows ви можете очистити локальний кеш DNS за допомогою ipconfig /flushdns команду в командному рядку. Ви знаєте, що це працює, коли бачите Конфігурація IP-адреси Windows успішно очистила кеш DNS-розпізнавача або Успішно очищено кеш DNS Resolver повідомлення. Користувачі macOS повинні використовувати через командний термінал dscacheutil -flushcache але знайте, що після його запуску немає повідомлення про “успішне виконання”, тому вам не повідомляють, чи спрацювало це. У деяких випадках користувачам Mac також доведеться вимкнути DNS-відповідач (sudo killall -HUP mDNSResponder.) Користувачі Linux повинні ввести /etc/rc.d/init.d/nscd перезапустити команда. Однак точна команда буде відрізнятися залежно від вашого дистрибутива Linux. Маршрутизатор також може мати кеш DNS, тому перезавантаження маршрутизатора часто є етапом усунення несправностей. З тієї ж причини, з якої ви можете очистити кеш DNS на своєму комп’ютері, ви можете перезавантажити маршрутизатор, щоб очистити записи DNS, збережені в його тимчасовій пам’яті.