Как очистить кеш DNS на Linux



Компьютеры хранят записи каждого веб-сайта, который вы посещаете, в «кэше DNS». Цель этого кэша - сэкономить время, когда пользователь пытается получить доступ к домену; система не должна искать его каждый раз вручную. В целом, DNS-кеширование ускоряет использование интернета, поэтому практически все операционные системы от macOS до Windows и Linux делают это.

Тем не менее, при всей полезности кэширования DNS иногда могут возникать проблемы, такие как просмотр старого веб-сайта вместо нового обновленного, невозможность подключения к удаленному серверу и т. д. Отличный способ обойти подобные ошибки в Linux - очистить кэш DNS в Linux. Когда вы очищаете кэш DNS, он обновляет базу данных DNS и устраняет многие проблемы, с которыми сталкиваются пользователи.





Очистить DNS - systemd resolved


На этом этапе большинство пользователей Linux используют операционную систему, в которой встроена система инициализации Systemd. Хотя тема Systemd вызывает споры в сообществе, все знают одну вещь: Systemd делает глубокие, сложные настройки операционной системы и обслуживание намного проще, чем это было в прошлом. Этот факт особенно актуален при очистке кеша DNS.

Systemd обрабатывает DNS-кэш в так называемом «systemd resolved
». Это стандартная утилита, которая находит применение в большинстве операционных систем Linux. Чтобы определить, использует ли ваша ОС Systemd Resolved для обработки DNS и DNS-кеша в системе, запустите окно терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. После этого выполните команду systemctl status в файле systemd-resolved.service.



systemctl status systemd-resolved.service


Просмотрите распечатку Systemd Resolved в окне терминала и найдите раздел «Active», как только вы найдете раздел «Active», и убедитесь, что рядом с ним «active (running)». Если это так, ваша система Linux использует это для управления DNS.

Чтобы очистить кэш DNS для Systemd Resolved, вам нужно использовать одну из встроенных функций Systemd Resolved. В частности, команда очистки кэша. Он мгновенно очистит DNS и снова заработает!

sudo systemd-resolved --flush-caches

Или, если вы не можете использовать sudo, выполните:

su -

systemd-resolved --flushcaches


После того, как вы использовали команду flushcaches, кэш DNS в системе должен быть достаточно очищен. Однако, если после выполнения этой команды у вас все еще возникают какие-то проблемы, возможно, стоит перезапустить службу. Для этого используйте команду systemctl restart.

sudo systemctl restart systemd-resolved.service

Не можете использовать sudo? Войдите в систему как Root с su, прежде чем пытаться перезапустить сервис с помощью systemd.

su -


systemctl restart systemd-resolved.service


Когда Systemd-Resolved завершит перезапуск, все проблемы с DNS должны быть исправлены!



Очистка DNS - DNS Masq


DNSMasq - еще одно популярное решение DNS для платформы Linux, которое используют многие операционные системы. Как и инструмент Systemd-Resolved, пользователи могут взаимодействовать с ним с помощью команды systemctl. Чтобы определить, использует ли ваша ОС инструмент DNSMasq для управления DNS, выполните команду status.



systemctl status dnsmasq.service

Прочитайте распечатку состояния, которую systemd предоставляет на экране. Доберитесь до «Active» раздела показаний. Просмотрите его и найдите «active (running)», чтобы убедиться, что служба активна. В этом случае можно сразу очистить кэш DNS для DNSMasq с помощью команды systemctl restart. В терминале введите следующую команду.

sudo systemctl restart dnsmasq.service


Или, для тех, кто не может использовать команды systemd с sudo, попробуйте войти в систему как Root, прежде чем пытаться перезапустить.

su -

sudo systemctl restart dnsmasq.service


Очистка DNS - NSCD


NSCD является предпочтительной системой кеширования DNS для большинства операционных систем Linux на базе RedHat. Поэтому, если вы используете OpenSUSE Linux, CentOS или что-то подобное, есть хороший шанс, что вам придется возиться с этим, чтобы очистить кэш DNS.

Примечание: хотя Fedora Linux основана на RedHat, по умолчанию она не хранит кэш DNS.


Чтобы определить, использует ли ваша ОС Linux NSCD, вам нужно использовать команду status, так как это служба systemd.



systemctl status nscd.service

Выполнение команды состояния в службе NSCD даст вам много подробной информации о ней. Пролистайте и найдите раздел с надписью «Active». Если ваша система его использует, вы увидите зеленый текст с надписью «
active (running)».

Очистка кэша DNS с помощью NSCD работает почти так же, как любая другая система кэширования, которая работает с systemd. Все, что нужно сделать пользователю, это запустить команду systemctl restart. Команда перезагрузит службу и автоматически очистит кэш DNS, что устранит любые проблемы с DNS, с которыми вы можете столкнуться.

sudo systemctl restart nscd.service

Кроме того, если ваша ОС Linux отключает запуск команд systemctl с помощью sudo, вы можете перезапустить службу, сначала войдя в учетную запись Root с помощью su.

su -

sudo systemctl restart nscd.service
Как очистить кеш DNS на Linux Как очистить кеш DNS на Linux Reviewed by Admin on февраля 21, 2019 Rating: 5

Комментариев нет: