Перейти к содержимому

Что не работает

Как проверить утечку DNS при включённом VPN

Туннель поднят, а имена сайтов по-прежнему разрешает провайдер. Это самая частая причина «работает наполовину» — и проверяется она за минуту.

Автор: Редакция «Разбираем»Опубликовано 5 мин чтения

Коротко

Проверка занимает минуту:

  1. Включите VPN и дождитесь статуса «подключено».
  2. Откройте любой онлайн-тест утечки DNS.
  3. Посмотрите, чьи серверы он показывает.
  4. Имя вашего провайдера в результатах — это утечка.
  5. Включите в настройках клиента его собственные DNS-серверы.
  6. На Android отдельно переведите приватный DNS в «Автоматически».

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

Результат выглядит непоследовательно и потому сбивает с толку: часть сервисов работает, часть нет, а причина при этом не в туннеле и не в приложении.

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

Как это проверить

  1. Подключите VPN и дождитесь, пока клиент покажет «подключено».
  2. Откройте в браузере любой онлайн-тест утечки DNS — их несколько, и подойдёт любой.
  3. Дождитесь окончания проверки: обычно она делает несколько запросов подряд.
  4. Посмотрите на список резолверов в результате.

Как читать результат:

Что видно в результатахЧто это значит
Серверы VPN-сервиса, страна совпадает с выбранной локациейНормально, утечки нет
Имя вашего интернет-провайдераУтечка
Публичный резолвер, который вы прописывали самиЧастичная утечка: запросы идут мимо туннеля
Несколько разных источников сразуЧасть запросов уходит мимо

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

Почему это происходит

Три причины покрывают почти все случаи.

Клиент не назначает свои DNS-серверы. Часть приложений оставляет системные настройки как есть. Лечится переключателем в настройках клиента.

На устройстве прописан свой резолвер. Приватный DNS на Android, настройки адаптера на Windows, профиль на iPhone. Такая настройка работает независимо от туннеля и переживает его включение.

Обновление сбросило настройки. После крупных обновлений системы или переустановки клиента параметры возвращаются к значениям по умолчанию. Это самая частая причина, по которой утечка появляется у того, у кого всё работало месяцами.

Как закрыть

В клиенте

Найдите в настройках пункт про DNS и включите использование серверов сервиса. Формулировки разные — «Использовать DNS VPN», «Custom DNS», «DNS-серверы туннеля», — но смысл один.

Если такого пункта нет вовсе, это ограничение приложения. Рабочий путь — сменить клиент или настроить подключение через официальное приложение WireGuard, где DNS задаётся прямо в конфигурации.

На Android

Настройки → Сеть и интернет → Частный DNS-сервер.

Если здесь указан сторонний адрес, он работает мимо туннеля. Переведите в «Автоматически» и проверьте тест заново. Дальше решайте осознанно: приватный DNS полезен сам по себе, но с DNS туннеля он конфликтует.

Подробнее о настройках Android, которые влияют на сеть, — VPN не работает на Android.

На iPhone

Отдельной системной настройки приватного DNS здесь нет, но своим маршрутом может идти «Частный узел iCloud»: Настройки → ваше имя → iCloud → Частный узел. При диагностике его стоит отключить — подробности в материале VPN на iPhone.

На Windows

  1. Проверьте настройки DNS у активного сетевого адаптера: там не должно быть прописанных вручную адресов, если вы их не задавали осознанно.
  2. Отключите неиспользуемые виртуальные адаптеры — они умеют перехватывать запросы.
  3. После переключений сбросьте кеш имён, иначе система продолжит использовать старые ответы.

Разбор остальных особенностей платформы — VPN на Windows.

Что не является утечкой

Три результата, которые регулярно принимают за проблему:

  • Резолвер в другой стране. Это и есть сервер сервиса. Ожидаемо.
  • Несколько адресов одного провайдера DNS. Нормальная отказоустойчивость.
  • Смена резолвера между проверками. Сервисы используют пул серверов.

Тревожный признак ровно один: имя вашего интернет-провайдера в результатах при включённом туннеле.

Когда проверять

Не нужно делать это регулярно. Достаточно:

  • один раз после настройки;
  • после смены клиента или протокола;
  • после крупного обновления системы;
  • когда появился симптом «часть сервисов работает, часть нет».

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

Если утечки нет, а проблема осталась

Значит дело не в DNS. Дальше по порядку: смена сервера, смена протокола, проверка MTU. Это разобрано в материалах VPN не подключается и низкая скорость через VPN.

Почему тесты иногда противоречат друг другу

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

Это не ошибка. Утечка бывает частичной: часть запросов уходит через туннель, часть мимо — например, когда система использует несколько резолверов и переключается между ними. Один тест поймал «плохой» запрос, другой нет.

Практический вывод: если хотя бы один тест показывает вашего провайдера, считайте, что утечка есть. Чистый результат одного сервиса не опровергает находку другого.

IPv6: отдельный случай

Туннель может обслуживать только IPv4, тогда как устройство одновременно имеет адрес IPv6. Запросы по второму протоколу идут мимо туннеля, и тест показывает провайдера, хотя с настройками DNS всё в порядке.

Признак: в результатах теста видны адреса вида 2a00:... наряду с обычными.

Что делать:

  • в настройках клиента найти пункт про IPv6 и включить его обработку, если он есть;
  • если такого пункта нет, отключить IPv6 на самом подключении — на Windows в свойствах адаптера, на Android в настройках точки доступа;
  • сменить клиент на тот, который умеет работать с обоими протоколами.

Короткая памятка

СитуацияВывод
В результатах только серверы сервисаВсё в порядке
Виден провайдерУтечка, закрывайте по инструкции выше
Видны адреса IPv6 и провайдерУтечка по второму протоколу
Результат меняется между проверкамиЧастичная утечка, считайте что она есть
Тест не открывается при включённом туннелеПроблема не в DNS, а в самом соединении

Последняя строка встречается чаще, чем кажется: если страница теста вообще не грузится, проверять нечего — сначала нужно поднять рабочее соединение.

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

Частые вопросы

Чем опасна утечка DNS?
Провайдер видит список имён, которые вы запрашиваете, даже когда остальной трафик идёт через туннель. Содержимое страниц при этом остаётся недоступным, но сам перечень адресов — довольно подробная картина того, чем вы пользуетесь.
Почему при утечке часть сайтов открывается, а часть нет?
Потому что имя разрешается по одному маршруту, а соединение устанавливается по другому. Если ответ резолвера указывает на адрес, недоступный из сети VPN-сервера, страница не откроется — при том что соседний сайт откроется нормально.
Тест показал сервер в другой стране — это утечка?
Нет, это ожидаемо: вы видите резолвер VPN-сервиса, и он обычно находится там же, где сервер. Утечкой считается появление в результатах вашего провайдера или резолвера, настроенного на устройстве.
Надо ли проверять это каждый раз?
Нет. Достаточно один раз после настройки и потом при смене клиента, протокола или крупном обновлении системы — именно эти события чаще всего возвращают настройки DNS к прежним значениям.