Эта статья посвящена очистке DNS в Ubuntu. Но чтобы понять, зачем это нужно, сначала нужно понять, как работает DNS, и немного о кешировании DNS.
Как работает DNS:
Проще говоря, DNS можно представить себе в виде таблицы доменных имен и IP-адресов, представленной ниже:
Доменное имя | Айпи адрес |
linuxhint.ком | 1.2.3.4 |
служба поддержки.linuxhint.ком | 3.4.5.7 |
Google.ком | 8.9.5.4 |
www.Google.ком | 8.9.5.4 |
Пожалуйста, знайте, что ни одна из данных в этой таблице не является реальной. Это просто для демонстрации. Итак, вернемся к нашей исходной теме.
Когда вы посетите, скажем,, linuxhint.ком, браузер задает DNS-серверу (установленному на вашем компьютере) несколько вопросов.
Твой компьютер: Эй ты знаешь linuxhint.ком?
DNS-сервер: Нет. Но DNS-сервер 4.4.4.4 могут знать об этом.
Твой компьютер: Связь с DNS сервером 4.4.4.4 и спрашивает: «Эй, ты знаешь linuxhint.ком?”
DNS-сервер 2: Да. Что я могу сделать для вас?
Твой компьютер: Мне нужен IP-адрес linuxhint.ком. Можно мне это?
DNS-сервер 2: Не бойся, вот почему я здесь. Вот IP-адрес linuxhint.ком 1.2.3.4.
Твой компьютер: Ты спасатель жизни. Спасибо.
Теперь ваш компьютер подключается к 1.2.3.4 и ваш любимый сайт linuxhint.ком появляется. Это было действительно сложно, не так ли?
В следующий раз, когда вы посетите linuxhint.ком, то же самое происходит снова.
Кэширование DNS:
В предыдущем разделе вы видели, как доменное имя преобразуется в IP-адреса. Это путешествие по DNS-серверам занимает некоторое время, и пока оно не будет завершено и доменное имя не будет преобразовано в IP-адреса, вы не сможете подключиться к любому веб-сайту или серверу в Интернете.
Для решения этой проблемы используется кеширование DNS. Здесь, когда вы пытаетесь преобразовать доменное имя в IP-адреса в первый раз, это занимает немного больше времени. Но как только доменное имя разрешено, IP-адреса сохраняются на вашем собственном компьютере. Итак, в следующий раз, когда вам нужно будет разрешить то же доменное имя, это не займет столько времени, как в первый раз.
Проблемы с кешированием DNS:
Кеширование DNS - это хорошо. Почему кеширование DNS проблематично? Что ж, мир Интернета настолько динамичен, что информация DNS постоянно меняется. Возможно, он менялся несколько раз, даже когда я писал эту статью.
Итак, что происходит, когда информация DNS изменяется, и мы используем информацию DNS, которая кэшируется на нашем собственном компьютере? Ну вот тут и возникают проблемы. В этом случае мы будем использовать старую информацию DNS. У нас могут быть проблемы с подключением, проблемы с ложным перенаправлением и многие другие проблемы.
Чтобы решить эту проблему, мы должны удалить кеш (также называемый очисткой DNS) и перестроить его. Это тема данной статьи.
Проверка, включено ли кеширование DNS:
Вы можете легко проверить, включено ли кеширование DNS в Ubuntu. Вам нужно иметь nslookup или же копать Утилита, установленная на вашем компьютере, чтобы это работало.
nslookup или же копать команда может быть недоступна по умолчанию на вашем компьютере с Ubuntu. Но вы можете легко установить его из официального репозитория пакетов Ubuntu.
Сначала обновите кеш репозитория пакетов APT с помощью следующей команды:
$ sudo подходящее обновление
Кэш репозитория пакетов APT должен быть обновлен.
Теперь установите nslookup а также копать с помощью следующей команды:
$ sudo apt install dnsutils
Теперь нажмите у а затем нажмите
nslookup а также копать команды теперь должны быть доступны.
Теперь, чтобы проверить, включено ли кеширование, выполните следующую команду:
$ nslookup google.комКак видите, DNS-сервер, используемый для разрешения доменного имени, - 127.0.0.53, который является IP-адресом обратной связи. Итак, кеширование DNS включено. Если он у вас отключен, то DNS-сервер должен быть любым, кроме 127.0.0.Икс.
Вы можете проверить то же самое с копать команда, а также следующие:
$ копать гугл.комКак видите, петлевые IP-адреса также используются в качестве адресов DNS-серверов. Итак, кеширование DNS включено.
Очистка DNS в Ubuntu 18.04 LTS:
Ubuntu 18.04 LTS использует локальный DNS-сервер и по умолчанию кэширует DNS-запросы. Ubuntu 18.04 LTS использует systemd для этого.
Вы можете запустить следующую команду, чтобы проверить, сколько записей DNS кэшировано, и много другой информации о Ubuntu 18.04 LTS:
$ sudo systemd-resolve - статистика
Как видите, информация о DNS-кеше указана в отмеченном разделе на скриншоте ниже.
Чтобы очистить кеш DNS в Ubuntu 18.04 LTS, выполните следующую команду:
$ sudo systemd-resolve --flush-caches
Вы также можете перезапустить systemd-разрешено сервис для очистки кешей DNS в Ubuntu 18.04 LTS.
Чтобы перезапустить systemd-разрешено service, выполните следующую команду:
$ sudo systemctl перезапуск systemd-resolved
Как видите, кеши очищены.
$ sudo systemd-resolve - статистика
Очистка кеша DNS в Ubuntu 16.04:
В Ubuntu 16.04 LTS, DNS-кеш по умолчанию отключен. Но некоторые приложения вроде связывать, dnsmasq, NSCD так далее. может кэшировать это.
Если вы используете NSCD для кеширования DNS-запросов, вы можете очистить кеш DNS, просто перезапустив NSCD услуга.
Вы можете перезапустить NSCD сервис на Ubuntu 16.04 LTS для очистки кешей DNS с помощью следующей команды:
$ sudo systemctl перезапуск nscdЕсли вы используете dnsmasq для кеширования DNS, затем перезапуск dnsmasq сервис с помощью следующей команды должен очистить кеш DNS.
$ sudo systemctl перезапуск dnsmasqИтак, вот как вы очищаете кеш DNS в Ubuntu 18.04 LTS и 16.04 LTS. Спасибо, что прочитали эту статью.