Почему Private DNS на телефоне ломает поиск имён через VPN
Строгий резолвер на телефоне может подменить службу имён туннеля. Решите по нужным вам именам, затем проверьте, какое приложение спрашивает и при какой политике.
Приложения не могут разрешить имя, хотя туннель остаётся подключённым и все остальные индикаторы выглядят здоровыми. На телефоне обычная причина — резолвер, выбранный устройством, а не профилем VPN. Две настройки могут каждая претендовать на власть над одним и тем же запросом. Выяснить, какая побеждает и способна ли она вообще ответить на вопрос, быстрее, чем трогать туннель.
Две настройки решают одно и то же имя
Настройка Private DNS на телефоне выбирает резолвер для устройства, с режимами от автоматического выбора до заданного имени хоста. Профиль VPN может одновременно навязать свой резолвер, и оба настраиваются на разных экранах и разными владельцами. Ни одна не обязана перекрывать другую для каждого приложения. Поэтому работающий туннель и неудачный запрос сосуществуют без противоречия.
Браузер может добавить третий слой, потому что безопасный DNS внутри браузера может выбрать своего провайдера. Приложение, породившее ошибку, — единственный надёжный указатель на то, кто из трёх ответил. Резолвер тоже должен уметь отвечать. Имя, существующее только внутри компании, отсутствует в данных публичного резолвера, поэтому запрос обрывается на содержимом, а не на связи.
Выберите режим по нужным вам именам
Если устройство должно разрешать внутренние имена, резолвер должен быть тем, кто держит эти зоны, то есть обычно резолвером туннеля или разделённой схемой DNS, которую документирует организация. Если важны только публичные имена, строгий зашифрованный резолвер — защитимый выбор, который заодно убирает запросы открытым текстом. Решение следует из имён, а не из предпочтения насчёт шифрования.
Поведение при сбое тоже зависит от режима. Строгий выбор, не достигающий своего резолвера, даёт сбой для каждого имени, тогда как режим с разрешённым откатом может сохранить публичные имена работающими, а внутренние — сломанными. Эта разница сообщает, в каком режиме вы находитесь, ещё до открытия экрана настроек. На управляемом устройстве решает утверждённая политика, и пользователь не может безопасно её обойти. В личной настройке одного документированного сравнения достаточно, чтобы выявить конфликт, а заданную настройку приватности следует затем восстановить, а не оставлять отключённой.
Проверьте, какое приложение спрашивает
Воспроизведите сбой в том приложении, которое о нём сообщило, и отметьте, ошибка это имени или соединения. Ошибка имени в одном приложении и успешная страница в другом — признак двух резолверов, а не сломанного туннеля.
adb shell settings get global private_dns_mode
adb shell settings get global private_dns_specifier
adb shell dumpsys connectivity | grep -i -m 5 dnsЭти команды читают текущую конфигурацию устройства, а сборки производителей могут переименовать или ограничить лежащие в основе значения, поэтому относитесь к выводу как к подсказке, а не как к спецификации. Документация Android о Private DNS описывает режимы и форму имени хоста, которую ожидает устройство.
Сравните этот ответ с резолвером, который навязывает профиль VPN. Если они расходятся, вы нашли конфликт, и остаётся вопрос, какому из них организация хочет дать победить.
Восстановите заданную настройку после одного сравнения
Измените одну настройку, перепроверьте оба имени и верните настройку назад. Устройство, оставленное в разрешающем режиме, разрешает внутренние имена и тихо отправляет каждый публичный запрос тому, кто ответит первым, а это изменение приватности, которое никто не зафиксировал.
Запишите результат как правило: внутренние имена разрешает этот резолвер, публичные — тот, а браузер следует за устройством или нет. Правило, называющее резолвер, проверяемо, а заметка о том, что VPN исправлен, — нет. Затем проверьте, не зависит ли от изменённого резолвера что-то ещё на устройстве. Проверки обновлений, обнаружение captive-порталов и почтовые клиенты делают свои запросы, и они сбоят так, как пользователи сообщают о несвязанных проблемах.