Связанные руководства
Утечка DNS и подмена DNS: как проверить и исправить
Обновлено
Коротко: подмена DNS (её ещё называют отравлением DNS, DNS poisoning) — это когда вы спрашиваете, где находится сайт, а получаете фальшивый адрес. Сайт не открывается или вместо него открывается что-то другое. Утечка DNS — это когда VPN включён, а запросы адресов всё равно уходят через местного провайдера. Первое не даёт вам добраться до сайта, второе выдаёт посторонним, куда вы идёте. Это разные проблемы. Проверить несложно: посмотрите, какой IP выхода видят сайты, а потом — чьи серверы отвечают на ваши DNS-запросы. Ниже разберём оба понятия, как найти и устранить каждую проблему, и три вопроса, которые возникают при проверке IP: почему два сервиса показывают разное местоположение, что такое оценка «чистоты» IP и почему безопасный DNS на устройстве может сбить раздельную маршрутизацию роутера.
Что такое DNS
DNS — это справочная интернета. Вы вводите доменное имя, а устройству нужен IP-адрес; промежуточный шаг — какой адрес соответствует этому имени — это вопрос к DNS-серверу. По умолчанию его выбирает провайдер или роутер, а классические DNS-запросы не шифруются: оборудование по пути может прочитать вопрос и успеть ответить раньше настоящего сервера.
Как выглядит подмена DNS
Подмена DNS означает, что настоящий ответ заменили фальшивым: имя указывает на посторонний адрес или на адрес, до которого не достучаться. Со стороны пользователя это выглядит так.
- Отдельные сайты бесконечно грузятся, отваливаются по таймауту или пишут, что соединение сброшено, а остальные сайты в ту же минуту работают нормально.
- Публичный DNS-сервер не помогает: фальшивый ответ вставляется по дороге, так что кого бы вы ни спросили, подделка приходит к вам первой.
- Одно и то же имя каждый раз даёт новый адрес, и эти адреса принадлежат организациям, никак не связанным с сайтом.
- Браузер показывает ошибку сертификата: имя направили на чужой сервер, у которого нет сертификата этого сайта. На этом остановитесь и не нажимайте «всё равно перейти».
- В другой сети (например, через мобильный интернет) или с включённым VPN тот же сайт открывается сразу.
Как обнаружить подмену DNS
Если картина уже такая — «с VPN открывается, без него нет», — этого достаточно для вывода. Чтобы точно проверить, правильно ли разрешается конкретное имя, выполните четыре шага.
- Выключите VPN и запросите имя в командной строке компьютера, заменив example.com на нужный домен; запишите полученный адрес:
nslookup example.com - Подключите VPN (способ, который охватывает всё устройство, в глобальном режиме) и запросите то же имя ещё раз. Разные результаты — это нормально: у крупных сайтов серверы во многих местах. Решающий шаг — следующий.
- Проверьте первый адрес на сервисе вроде ipinfo.io: кому он принадлежит. Если самому сайту или его облачному провайдеру — разрешение в порядке. Если посторонней организации или адрес вообще недоступен — ответ был подменён.
- Повторите пару раз. Настоящие результаты держатся в небольшом постоянном наборе адресов, подменённые часто меняются при каждом запросе.
Как исправить подмену DNS
Есть четыре подхода — от частичных к полному. Первые два меняют лишь то, кого вы спрашиваете; третий решает и вопрос, и дорогу сразу.
- Сменить DNS-сервер: помогает, если ошибается или хранит старый адрес DNS самого провайдера. Против ответов, вставленных по дороге, бесполезно.
- Зашифрованный DNS (DoH, DoT): запрос нельзя подменить в пути, и вы получаете настоящий адрес. Но до настоящего адреса всё равно может не быть доступа, так что это полрешения.
- Пустить через маршрут и разрешение имён, и сам трафик: полное решение. Имя разрешается на дальнем конце, ответ настоящий, и сам заход на сайт тоже идёт с дальнего конца.
- Прописать адрес вручную в файле hosts: ломается, как только адрес меняется, и на большее число сайтов не масштабируется. Годится как временная заплатка.
- LeoTun использует третий подход: DNS назначает маршрут, имена разрешаются внутри туннеля, и исходный DNS устройства не используется. В «Веб Прокси» имена для браузера разрешает сам прокси-сервер. Роутер делает это для всех устройств в доме, а китайские сайты разрешает по-местному, чтобы они открывались напрямую. На наших маршрутах обычно не нужно менять никаких настроек DNS.
Утечка DNS и подмена DNS: в чём разница
- Подмена DNS: ответ фальшивый. Сайт не открывается или вас отправляют не туда. Бывает, когда вы не на маршруте или когда через маршрут не идёт разрешение имён.
- Утечка DNS: ответ настоящий, но спрашивали у местного провайдера. Провайдер узнаёт, на какие домены вы ходите, а видеосервис может вычислить по этому ваше реальное местоположение. Бывает, когда VPN подключён, но запросы идут мимо туннеля.
- Частые причины утечки: включённый безопасный DNS в браузере или системе; одновременно работающий другой VPN или инструмент mesh-сети; IPv6 устройства, который идёт мимо туннеля.
- Если вы за границей и смотрите китайское видео, типичный признак утечки — «подключено, IP правильный, а надпись про регион всё равно появляется». Как быть, описано в Tencent Video или iQIYI недоступны за границей.
Как проверить, какой DNS и IP выхода вы на самом деле используете
- IP выхода: после подключения откройте сервис проверки IP, например ipinfo.io или ip.sb. Адрес и место должны соответствовать выбранному выходу, а не вашему домашнему интернету.
- DNS: откройте тест на утечку DNS (dnsleaktest.com или страницу DNS на browserleaks.com). Там перечислены серверы, которые разрешают для вас имена. В глобальном режиме вашего местного провайдера в списке быть не должно.
- IPv6: откройте test-ipv6.com. Если IPv6 недоступен или показан адрес, который не принадлежит вашему местному провайдеру, всё в порядке.
- В режиме раздельной маршрутизации читайте результат иначе: китайские сайты и должны разрешаться внутри Китая, так что китайский сервер на странице теста — ещё не обязательно утечка. Для уверенности переключитесь на глобальный режим и проверьте снова.
- Отключитесь и прогоните всё ещё раз, затем сравните. Если результаты одинаковые, трафик не идёт через маршрут — проверьте, действительно ли клиент подключён.
Почему два сервиса проверки IP показывают разное местоположение
При включённой раздельной маршрутизации это нормально — так она и работает. Если вы в Китае и выбрали зарубежный регион, китайский сервис проверки IP идёт напрямую и видит адрес вашего домашнего интернета, а зарубежный идёт через маршрут и видит адрес выхода. Правы оба: один отвечает на вопрос «где меня видят китайские сайты», другой — «где меня видят зарубежные сайты».
С китайским входом то же самое: китайские сайты открываются из Китая, а зарубежные — через зарубежную линию, поэтому зарубежный сервис проверки показывает зарубежный конец.
Третий вид расхождений — из-за баз данных. К какой стране или городу относится IP, зависит от базы геолокации, которой пользуется конкретный сервис, а обновляются они в разное время. Один и тот же IP на двух сайтах может оказаться в разных городах и даже странах — это обычное дело. Сайт или приложение на деле ориентируются на собственную базу.
Чтобы увидеть выход, когда всё идёт через маршрут, переключите клиент в глобальный режим и проверьте ещё раз. Направления раздельной маршрутизации на роутере и как их проверить — в статье Как работает раздельная маршрутизация на VPN-роутере.
Что значит оценка «чистоты» IP
Оценка чистоты IP, она же репутация IP или fraud score, — это рейтинг риска, который некоторые сервисы проверки присваивают адресу. Единого стандарта нет: у каждого сайта своя формула, и один и тот же адрес может получить на разных сайтах совсем разные баллы. Она показывает, насколько сайты считают адрес обычным домашним пользователем, и ничего не говорит о том, защищены ли ваши данные. В основном на неё влияют четыре вещи.
- Тип адреса: домашний интернет, мобильная сеть или дата-центр.
- Помечен ли он как прокси или VPN: некоторые базы собирают именно такие адреса.
- История: рассылался ли с адреса спам, долбили ли с него API, были ли на него жалобы.
- Сколько людей пользуются им одновременно: когда многие делят один выход, поведение каждого записывается на один и тот же адрес.
Почему у общих выходов оценка ниже и важно ли это
У общих выходов оценка ниже по самой их природе. Одним адресом выхода пользуются многие, и если кто-то из них когда-то попал под антифрод, запись остаётся на адресе. К тому же адрес из диапазона дата-центра, а это минус баллы уже за тип. Так обстоит дело с выходами VPN и прокси вообще.
На практике низкая оценка означает больше капчи, дополнительную проверку на некоторых сайтах и редкие сервисы, которые не принимают адреса дата-центров. Относитесь к результату как к ориентиру. Если конкретный сайт вас не пускает, переподключитесь через другой регион: у каждого региона свои адреса выхода и за каждым стоит несколько машин.
Безопасный DNS на устройстве может обойти раздельную маршрутизацию роутера
Чтобы решить, пустить заход через маршрут или напрямую, роутер должен увидеть, о каком имени спрашивает устройство. Устройство с включённым зашифрованным DNS (DoH или DoT) спрашивает сторонний сервер по своему зашифрованному каналу, роутер запроса не видит, и раздельная маршрутизация для этого устройства перестаёт срабатывать: то, что должно идти через маршрут, идёт мимо, или китайские сайты идут крюком. Если капризничает только одно устройство в доме, проверьте это в первую очередь.
- Android: «Настройки» → «Сеть и интернет» → «Частный DNS-сервер», выберите «Отключено». Названия меню у разных производителей отличаются; поиск по настройкам по запросу «Частный DNS» его находит.
- Chrome: «Настройки» → «Конфиденциальность и безопасность» → «Безопасность» → «Использовать безопасный DNS», выключите. В Edge и Firefox аналогичный пункт есть в настройках приватности; в Firefox он называется «DNS через HTTPS».
- iPhone и Mac: единого системного переключателя нет. Если вы ставили DNS-приложение или DNS-профиль, отключите его в «Настройки» → «Основные» → «VPN и управление устройством», а также выключите «Частный узел iCloud» (iCloud Private Relay), если он включён.
- После этого переподключите устройство к Wi‑Fi и проверьте способом из последнего раздела статьи о раздельной маршрутизации на роутере.
FAQ
Что значит подмена DNS?
Когда устройство запрашивает адрес домена, ответ подменяют фальшивым — он указывает на посторонний или недоступный адрес, и сайт не открывается. Ваше устройство и браузер тут ни при чём: проблема на пути, по которому идёт запрос.
Поможет ли от подмены DNS сменить DNS на 8.8.8.8 или 1.1.1.1?
Обычно нет. Обычные DNS-запросы не шифруются, и фальшивый ответ вставляется по дороге, кого бы вы ни спросили. Смена сервера помогает, только если виноват DNS самого провайдера. Полное решение — пустить через маршрут и разрешение имён, и трафик.
Тест на утечку DNS показывает серверы моего местного провайдера. Что делать?
Переключитесь в глобальный режим и проверьте снова, чтобы исключить раздельную маршрутизацию. Если они всё равно видны, выключите безопасный DNS в браузере и «Частный DNS-сервер» на Android, закройте другие VPN и инструменты mesh-сети и с помощью теста IPv6 проверьте, не светится ли местный IPv6-адрес.
Китайский сервис проверки IP показывает мой домашний адрес. Маршрут не работает?
Скорее всего, раздельная маршрутизация как раз работает: китайские сайты идут напрямую и видят ваш домашний интернет. Откройте ещё и зарубежный сервис проверки IP; если он показывает адрес выхода, всё так, как должно быть.
Низкая оценка чистоты IP влияет на мою безопасность?
Нет. Оценка отражает, как сайты относятся к адресу, и не имеет отношения к шифрованию или приватности. От неё зависит, сколько капчи вы увидите и пустят ли вас отдельные сайты; в таком случае смените регион.
Разве безопасный DNS не надёжнее? Зачем выключать его за роутером?
Безопасный DNS не даёт местной сети читать или подменять ваши запросы. Дома за роутером об этом уже заботится роутер, а устройство, которое само шифрует запросы, лишает роутер возможности направлять его трафик по доменам. Включите его снова, когда вы не дома и не за роутером.