Что такое кэш DNS

Обновлено: 22.11.2024

DNS – это отличная технология, которая позволяет нам использовать Интернет так, как мы это знаем сейчас. Он преобразует доменные имена в их IP-адреса, и мы получаем ответы почти мгновенно. Но разрешение DNS — это сложный процесс, который может включать множество DNS-серверов, расположенных далеко друг от друга, и требует времени. Есть способ уменьшить количество DNS-запросов и сэкономить время — DNS-кеш.

Что такое кеш DNS?

Кэш DNS (также известный как кэш преобразователя DNS) – это временное хранилище DNS на устройстве (компьютере, смартфоне, сервере и т. д.), которое содержит записи DNS уже посещенных доменных имен (записи A для адресов IPv4, AAAA записи для IPv6 и т. д.). Он хранит эти записи в зависимости от их срока жизни (TTL).

Каждый раз, когда вы посещаете веб-сайт, его адреса будут сохраняться во временной базе данных записей, чтобы упростить повторное посещение в будущем.

По сути, кеш DNS — это то, как ваше устройство пытается сэкономить усилия и время и пропустить долгий поиск DNS, отвечая на запрос DNS записью DNS, которая уже находится во временном кеше DNS.

Зачем нам нужен кеш DNS?

Нам нужен кеш DNS, чтобы получить более быстрый ответ на запрос DNS для доменных имен, которые мы уже недавно посещали в прошлом.

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

Как это работает?

Каждый раз, когда пользователь выполняет поиск DNS, его устройство сначала проверяет внутренний кэш DNS, который является частью ОС. В кэше DNS есть таблица DNS-записей, их значений и времени их хранения (TTL). Значение TTL устанавливается администратором DNS для каждого доменного имени, и это ограничение по времени, которое имеет каждая запись DNS. По истечении времени требуется новый запрос.

Если DNS-запрос можно разрешить из кэша DNS, пользователь получит ответ и сможет посетить нужный ему сайт.

Если нет, запрос будет отправлен на рекурсивный DNS-сервер. Существует множество рекурсивных DNS-серверов. Например, внутри вашего интернет-провайдера. У них также есть кеш, который работает таким же образом. Если там можно найти ответ, пользователь получит его и разрешит домен.

Если нет, запрос будет отправлен на авторитетный сервер имен для получения ответа.

Получив ответ, запись или записи DNS будут сохранены в каждом из кэшей DNS рекурсивных DNS-серверов на пути и внутри устройства пользователя в течение периода, указанного значением TTL.

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

Как проверить кеш DNS?

Вы можете просмотреть кеш DNS вашего устройства с помощью очень простой команды в Windows, немного сложнее в macOS и Linux.

Окна

  1. Откройте приложение командной строки, нажав Windows+R.
  2. Напишите cmd и нажмите "ОК".
  3. Внутри него напишите следующую команду «ipconfig /displaydns», и вы увидите все DNS-записи посещенных вами сайтов.

macOS

  1. Вам потребуется открыть консольное приложение.
  2. Там вы должны ввести следующее «any:mdnsresponder».
  3. Теперь откройте приложение «Терминал» и введите следующую команду «sudo killall -INFO mDNSResponder». Вас спросят ваш пароль. После этого вам нужно будет вернуться в консольное приложение, и вы увидите список записей DNS.

Линукс

Кэширование DNS на уровне ОС отсутствовало, поэтому отобразить его немного сложнее. В зависимости от программного обеспечения, которое вы используете, вы можете найти способ увидеть его. Например, если вы используете NSCD (демон кэширования службы имен), вы можете увидеть строки ASCII из двоичного файла кэша. Он расположен в /var/cache/nscd/hosts, поэтому вы можете запустить «strings /var/cache/nscd/hosts», чтобы отобразить его.

Если вы используете Ubuntu 20.10, Fedora 33 или более позднюю версию, за DNS отвечает Systemd.

  1. Сначала откройте Терминал и введите команду «sudo killall -USR1 systemd-resoved».
  2. Затем запустите еще одну команду, чтобы экспортировать сообщение журнала в простой файл .txt с помощью следующей команды: «sudo journalctl -u systemd-resolved > ~/dns-cache.txt».
  3. Подождите, пока файл будет создан, а затем откройте его с помощью «less ~/dns-cache.txt».

Очистить (очистить) кеш DNS

