DNS
Запросы DNS уходят мимо VPN на Mac
Когда VPN включён, DNS-запросы обычно должны идти на серверы VPN. Некоторые настройки вместо этого отправляют их на серверы локальной сети.
Симптомы
- VPN подключён, но тест DNS показывает серверы местного провайдера.
- Сайты видят DNS-сервер вашей локальной сети, пока VPN включён.
- Внутренние имена работают, но остальные имена идут через DNS локальной сети.
Вероятные причины
- DNS-серверы, заданные вручную для Wi-Fi или Ethernet. Серверы, которые вы ввели для сетевой службы, могут использоваться наряду с серверами VPN.
- VPN с раздельным туннелированием. Некоторые VPN пускают через туннель только часть доменов или сетей. Остальные запросы идут на локальные серверы.
- Профиль зашифрованного DNS или приложение DNS. Профиль настроек DNS или другое приложение DNS может отправлять запросы на собственный сервер.
- Настройки приложения VPN. У многих приложений VPN есть собственные параметры DNS. От них зависит, какие серверы получит macOS.
Как проверить
Подключите VPN. Покажите конфигурацию DNS. Resolver #1 используется по умолчанию для большинства имён.
scutil --dnsВывод Каждый резолвер с его адресами
nameserver, его интерфейсомif_indexи у некоторых — сdomain.Найдите интерфейс resolver #1. Интерфейс VPN обычно называется как-то вроде
utun.ifconfig -lПоищите DNS-серверы, которые вы задали вручную для физической службы.
networksetup -getdnsservers Wi-FiПоищите профили. В macOS 15 и новее выберите меню Apple > «Системные настройки» > «Основные» > «Управление устройством».
В macOS 13 и 14 выберите меню Apple > «Системные настройки» > «Конфиденциальность и безопасность» > «Профили».
Как исправить
Удалите DNS-серверы, заданные вручную для Wi-Fi или Ethernet, если они вам не нужны.
networksetup -setdnsservers Wi-Fi emptyНужен пароль администратора.
Откройте настройки приложения VPN. Если там есть параметр «использовать DNS VPN», включите его.
Удалите ненужный профиль DNS. Выберите его в «Управлении устройством» или в «Профилях», затем нажмите кнопку удаления.
Отключите и снова подключите VPN. Снова выполните
scutil --dnsи сравните.Спросите поставщика VPN или администратора, какие DNS-серверы должен использовать туннель.
С Kilobat
Kilobat показывает интерфейсы VPN рядом с физическими.
kilobat interfaces --jsonДля частного имени
whyсообщает, к какому DNS-серверу VPN ушёл запрос и отвечает ли он. Также сравнивается прямой путь с туннелем.kilobat why intranet.corp.example
Вопросы
VPN всегда обрабатывает весь DNS?
Нет. Это решает VPN. VPN с раздельным туннелированием может отправлять на свои DNS-серверы только часть доменов.
Почему я вижу несколько резолверов?
macOS может использовать много резолверов. Резолверы со строкой domain отвечают только для этого домена. Это объясняется на странице man scutil.
Источники
- scutil(8), man-страница из macOS 27.2
- resolver(5), man-страница из macOS 27.2
- Поддержка Apple: изменение настроек DNS на Mac
- Поддержка Apple: Изменение порядка сетевых служб на Mac
- Поддержка Apple: профили конфигурации для единых настроек на компьютерах Mac
Источники проверены 29 октября 2026 г. Man-страницы — те, что установлены вместе с macOS; откройте любую командой man <name> в Терминале.