DNS-утечки через VPN: как проверить и настроить защищённый резолвер
Проверяем, не «текут» ли DNS-запросы мимо туннеля, и настраиваем защищённый резолвер в личном канале NetShield.
Адаптированный пересказ материалов Merionet и Selectel с практическим руководством редакции NetShield VPN. Оригинал: Что такое DNS-сервер и как он работает.
Что такое DNS и почему это «визитная карточка» в сети
Каждый раз, когда вы открываете сайт или приложение, ваше устройство отправляет запрос на DNS-сервер: «Подскажи, на каком IP находится этот домен?». По этому запросу провайдер или администратор сети видит, какими сервисами вы пользуетесь — даже если сам трафик зашифрован по HTTPS.
Когда вы пользуетесь интернетом напрямую, DNS-запросы идут к резолверу вашего провайдера. Это нормально для домашней сети. Но в поездке, в кафе или при удалённой работе через общедоступный Wi-Fi такой «открытый» резолвер становится источником метаданных о вас.
Почему DNS «течёт» даже при включённом VPN
Многие пользователи считают, что если VPN-туннель поднят и IP сменился, то приватность обеспечена полностью. На практике это не всегда так.
Операционная система смартфона или ноутбука может продолжать отправлять DNS-запросы на «родной» резолвер провайдера, игнорируя настройки туннеля. Это называется DNS-утечкой. Причины:
- Кэширование DNS на уровне ОС. Система помнит старые записи и обращается к привычному резолверу до истечения кэша.
- Параллельные интерфейсы. Если одновременно активны Wi-Fi и мобильный интернет, часть запросов может пойти через тот интерфейс, где VPN не поднят.
- Сбои приложения WireGuard. Если туннель «отвалился» на секунду, но система этого не заметила, DNS-запросы уходят в открытую сеть.
- Настройки браузера. Некоторые браузеры (особенно Chrome и Firefox) используют свой собственный «безопасный DNS» (DoH), который может идти в обход системных настроек и туннеля.
В результате провайдер или администратор сети видит, какие домены вы открываете, даже если IP-адрес у вас «чужой».
Как проверить, есть ли утечка DNS на вашем устройстве
Самый простой способ — воспользоваться специализированным сервисом проверки. Подключитесь к вашему личному каналу NetShield и откройте в браузере один из сайтов-тестов (например, ipleak.net или dnsleaktest.com).
Запустите «расширенный тест» (Extended test). Сервис сделает несколько десятков запросов к разным доменам и покажет, на какие DNS-серверы они ушли.
На что смотреть в результатах:
- Если все запросы уходят на один IP — и этот IP принадлежит вашему VPN-провайдеру, утечек нет.
- Если часть запросов уходит на IP вашего домашнего провайдера или сотового оператора — есть утечка.
- Если в списке мелькают IP-адреса Google, Cloudflare или OpenDNS — значит, браузер или ОС использует сторонний резолвер в обход туннеля.
Настройка защищённого DNS в WireGuard
В личном канале NetShield на базе WireGuard DNS-запросы по умолчанию идут через тот же туннель, что и весь остальной трафик. Но чтобы исключить любые случайные утечки, стоит явно прописать защищённый резолвер в конфигурации.
Где посмотреть и изменить настройки
Откройте личный кабинет NetShield и перейдите в раздел с конфигурациями устройств. В параметрах вашего туннеля есть строка DNS. По умолчанию там может быть указан системный резолвер.
Чтобы «закрыть» утечку:
1. В поле DNS пропишите адрес защищённого резолвера, который выдаётся в личном кабинете вместе с конфигом.
2. Сохраните изменения и перегенерируйте конфигурацию для устройства.
3. Импортируйте обновлённый конфиг в приложение WireGuard заново (или замените существующий).
После этого все DNS-запросы с устройства будут уходить строго через туннель на защищённый резолвер, без обращения к провайдеру.
Проверка после настройки
Снова запустите расширенный тест на dnsleaktest.com. Теперь все строки в результатах должны указывать только на IP-адреса, принадлежащие вашему личному каналу. Если это так — утечка устранена.
Отдельный случай: «безопасный DNS» в браузерах
Современные браузеры часто включают по умолчанию функцию Secure DNS (DoH — DNS over HTTPS). Она шифрует DNS-запросы внутри браузера и отправляет их на сторонние резолверы (Google, Cloudflare, Quad9).
С одной стороны, это хорошо — запросы шифруются. С другой — они идут в обход вашего VPN-туннеля, и сторонний резолвер видит, какие сайты вы открываете.
Если для вас важна единая политика приватности, имеет смысл отключить Secure DNS в настройках браузера и положиться на системный DNS, который уже настроен через WireGuard. Тогда все запросы пойдут по одному маршруту — через ваш личный канал.
Что делать, если утечка появляется только на отдельных сайтах
Иногда пользователи замечают, что «утечка» возникает только при обращении к определённым ресурсам. Чаще всего это связано с тем, что:
- Сайт использует CDN с собственными DNS-записями, которые кэшируются на уровне провайдера.
- Приложение (например, мессенджер) обращается к собственным службам разрешения имён.
- В системе работает «умное» переключение сетей (Wi-Fi Assist на iOS или Adaptive Wi-Fi на Android), которое подмешивает мобильный трафик.
В таких случаях помогает:
1. Отключение «умного» переключения сетей в настройках смартфона.
2. Полная перезагрузка приложения WireGuard после смены сети.
3. Проверка, что функция Always-On VPN (на Android) или Connect On Demand (на iOS) активирована — об этом подробно написано в нашей статье Автоподключение VPN в публичных Wi-Fi сетях.
Семейный доступ: единая политика DNS для всех устройств
Если вы пользуетесь семейным тарифом NetShield, то все устройства близких подключаются к одному личному каналу. Это удобно тем, что настройки DNS применяются централизованно: вам не нужно настраивать защищённый резолвер на каждом смартфоне и планшете отдельно.
Достаточно один раз обновить конфигурацию в личном кабинете, и все устройства в семье автоматически получат корректные настройки DNS. Это особенно полезно, если вы хотите оградить детские устройства от обращения к случайным сторонним резолверам.
Подробнее о возможностях семейного тарифа можно прочитать в основах личного канала WireGuard.
Короткий чек-лист: что проверить за 5 минут
- Подключиться к личному каналу NetShield.
- Открыть dnsleaktest.com и запустить расширенный тест.
- Убедиться, что все IP в результатах принадлежат вашему VPN.
- Если есть «чужие» IP — обновить DNS в конфигурации через личный кабинет.
- Переимпортировать конфиг на устройстве и повторить тест.
Если после всех шагов утечка сохраняется, попробуйте перезагрузить устройство — это сбросит кэш DNS на уровне ОС. Если и это не помогло, обратитесь в поддержку через личный кабинет.