
И так, Вы хотите очистить свой DNS кэш в OSX, но не знаете как это сделать, и даже все могучая команда
1 |
dscacheutil |
не приводит к ожидаемому результату. Это возможно вызвано что у вас установлен OS X Yosemite 10.10.
Чтобы очистить кэш DNS полностью на OS XYosemite (версия 10.10.x), Вы должны будете очистить оба MDNS (Передача DNS) и UDNS (Односторонняя передача данных DNS) кэша, через Терминал. И так, как вы можете это провернуть.
Способ первый: отчистака кэша MDNS и UDNS по отдельности.
Ведите в терминал отдельно команды.
ПРИМЕЧАНИЕ:
Чтобы запустить Терминал, жмем Ctrl + пробел, открывается поиск и в нем пишем, «терминал».
Первая команда отчистит кэш MDNS, а вторая подчистит UDNS. Так же вам потребуется пароль администратора для выполнения этой команды.
1 |
sudo discoveryutil mdnsflushcache |
1 |
sudo discoveryutil udnsflushcaches |
Более опытные пользователи Mac могут знать, что сброс кэша DNS меняется в каждой версии OS X и OS X Yosemite не исключение, вероятно это связано постоянной миграцией с Multicast DNS и обратно на Unicast DNS.
Способ второй: чистим MDNS и UDNS одновременно
В качестве альтернативы, вы можете использовать следующую команду. В основном это то же самое, он сочетает в себе оба эти значения в одно целое.
1 |
sudo discoveryutil mdnsflushcache;sudo discoveryutil udnsflushcaches;say flushed |
Очистка кэша DNS в других версиях Mac
Если Вы еще не перешли на OS X Yosemite, вот команды которые вы можете использовать для очистки кэша DNS на более старых версиях OSX.
OS X Mavericks (10.9)
1 |
dscacheutil -flushcache; sudo killall -HUP mDNSResponder |
OS X Mountain Lion (10.8)
1 |
sudo killall -HUP mDNSResponder |
OS X Lion (10.7)
1 |
sudo killall -HUP mDNSResponder |
OS X Snow Leopard (10.6)
1 |
sudo dscacheutil -flushcache |
OS X Leopard (10.5)
1 |
sudo dscacheutil -flushcache |
OS X Tiger (10.4)
1 |
lookupd -flushcache |
Проверка статуса DNS кэша в OS X Yosemite
Если в хотите внести изменения в DNS, но не знаете изначальное положение в кэше вы можете воспользоваться следующими командами.
Получить статистику кэша UNDS.
1 |
Sudo discoveryutil udnscachestats |
Этой командой можно получить сведения о групповом кэше DNS.
1 |
Sudo discoveryutil mdnscachestats |
Будет предлагаться создать отчет который может выглядит следующим образом.
1 |
UDNS Cache Stats: Cached 962 of 1750 |
Если вы выполните эти команды до и после запуска FlushCache, вам предложат отчет что все значения сброшены до 0, это может выглядеть примерно так.
1 |
MDNS Cache Stats: lo0: Cached 0 of 2000 |
Как определить что значение изменились?
Можно в URL запросе ввести команду.
1 |
dig fofoi.ru |
Где fofoi.ru имя вашего сервера. Команда DIG похожа на NSLookup, за исключением что первая имеет большую производительность и включает большее количество деталей. Кстати если время отклика слишком велико то можно воспользоваться таким инструментом как Namebanch для поиска более быстрого сервера DNS.