Приватность в сети: что такое DNS-утечки и как от них защититься
Разбираемся, как работают DNS-утечки, почему они сводят на нет работу защищённого туннеля и как проверить свою настройку. Практическое руководство.
Приватность в сети: что такое DNS-утечки и как от них защититься
Вы подключили защищённый туннель, ваш IP-адрес сменился, браузер показывает «вы в Нидерландах» — кажется, всё хорошо. Но если провайдер в этот момент всё равно видит все сайты, которые вы открываете, смысла в вашем туннеле минимум. Эта проблема называется DNS-утечкой, и её нужно закрывать осознанно. Разбираем, как это работает и что с этим делать.
Что такое DNS и зачем он нужен
Когда вы вводите в браузере example.com, компьютер не знает, куда идти — у него есть только доменное имя. Чтобы его превратить в IP-адрес, система делает DNS-запрос: «эй, кто знает, какой IP у example.com?» DNS-сервер отвечает, и браузер уже подключается к нужному IP.
По умолчанию DNS-запросы идут в открытом виде на UDP-порт 53. Никакого шифрования. Все, кто находится между вами и DNS-сервером, видят, какие домены вы резолвите. Это могут быть:
- ваш интернет-провайдер;
- маршрутизаторы на пути;
- публичный Wi-Fi в кафе или аэропорту;
- любые сетевые устройства в цепочке.
Если они видят домены, им уже не обязательно знать содержимое — сам факт посещения конкретного сайта достаточен для составления профиля пользователя.
Что такое DNS-утечка при работе защищённого туннеля
Когда вы поднимаете защищённый туннель, весь трафик должен идти через него — в том числе DNS-запросы. Но из-за особенностей операционных систем это не всегда так. Распространённые сценарии:
1. ОС игнорирует DNS-настройку туннеля
Windows исторически любит отправлять DNS-запросы параллельно на «все известные серверы» (Smart Multi-Homed Name Resolution). Даже с поднятым туннелем, система может отправить DNS-запрос через физический адаптер мимо туннеля.
2. IPv6 минует туннель
Многие клиенты защищённого соединения поднимают туннель только для IPv4 и забывают про IPv6. Если ваш провайдер даёт IPv6, браузер может делать запросы по IPv6 напрямую, минуя туннель.
3. DNS-over-HTTPS в браузере
Современные Firefox и Chrome иногда используют собственный DoH (например, через Cloudflare). Это безопаснее, чем обычный DNS, но у браузера может быть настроено так, что запросы идут не через туннель, а напрямую — потому что браузер договаривается с 1.1.1.1 по своему каналу.
4. Кэш DNS
Операционная система кэширует результаты DNS-запросов. Если вы зарезолвили домен до подъёма туннеля, ОС может отдавать кэшированный ответ — и туннель здесь ни при чём.
Как проверить, есть ли у вас утечка
Существуют публичные тесты: dnsleaktest.com, ipleak.net. Алгоритм:
- Подключаете защищённый туннель.
- Заходите на сервис проверки.
- Смотрите, какие DNS-серверы он видит в ваших запросах.
Если в списке:
- IP вашего провайдера (Ростелеком, МТС, Билайн) — у вас утечка, ваш провайдер видит, какие сайты вы открываете.
- Только IP в стране удалённого сервера (Нидерланды, Германия, Финляндия) — всё хорошо.
- Публичные DNS (Google 8.8.8.8, Cloudflare 1.1.1.1) — зависит от настройки. Если они идут через туннель, это ок. Если мимо — нет.
Проверить «через туннель или мимо» можно косвенно по итоговым адресам резолверов и сравнению с отключённым туннелем. Если видно IP вашего локального провайдера — явно где-то утечка.
Как закрыть утечку
Правильная настройка клиента
Современные клиенты (sing-box, Hiddify, v2box, наш десктопный клиент LinesUPS) сделаны правильно:
- при подъёме туннеля они перехватывают все DNS-запросы и заворачивают их внутрь туннеля;
- поднимают локальный DoH-резолвер, который общается с внешним DoH-сервером только через туннель;
- корректно обрабатывают IPv6 (либо тоже туннелируют, либо блокируют).
Это и есть главная причина использовать современный клиент вместо «встроенного в Windows».
Настройка системы
- Windows: отключите Smart Multi-Homed Name Resolution через групповые политики. В большинстве сборок Windows 11 это уже сделано по умолчанию.
- Android/iOS: используйте клиенты на базе sing-box — они корректно работают с Private DNS и шифрованным туннелем одновременно.
- macOS/Linux: актуальные версии clash-verge / Hiddify работают правильно из коробки.
DoH/DoT как дополнительный слой
Даже если DNS идёт через туннель, полезно, чтобы сам резолвер общался с внешним миром по DNS-over-HTTPS или DNS-over-TLS. Это добавляет ещё один слой защиты на случай, если туннель упадёт — ваши запросы всё равно не будут в открытом виде.
WebRTC-утечки — отдельная история
В браузере есть технология WebRTC (для видеозвонков). Через неё сайт может узнать ваш реальный локальный IP, даже если вы используете шифрованный туннель. Это не DNS-утечка, но по сути такая же проблема приватности.
Решение: установить браузерное расширение WebRTC-Control или отключить WebRTC в настройках Firefox (about:config, параметр media.peerconnection.enabled = false).
Чек-лист приватной настройки
- [ ] Клиент защищённого соединения современный (sing-box 1.10+ или свежий Xray-core).
- [ ] Пройден тест на ipleak.net: виден только IP удалённого сервера.
- [ ] В списке DNS нет IP провайдера.
- [ ] IPv6 либо туннелирован, либо заблокирован.
- [ ] В браузере отключен WebRTC или установлено расширение контроля.
- [ ] Операционная система обновлена.
Итог
Защищённый туннель сам по себе не даёт приватности — он даёт инструмент для приватности. Без правильной настройки DNS, IPv6 и браузера, уровень вашей сетевой приватности может быть сильно ниже, чем кажется. Хорошая новость: современные клиенты всё это закрывают за вас автоматически. Нужно только не использовать «ручную настройку в Windows из 2015 года».
LinesUPS построен так, что все подписки по умолчанию используют DoH внутри туннеля, клиенты правильно обрабатывают IPv6, а десктопный клиент на sing-box блокирует утечки на системном уровне.
Попробуйте LinesUPS бесплатно 1 день — и проверьте через ipleak.net, как отличается результат от вашего текущего решения.