Гид по технологиям

Как изменить DNS-серверы на Mac через Terminal

4 min read Mac Обновлено 30 Nov 2025
Изменить DNS на Mac через Terminal
Изменить DNS на Mac через Terminal

Зачем менять DNS через Terminal

Изменение DNS через Terminal полезно в трёх основных случаях:

  • Удалённый доступ по SSH, когда нет физического доступа к Mac.
  • GUI (Системные настройки) не работает или зависает.
  • При отладке сети и тестировании альтернативных DNS-сервисов.

Краткое определение: DNS — служба, которая переводит имена доменов (пример.com) в IP-адреса.

Что потребуется

  • Учётная запись с правами администратора на Mac.
  • Знание имени сетевого интерфейса (обычно “Wi-Fi” или “Ethernet”).
  • Terminal или доступ по SSH к машине.

Важно: команды затрагивают системные настройки сети. Убедитесь, что вы понимаете, какой интерфейс меняете.

Основная команда — как это работает

Команда networksetup управляет сетевыми настройками macOS. Мы используем только параметр, который меняет DNS.

Откройте Terminal (Launchpad → Terminal) и выполните команду:

networksetup -setdnsservers Wi-Fi 208.67.222.222

Параметры:

  • networksetup — утилита для управления сетью.
  • -setdnsservers — флаг для установки DNS-серверов.
  • Wi-Fi — имя сетевого сервиса (интерфейса).
  • 208.67.222.222 — IP выбранного DNS-сервера.

Терминал macOS с открытой строкой команды

После нажатия Enter вас попросят ввести пароль администратора. Введите пароль и подтвердите изменение, если появится системный диалог.

Запрос прав администратора для изменения конфигурации сети

Terminal не выводит «успешно» в явном виде. Если ошибок нет, команда отработала нормально.

Добавление нескольких резервных DNS-серверов

Чтобы задать несколько серверов, перечислите их через пробел:

networksetup -setdnsservers Wi-Fi 208.67.222.222 208.67.220.220

Список нескольких DNS-серверов в Terminal

Система будет использовать их в указанном порядке. Чем больше резервов — тем выше вероятность доступности разрешения имён, но порядок важен для производительности.

Как проверить текущие DNS-серверы

Чтобы посмотреть текущую конфигурацию DNS для интерфейса, выполните:

networksetup -getdnsservers Wi-Fi

Команда для отображения текущих DNS-серверов

Если система вернёт “There aren’t any DNS Servers set on Wi-Fi.”, значит для этого сервиса DNS не настроен и используется авто-настройка (DHCP) или системные значения по умолчанию.

Очистка кэша DNS

После смены DNS рекомендуется очистить локальный кэш, чтобы система сразу начала использовать новые сервера. Команда зависит от версии macOS:

  • Для современных версий macOS обычно работает:
sudo killall -HUP mDNSResponder
  • В старых версиях (ранний Yosemite) использовалась:
sudo discoveryutil mdnsflushcache
  • Альтернатива, которую можно попробовать при ошибках:
sudo dscacheutil -flushcache

Очистка кэша DNS в Terminal

Важно: используйте команду, подходящую вашей версии macOS. Если unsure, сначала выполните killall mDNSResponder — она работает на большинстве современных выпусков.

Частые ошибки и когда метод не сработает

  • Неправильное имя сервиса: вместо “Wi-Fi” в вашей системе сервис может называться иначе (например, “Wi‑Fi” с дефисом или локализованное имя). Проверьте список сервисов:
networksetup -listallnetworkservices
  • Профили управления устройством (MDM) могут перекрывать настройки DNS.
  • Отсутствие прав администратора.
  • Системный кэш или приложения могут кэшировать DNS; в таких случаях перезапустите приложение или систему.

Альтернативные подходы

  • Откройте Системные настройки → Сеть → выберите интерфейс → Дополнительно → DNS (GUI).
  • Используйте scutil для глубокой диагностики и назначения параметров.
  • На уровне роутера задайте DNS для всей сети.

Шпаргалка — основные команды

  • Установить один сервер:
networksetup -setdnsservers  
  • Установить несколько серверов:
networksetup -setdnsservers    ...
  • Просмотреть сервера:
networksetup -getdnsservers 
  • Список сетевых сервисов:
networksetup -listallnetworkservices
  • Сброс кэша DNS (обычно):
sudo killall -HUP mDNSResponder

Рекомендации по безопасности и конфиденциальности

  • Используйте доверенные DNS-поставщики (например, провайдеры с политикой конфиденциальности или DNS-over-HTTPS/DoT, если требуется).
  • Не вводите произвольные IP из ненадёжных источников.
  • На управляемых устройствах проконсультируйтесь с администратором перед изменением настроек.

Роль‑ориентированные чеклисты

Для системного администратора:

  • Проверить имя сетевого сервиса.
  • Задать серверы и проверить через getdnsservers.
  • Очистить кэш и убедиться в разрешении доменов.

Для обычного пользователя:

  • Сохранить текущие настройки (скриншот или экспорт).
  • Ввести команду с одним сервером для теста.
  • Вернуть старые значения при проблемах.

Критерии приёмки

  • Команда отработала без ошибок в Terminal.
  • networksetup -getdnsservers возвращает новые IP.
  • Веб-сайты корректно разрешаются после очистки кэша.

Краткое резюме

Изменение DNS в Terminal — быстрый и надёжный способ управлять резолвингом имён на Mac, особенно при удалённом доступе или проблемах с GUI. Всегда проверяйте имя сервиса, используйте правильную команду очистки кэша для вашей версии macOS и возвращайте прежние настройки при необходимости.

Важно: если ваше устройство управляется организацией (MDM), изменения могут быть запрещены или перезаписаны.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Скрыть игровую активность на Nintendo Switch
Гайды

Скрыть игровую активность на Nintendo Switch

GameMode: ускорение игр в Linux
Linux Gaming

GameMode: ускорение игр в Linux

Как включить Timeline в Facebook
Социальные сети

Как включить Timeline в Facebook

Включение ping в Windows 10
Windows 10

Включение ping в Windows 10

Изменить значки плиток меню Пуск в Windows 10
Windows 10

Изменить значки плиток меню Пуск в Windows 10

Автоустановка одобренных приложений в Teams
Microsoft Teams

Автоустановка одобренных приложений в Teams