Утечки DNS (DNS Leaks)
Ситуация, при которой ваш трафик зашифрован мощным протоколом, но провайдер всё равно видит, какие именно сайты вы посещаете, из-за открытых запросов к «телефонной книге» интернета.
1. Что такое DNS и как происходит утечка?
Компьютеры не понимают адреса вроде instagram.com. Им нужны числовые IP-адреса (например, 157.240.214.174). Процесс перевода доменного имени в IP-адрес называется DNS-резолвингом. По умолчанию, операционные системы отправляют эти запросы на сервер провайдера (ISP) или публичные серверы (Google 8.8.8.8) в виде открытого текста по протоколу UDP на порт 53.
Сценарий утечки: Вы включаете VLESS или WireGuard. Туннель поднимается успешно. Вы вводите в браузере заблокированный сайт. Операционная система, прежде чем отправить зашифрованные данные в туннель, должна узнать IP-адрес сайта. Она отправляет запрос «Какой IP у сайта X?» напрямую вашему локальному провайдеру в обход VPN.
Провайдер не видит сами передаваемые данные (они пойдут в туннель), но он точно знает, куда вы пытаетесь зайти, и может перехватить запрос, вернув "заглушку" о блокировке (DNS Hijacking).
2. Схема классифической утечки
3. Стандартная защита: DoH и DoT
Чтобы провайдер не видел DNS-запросы, их нужно зашифровать. Для этого индустрия разработала два стандарта:
- DNS over TLS (DoT - Порт 853): Заворачивает DNS-запросы в отдельный TLS-туннель. Безопасно, но порт 853 легко заблокировать на уровне файрвола, так как он используется только для этого.
- DNS over HTTPS (DoH - Порт 443): Золотой стандарт. Запросы отправляются внутри обычного HTTPS-соединения (например, к
https://1.1.1.1/dns-query). Провайдер видит только то, что вы подключились к серверу Cloudflare или Google, но не видит, какие именно домены вы запрашиваете.
4. Ультимативная защита: Технология FakeDNS
Современные прокси-ядра (Xray-core и sing-box), работающие в режиме TUN (перехват всего трафика), используют еще более элегантный механизм — FakeDNS.
Как работает FakeDNS в sing-box / Xray
Вместо того чтобы отправлять DNS-запрос в реальный интернет (даже в зашифрованном виде), локальный клиент мгновенно выдает операционной системе фиктивный IP-адрес из зарезервированного диапазона (например, 198.18.0.5).
ОС думает, что узнала адрес, и начинает отправлять пакеты на 198.18.0.5. Клиент (sing-box) перехватывает эти пакеты, вспоминает, что этот фейковый IP привязан к домену, и отправляет в VPN-туннель не IP-адрес, а само доменное имя. Настоящий DNS-резолвинг (превращение домена в IP) происходит уже на вашем сервере (VPS) в другой стране, далеко за пределами досягаемости ТСПУ.
Преимущества FakeDNS колоссальны: полностью исключается утечка (в локальную сеть вообще не отправляются настоящие запросы), а также устраняется сетевая задержка (пинг), так как устройству не нужно ждать ответа от удаленного DNS-сервера перед началом загрузки страницы.
5. Как проверить и устранить утечку
Для проверки зайдите на сайт dnsleaktest.com с включенным VPN и нажмите "Extended test". Если в списке серверов вы увидите своего домашнего или сотового провайдера — у вас утечка. Если там отображаются серверы вашего хостинга или Cloudflare/Google (в стране вашего VPS) — вы защищены.
Правильная настройка клиента
- Включить TUN Mode (чтобы клиент перехватывал локальные UDP 53 запросы ОС).
- Активировать FakeDNS / Remote DNS в настройках NekoBox, v2rayN, Hiddify или sing-box.
- Для прямого роутинга (DIRECT трафик для РФ-сайтов) указать в клиенте надежный локальный или DoH сервер (например, Яндекс DNS или 1.1.1.1).
Типичные ошибки
- Использование System Proxy (HTTP/SOCKS) на уровне Windows без TUN — часто пропускает DNS-запросы мимо клиента.
- Жестко прописанные DNS провайдера в настройках сетевого адаптера или роутера, приоритет которых выше, чем у VPN.