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

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

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

Очистить DNS — Systemd решено

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

  5 лучших дистрибутивов Linux на основе Gnome, которые стоит попробовать

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 в окне терминала и найдите раздел «Активный», как только вы найдете раздел «Активный», и убедитесь, что рядом с ним стоит «активен (работает)». Если это так, ваша система Linux использует это для управления своим DNS.

Чтобы очистить кеш DNS для Systemd Resolved, вам необходимо использовать одну из встроенных функций Systemd Resolved. В частности, команда flush caches. Он мгновенно очистит 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 должны быть исправлены!

  Как комфортно использовать Linux-ПК ночью с настольным диммером

Очистить DNS — DNS Masq

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

systemctl status dnsmasq.service

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

sudo systemctl restart dnsmasq.service

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

su -
systemctl restart dnsmasq.service

Очистить DNS — NSCD

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

  Как установить Skype в Linux

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

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

systemctl status nscd.service

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

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

sudo systemctl restart nscd.service

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

su -

systemctl restart nscd.service