Вы можете очистить кеш DNS и таким образом удалить все записи DNS из локального кеша в вашей операционной системе или веб-браузере. У обоих могут быть разные кеши, поэтому вам нужно будет удалить их оба.

Удаление кеша DNS может решить проблемы с разрешением домена сайта или любую другую проблему, связанную с устаревшими записями DNS, которые все еще находятся в вашем кеше.

Очистка также скроет список посещенных сайтов на уровне DNS. Таким образом, вы можете скрыть сайты, которые вы не хотите показывать, которые вы посещали.

Это также может быть полезно, если у вас есть подозрения на отравление DNS. Если кто-то манипулировал записью DNS в вашем кэше DNS, ее удаление приведет к удалению потенциально опасных записей.

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

Давайте рассмотрим, как очистить DNS в разных операционных системах и браузерах. Помните, что вам нужно будет очистить его как на уровне ОС, так и на уровне браузера.

Окна

Процесс очистки DNS в Windows прост.

  1. Откройте приложение командной строки и введите следующую команду: «ipconfig /flushdns».
  2. После успешного прохождения проверки вы увидите подтверждающее сообщение: «Конфигурация Windows IP. Кэш преобразователя DNS успешно очищен “.

macOS

  1. В macOS, чтобы удалить кеш DNS, сначала нужно открыть приложение «Терминал».
  2. Затем вам нужно будет ввести эту команду «sudo killall -HUP mDNSResponder», нажать Enter и написать свой пароль. Вам также потребуется очистить кеш DNS используемого вами браузера. Проверьте Safari, если это ваш выбор.

Линукс

Кэширование DNS по умолчанию отсутствует во всех дистрибутивах Linux.

Если вы используете последнюю версию Ubuntu 20.04 LTS или более позднюю, вы можете открыть приложение «Терминал» и выполнить следующую команду «sudo systemd-resolve –flush-caches». Для этого вам потребуются права sudo.

NCSD. Если вы используете NCSD, вам нужно будет выполнить эту команду в Терминале «sudo /etc/init.d/nscd restart». Вам нужно будет подтвердить свой пароль для команды.

DNSMASQ. Команда для DNS-кэша dnsmasq — «sudo /etc/init.d/dnsmasq restart» с последующим вводом пароля. Служба будет перезапущена.

СВЯЗАТЬ. В случае BIND вам потребуется несколько команд: «sudo /etc/init.d/named restart», затем «sudo rndc restart» и, наконец, « rndc exec». На этом вы должны завершить очистку DNS.

Google Chrome

Firefox

  1. Найдите значок с тремя линиями в правом верхнем углу и откройте меню Firefox.
  2. Затем найдите Параметры (предпочтения).
  3. В нем вы увидите Конфиденциальность и безопасность. Нажмите на нее.
  4. Перейдите в «Историю» и нажмите «Очистить историю», выбрав «Все».
  5. Наконец, очистить сейчас.

Сафари

  1. Сначала откройте браузер Safari.
  2. Там перейдите в «Настройки» > «Дополнительно».
  3. Нажмите «Показать меню разработки в строке меню».
  4. Затем в строке меню выберите «Разработка» > «Очистить кэш». Ярлык ⌥⌘E. В конце вам нужно будет перезапустить браузер.

Подмена DNS (отравление кеша DNS)

Спуфинг DNS – это злонамеренная атака, целью которой является изменение или замена записей DNS в кэше DNS целевого устройства (сервера или персонального компьютера). Новые или измененные записи DNS изменили данные, такие как IP-адрес, и они будут разрешать домены в новые IP-адреса. Таким образом, злоумышленники могут направить трафик на поддельный сайт, откуда они могут похитить личные данные пользователей. Все происходит в фоновом режиме, поэтому, если поддельный сайт, на который перенаправляется пользователь, действительно выглядит как оригинал, пользователя легко обмануть и получить результат.

Спуфинг DNS может произойти со спам-сообщением, содержащим исполняемый код, который может выполнить внедрение.

Другим способом является атака "человек посередине", когда злоумышленник находится посередине между пользователем и распознавателем DNS. Он передает модифицированную информацию, делая вид, что отправляет обычные пакеты данных. Пользователь получает записи DNS от злоумышленника.

Пользователь может избежать такой атаки, используя VPN для зашифрованной связи, не нажимая на подозрительные сообщения и открывая зараженные вложения.

Заключение

