Введение
DNS (Domain Name System) преобразует удобные имена сайтов (например, google.com) в IP-адреса, которые понимают компьютеры. По умолчанию macOS использует DNS-серверы, предоставляемые вашим интернет-провайдером. Однако эти серверы могут быть медленными, небезопасными или блокировать доступ к некоторым сайтам.
Сменив DNS на публичные серверы от Google, Cloudflare или других провайдеров, вы сможете:
- Ускорить загрузку веб-страниц за счет более быстрого разрешения доменов.
- Обойти региональные блокировки и цензуру.
- Улучшить безопасность, используя DNS с поддержкой DNSSEC и фильтрацией фишинга.
Этот гайд покажет, как изменить DNS на Mac двумя способами: через графический интерфейс и через терминал.
Требования
Перед началом убедитесь, что:
- У вас есть Mac с macOS 12 или новее (инструкция актуальна для Monterey, Ventura, Sonoma).
- Вы вошли в систему под учётной записью с правами администратора (для применения системных настроек может потребоваться пароль).
- У вас есть активное сетевое подключение (Wi-Fi или Ethernet).
- Вы знаете адреса DNS-серверов, которые хотите использовать. Популярные варианты:
- Google DNS:
8.8.8.8и8.8.4.4 - Cloudflare DNS:
1.1.1.1и1.0.0.1 - OpenDNS:
208.67.222.222и208.67.220.220
- Google DNS:
Способ 1: Изменение DNS через Системные настройки
Этот способ подходит для большинства пользователей и не требует работы с командной строкой.
Шаг 1: Открыть настройки сети
- Нажмите на меню Apple (∧) в левом верхнем углу экрана.
- Выберите «Системные настройки» (System Settings).
- В боковой панели найдите и кликните на «Сеть» (Network).
💡 Совет: В macOS Ventura и более ранних версий раздел может называться «Сеть» в окне «Системные настройки». В Sonoma интерфейс схож.
Шаг 2: Выбрать активное подключение и открыть DNS-настройки
- В списке сетевых интерфейсов слева выберите активное подключение:
- Для проводного соединения — Ethernet.
- Для беспроводного — Wi-Fi (должна быть подсвечена зелёным).
- Нажмите кнопку «Дополнительно» (Advanced) в правом нижнем углу окна.
- Откроется новое окно. Перейдите на вкладку «DNS» (DNS).
Шаг 3: Добавить DNS-серверы
- Нажмите кнопку «+» (плюс) под списком DNS-серверов.
- Введите адрес DNS-сервера (например,
8.8.8.8). Нажмите Enter. - Повторите для второго сервера (например,
8.8.4.4). Вы можете добавить больше серверов, но обычно достаточно двух. - Чтобы удалить старый DNS-сервер, выберите его в списке и нажмите «-» (минус).
⚠️ Важно: Убедитесь, что добавленные DNS-серверы идут первыми в списке. macOS использует их в порядке приоритета. Перетащите их вверх, если нужно.
Шаг 4: Сохранить изменения
- Нажмите «OK» в нижнем правом углу окна «Дополнительно».
- Вернувшись в окно сети, нажмите «Применить» (Apply) для сохранения настроек. Изменения вступят в силу немедленно.
Способ 2: Изменение DNS через Terminal
Этот способ полезен для автоматизации, удалённого управления или если графический интерфейс недоступен.
Шаг 1: Определить имя сетевого сервиса
- Откройте Терминал (Terminal) из папки «Утилиты» или через Spotlight (Cmd+Пробел, введите «Терминал»).
- Введите команду для списка сетевых сервисов:
networksetup -listallnetworkservices - Найдите в выводе имя вашего активного подключения (например,
Wi-FiилиEthernet). Оно будет указано в списке. Имейте в виду, что имена могут содержать пробелы или кавычки.
Шаг 2: Установить DNS-серверы
Используйте команду networksetup с указанием сервиса и DNS-адресов.
Пример для Wi-Fi:
sudo networksetup -setdnsservers "Wi-Fi" 8.8.8.8 8.8.4.4
Пример для Ethernet:
sudo networksetup -setdnsservers "Ethernet" 1.1.1.1 1.0.0.1
⚠️ Важно:
- Команда требует пароля администратора (введите пароль после запроса, символы не отображаются).
- Если имя сервиса содержит пробелы, заключите его в кавычки.
- Чтобы вернуть автоматические DNS (от провайдера), выполните:
sudo networksetup -setdnsservers "Wi-Fi" Empty
Шаг 3: Проверить текущие DNS-настройки (опционально)
Убедитесь, что DNS изменился:
networksetup -getdnsservers "Wi-Fi"
Вывод должен показать добавленные вами адреса.
Проверка результата
После изменения DNS убедитесь, что настройки работают корректно:
- Перезапустите браузер или приложения, использующие сеть.
- Проверьте разрешение домена через
nslookupв Терминале:nslookup google.com
В выводе ищите строку «Address» — она должна соответствовать IP-адресуgoogle.com. Если DNS работает, команда вернёт адрес без ошибок. - Для более детальной проверки используйте
dig(если установлен через Homebrew):dig google.com
В разделе «ANSWER SECTION» должен быть IP-адрес. - Протестируйте скорость: откройте несколько сайтов, особенно те, которые раньше загружались медленно. Если DNS был причиной, загрузка ускорится.
Возможные проблемы
Проблема 1: Изменения не применяются
- Причина: Не нажата кнопка «Применить» в настройках сети или команда
networksetupвыполнена безsudo. - Решение: В графическом интерфейсе обязательно нажмите «Применить». В терминале используйте
sudoи введите пароль.
Проблема 2: Нет доступа в интернет после смены DNS
- Причина: Неверные адреса DNS-серверов или временный сбой у провайдера DNS.
- Решение: Верните предыдущие DNS-серверы (или выберите «Автоматически»). Проверьте, доступны ли выбранные DNS-серверы (например,
8.8.8.8должен отвечать на ping).
Проблема 3: DNS-запросы идут на старый сервер
- Причина: Кэш DNS на Mac или роутере.
- Решение: Очистите кэш DNS macOS:
Если используете роутер, перезагрузите его.sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder
Проблема 4: Конфликт с VPN или антивирусом
- Причина: Некоторые VPN-клиенты или программы безопасности переопределяют DNS.
- Решение: Настройте DNS внутри VPN-приложения или отключите его для теста. Проверьте настройки антивируса.
Проблема 5: Терминал не находит сервис
- Причина: Неправильное имя сетевого сервиса (например, «Wi-Fi» вместо «Wi-Fi» с кавычками).
- Решение: Точней проверьте имя через
networksetup -listallnetworkservices. Убедитесь, что используете точное название, включая пробелы и регистр.