Руководства

Утечка DNS: что это такое, как её проверить и устранить

Что такое утечка DNS, почему она выдаёт сайты, которые вы открываете, как проверить себя тестом Colitu и как всё исправить режимом TUN и настройками браузера.

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

Что делает DNS

DNS — адресная книга интернета. Когда вы вводите имя сайта, устройство отправляет запрос резолверу, обычно провайдерскому, и получает в ответ IP-адрес. Классический DNS передаётся без шифрования, поэтому любой на пути видит, какие имена вы запрашиваете. Более новые варианты — DNS через TLS и DNS через HTTPS — шифруют запрос, но владелец резолвера всё равно видит каждое имя.

Что считается утечкой

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

  • провайдер может составить список сайтов, которые вы открываете, с отметками времени;
  • вы можете получать «местные» ответы, ведущие на страницу-заглушку вместо настоящего сайта;
  • некоторые резолверы передают примерную часть вашей сети (EDNS Client Subnet) DNS-серверам самих сайтов.

Откуда берутся утечки

  • Режим прокси на Windows. В режиме системного прокси браузеры отправляют трафик через прокси, но программы, которые прокси игнорируют, сами разрешают имена и подключаются напрямую.
  • «Безопасный DNS» в браузере. Chrome, Edge и Firefox умеют использовать собственного DNS-over-HTTPS-провайдера. Это не ваш провайдер интернета, но такой резолвер обходит системные настройки DNS, которые выставил VPN.
  • Свои настройки DNS в сетевом адаптере, на роутере или в другой программе.
  • Второй VPN или прокси, работающий параллельно и меняющий маршрут запросов.

Как работает тест утечки DNS от Colitu

Наш тест утечки DNS заставляет браузер запросить случайные имена, созданные только для этой проверки. Colitu — авторитативный сервер для этих имён, поэтому видит, какой резолвер приносит каждый запрос: это и есть DNS-сервер, которым на самом деле пользуется ваше устройство. Страница также показывает, передал ли резолвер часть вашего сетевого адреса (колонка «подсеть»). Случайный идентификатор и резолверы, которые о нём спрашивали, хранятся в памяти десять минут и затем удаляются; с вашим аккаунтом они никогда не связываются.

Проверка в четыре шага

  1. Выключите VPN и запустите тест. Запомните резолвер: обычно это провайдерский или публичный, который вы указали сами.
  2. Включите VPN, дождитесь статуса «Подключено» и запустите тест ещё раз.
  3. Сравните. Резолвер вашего провайдера или любой резолвер в вашей стране теперь появляться не должен. Крупный публичный резолвер вроде Google или Cloudflare сам по себе утечкой не является.
  4. Посмотрите на колонку «подсеть». Если при включённом VPN там видна ваша собственная сеть, запросы уходят мимо туннеля.

Проверка VPN-соединения проверяет IP, DNS и WebRTC сразу, если удобнее всё на одной странице.

Как устранить утечку

Windows: используйте режим TUN. Colitu для Windows предлагает режим системного прокси (по умолчанию) и режим TUN. Режим TUN направляет через туннель весь трафик и все DNS-запросы системы и даёт самую надёжную защиту. Включите его в настройках приложения и повторите тест. На Linux (бета) режим TUN делает то же самое и запрашивает sudo.

«Безопасный DNS» в браузере. Если тест показывает неожиданный резолвер, проверьте браузер:

  • Chrome: Настройки → Конфиденциальность и безопасность → Безопасность → «Использовать безопасный DNS». Выберите текущего поставщика услуг или выключите опцию.
  • Edge: Параметры → Конфиденциальность, поиск и службы → Безопасность → «Использовать безопасный DNS». Тот же выбор.
  • Firefox: Настройки → Приватность и защита → «DNS через HTTPS». Выберите «Защита по умолчанию» или «Отключено».

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

«Частный DNS-сервер» на Android. Если в Настройки → Сеть и Интернет → Частный DNS-сервер указан свой провайдер, тест покажет именно его. Это не ваш провайдер интернета, но если вы хотите, чтобы на запросы отвечала сторона VPN, выберите «Автоматически».

Прочее. На время проверки уберите свои DNS-серверы из настроек адаптера или роутера, закройте другие VPN и «защитные» программы и повторите тест.

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

  • Российские сайты. На Windows и Android Colitu открывает российские сайты напрямую, а не через туннель; с версии 2.5.3 исключение — только московский сервер. Это встроенное поведение без переключателя, поэтому на других серверах такие сайты видят ваше обычное подключение — так задумано. Наши тесты работают на colitu.com, и это их не затрагивает.
  • Публичный резолвер. Google, Cloudflare или резолвер в стране сервера — нормальная картина.

Шпаргалка

Что показывает тест при включённом VPNЧто это значитЧто делать
Резолвер в стране сервера или крупный публичныйУтечки нетНичего
Резолвер вашего провайдераУтечкаРежим TUN на Windows, проверить DNS браузера
Ваша собственная сеть в колонке «подсеть»УтечкаТо же самое
DoH-провайдер, выбранный в браузереБраузер обходит системный DNSПеревести «Безопасный DNS» в авто или выключить

Читайте также: утечка WebRTC и раздел справочного центра о проверках подключения.

Источники