DNS
DNS не работает на Mac
Когда DNS не работает, Mac не может превратить имя вроде apple.com в IP-адрес. Подключение может работать, но все сайты по имени не открываются.
Симптомы
- Браузеры показывают «не удается найти сервер» или похожую ошибку для многих сайтов.
- Инструменты Терминала пишут “Could not resolve host” или “nodename nor servname provided”.
- Приложения, которые используют IP-адреса, работают, а имена — нет.
- Проблема начинается после смены сети, подключения VPN или установки своих DNS-серверов.
Вероятные причины
- Нет подключения. У Mac нет рабочего пути в интернет, поэтому запросы DNS не уходят.
- Неправильные или недоступные DNS-серверы. DNS-сервер, введённый вручную, может перестать работать или быть заблокирован в этой сети.
- Не работает DNS роутера. Многие сети отправляют DNS на роутер. Если роутер перестаёт отвечать, имена не работают на всех устройствах.
- VPN, профиль или фильтр меняет DNS. VPN, профили зашифрованного DNS и фильтры контента могут отправлять запросы на другие серверы.
- Старые ответы в кэше. Mac какое-то время хранит ответы. Если сайт переехал, старый ответ может не сработать.
Как проверить
Убедитесь, что подключение работает. Отправьте пинги на IP-адрес, чтобы DNS не участвовал.
ping -c 3 1.1.1.1Отправьте пинги на имя. Если IP-адрес работает, а имя — нет, проблема в DNS.
ping -c 3 apple.comСпросите имя у резолвера macOS. Это тот же путь, которым пользуется большинство приложений.
dscacheutil -q host -a name apple.comВывод Строки
ip_addressиipv6_address. Если строк нет, поиск не удался.Покажите конфигурацию DNS, которую macOS использует сейчас. Первый резолвер — основной.
scutil --dnsПокажите DNS-серверы, заданные вручную для службы Wi-Fi.
networksetup -getdnsservers Wi-FiВывод Список IP-адресов или сообщение, что DNS-серверы не заданы. Тогда серверы выдаёт сеть.
Как исправить
Удалите DNS-серверы, введённые вручную. Выберите меню Apple > «Системные настройки» > «Сеть».
Нажмите сетевую службу, нажмите «Подробнее», затем «DNS». Выберите каждый добавленный вами сервер и нажмите кнопку удаления.
Их можно убрать и в Терминале. Вместо адресов серверов укажите слово
empty.networksetup -setdnsservers Wi-Fi emptyНужен пароль администратора.
Очистите кэш DNS. См. Очистка кэша DNS на Mac.
sudo killall -HUP mDNSResponderНужен пароль администратора.
Получите от роутера новый адрес и новые DNS-серверы. См. Обновление аренды DHCP на Mac.
Для проверки отключите VPN. Если имена заработали, проверьте настройки DNS у VPN. См. Запросы DNS уходят мимо VPN на Mac.
Если DNS не работает на всех устройствах, перезагрузите роутер.
С Kilobat
Kilobat замеряет один поиск DNS и показывает используемые резолверы. Смотрите на
dnsMilliseconds,dnsServersиcaptivePortal.kilobat diagnose --jsonДля одного сайта или API найдите уровень, на котором происходит сбой. DNS проверяется до подключения.
kilobat why api.example.comCLI бесплатный. В приложении на вкладке «Состояние» видны DNS-серверы и время поиска. См. Почему не подключается один сайт или API.
Вопросы
Почему пинг до 1.1.1.1 проходит, а сайты не открываются?
Пинг на IP-адрес не использует DNS. Если он проходит, а имена не работают, проблема в DNS, а не в подключении.
Почему dig работает, а приложения — нет?
dig отправляет запросы на серверы из /etc/resolv.conf. Приложения используют резолвер macOS, который может учитывать ещё и VPN, и правила для отдельных доменов.
Выдаст ли роутер мне DNS-серверы снова?
Да. Когда список DNS в настройках сети пуст, macOS использует серверы, которые сеть выдаёт по DHCP.
Источники
- Поддержка Apple: изменение настроек DNS на Mac
- Поддержка Apple (архив): сброс кэша DNS в OS X
- scutil(8), man-страница из macOS 27.2
- dscacheutil(1), man-страница из macOS 27.2
- networksetup(8), man-страница из macOS 27.2
Источники проверены 29 октября 2026 г. Man-страницы — те, что установлены вместе с macOS; откройте любую командой man <name> в Терминале.