Кэш DNS — это полезный метод экономии ресурсов как в вашей локальной системе, так и на нескольких серверах. Это быстрый метод разрешения DNS, который экономит время для всех. Да, это цель для атак с отравлением DNS, но существуют различные методы защиты кеша DNS.

Проверка локальной копии выполняется быстрее, чем каждый раз удаленный поиск

  • Массачусетский технологический институт
  • Университет Иллинойса

Выпускник Массачусетского технологического института, который привнес многолетний технический опыт в статьи о поисковой оптимизации, компьютерах и беспроводных сетях.

Крис Селф (Chris Selph) — сертифицированный CompTIA преподаватель технологии и профессиональный преподаватель информационных технологий. Он также работает администратором сети и сервера и выполняет обслуживание и ремонт компьютеров для многочисленных клиентов.

В этой статье

Перейти к разделу

Кэш DNS (иногда называемый кэшем DNS resolver) – это временная база данных, поддерживаемая операционной системой компьютера, которая содержит записи обо всех недавних посещениях и попытках посещения веб-сайтов и других интернет-доменов. .

Другими словами, кеш DNS — это просто память о недавних запросах DNS, к которым ваш компьютер может быстро обратиться, когда пытается выяснить, как загрузить веб-сайт.

Информация в этой статье относится к домашним пользователям, которые не изменили свои настройки DNS.

Назначение кэша DNS

В Интернете используется система доменных имен для ведения индекса всех общедоступных веб-сайтов и соответствующих им IP-адресов. Вы можете думать об этом как о телефонной книге.

С помощью телефонной книги нам не нужно запоминать номера телефонов всех. Это единственный способ, с помощью которого телефоны могут общаться: с помощью номера. Точно так же используется DNS, поэтому нам не нужно запоминать IP-адрес каждого веб-сайта, что является единственным способом связи сетевого оборудования с веб-сайтами.

Вот что происходит за кулисами, когда вы просите веб-браузер загрузить веб-сайт.

Это происходит для каждого веб-сайта, который вы хотите посетить. Каждый раз, когда вы посещаете веб-сайт по его имени хоста, веб-браузер инициирует запрос в Интернет, но этот запрос не может быть выполнен до тех пор, пока имя сайта не будет «преобразовано» в IP-адрес.

Проблема заключается в том, что, несмотря на то, что ваша сеть может использовать множество общедоступных DNS-серверов, чтобы попытаться ускорить процесс преобразования/разрешения, гораздо быстрее иметь локальную копию "телефонной книги", где DNS кэши вступают в игру.

Кэш DNS пытается еще больше ускорить процесс, обрабатывая разрешение имен недавно посещенных адресов до того, как запрос будет отправлен в Интернет

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

Как работает кэш DNS

Прежде чем браузер отправляет запросы во внешнюю сеть, компьютер перехватывает каждый из них и ищет доменное имя в базе данных кэша DNS. База данных содержит список всех недавно использованных доменных имен и адресов, рассчитанных для них DNS при первом запросе.

Содержимое локального кеша DNS можно просмотреть в Windows с помощью команды ipconfig /displaydns, и результаты будут примерно такими:

В DNS запись "A" — это часть записи DNS, которая содержит IP-адрес для данного имени хоста. Кэш DNS сохраняет этот адрес, запрошенное имя веб-сайта и некоторые другие параметры из записи DNS хоста.

Что такое отравление кэша DNS?

Кэш DNS становится отравленным или загрязняется, когда в него вставляются неавторизованные доменные имена или IP-адреса.

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

Отравление приводит к тому, что запросы клиентов перенаправляются не в те места назначения, как правило, на вредоносные веб-сайты или страницы, полные рекламы.

Сброс DNS: что он делает и как это сделать

При устранении неполадок, связанных с отравлением кеша или другими проблемами с подключением к Интернету, администратор компьютера может пожелать очистить (т. е. очистить, сбросить или стереть) кеш DNS.

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

В Microsoft Windows вы можете очистить локальный кэш DNS с помощью команды ipconfig /flushdns в командной строке.Вы знаете, что это работает, когда видите, что конфигурация IP-адреса Windows успешно сбросила кэш преобразователя DNS или сообщение об успешном сбросе кэша преобразователя DNS.

