[OS X] Устраняем неполадки с DNS
Настройка DNS — обязательный атрибут сетевого подключения. В большинстве случаев она производится автоматически, однако иногда может понадобиться ручная установка, и о том, как это сделать, расскажет данный материал.
Система DNS, чьё название расшифровывается как Domain Names System («Система доменных имен» — прим. авт.), служит для упрощения работы в Сети. Основное её назначение — перевод цифровых адресов IP в понятные и знакомые пользователю доменные имена. Случается так, что настройка DNS определённым образом помогает устранить неполадки подключения (например, в случае с iOS), благо делается это в несколько простых шагов.
- Запускаем «Системные настройки» при помощи Apple-меню в левом верхнем углу экрана.
- Открываем панель «Сеть» и нажимаем на кнопку «Дополнительно».
- Переходим во вкладку «DNS».
В зависимости от причины, по которой вы решили выполнить ручную настройку DNS, может потребоваться очистка кэша. В OS X El Capitan для этого появилась удобная команда «Терминала», которая выглядит следующим образом.
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say кэш DNS очищен
Надеемся, этот простой совет сделает работу на Mac ещё приятнее. Быстрых вам сетей!
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Лонгриды для вас
Как правило, Apple нет равных по скорости исправления багов и уязвимостей в её фирменных устройствах. Если конкурентам обычно требуются недели даже на устранение незначительных недоработок, в Купертино стараются действовать максимально своевременно. Тем не менее, известны случаи, когда Apple позволяла себе не верить в существование того или иного сбоя и не исправлять его месяцами. Именно так […]
Из-за довольно высокой цены на оригинальные зарядные адаптеры Apple для MacBook многие зачастую предпочитают сэкономить и купить новую зарядку в 3, а то и в 5 раз дешевле. Действительно, адаптер питания Apple USB-C мощностью 61 Вт стоит 5 990 рублей в официальном магазине. Это не такой уж расходный материал, но иногда, если пользоваться зарядкой неаккуратно, можно повредить […]
iOS 13.5 – пожалуй, самое нетипичное обновление iOS за последний год, а может быть, и не один. Мало того, что что это пятый функциональный апдейт, хотя обычно Apple ограничивалась максимум четырьмя, так ещё и выпустить его решили исключительно из-за сложившейся в мире эпидемиологической обстановки. Не будь никакого коронавируса, Apple бы выпустила iOS 13.4.5, чей запуск […]
Что такое mDNSResponder на Mac
В процессе настройки брандмауэра Mac или в «Мониторинге системы» вы могли заметить процесс mDNSResponder. Что это такое и должны ли вы волноваться? Нет, этот процесс – это часть базовых компонентов macOS.
Что такое mDNSResponder?
mDNSResponder, является основной частью протокола Bonjour. Bonjour — это сетевая служба с нулевой конфигурацией от Apple, которая в основном означает за то, что устройства Apple обнаруживают друг друга в сети. Процесс mDNSResponder регулярно сканирует вашу локальную сеть, обнаруживая другие устройства, поддерживающие Bonjour.
Зачем же искать другие устройства? Чтобы сделать сеть простой и доступной. Одним из примеров использования результатов этой работы является обмен файлами в iTunes. Откройте iTunes, и вы сможете просматривать другие библиотеки iTunes по локальной сети. Bonjour – это та служба, благодаря которой это работает: протокол позволяет двум компьютерам в одной сети легко находить друг друга, то есть список общедоступных библиотек iTunes всегда обновляется.
Bonjour позволяет использовать не только общий доступ в iTunes, но и помогает заполнить список «общих» устройств в Finder. Bonjour также обеспечивает совместное использование фотографий в «Фото», список совместимых с Airplay устройств и быстрый поиск принтеров. Поскольку такой же процесс работает и в Windows, Bonjour также можно использовать для быстрого подключения к компьютерам под управлением Windows, такими как iTunes, — это то, как работает обмен файлами в iTunes между ПК и Mac.
Стороннее программное обеспечение также может использовать Bonjour: например, вы можете передавать аудио с iTunes на другие устройства. Простая программа Bonjour Browser позволит вам быстро просматривать все устройства Bonjour с поддержкой вашей сети.
Если вы используете брандмауэр Mac, вы увидите всплывающие окно о mDNSResponder. Блокирование этого процесса от доступа к сети предотвращает работу Bonjour, что затрудняет использование вашей локальной сети. В некоторых случаях отключение Bonjour может помешать вам полностью подключиться к Интернету, поэтому лучше всего просто разрешить mDNSResponder получать доступ к сети.
По большей части вы не должны замечать, что mDNSRsponder использует много процессора или памяти. Если же это произойдет, перезапуск Mac должен решить проблему в большинстве случаев.
Где найти настройки DNS в MacOS
Недавно передо мной встала задача отладить процесс резолва DNS имен в MacOS. Полноценного материала, о том как именно он происходит, я не нашел, пришлось собирать информацию самому.
Вот что удалось выяснить.
За задачи, связанные с DNS в macOS, отвечает демон по имени mDNSResponder. В его жизни встречались приключения — на его смену приходил демон discoveryd (Yosemite), который много что поломал и создал кучу проблем. Через год Apple опомнилась и вернула (El Capitan) проверенный mDNSResponder, что сразу починило около 300 багов и вернуло стабильность.
mDNSResponder является частью Bonjour — набора технологий нацеленных на работу устройства в сети без необходимости конфигурации, включает в себя поиск сервисов, автоназначение адреса и резолв имен. Именно Bonjour используется когда вы достаете свой iPhone и ищете Apple TV или принтер.
У Bonjour открытый исходный код, и у mDNSResponder соответственно тоже. Это упрощает задачу, если вам нужно докопаться до конечной истины и показать все что скрыто. В архиве уже есть готовые реализации под Windows, Posix и VxWorks.
Демон обрабатывает unicastDNS и multicastDNS. UnicastDNS — это обычный DNS к которому мы привыкли и знаем. MulticastDNS — это протокол для использования DNS в локальных сетях, не требующий сервера. Если устройству нужно кого-то найти — оно отправляет вопрос — «question» мультикаст пакетом и получает ответ от устройства с запрошенным именем (если оно конечно существует). Сам протокол подробно описан в одноименном RFC.
Именно особенностями MulticastDNS злоупотребляет Responder — софт для атак в локальной сети. После запуска он коварно начинает отвечать на все mDNS запросы, заманивая ничего не подозревающих жертв в свои лапы.
Это было лирическое отступление — а теперь к главному вопросу — как увидеть текущий DNS кеш и общий статус DNS настроек.
Итак, выполняем следующие шаги:
эта команда позволит нам увидеть вывод, иначе он будет спрятан под заглушкой private
Открываем console, выбираем наш девайс:
и в фильтре пишем mDNSResponder
Выполняем в терминале:
Открываем обратно console и получаем прекрасный вывод, который мы сейчас немного разберем:
Статус DNS настроек представляет из себя большое полотно, разделенное на секции. Наиболее интересные из них:
Cache — здесь непосредственно хранится DNS cache:
Содержимое файла /etc/hosts — на всякий случай:
Статистика по mDNS — дубликаты имен, количество пакетов, события интерфейсов:
Список сетевых интерфейсов:
Список DNS серверов:
Мир внутренних и внешних взаимодействий подсистем MacOS обширен и полон загадок. Работа с доменными именами — лишь его маленькая часть. Для дальнейшего чтения рекомендую:
- Официальную документацию Apple
- Блог malware исследователя и *OS энтузиаста Patrick Wardle
- Сайт и книги исследователя и практика *OS Johnatan Levin
Что такое mDNSResponder и почему он работает на моем Mac? — Макинтош — 2020
Вы настраиваете брандмауэр Mac или просто проверяете, что работает, с помощью Activity Monitor, когда замечаете что-то загадочное: mDNSResponder. Что это за процесс, и стоит ли беспокоиться? Нет: это основная часть macOS.
Эта статья является частью нашей продолжающейся серии, объясняющей различные процессы, обнаруженные в Activity Monitor, такие как kernel_task, hidd, mdsworker, installd, WindowServer, blued, launchd, backup, opendirectoryd, powerd, coreauthd, configd и многие другие. Не знаете, что это за услуги? Лучше начать читать!
Что такое mDNSResponder?
Сегодняшний процесс, mDNSResponder, является основной частью протокола Bonjour. Bonjour — это сетевой сервис Apple с нулевой конфигурацией, который означает, что устройства Apple находят друг друга в сети. Наш процесс, mDNSResponder, регулярно сканирует вашу локальную сеть в поисках других устройств с поддержкой Bonjour.
Зачем искать другие устройства? Чтобы сделать сеть проще. Одним из примеров этой работы является совместное использование библиотеки iTunes. Откройте iTunes, и вы сможете просматривать и просматривать другие библиотеки iTunes по локальной сети. Добрый день — причина, по которой это работает: протокол позволяет двум компьютерам в одной сети легко находить друг друга, а это означает, что список общих библиотек iTunes всегда актуален.
Bonjour обеспечивает не только общий доступ к iTunes, но и позволяет заполнять список «общих» устройств в Finder. Bonjour также заполняет общий доступ к фотографиям в Фото, список совместимых с Airplay устройств и быстро находит принтеры. Поскольку тот же процесс выполняется в Windows, Bonjour также можно использовать для быстрого подключения к компьютерам Windows, на которых запущено программное обеспечение, такое как iTunes, — именно так работает совместное использование библиотек iTunes между ПК и Mac.
Стороннее программное обеспечение также может использовать Bonjour: например, вы можете передавать аудио из iTunes в Kodi, даже если вы используете Kodi в Windows, если у вас установлен Bonjour. Простая программа под названием Bonjour Browser позволяет вам быстро просматривать все устройства с поддержкой Bonjour в вашей сети.
Если вы используете брандмауэр Mac, вы увидите всплывающие окна о mDNSResponder. Блокирование этого процесса от доступа к сети препятствует работе Bonjour, что затрудняет использование вашей локальной сети. В некоторых случаях отключение Bonjour может помешать вам вообще подключиться к Интернету, поэтому, вероятно, лучше просто разрешить mDNSResponder доступ к вашей сети.
По большей части, вы не должны заметить, что mDNSResponder занимает много процессора или памяти. Если вы это сделаете, перезагрузка Mac должна решить проблему в большинстве случаев.
Подождите, не Apple удалил mDNSResponder?
Вы можете подумать, что Apple удалила mDNSResponder из macOS несколько лет назад, и вы как бы правы. По словам Ars Technica, Apple ненадолго отказалась от mDNSResponder для Yosemite в 2014 году, только чтобы обнаружить, что многие вещи обрываются без него. Год спустя Apple вернула mDNSResponder для El Capitan, которая, по-видимому, исправила 300 различных ошибок macOS одним быстрым движением. Это заставляет нас подозревать, что mDNSResponder больше не исчезнет из macOS в ближайшее время.