DNS или система доменных имен отвечает за преобразование имен веб-сайтов в их соответствующие IP-адреса. Поэтому, если у вас возникают проблемы с подключением к веб-сайту или вы просто хотите, чтобы изменения DNS были видны на вашей машине с Ubuntu, попробуйте очистить кэш DNS. Вы также можете очистить кэш DNS в Ubuntu, если вы внесли изменения в файл hosts, и вы хотите, чтобы он был «виден» вашей системой без перезагрузки. Ну, если вы находитесь в любой из этих ситуаций и хотите очистить кэш DNS, вот как очистить кэш DNS в Linux:
Примечание : я использую систему Ubuntu 16.10 «Yakkety Yak» для демонстрации этих методов. Однако этот процесс должен быть похож на большинство дистрибутивов Linux.
Проверка включения DNS-кэширования
Все дистрибутивы Linux не ведут себя одинаково, когда речь идет о таких вещах, как кеширование DNS. Например, Ubuntu по умолчанию не кэширует DNS. Прежде чем мы попытаемся очистить кэш DNS на компьютере с Linux, давайте проверим, включено ли кэширование. Чтобы сделать это в системе Ubuntu, вы можете выполнить следующие шаги:
1. Запустите терминал и введите « ps ax | grep dnsmasq .
2. В выводе команды вы увидите поле с именем « размер кеша ». Проверьте его значение. Если значение равно нулю, это означает, что кэширование в системе отключено .
Примечание. Если вы хотите включить 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, их теперь следует удалить.
Очистить кэш DNS в службах DNS в Linux
Как я уже сказал, Ubuntu по умолчанию не кэширует записи DNS, однако, если вы вручную установили службу DNS, такую как nscd, вы можете очистить ее кэш. Способы очистки кэша для некоторых распространенных служб DNS приведены ниже:
Очистить DNS-кэш nscd
- sudo /etc/init.d/nscd restart
Сброс DNS-кеша dnsmasq
- sudo /etc/init.d/dnsmasq restart
Очистить BIND DNS-кэш
Если вы используете BIND, вы можете очистить кэш DNS, используя одну из следующих команд:
- sudo /etc/init.d/named рестарт
- sudo rndc restart
- sudo rndc exec
BIND версии 9.3.0 и выше поддерживает очистку кеша DNS для конкретного домена, а также для локальной сети или глобальной сети. Вы можете использовать следующие команды, чтобы использовать эту функцию:
- Чтобы очистить кэш 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, делает). Итак, сначала вам нужно установить dnsmasq, запустив терминал и используя « sudo apt-get install dnsmasq ».
- После того, как вы установили dnsmasq. Вы можете редактировать файл конфигурации с помощью « sudo nano /etc/dnsmasq.conf ».
- Здесь вы можете добавить IP-адреса ваших DNS-серверов, где написано « Добавить сюда другие серверы имен ».
Очистить кэш DNS в Linux, используя эти методы
Вы можете использовать любой из этих методов для очистки кеша DNS в системе Linux. Проблемы с кешем DNS могут привести к таким проблемам, как не загружается веб-страница, изменения на сервере имен, которые не распознаются вашей системой, и многое другое. Когда вы очистите кэш DNS, эти проблемы, скорее всего, исчезнут.
Итак, вам когда-нибудь приходилось очищать кэш DNS в вашей системе Linux? Если да, то какой метод вы использовали? Если вам известен какой-либо другой способ очистки DNS-кэша в вашей системе Linux, сообщите нам об этом в разделе комментариев ниже.