DNS або система доменних імен відповідає за розв'язання імен веб-сайтів у відповідні IP-адреси. Отже, якщо у вас виникли проблеми з підключенням до веб-сайту, або якщо ви просто хочете, щоб ваша машина Ubuntu бачила зміни DNS, спробуйте скинути кеш DNS. Ви також можете очистити DNS-кеш в Ubuntu, якщо ви внесли зміни до файлу hosts, і ви хочете, щоб його було "видно" вашою системою без необхідності перезавантаження. Ну, якщо ви перебуваєте в будь-якій з цих ситуацій, і ви хочете очистити кеш DNS, ось як очистити кеш DNS в Linux:
Примітка : Я використовую систему Ubuntu 16.10 “Yakkety Yak” для демонстрації цих методів. Однак процес має бути схожим на більшість дистрибутивів Linux.
Перевірка, чи ввімкнено кешування DNS
Всі дистрибутиви Linux не ведуть себе так само, коли йдеться про такі речі, як кешування DNS. Наприклад, Ubuntu, за замовчуванням, не кешує DNS. Перш ніж ми спробуємо очистити кеш DNS на машині Linux, давайте перевіримо, чи кешування навіть включено. Для цього в системі Ubuntu можна виконати наведені нижче дії.
1. Запустіть термінал і введіть ps ps ax grep dnsmasq “.
2. У виході з команди ви зможете побачити поле, що називається " cache-size ". Перевірте його значення. Якщо значення дорівнює нулю, це означає, що кешування вимкнено в системі.
Примітка: Якщо ви хочете ввімкнути кешування DNS на Linux, це можна зробити за допомогою команди “sudo dnsmasq -c 150”. Ви можете використовувати будь-яке число замість 150, що в основному є числом записів, які може кешувати dnsmasq.
Флеш DNS-кешу в Ubuntu
Якщо ваша система Linux кешує записи DNS, ви можете спробувати скинути кеш DNS, щоб позбутися будь-яких проблем, пов'язаних з DNS. Щоб очистити кеш DNS в Ubuntu, виконайте наведені нижче дії.
1. Запустіть термінал (ctrl + alt + T) і введіть " sudo /etc/init.d/dns-clean restart ".
2. Далі введіть команду " sudo /etc/init.d/networking force-reload "
Це призведе до очищення кеш-пам'яті DNS в Ubuntu, і якщо проблеми, які ви переживали, були пов'язані з проблемами DNS, тепер їх треба пропустити.
Flush DNS Cache в DNS Services на Linux
Як я вже сказав, Ubuntu не кешує DNS-записи за замовчуванням, однак, якщо ви встановили DNS-службу, наприклад nscd, ви можете очистити кеш. Нижче наведені методи очищення кешу для деяких поширених служб DNS:
Флеш nscd кеш DNS
- sudo /etc/init.d/nscd перезавантаження
Flush dnsmasq Кеш DNS
- sudo /etc/init.d/dnsmasq перезавантаження
Flush BIND DNS Cache
Якщо ви використовуєте BIND, ви можете очистити кеш DNS за допомогою однієї з наступних команд:
- sudo /etc/init.d/named restart
- sudo rndc restart
- sudo rndc exec
Версія BIND 9.3.0, і більше, підтримує змивання DNS-кешу для певного домену, а також для локальної мережі або WAN. Щоб скористатися цією функцією, можна скористатися такими командами:
- Щоб очистити кеш DNS для певного домену, скористайтеся пунктом " sudo rndc flushname beebom.com "
- Щоб очистити кеш DNS для локальної мережі, скористайтеся пунктом " sudo rndc flush lan "
- Щоб очистити кеш DNS для WAN, скористайтеся пунктом " sudo rndc flush wan "
Бонус: змініть налаштування DNS в Ubuntu
Ми говорили про скидання DNS-кешу в Ubuntu, однак, можуть бути випадки, коли ви просто хочете змінити налаштування DNS в Ubuntu. Якщо ви хочете змінити налаштування DNS в Ubuntu, ви можете зробити це за допомогою графічного інтерфейсу або через термінал.
Змініть параметри DNS за допомогою графічного інтерфейсу
Використання графічного інтерфейсу для зміни настройок DNS простіше, ніж використання терміналу. Однак, якщо ви використовуєте кілька з'єднань, вам доведеться змінити налаштування DNS для кожного з них. Щоб змінити налаштування DNS за допомогою графічного інтерфейсу, виконайте наведені нижче дії.
1. Відкрийте Системні параметри та натисніть кнопку Мережа.
2. Натисніть стрілку поруч із назвою мережі, до якої ви під’єднані.
3. Тепер натисніть кнопку "Налаштування". Це відкриє налаштування для цього з'єднання.
4. Перейдіть на вкладку IPv4, і з'явиться опція “ Додаткові сервери DNS ”. Можна ввести DNS-сервери, які ви хочете використовувати в цьому полі. Якщо ви хочете ввести більше одного DNS-сервера, просто розділіть їх комами.
Змініть налаштування DNS за допомогою терміналу
Якщо ви не хочете користуватися графічним інтерфейсом і віддаєте перевагу зміні налаштувань DNS за допомогою терміналу, це можна зробити, додавши сервери імен до файлу конфігурації dnsmasq. Тим не менш, dnsmasq не встановлюється за замовчуванням в системах Ubuntu (dnsmasq-base, does). Отже, спочатку вам доведеться встановити dnsmasq, запустивши термінал, і скориставшись « sudo apt-get install dnsmasq ».
- Після встановлення dnsmasq. Ви можете редагувати конфігураційний файл за допомогою “ sudo nano /etc/dnsmasq.conf ”.
- Тут ви можете додати IP-адреси ваших DNS-серверів, де написано " Додати інші сервери імен тут ".
Очистіть DNS-кеш у Linux за допомогою цих методів
Ви можете використовувати будь-який з цих методів, щоб очистити кеш DNS в системі Linux. Проблеми з кешем DNS можуть викликати такі проблеми, як завантаження веб-сторінки, зміни в сервері імен, які не розпізнаються вашою системою, і багато іншого. Після того, як ви очистите кеш DNS, ці проблеми швидше за все зникнуть.
Отже, вам доводилося скидати кеш DNS на вашій системі Linux? Якщо так, то який метод ви використовували? Якщо ви знаєте будь-який інший метод очищення DNS-кешу на вашій системі Linux, повідомте нам про це в розділі коментарів нижче.