Ваш досвід перегляду Інтернету повільно на вашому пристрої Linux, чи веб -сайти, які ви відвідуєте застарілим або взагалі неправильного веб -сайту? Давайте обговоримо промивання кешу DNS на Linux та як дізнатися, чи вам справді потрібно.
Що таке кеш DNS?
Ваш комп'ютер використовує локальний кеш DNS?
Перегляд кешу DNS
Як очистити кеш DNS на Linux
Як промивати кеш DNSMASQ на Linux
Змащено, з успіхом
Що таке кеш DNS?
З Служба доменних імен - це біт магії, який перетворює імена в числа. Він приймає назви мережевих пристроїв та назви веб -сайтів та шукає їх IP -адреси. Потім мережа може використовувати IP -адресу для правильного маршруту трафіку на цих пристроях або сайтах.
Ці пошуки, відомі як запити , Не трапляється миттєво . Існує невеликий, кінцевий проміжок часу. Інтернет-запити DNS можуть вимагати запитів попередників DNS-серверів, серверів кореневих імен, серверів доменів верхнього рівня та авторитетних серверів імен. Запити DNS швидкі, але щоб зробити їх швидшими, відповіді на останні запити DNS кешовані на серверах попередників DNS.
Якщо відповідь на запит DNS знайдена в кеші сервера -попередника, не потрібно звернутися до подальших серверів. Відповідь надсилається назад з кешу сервера -попередника. Аналогічно, невеликий кеш підтримується вашим широкосмуговим маршрутизатором вдома. Якщо ви просите локальний мережевий пристрій за допомогою його мережевого пристрою, ваш маршрутизатор надає IP -адресу. Він також може кешувати відповіді, отримані від зовнішніх серверів DNS.
Зазвичай мережі та комп'ютери Linux налаштовані на використання зовнішніх служб DNS, що надаються вашим постачальником Інтернет -послуг, або безкоштовною послугою, такою як Опіки або Google DNS . Є вагомі причини, чому Деякі люди запускають власний сервер DNS , але більшість із нас цього не роблять. Однак ваш комп'ютер Linux - навіть якщо він не запускає DNS -сервер - може необов'язково кешувати результати запиту DNS.
Проблема з використанням кешованих даних полягає в тому, що вся справа в основі припущення, що жодна з кешованих деталей не змінилася з моменту їх кешування. Якщо деталі змінилися, інформація, яку ви отримуєте, застаріла.
Якщо запис кешу або весь кеш стане корумпованим, ви отримаєте в кращому випадку пластинчасті показники, а вразливості безпеки в гіршому випадку. Це коли вам захочеться вивчити «промивання» або очищення кешу DNS.
Ваш комп'ютер використовує локальний кеш DNS?
Деякі з наших тестових комп'ютерів мали місцеві кеші DNS, а інші його вимкнули. Це було на нашому Манджаро 21 комп'ютер, але він увімкнувся за замовчуванням Федора 37 і Ubuntu 22.10 .
Щоб визначити, чи ваш комп'ютер Linux кешує запити DNS, використовуйте
Іс-активний
варіант
Systemctl
команда. Демон, який керує кешем DNS, - це менеджер роздільної здатності мережі Systemd, відомий як
Systemd-розвідний
.
Якщо відповідь "активна", відбувається кешування DNS. Якщо відповідь "неактивна", це не так. На цьому конкретному комп’ютері він активний. Ми можемо використовувати
вирішити
Команда з опцією статистики, щоб побачити, скільки записів у кеші.
Ми бачимо, що в кеші DNS цього комп'ютера є 330 записів.
Перегляд кешу DNS
Перегляд записів кешу DNS не є необхідною умовою для промивання кеша, і якщо у вас немає інтересу до цього, ви можете Пропустіть весь цей крок . Однак іноді це може бути інформативно. Ви можете побачити скремтовані записи, які вказують на корупцію, або ви можете побачити повідомлення про помилки, пов’язані з проблемами, що вирішують пристрій у вашій мережі.
Тепер немає прямого способу побачити ці записи. Ми можемо це зробити, але потрібно бути трохи креативним.
USR1
АБО
визначений користувачем сигнал номер один
, це
сигнал
що може надіслати
убити
і
кіллл
команди. Цей сигнал не має заздалегідь визначеного значення. Програми можуть ігнорувати цей сигнал або реагувати будь -яким способом реалізації розробників.
З
Systemd-розвідний
Демон реагує на
USR1
Напишуючи кеш до системних журналів. Потім ми можемо використовувати
Журналктл
команда для фільтрації записів DNS.
Ми будемо використовувати
кіллл
командувати
USR1
Надіслати сигнал до
Systemd-розвідний
Демон. Зауважте, що хоча ми використовуємо
кіллл
команда,
Systemd-розвідний
Демон продовжує бігати. Це не сигнал припинення, який ми надсилаємо.
Тепер ми будемо використовувати
Журналктл
команда з
-У
(Фільтр за
система
одиниця) варіант витягування записів журналу, які були створені
Systemd-розвідний
. Ми перенаправимо цей вихід у текстові файли під назвою "dns.txt".
Ми будемо використовувати
з
менше
Переглядач файлів
Для перегляду вмісту файлу.
Ви зможете знайти кешовані відображення між доменними іменами та IP -адреси Прокручуючи та шукаючи текст.
Ми можемо побачити запис для Google, який має IP -адресу 216.58.212.196. Ви можете перевірити, ввімкнувши IP -адресу у веб -браузері. Ви повинні побачити домашню сторінку пошуку Google.
Як очистити кеш DNS на Linux
Змиваючи кеш видаляє всі записи та ще раз запускає процес збору. Якщо є такі, це насильно видаляє неправильні та корумповані записи з кешу.
Команда проста; ми використовуємо
вирішити
з
промивання
варіант.
Ми мовчки повернулися до командного рядка. Щоб підтвердити, що щось насправді сталося, ми знову перевіримо статистику кешу DNS.
Ми бачимо, що розмір кешу знижується до нуля. Він збільшиться з часом, оскільки накопичує нові записи.
Як промивати кеш DNSMASQ на Linux
З
DNSMASQ
Додаток забезпечує кеш DNS та сервер DHCP. Він популярний у користувачів, які хочуть запустити власний сервер DNS, особливо на
Несистемні установки
.
Промивання
DNSMASQ
Кеш DNS простий. Нам потрібно надіслати
Зіткнутися
сигнал, який розповідає
DNSMASQ
Демон для ефективної реініціалізації. Це очищає свій кеш DNS. Для надсилання сигналу ми використовуємо
кіллл
команда з
-Прик
прапор та назва програми.
Змащено, з успіхом
Звичайно, якщо ваш комп’ютер взагалі не кешуває, нічого не потрібно перевірити.
Якщо це кешування запитів на DNS, але все працює просто чудово, ви також можете ігнорувати це. Але якщо ви переживаєте оновлення повільної або спорадичної веб -сторінки, коли ви переглядаєте Інтернет, або взагалі бачите неправильні веб -сторінки, це, мабуть, вдалий час, щоб очистити кеш DNS.