VPN подключён, IP сменился, и кажется, что всё в порядке.
Но есть три канала, по которым ваш настоящий адрес или список открываемых сайтов могут уходить мимо туннеля: DNS, WebRTC и IPv6. Проверка занимает две минуты (или пять секунд одной кнопкой на странице работает ли мой VPN), а исправление ещё пять минут.
устройство ═════→ VPN ──→ сайт │ ├─→ DNS список сайтов провайдеру ├─→ WebRTC реальный IP сайту └─→ IPv6 часть трафика мимо
адрес одна страница DNS другая страница WebRTC третья страница └─ «показывает сервер» на первой не значит, что чисто на двух остальных
Что такое утечка DNS
Прежде чем открыть сайт, устройство спрашивает у DNS-сервера: «какой адрес у example.com?». Если этот вопрос уходит не через туннель, а напрямую к DNS провайдера, то провайдер получает полный список сайтов, которые вы открываете. Даже если сам трафик к ним идёт через VPN.
Так бывает, когда клиент VPN не перенаправляет DNS-запросы в туннель, или когда в системе прописан свой DNS-сервер, который «умнее» настроек VPN. Windows, например, любит отправлять запросы сразу на все известные DNS-серверы и брать первый ответ.
Как проверить
Откройте нашу страницу Какой у меня IP при подключённом VPN. Она показывает адрес, с которого вы пришли. Если это адрес VPN-сервера, а не вашего провайдера, значит трафик идёт через туннель. Для DNS проверка глубже: откройте тест утечки DNS. Он просит несколько случайных имён в нашей зоне и показывает, из какой сети за ними пришли. Та же сеть, что у вашего выхода в интернет, значит DNS идёт через туннель. Чужая страна или название вашего оператора связи означают утечку.
Как исправить
- В клиенте VPN найдите настройку DNS. В v2rayNG: Настройки → «Предпочитать удалённый DNS» включить, «Включить локальный DNS» выключить. В Hiddify и sing-box DNS по умолчанию идёт через туннель, проверьте только, что вы этого не меняли. В Streisand и V2Box это раздел DNS в настройках конфигурации.
- В системе уберите вручную прописанные DNS-серверы в настройках Wi-Fi и мобильной сети: пусть их выдаёт туннель.
- На Windows отключите Smart Multi-Homed Name Resolution через групповые политики или включите в клиенте опцию блокировки DNS вне туннеля, если она есть.
Что такое утечка WebRTC
WebRTC (механизм звонков прямо в браузере) придуман для видеозвонков и передачи данных без посредников. Чтобы соединить двух собеседников, браузер выясняет ваши IP-адреса, локальный и публичный, через так называемые STUN-серверы. Проблема в том, что любой сайт может попросить браузер сделать это, даже без всякого звонка, и узнать ваш настоящий публичный адрес в обход VPN.
сайт → браузер: «начни соединение» браузер → STUN-сервер: «какой у меня IP?» STUN → браузер: ваш настоящий публичный браузер → сайт: отдал, звонка не было
Как проверить
Откройте тест утечки WebRTC при подключённом VPN. Если среди показанных адресов есть ваш настоящий публичный IP (тот, что вы видите без VPN), значит утечка есть. Локальные адреса вида 192.168.x.x сами по себе не критичны, но тоже помогают вас отличать.
Как исправить
- Firefox: в адресной строке
about:config, параметрmedia.peerconnection.enabled→false. Видеозвонки в браузере перестанут работать, пока не вернёте обратно. - Chrome и другие на Chromium: настройки не дают отключить WebRTC полностью; ставьте расширение, которое ограничивает WebRTC до «только через прокси». Ищите по словам «WebRTC leak prevent» или «WebRTC control».
- Safari: отдельной настройки нет; Safari по умолчанию не раскрывает локальные адреса, но публичный проверить всё равно стоит.
- Мобильные приложения (не браузер) WebRTC-утечкам не подвержены, если весь трафик идёт через туннель.
вы открываете сайт ├─ запрос имени → провайдеру │ └─ он знает, куда вы идёте └─ сам трафик → в туннель адрес сменился, а список сайтов виден
Что такое утечка IPv6
Многие провайдеры выдают устройству сразу два адреса, IPv4 и IPv6. Если туннель обрабатывает только IPv4, а сайт доступен по IPv6, устройство пойдёт к нему напрямую, минуя VPN. Вы увидите это как «часть сайтов открывается без VPN» или как ваш настоящий IPv6-адрес на странице проверки.
Как исправить
Самое надёжное это включить обработку IPv6 в клиенте (в sing-box и Hiddify это стратегия «prefer IPv4» или «IPv4 only»). Если такой настройки нет, отключите IPv6 на самом устройстве в свойствах сети. Ничего не сломается: IPv4 пока хватает для всего.
Kill switch: чтобы утечки не было при обрыве
Даже правильно настроенный туннель иногда рвётся: сеть переключилась, сервер перезагрузился. В этот момент устройство на секунды или минуты идёт в интернет напрямую. Kill switch блокирует весь трафик, пока туннель не поднимется снова.
На Android это встроено в систему: Настройки → Сеть → VPN → значок шестерёнки у вашего приложения → «Постоянная VPN» и «Блокировать соединения без VPN». На iPhone его роль играет «Подключение по требованию» в профиле VPN плюс настройка клиента: часть клиентов умеет блокировать трафик при обрыве самостоятельно.
DNS DNS внутри туннеля
WebRTC настройка браузера или
расширение
IPv6 туннель с поддержкой IPv6
или выключить IPv6
обрыв Kill SwitchЕсли проверка показала что-то непонятное, покажите результат нейросети вместе с тем, чем вы пользуетесь.
Помоги разобрать результат проверки на утечки.
Что показала проверка:
адрес (какой), страна (какая),
DNS-серверы (перечислите, что показано),
WebRTC (какой адрес показан или «ничего»).
Туннель включён: да. Приложение: (название).
Браузер: (какой).
Скажи, что здесь утечка, а что нормальное
поведение, и что чинить в первую очередь.
Если по этим данным вывод сделать нельзя,
скажи прямо, что ещё нужно проверить.
Проверка утечек DNS и WebRTC: чек-лист на две минуты
- Подключите VPN.
- Откройте Какой у меня IP: адрес должен быть не ваш и не вашего провайдера.
- Откройте тест WebRTC: вашего настоящего публичного IP там быть не должно.
- Если провайдер выдаёт IPv6, проверьте, что на странице IP нет вашего настоящего IPv6.
- Включите DNS через туннель в клиенте и kill switch в системе.
[ ] VPN подключён [ ] Какой у меня IP: адрес не ваш [ ] тест WebRTC: вашего IP нет [ ] IPv6 на странице IP: не ваш [ ] DNS через туннель в клиенте [ ] kill switch в системе
Проверять стоит после каждого обновления клиента или системы: настройки иногда сбрасываются к значениям по умолчанию.