DnsCache — что это за служба? (DNS-клиент)

Приветствую друзья! Сегодня мы постараемся разобраться с службой DnsCache, я найду максимум информации и напишу все простыми словами.
DnsCache — что это такое?
Служба кэширования DNS на стороне клиента. Клиент — имеется ввиду обычный домашний компьютер.
Отображаемое название — DNS-клиент.
Если службу отключить, то сетевой трафик для DNS-запросов увеличится. На самом деле для домашнего ПК это не так критично, просто будет отправляться больше запросов, другими словами — немного больше будет расходоваться интернета.
Зачем нужна? Служба оптимизирует производительность разрешения имен DNS за счет хранения ранее разрешенных имен в памяти. Простыми словами — это кэш, то есть зачем Windows узнавать одни и те же DNS-данные повторно? Когда она их может заносить в кэш и при необходимости — уже оттуда брать данные. В результате экономится время и трафик.
DnsCache работает под процессом svchost.exe, который запускается из этой папки с таким параметром:
C:\Windows\system32\svchost.exe -k NetworkService
Что такое DNS простыми словами?
Ребята, все очень просто, смотрите — мы посещаем сайты. У каждого сайта есть название. Однако название — это для нас, чтобы нам было легче и удобнее запомнить. Программы общаются не к названиям сайтов, а к их IP-адресам. Чтобы узнать какой IP-адрес скрывается за сайтом — и нужен сервер DNS (Domain Name System).
А теперь покажу на примере (образно говоря):
- Вы вводите в браузере Хроме сайт, например microsoft.com.
- При помощи DNS-сервера Хром узнает IP-адрес сервера, где расположен сайт microsoft.com.
- Хром посылает запрос к этому серверу, мол хотим получить сайт microsoft.com, сервер отвечает — просто выдает запрашиваемую страницу и браузер показывает ее вам.
Чтобы не запрашивать каждый раз IP-адрес можно воспользоваться DNS-кэшем, работу которого и осуществляет служба DnsCache (DNS-клиент).
Как очистить кэш DNS?
Оказывается этот кэш можно очистить.
Нужно просто открыть командную строку от администратора, если у вас Windows 10 то достаточно зажать Win + X и выбрать соответствующий пункт. Потом вставьте такую команду:

Когда нужно чистить этот кэш? Например если у вас странные проблемы с интернетом, неработают некоторые сайты, то можно попробовать очистить DNS-кэш. Иногда стоит чистить в целях приватности/конфиденциальности, чтобы вообще не было никаких данных о посещенных сайтах.
DnsCache — как отключить службу?
- Службу отключать нужно только если вы уверены в этом.
- Однако даже при отключенной службе в теории никаких проблем не будет, возможно интернет будет чуточку медленнее работать (думаю будет незаметно).
На самый крайний случай перед отключением можно создать точку восстановления.
Отключить службу можно обычным способом или через командную строку. Да, конечно можно еще задействовать реестр, но здесь нет смысла — служба спокойно отключается и обычными способами.
Используя командную строку. Запустите командную строку от имени администратора, в Windows 10 это сделать просто — Win + X > выбираем соответствующий пункт. Теперь указываем две команды, первая — для остановки работы:
net stop dnscache
Вторая — для того чтобы служба после перезагрузки снова не запустилась:
sc config «dnscache» start= disabled
Отключение через список служб. Здесь тоже все просто:

- Зажмите Win + R, появится окошко Выполнить, вставьте команду services.msc и нажмите ОК.
- Откроется список служб — найдите здесь DNS-клиент, нажмите два раза.
- Появится окошко свойств: в меню Тип запуска выберите Отключена, а также нажмите на Остановить.
Заключение
- DnsCache — служба кэширования DNS-записей.
- Обычно отключать службу не нужно, но в целях эксперимента — можно попробовать. Может сайты будут чуть дольше открываться, но все равно маловероятно.
Вообще при проблемах с DNS рекомендуется ставить сервера от Google Public DNS — это 8.8.8.8 и 8.8.4.4 .
Служба dnscache больше не отправляет пакеты обновления для DNS-сервера
Windows Server 2012 Datacenter Windows Server 2012 Datacenter Windows Server 2012 Essentials Windows Server 2012 Foundation Windows Server 2012 Foundation Windows Server 2012 Standard Windows Server 2012 Standard Windows 8 Windows 8 Enterprise Windows 8 Pro Еще. Меньше
Симптомы
Рассмотрим следующий сценарий:
- У вас есть компьютер под управлением Windows 8 или Windows Server 2012.
- Настройте статический IP-адрес компьютера.
- Служба Dnscache прекращается из-за тайм-аута ожидания 15 минут.
- Служба Dnscache запускается на перезагрузку.
В этом случае служба Dnscache больше не отправляет пакеты обновления DNS для DNS-сервера. Отметка времени больше не обновляется, проверьте DNS в конечном итоге удаление записи компьютера и это делает компьютер недоступен.
Решение
Сведения об исправлении
Доступно исправление от службы поддержки Майкрософт. Однако данное исправление предназначено для устранения только проблемы, описанной в этой статье. Применяйте это исправление только в тех случаях, когда наблюдается проблема, описанная в данной статье. Это исправление может проходить дополнительное тестирование. Таким образом если вы не подвержены серьезно этой проблеме, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.
Если исправление доступно для скачивания, имеется раздел «Пакет исправлений доступен для скачивания» в верхней части этой статьи базы знаний. Если этот раздел не отображается, обратитесь в службу поддержки для получения исправления.
Примечание. Если наблюдаются другие проблемы или необходимо устранить неполадки, вам может понадобиться создать отдельный запрос на обслуживание. Стандартная оплата за поддержку будет взиматься только за дополнительные вопросы и проблемы, которые не соответствуют требованиям конкретного исправления. Чтобы просмотреть полный список телефонов поддержки и обслуживания клиентов корпорации Майкрософт или создать отдельный запрос на обслуживание, посетите следующий веб-сайт корпорации Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримечание. В форме «Пакет исправлений доступен для скачивания» отображаются языки, для которых доступно исправление. Если нужный язык не отображается, значит исправление для данного языка отсутствует.
Предварительные условия
Не существует предварительных условий для установки исправления.
Необходимость перезагрузки
Может потребоваться перезагрузить компьютер после установки данного исправления.
Сведения о замене исправлений
Это исправление не заменяет все ранее выпущенные исправления.
DNSCache загружает процессор и блокирует интернет
OS: Windows 10 LTSC 1809 (сборка 17763.1339) Сразу после загрузки Windows минут 10-15 процесс dnscache загружает CPU на ~50%, при этом не открываются сайты в браузере, не работают приложения, требующие доступа в интернет (Google Drive, Discord, лаунчеры онлайн-игр и т.д.). Через 10-15 минут этот процесс успокаивается и всё начинает работать как положено. Но если внести какие-то изменения в файл HOSTS, то всё начинается заново — опять 10-15 минут тормозов и неработающие браузер/приложения. При этом команда
ping 8.8.8.8
dnscache — программа для кэширования DNS серверов.
dnscache — программа для кэширования DNS серверов. Dnscache принимает рекурсивные DNS-запросы от местных клиентов, таких как браузеры и почтовые агенты, собирает ответы с удаленных серверов DNS, а затем кэширует ответы, для того чтобы в последствие сэкономить время.
Программа обеспечивает ускорение работы в Интернете за счет кэширования ответов, полученных от службы DNS. Данные, полученные в результате одновременного опроса до десяти серверов DNS, хранятся в специальной индексированной базе данных. Все используемые адреса регулярно перепроверяются, чтобы обеспечить точность базы данных. К несомненным достоинствам dnscache можно отнести относительно несложную настройку, что делает его заметно привлекательной все той же BIND, нетребовательность к ресурсам и намного более высокий уровень безопасности (автоматический chroot, авторство DJB и всего одна уязвимость за все время существования).
Обычно dnscache конфигурируется специальной утилитой dnscache-conf.
dnscache запускается в chroot окружении в директории, которая указана в переменной окружения $ROOT с uid и gid, указанными в соответственно переменных окружения $UID и $GID.
dnscache слушает сокет на 53/udp и 53/tcp c IP адресом, указанным в $IP. Это может быть как адрес локальной петли 127.0.0.1 (DNS кеш используется только локальным компьютером) или внешний IP адрес (DNS кеш используется различными компьютерами в сети). В последнем случае нужно ограничить доступ к кешу только доверенным клиентам в сети. Для этого достаточно поместить файл например с таким именем ip/192.168.0. Таким образом dnscache будет принимать запросы от клиентов из IP сети 192.168.0.
Ответ от dnscache посылается с IP адреса $IPSEND. Чаще всего $IPSEND равен 0.0.0.0, т.е. с первичного IP адреса.
Список IP адресов корневых серверов для dnscache доступен из файла servers/@. Если в директории servers находится например файл servers/nordcomp.ru, то dnscache при попытке разрешения имени xxx.nordcomp.ru будет обращаться непосредственно к серверу/серверам, IP адрес/адресы которого указаны в этом файле, без запросов к корневым серверам.
Для версий v.1.03 и выше : если установлена переменная $FORWARDONLY, то dnscache будет считать, что список IP адресов в файле servers/@ это адреса форвардеров, которым следует перенаправлять запросы клиентов.
В целях безопасности, dnscache использует фиксированную по размеру таблицу размером 256K, для одновременной работы с 200-ми UDP запросами и 20-ю TCP соединениями. Также память динамически аллокируется для каждого активного запроса. В случае, если dnscache нехватает памяти, запрос не обслуживается. ОС также резервирует буфер размером в 128К для входящих UDP запросов. В версиях выше 1.03, если получен новый UDP запрос, а dnscache уже обслуживает больше 200, отбрасывается самый «старый» запрос. dnscache поступит также и в случае превышения количества обслуживаемых TCP соединений более 20.
Инструкции по настройке dnscache на рабочие станции, домашние компьютеры, внешний кэш, или для обновление с BIND можно найти здесь: http://cr.yp.to/djbdns/dnscache.html.
Оставьте свой комментарий!