Через командный терминал пользователи macOS должны использовать dscacheutil -flushcache, но знать, что после запуска не будет сообщения об успешном выполнении, поэтому вам не сообщат, сработало ли оно. В некоторых случаях пользователям Mac также придется убить ответчика DNS (sudo killall -HUP mDNSResponder). Пользователи Linux должны ввести команду перезапуска /etc/rc.d/init.d/nscd. Однако точная команда зависит от вашего дистрибутива Linux.

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

Найдите ответы, руководства и учебные пособия, чтобы повысить эффективность доставки контента.

В прошлом мы рассмотрели тему DNS-серверов и объяснили, как они работают. По сути, DNS-сервер используется для преобразования определенного домена в его эквивалент IP. Однако этот процесс требует времени, поскольку после того, как сделан новый запрос веб-сайта, клиент должен запросить информацию у распознавателя, который запрашивает информацию у корневого сервера, который запрашивает сервер TLD. Излишне говорить, что каждая дополнительная проверка увеличивает время, которое посетитель должен ждать, чтобы получить ответ.

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

Что такое кеш DNS?

Кэш DNS — это временное хранилище информации о предыдущих запросах DNS в операционной системе или веб-браузере компьютера. Сохранение локальной копии поиска DNS позволяет вашей ОС или браузеру быстро получить его, и, таким образом, URL-адрес веб-сайта может быть преобразован в соответствующий IP-адрес гораздо более эффективно. Основная функция различных типов кэшей более или менее одинакова. Однако, если вам нужно более подробное объяснение кеша, ознакомьтесь с нашей статьей об определении кеша.

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

Проверка кеша DNS

Вы можете просмотреть журналы своей операционной системы, чтобы узнать, какие записи DNS кэшируются локально. Процесс для этого зависит от того, какую операционную систему вы используете, однако мы рассказали, как этого добиться как на Windows, так и на Mac.

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

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

  • Устранение неполадок с подключением
  • Устранение неполадок и/или устранение проблем с спуфингом DNS (например, отравлением кеша DNS)
  • Устранение проблем с устаревшим контентом (например, если серверы веб-сайта были перемещены)

На момент написания этой статьи мы собрали последние версии операционных систем Mac и Windows и изложили приведенные ниже инструкции по очистке кэша DNS вашей ОС.

  • Windows. Откройте командную строку или нажмите «Выполнить» при открытии меню «Пуск». Затем введите следующую команду: ipconfig /flushdns. Если команда выполнена успешно, вы получите следующее сообщение «Успешно очищен кэш преобразователя DNS».
  • Mac: откройте интерфейс командной строки или терминал и введите следующую команду: sudo killall -HUP mDNSResponder . Возможно, вам потребуется ввести пароль администратора. Если команда выполнена успешно, система не вернет никаких результатов.

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

Подробнее об этом инструменте можно узнать в разделе часто задаваемых вопросов.

Обзор

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

Если вам необходимо очистить или проверить кеш DNS по любой из упомянутых выше причин, просто следуйте инструкциям, относящимся к вашей конкретной ОС.

Большинство поставщиков управляемых услуг (MSP) слышали о системе доменных имен (DNS), распределенной сети серверов, которая действует как каталог, каталогизируя доменные имена и соответствующие им адреса интернет-протокола (IP). Соответственно, кеш DNS — это локальное хранилище, содержащее записи истории запросов компьютера, включая недавние посещения веб-сайтов.

Сопутствующий товар

Быстро приступайте к работе с помощью RMM, предназначенного для небольших поставщиков услуг и ИТ-отделов.

В целом, DNS преобразует доменные имена, словесную номенклатуру, которую людям легче понять и вспомнить, в числовой метод именования и передачи, необходимый для компьютеров. В свою очередь, операционная система (ОС) использует кэширование для хранения записей ресурсов DNS, что позволяет избежать избыточности при попытке доступа к веб-странице и, следовательно, уменьшает задержку поиска DNS. Если машина недавно посетила страницу, к которой она хочет получить доступ, кэш может предоставить IP-адрес своего веб-сервера, выполнив запрос веб-сайта до того, как поиск должен будет запросить DNS-сервер.

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

Как кэширование DNS влияет на сеть?

Несмотря на то, что ответить на вопрос "Что такое DNS-кэш?" довольно просто? то, как это влияет на сетевые операции, является немного более сложной темой, и на самом деле кэширование DNS может быть проблемой безопасности для MSP.

