Как очистить кеш DNS в OS X Yosemite с помощью DiscoveryUtil

Очистить кеш DNS в OS X

Некоторые пользователи Mac могут столкнуться с ситуациями, когда им необходимо очистить кеш DNS в OS X для правильного разрешения сервера имен или для того, чтобы какое-то изменение адреса DNS было замечено их отдельным компьютером. Это особенно актуально для системных администраторов, сетевых администраторов и веб-разработчиков, но, безусловно, существуют ситуации, когда другим пользователям может потребоваться сбросить и сбросить кеш DNS, например, если пользователь изменил файл / etc / hosts и им нужны изменения. чтобы вступить в силу без перезагрузки Mac.

Давние пользователи Mac знают, что сброс кеша DNS изменился почти в каждой версии Mac OS X, и OS X Yosemite ничем не отличается, вероятно, из-за того, что discoveryd заменил mDNSResponder, а затем снова переключился обратно на mDNSResponder. Несмотря на это, очистка кеша DNS в Yosemite остается командой терминала, но она немного отличается в зависимости от конкретной версии ОС, которую вы используете, и фактически позволяет вам очистить Multicast DNS или Unicast DNS, либо и то, и другое. Вы, вероятно, захотите очистить оба для хорошей меры, если пытаетесь сбросить все кеши DNS на Mac.

Очистить кеш DNS в OS X Yosemite 10.10.4 и OS X 10.10.5

Начиная с OS X 10.10.4, перейдя на 10.10.5, включая 10.11, Apple отказалась от discoveryd и заменила его (или, скорее, вернулась обратно к) mDNSResponder. Таким образом, для очистки кешей DNS в OS X Yosemite 10.10.4 и 10.11 El Capitan и, предположительно, далее, командная строка выглядит следующим образом:

sudo dscacheutil -flushcache;sudo killall -HUP mDNSResponder;say cache flushed

Эта команда очищает все кеши DNS для OS X 10.10.4+.

Давние пользователи Mac могут вспомнить, что командная строка — это в основном то, что работало в версии до Yosemite. С учетом сказанного, более ранние версии OS X Yosemite до 10.10.4 будут использовать другую командную строку, обсуждаемую ниже.

Очистка кешей DNS в OS X Yosemite (10.10, 10.10.1, 10.10.2, 10.10.3)

Вам нужно будет использовать Терминал для сброса кеша, вы можете найти приложение Терминал в / Applications / Utilities / или запустить его с помощью Spotlight. Чтобы полностью очистить все кеши DNS в последней версии OS X, настройте таргетинг на MDNS (многоадресный DNS) и UDNS (одноадресный DNS) с помощью двух разных команд.

Очистить кеш MDNS

sudo discoveryutil mdnsflushcache

Нажмите «Return» и введите пароль администратора, если потребуется.

Очистить кеш UDNS

sudo discoveryutil udnsflushcaches

Опять же, нажмите «Return» и введите пароль администратора по запросу. Обратите внимание, что последняя команда имеет множественное число, что является тонкой, но важной разницей в синтаксисе.

Очистить и сбросить все кеши DNS в OS X Yosemite

Вы также можете связать две вышеуказанные команды вместе, если хотите, следующее будет даже устно объявить, когда кеши будут очищены:

sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;say flushed

Действительно, кеши MDNS и UDNS разные, но я обнаружил, что для фактического очищения функционального кеша DNS в OS X Yosemite необходимы обе команды. Вполне возможно, что вам нужно очистить только одно или другое для ваших нужд.

Для тех, кому интересно, OS X Yosemite покончила с mDNSResponder, поэтому нет необходимости убивать этот процесс mDNSResponder для обновления кешей DNS, как в предыдущих версиях Mac OS X.

Проверка деталей кэша DNS в OS X Yosemite

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

Получите статистику кеша UDNS:

sudo discoveryutil udnscachestats

Вы также можете получить подробную информацию о кэше многоадресной рассылки DNS с помощью следующего:

sudo discoveryutil mdnscachestats

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

UDNS Cache Stats: Cached 962 of 1750

Если вы запустите эти команды до и после запуска вариантов flushcache, вы обнаружите, что они должны быть сброшены до кеша с 0 записями, например:

MDNS Cache Stats: lo0: Cached 0 of 2000

Как узнать, изменилось ли оно?

После очистки кеша, если вы хотите определить, действительно ли изменился сервер имен или IP-адрес, вы можете использовать команду ‘dig’ с таким URL-адресом:

dig osxdaily.com

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

Знаете еще один трюк с кешированием DNS для последних версий OS X? Дайте нам знать об этом в комментариях.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован.