Как исправить утечку DNS: VPN, браузер и SOCKS5

Как исправить утечку DNS в VPN, браузере и SOCKS5: проверка запросов, настройка удалённого разрешения имён в curl, работа с IPv6 и проверка после переподключения.

Kevin LinKevin Lin28 сент. 2026 г.14 мин. чтения

Чтобы исправить утечку DNS, определите, какое приложение отправляет запросы в обход нужного соединения, скорректируйте его настройки DNS или прокси и повторите проверку в том же приложении. VPN, браузер и скрипт могут разрешать доменные имена разными способами. Смена внешнего IP или DNS-провайдера сама по себе не исправляет маршрут запросов.

Это руководство по утечкам DNS поможет проверить VPN, настроить разрешение имён через SOCKS5 и разобраться с защищённым DNS в браузере. Оно также подходит для разработчиков и команд, которые подключают инструменты исследования рынка к Socks5.IO. Примеры команд основаны на документированном поведении клиентов; они не являются результатами тестирования с действующей учётной записью Socks5.IO.

Краткий ответ: в VPN проверьте DNS, раздельное туннелирование и защиту при обрыве соединения. В SOCKS5-клиенте включите разрешение имён на стороне прокси: в curl для этого используется socks5h://. Отдельно проверьте защищённый DNS браузера. После изменений выполните новый тест в том же приложении и повторите его после переподключения.

Что такое утечка DNS и почему смены IP недостаточно

Утечка DNS возникает, когда запрос доменного имени обслуживается резолвером или проходит по сетевому маршруту, который не соответствует выбранной политике защиты. DNS — система доменных имён — преобразует имена вроде example.com в адреса, к которым может подключиться приложение.

При использовании VPN с полным туннелированием обычно ожидается, что запросы к доменам назначения тоже проходят через туннель. В приложении с SOCKS5 задача может быть другой: передавать доменное имя прокси, а не сначала получать IP через локальный DNS интернет-провайдера.

Для диагностики полезно разделить три вопроса:

Уровень Что выяснить Возможные варианты
Выбор резолвера Кто разрешает доменное имя? DNS интернет-провайдера, публичный сервис или резолвер, используемый прокси
Передача DNS Как запрос попадает к резолверу? Обычный DNS напрямую, VPN-туннель, зашифрованное DNS-соединение
Маршрут приложения Как устанавливается соединение с сайтом? Напрямую, через выходной узел VPN или через прокси приложения
dns-local-vs-socks5-remote-resolution

Приложение может передавать веб-трафик через прокси, но разрешать домены локально. Возможна и обратная ситуация: DNS зашифрован, однако соединение с публичным резолвером идёт вне VPN. Оценивать результат нужно по требованиям к конкретному приложению, а не только по названию компании в тесте.

Какие данные раскрывает утечка DNS

Нежелательный резолвер может видеть запрашиваемые домены и время обращений. Если обычный незашифрованный DNS проходит вне защищённого маршрута, запросы также могут быть доступны наблюдателю в локальной сети.

Сам DNS-запрос не содержит полного пути HTTPS-страницы, её содержимого или пароля от аккаунта. Поэтому обнаруженная утечка DNS не означает, что шифрование HTTPS взломано.

Удалённое разрешение через SOCKS5 не заменяет шифрование транспорта. Передача имени прокси позволяет обойтись без локального DNS-запроса к домену назначения для этого соединения. Но SOCKS5 сам по себе не шифрует обмен, и имя может оставаться видимым в запросе к прокси. Если нужно скрыть его и от наблюдателя в локальной сети, дополнительно требуется защищённый транспорт.

Как проверить утечку DNS до изменения настроек

Начните с одного приложения и одной конфигурации. Запишите версию клиента или профиль браузера, режим VPN либо прокси и ожидаемый DNS-резолвер. Уточните границы защиты: всё устройство или только выбранное приложение.

Для браузера подходят DNSLeakTest и BrowserLeaks DNS. Они вызывают обращения к тестовым доменам и показывают рекурсивные резолверы, которые наблюдает их инфраструктура. Эти сервисы не отображают полный путь каждого пакета от вашего устройства.

  1. Если прямое подключение допустимо для сравнения, сохраните исходный результат. Во время проверки не выполняйте операции с конфиденциальными данными.
  2. Включите VPN или прокси в той конфигурации, которую собираетесь использовать.
  3. Запустите новый тест в том же браузере и профиле, чтобы сервис создал новые имена для проверки.
  4. Запишите адреса и владельцев резолверов вместе с выходным IP браузера.
  5. Сопоставьте результат с настройками и документацией используемого соединения.
dns-test-baseline-and-configured-route
Результат теста Что он может означать Следующая проверка
Появился резолвер вашего интернет-провайдера Возможное расхождение с выбранной DNS-политикой Выяснить, ушёл ли запрос вне защищённого маршрута
Появился публичный DNS-сервис Этот провайдер участвует в разрешении имён Проверить транспорт и маршрут: публичный DNS не подтверждает передачу через VPN
Страны резолвера и выходного IP различаются Возможное влияние Anycast или базы геолокации Сопоставить конфигурацию и сведения о провайдере, а не только страны
Видно несколько резолверов Возможны пересылка запросов, распределённая инфраструктура или разные маршруты Исследовать неожиданные результаты по отдельности
Видны только ожидаемые резолверы Наблюдаемые резолверы соответствуют настройке Отдельно подтвердить маршрут и проверить поведение после обрыва и переподключения

Тест браузера не проверяет автоматически Python-скрипт, отдельное приложение или другой профиль. ASN — номер автономной системы — указывает на принадлежность сети, но не показывает, через какой интерфейс прошёл запрос.

Как устранить утечку DNS при использовании VPN

Восстановите DNS-настройки, предусмотренные VPN

Откройте настройки подключения или DNS в VPN-клиенте и изучите описание соответствующих функций. Название «защита от утечек DNS» не задаёт единый стандарт: функция может управлять резолвером, маршрутизацией или поведением при обрыве связи.

Перед удалением ручных DNS-настроек сохраните их значения. Уберите только те переопределения, которые действительно мешают выбранной конфигурации. Обновите клиент, выберите поддерживаемый DNS-режим, переподключитесь и повторите тест. Проверьте не только список резолверов, но и соответствие маршрута вашей задаче.

На рабочем устройстве корпоративный DNS может быть нужен для внутренних ресурсов. Менять управляемые резолверы и политики следует после согласования с администратором.

Проверьте раздельное туннелирование и защиту при обрыве

Раздельное туннелирование, или split tunneling, намеренно исключает некоторые приложения и адреса из VPN. Убедитесь, что проблемное приложение должно находиться внутри туннеля и не внесено в исключения. Браузер, который вы сами исключили, не подходит для проверки защищённых приложений.

Проверьте активные подключения Ethernet и Wi-Fi, виртуальные адаптеры и другие VPN-клиенты. ОС может применять разные правила DNS к разным интерфейсам. Сначала определите источник настройки, а уже затем меняйте системные параметры; правки реестра наугад усложняют диагностику.

Если доступен kill switch, выясните его охват: отдельные приложения или более широкий набор соединений устройства. Проведите контролируемый обрыв с неконфиденциальным трафиком. При выбранной политике «останавливать трафик при отключении VPN» защищённые запросы должны завершаться ошибкой, а не незаметно переходить на прямое подключение.

Разберитесь с IPv6, прежде чем отключать его

IPv4 и IPv6 могут использовать разные маршруты. Проверьте, поддерживает ли VPN передачу IPv6 через туннель или намеренно блокирует её, и распространяется ли это на DNS и соединения приложений.

Запись AAAA содержит IPv6-адрес, однако запрос этой записи может передаваться по IPv4. Само наличие AAAA-запроса не доказывает утечку IPv6.

Предпочтительна конфигурация, поддерживаемая клиентом. Если временное изменение IPv6 помогает найти причину, сохраните исходные параметры, выполните сравнение и верните их. После этого исправьте конкретную настройку. Постоянное отключение IPv6 не является универсальным способом устранения DNS-утечек.

Как исправить утечку DNS через SOCKS5-прокси

Передавайте доменное имя на сторону прокси

В спецификации SOCKS5 — RFC 1928 предусмотрен тип адреса для доменного имени. Клиент может отправить прокси имя назначения, вместо того чтобы сначала разрешить его локально и передать готовый IP.

Поведение определяет клиент. Некоторые приложения не используют системные настройки прокси, другие выполняют DNS-запрос ещё до открытия проксируемого соединения. Поэтому проверять нужно настройки самого приложения.

Для такого удалённого разрешения не требуется пересылать локальный DNS-пакет через UDP ASSOCIATE. Клиент передаёт имя в запросе на соединение, а сервер выполняет разрешение. Поддержка другого UDP-трафика — отдельный вопрос совместимости.

Основной способ для curl: используйте socks5h://

Официальное руководство curl различает два режима:

Параметр curl Где разрешается имя назначения Когда использовать
socks5h:// или --socks5-hostname На стороне прокси Когда домен назначения не должен разрешаться локально
socks5:// или --socks5 Локально, средствами curl Для намеренной локальной конфигурации или необязательного сравнения
curl-socks5-local-and-remote-dns-options

Следующий пример рассчитан на Bash в macOS, Linux или другой среде с установленным curl. Это не синтаксис PowerShell. Сначала выполните curl --version, чтобы записать версию клиента. Затем введите выданные для вашего аккаунта адрес, порт и имя пользователя.

bashbash
read -r -p "Хост SOCKS5:порт: " PROXY_ENDPOINT
read -r -p "Имя пользователя прокси: " PROXY_USERNAME

# Передаём имя назначения прокси для удалённого разрешения.
curl --proxy "socks5h://${PROXY_ENDPOINT}" \
  --proxy-user "$PROXY_USERNAME" \
  --noproxy "" \
  --connect-timeout 10 --max-time 30 \
  --output /dev/null \
  --write-out 'Статус HTTP: %{http_code}\n' \
  "https://example.com/"
curl_status=$?
printf 'Код завершения curl: %s\n' "$curl_status"

unset PROXY_ENDPOINT PROXY_USERNAME curl_status

Если в параметре передано только имя пользователя без пароля, curl запросит пароль интерактивно. Пример предполагает аутентификацию по имени и паролю и работу в интерактивном терминале. Для других способов аутентификации нужна соответствующая конфигурация. Не добавляйте пароль в команду, которую собираетесь передавать другим, и не включайте трассировку оболочки при работе с учётными данными.

--noproxy "" очищает список исключений из прокси для этого запроса. Тайм-аут подключения установлен в 10 секунд, предел всей операции — в 30 секунд. Это параметры диагностики, а не обещание производительности сервиса. Значение $? сохраняется сразу после curl, чтобы следующая команда не перезаписала код завершения.

Результат Что означает Что делать дальше
Код завершения 0 curl завершил передачу; без --fail это возможно и при HTTP-ошибке Прочитать статус HTTP, затем отдельно проверить DNS
Ненулевой код завершения curl обнаружил ошибку Сохранить сообщение и определить этап сбоя
Статус HTTP 000 curl не получил статус HTTP-ответа; это не код сервера Проверить код завершения и сообщение об ошибке
HTTP 4xx или 5xx Ответивший HTTP-сервис сообщил об ошибке Разобрать ответ, не приписывая его автоматически утечке DNS

По сообщению и описанию кода ошибки отделите сбой разрешения имени самого прокси от тайм-аута, ошибки аутентификации и проблемы с назначением на стороне прокси. Перед передачей диагностических данных удалите секреты.

Необязательное сравнение с локальным разрешением

Следующий тест намеренно разрешает домен назначения локально. Пропустите его, если это противоречит вашим требованиям к конфиденциальности. Он нужен только для сравнения локального и удалённого режима. Используйте тот же прокси, аккаунт, адрес назначения и сетевые условия.

bashbash
read -r -p "Хост SOCKS5:порт: " PROXY_ENDPOINT
read -r -p "Имя пользователя прокси: " PROXY_USERNAME

curl --proxy "socks5://${PROXY_ENDPOINT}" \
  --proxy-user "$PROXY_USERNAME" \
  --noproxy "" \
  --connect-timeout 10 --max-time 30 \
  --output /dev/null \
  --write-out 'Статус HTTP: %{http_code}\n' \
  "https://example.com/"
curl_status=$?
printf 'Код завершения curl: %s\n' "$curl_status"

unset PROXY_ENDPOINT PROXY_USERNAME curl_status

HTTP-ответ подтверждает, что запрос достиг отвечающего сервиса. Чтобы исследовать само разрешение имён, сопоставьте обращения к новым контролируемым доменным именам с логами резолвера или записью трафика на нужных интерфейсах. Фиксированный example.com в примере служит для проверки соединения, а не для DNS-теста, исключающего влияние кэша.

Если адрес входного узла прокси задан доменным именем, перед подключением может потребоваться его локальное разрешение. Отделяйте этот начальный запрос от разрешения доменов назначения после установления прокси-соединения.

Как применить настройки в Socks5.IO

Для подключения Socks5.IO проверьте поддерживаемые протоколы и способ аутентификации в актуальном описании выбранного продукта. Если услуга поддерживает SOCKS5, используйте выданные для аккаунта хост, порт и учётные данные, а также предусмотренные для него параметры сессии. Примеры подключения по HTTP(S) и параметры SOCKS5 следует различать.

Во время диагностики сохраняйте условия соединения и меняйте только способ разрешения имён. Статические резидентские прокси подходят для рассмотрения в задачах, где нужен постоянный выходной адрес. Для отдельных запросов с меняющимися выходами важны уже условия ротации и доступное управление сессиями.

socks5-io-proxy-protocol-and-integration

Например, команда использует прокси для исследования рынка, чтобы сравнивать публичные страницы товаров для выбранного региона. Socks5.IO предоставляет прокси-соединение и IP-ресурсы, а исследовательский клиент определяет, где разрешаются имена сайтов.

Удалённое разрешение помогает убрать нежелательный локальный DNS-запрос из этого процесса. Однако валюта, язык и региональный вариант страницы зависят и от других настроек. Фиксируйте целевой регион, наблюдаемый выходной IP и поведение DNS отдельно в том приложении, которое выполняет исследование.

Задача Что проверить при выборе подключения Критерий проверки DNS
Повторные проверки через один выход Сохранение адреса, аутентификацию, совместимость клиента Один клиент использует нужный маршрут разрешения на протяжении проверки
Независимые выборки публичных данных по рынкам Доступные регионы, ротацию и поведение сессий После смены выхода разрешение остаётся в рамках выбранной политики
Поиск утечки в браузере или скрипте Передачу имени в SOCKS5 и отсутствие нежелательного перехода на прямое соединение Новые запросы идут по ожидаемому маршруту

Перед масштабированием проверьте один выданный адрес прокси в рабочем клиенте: аутентификацию, режим разрешения, выходной IP, сведения о резолверах и поведение при отказе соединения. Если удалённое разрешение не работает, запишите версию клиента и этап ошибки для поддержки, предварительно удалив секреты из логов. Так вы получите воспроизводимую конфигурацию, а не будете менять IP без устранения причины.

Разделяйте ошибки по этапам подключения

Симптом Что проверить первым Какой вывод будет преждевременным
Ошибка аутентификации прокси Учётные данные, режим аутентификации, поддержку клиентом «Проблема в DNS»
curl не разрешает имя прокси Написание адреса и начальный DNS-запрос «Сломалось разрешение домена назначения на прокси»
Локальный режим работает, удалённый — нет Разрешение на стороне прокси, домен назначения, ответ сервера «Можно оставить локальный режим», если политика требует удалённого
Удалённый режим работает, локальный — нет Локальный резолвер, правила поиска имён, сетевую политику «Теперь защищено всё устройство»
curl работает, браузер показывает другое Профиль, защищённый DNS, расширения, настройки прокси «Браузер должен вести себя как curl»

Приложения также могут обходить прокси из-за исключений, переменной NO_PROXY, резервного прямого подключения или собственного сетевого кода. Проверяйте действующие настройки приложения, а не только системную панель прокси.

Как исправить утечку DNS в браузере

Firefox: включите разрешение через SOCKS5 в нужном профиле

В настольном Firefox откройте настройки, основной раздел и параметры сетевого соединения. В английском интерфейсе путь выглядит как Settings → General → Network Settings → Settings. Названия в локализации и расположение элементов могут меняться; ориентируйтесь на документацию Mozilla по настройке соединения и свою версию.

Если доступна ручная настройка SOCKS и способ аутентификации совместим с клиентом:

  1. Укажите фактические хост и порт прокси.
  2. Выберите SOCKS v5.
  3. Включите опцию разрешения DNS через SOCKS v5, если она предусмотрена в текущей версии. Её английское название — Proxy DNS when using SOCKS v5.
  4. Проверьте исключения, сохраните настройки и запустите новый DNS-тест в этом же профиле.

Если соединение останавливается на аутентификации, сначала проверьте совместимость способа входа. DNS-переключатель не добавляет поддержку произвольной схемы аутентификации.

firefox-socks5-proxy-dns-setting

Chrome и Edge: проверьте защищённый DNS и расширения

В настройках найдите функцию защищённого DNS — в английском интерфейсе Secure DNS — и посмотрите выбранный режим. Проверьте прокси-расширения и политики управления браузером.

Пункт настройки прокси может открывать системное окно. В таком случае изменение способно затронуть другие приложения, а не только текущий профиль. Сохраните исходное состояние, изменяйте по одному параметру и при необходимости перезапускайте браузер. Подтверждать исправление нужно в том профиле, где возникла проблема.

Согласуйте DoH и DoT с маршрутом VPN или прокси

DNS over HTTPS (DoH) передаёт DNS-сообщения по HTTPS; механизм описан в RFC 8484. DNS over TLS (DoT) защищает соединение с резолвером с помощью TLS. Шифрование и маршрутизация решают разные задачи: настройки маршрута определяют, проходит ли это соединение через VPN или прокси.

Прямое DoH-соединение с доверенным резолвером может скрывать содержимое запросов от локальной сети, но не соответствовать требованию «весь связанный трафик должен идти внутри туннеля».

Если источник проблемы — отдельный маршрут DoH в браузере, настройте его в соответствии с возможностями клиента. Когда проверено, что системный DNS корректно обрабатывается VPN, можно рассмотреть использование браузером системного разрешения с последующей проверкой. Уточните и поведение при сбое: не переключается ли клиент на другой резолвер или прямой маршрут.

Отключать защищённый DNS во всех случаях не стоит: можно убрать шифрование, не исправив маршрут. Его безусловное включение тоже не устраняет уже существующее нежелательное прямое соединение.

Проверка DNS в Windows, macOS, Linux и на телефоне

Команды и настройки ниже помогают понять конфигурацию устройства. Фактический путь запросов нужно сопоставлять с поведением конкретного приложения.

Платформа Что посмотреть Следующий шаг
Windows Активные адаптеры, DNS-серверы, режим VPN, политики браузера Сопоставить настройки нужного адаптера и приложения с конфигурацией VPN
macOS Сетевую службу, VPN, резолверы с разной областью действия Проверить правило для нужного домена или службы
Linux Менеджер сети, службу разрешения имён, DNS отдельных интерфейсов Менять настройки через управляющую службу, а не переписывать автоматически созданные файлы
Android VPN, доступные функции постоянного подключения и блокировки, частный DNS Повторить тест после перехода между Wi-Fi и мобильной сетью
iPhone и iPad Профили VPN и DNS, настройки управления, поведение приложения Проверить нужное приложение: Safari не отражает весь трафик устройства

В Windows с модулем DNS Client для PowerShell список настроенных DNS-серверов можно получить так:

powershellpowershell
Get-DnsClientServerAddress

В macOS для просмотра конфигурации DNS:

bashbash
scutil --dns

В Linux, если используется systemd-resolved:

bashbash
resolvectl status

В Windows обратите внимание на имена интерфейсов и семейства адресов. В macOS несколько резолверов с разными областями действия могут быть нормальной конфигурацией. В Linux адрес локальной заглушки вроде 127.0.0.53 указывает на службу на самом устройстве, а не на конечного вышестоящего DNS-провайдера.

Браузер со своим DoH может работать иначе, чем предполагает вывод системных команд. Если команды нет, сначала уточните ОС и используемую службу разрешения имён. Не устанавливайте инструменты и не переписывайте настройки вслепую. Сохраняйте управляемые организацией профили и исходные значения для возврата после теста.

Почему DNS-тест всё ещё показывает неожиданные результаты

Публичный DNS изменил сервер, но не маршрут

Адреса 1.1.1.1 и 8.8.8.8 в обычном поле DNS меняют выбранный резолвер. Они не включают автоматически DoH, DoT или маршрутизацию через VPN. Незашифрованный запрос вне туннеля по-прежнему может наблюдаться в локальной сети.

DNSSEC решает отдельную задачу — проверку DNS-данных. Эта технология не шифрует запросы и не направляет их через прокси.

Кэш, пересылка запросов и Anycast мешают простому сравнению

Если ответ уже находится в кэше, нового запроса к вышестоящему серверу может не быть. Используйте тест с новыми уникальными именами, а не загружайте один адрес снова и снова, считая отсутствие трафика доказательством защиты.

Резолверы могут пересылать запросы другим резолверам. Anycast позволяет обслуживать общий адрес из разных мест. Поэтому тест описывает наблюдения своей инфраструктуры, а не полную карту DNS-маршрутов вашего устройства.

Правила роутера охватывают не весь DNS

Если DNS обрабатывает роутер или локальный фильтрующий резолвер, проверьте его исходящее соединение. Устройство может корректно обращаться к локальному серверу, который затем отправляет запросы вне нужного VPN-маршрута.

Обычный DNS использует UDP и TCP, как правило, на порту 53. Блокировка только UDP 53 оставляет другие варианты передачи. DoT обычно работает через порт 853, а DoH — через HTTPS, поэтому одно правило для порта 53 не управляет всеми способами разрешения.

Не перенаправляйте DoT незаметно на произвольный сервер: проверяемая TLS-идентичность может не совпасть. Порт 5353 обычно относится к multicast DNS и не является универсальной заменой порта публичного DNS. Настройки принудительной маршрутизации на роутере должен выполнять администратор, который знает разрешённые резолверы, необходимые службы и способ отката.

Как проверить исправление и предотвратить повторную утечку

Исправление подтверждается, когда новые запросы проблемного приложения соответствуют выбранной политике в проверенных условиях. Практический порядок действий:

  1. Повторите тест в том же приложении с новыми именами назначения.
  2. Сопоставьте наблюдаемые резолверы и доступные сведения о маршруте с ожидаемой конфигурацией.
  3. Проверьте IPv4 и IPv6, если используются оба протокола.
  4. Повторите проверку после переподключения, выхода из сна и смены сети.
  5. При контролируемом обрыве с неконфиденциальным трафиком проверьте поведение VPN или прокси.
  6. Запишите версии, изменения, время и реальные результаты. Вернитесь к проверке после обновления клиента или сетевых компонентов.

Браузер проверяют в его собственном профиле. Для скрипта при наличии контролируемого домена и DNS-логов можно использовать разные действующие поддомены и сопоставлять запросы по времени. Логи авторитетного DNS показывают резолвер, обратившийся к нему; прохождение запроса через VPN требует дополнительных сведений о маршруте. Не подменяйте проверку скрипта браузерным тестом.

При наличии разрешения на анализ пакетов записывайте трафик на нужных физических и виртуальных интерфейсах и сопоставляйте его с уникальным тестовым именем и временем. Фильтр только по порту 53 пропустит зашифрованный DNS. Из-за инкапсуляции VPN и DoH отсутствие читаемых DNS-пакетов не доказывает отсутствие обходного пути.

Отделяйте фоновые запросы ОС от исследуемого приложения. Корректная формулировка результата — «для этого клиента и конфигурации нежелательные запросы к доменам назначения не обнаружены», а не «устройство больше никогда не допустит утечку».

Итог: исправьте DNS-маршрут и подберите прокси под задачу

Чтобы понять, как исправить утечку DNS, начните с приложения, ожидаемого маршрута и настройки, которая отправляет запросы в обход него. В VPN это DNS и защита при обрыве, в браузере — согласованность защищённого DNS и прокси, в curl с SOCKS5 — режим socks5h:// для разрешения на стороне прокси. Проверяйте результат с новыми именами и после переподключения.

Socks5.IO уместен там, где нужны прокси-соединения и IP-ресурсы для разрешённых исследований, региональных проверок и других определённых сетевых задач. Для непрерывного процесса выбирайте подходящий стабильный выход. Если независимые выборки требуют смены IP, рассмотрите резидентские прокси с ротацией.

До покупки уточните регионы, аутентификацию, сессии и условия оплаты выбранной услуги. Начните с одного адреса прокси и проверьте его в своём приложении перед расширением нагрузки. Правильная настройка клиента делает подключение полезным; покупка другого IP сама по себе не исправляет утечку DNS.

Часто задаваемые вопросы

Нет, адрес резолвера не определяет весь маршрут. Запросы могут перестать поступать на DNS интернет-провайдера, но продолжить уходить напрямую к публичному серверу без шифрования. Проверяйте резолвер, транспорт и маршрутизацию отдельно. В VPN используйте поддерживаемую DNS-конфигурацию, а в SOCKS5 убедитесь, что клиент передаёт имя назначения прокси. После изменения нужен новый тест в том же приложении.