DNS ЗАПРОС
Отправляем уникальный DNS-запрос
Проверьте, не утекают ли ваши DNS-запросы за пределы VPN или прокси-туннеля
Процесс проверки утечки DNS
Отправляем уникальный DNS-запрос
Определяем обрабатывающий DNS-сервер
Проверяем страну резолвера vs VPN
Определяем утечки VPN-туннеля
DNS-утечка это не "запрос ушёл провайдеру вместо VPN-туннеля". Это сбой маршрутизации. Браузер спросил example.com, запрос вылетел через интерфейс мимо туннеля, и теперь кто-то, кому ты не собирался ничего сообщать, знает что ты ввёл этот URL. Провайдер. Публичный DNS-резолвер. Wifi-кафе. Иногда все трое за одну минуту, три свидетеля смотрят как один и тот же конверт идёт по адресу. Что делает эту проблему странно непокорной: способов утечь у DNS примерно восемь, а средний leak-тест ловит два из них. Видишь зелёную галку, закрываешь вкладку, через двадцать минут телефон цепляется к гостевому wifi, который пушит свежий резолвер через DHCP. Зелёная галка перестаёт быть правдой. В туториалах этого не пишут потому что не помещается в скриншот. Дальше: откуда утечки берутся реально, почему большинство сайтов "DNS leak test" обманывают вас способами о которых сами не знают, и как выглядит настоящее лечение когда перестаёшь верить тумблеру "leak protection" в клиенте VPN.
Самая популярная формулировка: "провайдер перехватывает DNS". Это вектор номер один из примерно восьми. Второй вектор это Windows. Конкретно Windows 10 с фичей Smart Multi-Homed Name Resolution. Запрос летит во все интерфейсы одновременно, ОС берёт ответ от того, кто ответил первым. Туннель VPN это один интерфейс. Физический NIC другой. Race condition. Гонку выигрывает ближайший резолвер, обычно провайдерский. Microsoft это документировал. Считал фичей. IPv6 идёт следом. Большинство потребительских VPN туннелируют только v4. ОС спокойно гонит v6 DNS поверх нативного IPv6, и это значит провайдер, домашний роутер, любой firewall на v6-маршруте смотрят, куда ты идёшь. Браузеры приносят свой канал. Chrome и Firefox оба возят встроенный DoH. Firefox в 2018 году переключил американских пользователей на Cloudflare по умолчанию, и многих этот факт до сих пор удивляет. Запрос браузера не касается резолвера в твоём VPN-туннеле. Он уходит на Cloudflare по 443 порту, выглядит как обычный HTTPS, прозрачен для любого VPN которым ты пользуешься. Оставшиеся четыре вектора: DHCP-override в captive-сетях, race condition при переподключении killswitch, .local mDNS-броадкасты которые анонсят имена хостов всем в локалке, и device discovery (Chromecast, AirPlay, SSDP принтеров) которые игнорируют VPN-маршрутизацию. Большинство leak-тестов проверяют вектор один. Кто-то добивает IPv6. Остальные шесть никто почти не ловит.
Запусти любой популярный DNS leak tool. Что он делает: посылает один-два запроса на уникальный поддомен, смотрит какой резолвер ответил, сравнивает страну с VPN-выходом. Совпадает зелёная. Не совпадает красная. Готово. Три проблемы с этим. Раз: один запрос это одна выборка. Утечки часто прерывистые. На dual-stack сетях ОС выбирает v4 или v6 на каждый запрос, иногда вообще раскидывает между ними. Один сэмпл показал v4 через туннель. Следующие сорок поделились пополам. Тест пропустил. Закинул удочку в озеро в полдень это ничего не говорит о том, кто клюёт на закате. Два это география. Anycast-маршрутизация ставит 1.1.1.1 в трёхстах с лишним датацентрах по миру. Запрос из лондонского VPN-выхода может приземлиться в франкфуртском POP из-за BGP. Тест видит "DNS resolver: Германия, VPN exit: UK, LEAK". Утекло при этом ничего. Этот false positive с Cloudflare DoH вылезает регулярно. Третий момент это рамка. Фраза "1.1.1.1 защищает вашу приватность" неправильна по специфическому поводу. Cloudflare не продаёт ваши запросы. Видеть их они видят. Google с 8.8.8.8 видит. Quad9 видит. Угроза "провайдер знает что я гуглю" решается. Угроза "никакая третья сторона не знает что я гуглю" требует поднимать собственный резолвер. Это делает примерно 0.1% пользователей. Тесты которые оценивают "Cloudflare у тебя или провайдер" отвечают на неправильный вопрос. Правильный звучит так: "какова топология моих DNS-запросов через все интерфейсы, включая те, про которые я забыл". На порядок муторнее измерять.
Лечение это не галочка в VPN-клиенте. Это таблица маршрутизации. У ОС такая есть. Без помощи иногда слушается VPN, иногда нет. Состояние "слушается всегда" собирается из трёх вещей по слоям. Первое: принудительная маршрутизация всего трафика через tun-интерфейс, включая v6. WireGuard-конфиги с `AllowedIPs = 0.0.0.0/0, ::/0` это делают правильно. OpenVPN с `redirect-gateway def1 ipv6` тоже. Всё что не перечисляет v6 явно оставляет дыру. Второе это правило firewall. Блочить весь трафик на не-VPN интерфейсах пока туннель не поднят. Linux: drop-правило nftables на output. Windows: KillSwitch у WireGuard это по сути `netsh`-правило. macOS: pf, но Apple убрал pfctl из дефолтных GUI-инструментов, так что конфиг ручной. Без этого слоя килсвитч это мягкая просьба. И последнее, браузер. Chrome: `chrome://flags/#dns-over-https` потом Disabled. Firefox: about:preferences потом Network Settings потом снять галку "Enable DNS over HTTPS". Без этого Firefox продолжает иметь приватный сайд-канал к Cloudflare независимо от настроек ОС. Для совсем параноидальных: поднять свой резолвер. Pi-hole с Unbound настроенным на DoT-к-Quad9, все запросы заворачиваются в VPN маршрутизацией. Часа четыре на настройку, ноль утечек после, плюс бонус ничто в домашней сети не может разрезолвить DNS-имя минуя проверенный стек. Сканер DNS-утечек в WHOX опрашивает несколько эндпойнтов через обе IP-семьи и показывает какой именно вектор не выдержал, а не просто что что-то утекло. Полезно когда хочется понять что чинить.
В большинстве VPN-приложений есть опция 'Защита от утечки DNS' — включите её. Также можно вручную настроить систему на использование DNS-серверов VPN или безопасных DNS-сервисов, таких как 1.1.1.1 или 8.8.8.8.
Утечка DoH (DNS over HTTPS) происходит, когда браузер отправляет DNS-запросы напрямую на DoH-сервер (например, Cloudflare или Google), минуя VPN. Некоторые браузеры включают DoH по умолчанию.
Утечка DNS раскрывает вашу историю посещений провайдеру и потенциально любому, кто мониторит вашу сеть. Хотя она не показывает содержимое страниц, она показывает, какие сайты вы посещаете.
Запускайте весь набор WHOX из одного блока: проверки утечек, fingerprint-пробы, сетевую диагностику, репутацию IP и тесты приватности.