Как объяснялось выше, кеш DNS предназначен для упрощения процесса поиска DNS, который преобразует доменное имя в IP-адрес. Таким образом, он служит неоценимой цели ускорения. Но DNS-кеширование может поставить под угрозу доступ к веб-странице и безопасность сети, если оно не управляется должным образом. По этой причине MSP должны понимать, как кэширование может подвергнуть их риску, и должны знать, как просматривать и очищать содержимое кэша DNS.

Во-первых, регулярная очистка кэша DNS важна для обеспечения стабильного доступа к веб-страницам. Если веб-страница изменила местоположение своего веб-сервера за время, прошедшее с момента кэширования ее IP-адреса, веб-браузер может вернуть ошибку HTML 404 — хотя сайт все еще находится в сети, кэш передает браузеру неточный IP-адрес. Это блокирует доступ пользователя к активной странице.

Во-вторых, чистый кеш DNS защищает общую безопасность сети, от удаления личных данных об использовании Интернета до предотвращения отравления DNS. Многие операционные системы (например, MacOS и Windows) и почти все веб-браузеры автоматически создают кеш DNS. Хотя эта функция призвана служить пользователю, поддерживая эффективность поиска DNS, это означает, что, по сути, компьютер пользователя и веб-браузер имеют исчерпывающий набор их веб-активности, независимо от того, осознают они это или нет. Удаление записей ресурсов DNS предотвращает получение и злоупотребление этой личной информацией вредоносными агентами.

Отравление DNS или спуфинг DNS — это угроза кибербезопасности, при которой хакеры повреждают записи ресурсов DNS. Изменяя IP-адреса, связанные с определенными доменными именами, хакеры могут захватить веб-сеанс и отправить компьютеры, запрашивающие определенный сайт, на неправильный веб-сервер — форма фишинга. Эти альтернативные страницы могут показывать пользователям рекламу, побуждать их устанавливать вредоносные программы или преуспевать в краже личных данных (например, номеров социального страхования или финансовой информации), если они выдают себя за правильный веб-сайт и убеждают пользователей вводить конфиденциальные данные. Регулярная очистка кэшей DNS сужает возможности для отравления DNS и стирает любые поврежденные записи.

Как проверить кеш DNS?

Каждая операционная система требует, чтобы пользователи выполняли различную последовательность шагов для просмотра содержимого кэша DNS, хотя, в целом, процесс у основных разработчиков примерно одинаков. Пользователям обычно требуется административный доступ. В зависимости от вашей операционной системы вы можете просматривать содержимое DNS, следуя этим инструкциям:

  • Windows: откройте командную строку и введите команду «ipconfig /displaydns». После этого вы сможете увидеть записи.
  • Mac: откройте приложение «Терминал», введите команду «sudo discoveryutil udnscachestats» и введите свой пароль. Это отобразит кеш Unicast DNS. Когда вы закончите прокручивать эти результаты, закройте терминал, снова откройте его, введите команду «sudo discoveryutil mdnscachestats», введите свой пароль и прокрутите результаты многоадресного DNS-кэша.
  • Linux: Linux не создает кэш DNS автоматически, но многие часто используемые приложения предоставляют эту услугу. Если ваша ОС использует демон кэширования службы имен (NSCD), откройте командный терминал и введите либо «service nscd status», либо «sudo service nscd status».

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

Хотя просмотр кэша DNS полезен для мониторинга содержимого DNS или получения определенных IP-адресов, очистка кэша DNS является важной операцией для обеспечения безопасности сети и обновления записей ресурсов DNS.

Кэш DNS выполняет часть этой работы самостоятельно — каждой записи ресурса DNS назначается срок жизни (TTL). После истечения срока жизни (т. е. после того, как запись существует в течение отведенного ей промежутка времени) она становится недействительной. В следующий раз, когда ОС запросит свой адрес, кеш должен будет запросить DNS-сервер, автоматически обновив кеш.

Во многих случаях системные администраторы не знают срок жизни своих DNS-записей, и зачастую срок действия DNS-записей слишком велик для обеспечения оптимальной надежности и безопасности доступа к веб-страницам. Чтобы очистить кеш клиента — процесс, обычно называемый очисткой кеша, — выполните следующие действия в зависимости от ОС:

  • Windows. Опять же, процесс сброса DNS в Windows довольно прост. Введите «ipconfig /flushdns» в командной строке. Вы увидите сообщение «Конфигурация IP-адреса Windows успешно сбросила кэш DNS-преобразователя». Вы можете просмотреть кеш DNS, чтобы увидеть результаты (очищенный кеш).
  • Mac: для MacOS 10.10.4 и более поздних версий откройте терминал и выполните команду «sudo killall -HUP mDNSResponder». ОС не будет генерировать сообщение об успешном выполнении, поэтому лучше самостоятельно убедиться, что сброс был выполнен полностью, просмотрев кеш DNS.
  • Linux: чтобы очистить кеш ОС Linux, на которой работает NSCD, просто перезапустите приложение с помощью команды «sudo /etc/init.d/nscd restart».

Кэш DNS — это только один из компонентов служб DNS, но он служит важной цели, обеспечивая быстрый и надежный поиск в Интернете. Понимание того, как кеш может повлиять на операции поиска DNS, позволяет MSP устранять распространенные проблемы в сетях клиентов, предотвращать фишинг и очищать запись истории поиска пользователей, которую в противном случае могли бы использовать хакеры.

Посетите наш блог, чтобы узнать о других распространенных вопросах и проблемах, связанных с DNS и другими системными проблемами.

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

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

Чтобы представить это в контексте, подумайте о своем мобильном телефоне. Когда вы хотите позвонить другу, с которым вы регулярно разговариваете, вы просто переходите к последним звонкам и нажимаете на его имя. Но что, если вместо того, чтобы иметь доступ к этой информации, вам пришлось бы звонить по номеру 411, чтобы получить их номер телефона, а затем вводить его вручную. Кажется довольно утомительным, не так ли?

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

Система доменных имен реализует срок жизни (TTL) для каждой записи DNS. TTL указывает количество секунд, в течение которых запись может кэшироваться клиентом или сервером DNS. Когда запись хранится в кеше, любое значение TTL, полученное вместе с ней, также сохраняется. Сервер продолжает обновлять TTL записи, хранящейся в кеше, отсчитывая каждую секунду. Когда он достигает нуля, запись удаляется или вычищается из кеша. В этот момент, если запрос для этой записи получен, DNS-сервер должен начать процесс разрешения.

Когда «резольвер-заглушка» получает запрос от приложения, он сначала просматривает свой кэш и, если у него есть запись, передает информацию приложению. Если его нет, он отправляет DNS-запрос (с рекурсивным флагом) на рекурсивный преобразователь (DNS-сервер вашего интернет-провайдера).

До сих пор мы рассмотрели, как DNS кэширует ОС и DNS-серверы, однако есть еще один последний уровень кэширования: приложение. Любое приложение может кэшировать данные DNS, однако оно не может следовать спецификации DNS.Приложения полагаются на функцию ОС под названием «getaddrinfo()» для разрешения домена (все ОС имеют одинаковое имя функции). Эта функция возвращает список IP-адресов для домена, но не возвращает записи DNS, следовательно, отсутствует информация TTL, которую может использовать приложение.

Ловушка кэша NS

Одной из основных ловушек, в которые попадают люди при работе с кешем DNS, являются авторитетные записи серверов имен. Как мы упоминали ранее, авторитетные серверы имен указываются в ответе на запрос в виде NS-записей. Записи NS имеют TTL, но не предоставляют IP-адреса серверов имен. Информация об IP содержится в дополнительных записях ответа и представляет собой записи A или AAAA.

Поэтому рекурсивный преобразователь использует записи NS и A для доступа к серверу имен. В идеале TTL для обоих типов записей должен быть одинаковым, но время от времени кто-то неправильно настраивает свои зоны DNS и передает ответы на запросы DNS для домена с новыми записями A или AAAA для серверов имен с более низким или более высоким TTL. чем то, что было указано в TLD. Эти новые записи переопределяют старые записи, вызывая несоответствие.

Установка срока жизни: компромисс

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

С другой стороны, более короткий TTL ограничивает кэширование и увеличивает время загрузки страницы и/или ресурсов, повышая нагрузку на ваши серверы имен. Тем не менее, они позволяют быстрее вносить изменения в конфигурацию DNS.

Разрешение DNS – это многоэтапный процесс, в котором задействовано множество серверов в Интернете. Механизм кэширования, встроенный в протокол, ускоряет процесс, сохраняя информацию в течение определенного периода времени и повторно используя ее для будущих DNS-запросов. В то время как DNS-серверы и/или клиенты следуют спецификациям DNS для TTL, приложения, такие как браузер, не следуют спецификации, поэтому их кеш хранится в течение произвольного периода времени.

Читайте также: