DNS в Karing: настройка и проверка
Кривой DNS чаще всего объясняет «сайты не открываются» при живом Connect: имя резолвится не тем путём. Дальше — как устроен DNS в клиенте, как закрыть утечки и как проверить результат встроенным тестом.
DNS: почему без него VPN бесполезен
DNS — международная иерархия серверов имён, которая по запросу превращает привычное имя сайта, например google.com, в актуальный IP-адрес вроде 142.250.180.78 — и уже по этому адресу программа реально подключается к ресурсу. Без такого сопоставления доступа не будет, даже если сам сайт прекрасно работает: устройство просто не знает, куда именно стучаться.
Схема в двух словах: вы вводите адрес в браузере, устройство отправляет запрос DNS-серверу, сервер возвращает IP, браузер подключается уже к этому адресу, и только тогда страница начинает грузиться. Даже при подключённом и рабочем VPN сайт не откроется, если DNS-запрос по пути заблокировали или подменили — само по себе соединение с прокси здесь не поможет.
Раньше такие запросы уходили в открытом виде, и этим быстро начали пользоваться для цензуры и слежки: провайдер, который видит нешифрованный DNS-трафик, точно знает, к каким доменам вы обращаетесь, а часть запросов вообще блокируется прямо на этом шаге. Спасают публичные серверы с шифрованием — технологии DoH, DoT и похожие, — при которых провайдер физически не видит, какое имя вы разрешаете, а значит и заблокировать такой запрос не может. Использовать шифрованные серверы стоит везде, где это доступно, включая домашний роутер и телефон.
DNS-блокировка — как выглядит и по каким признакам её узнать
DNS-блокировка — один из самых частых способов цензуры: провайдер или регулятор перехватывает запрос к DNS-серверу и вместо реального адреса возвращает либо ошибку, либо IP заглушки. Работает это так: вы открываете заблокированный домен, запрос уходит к DNS провайдера, а обратно вместо настоящего адреса приходит подмена — в итоге сайт либо не грузится вовсе, либо открывает страницу-заглушку.
Заподозрить DNS-блокировку можно по нескольким признакам: конкретный сайт не открывается, а остальные при этом работают нормально; в браузере появляется ошибка вроде «Сервер не найден» или ERR_NAME_NOT_RESOLVED; иногда вместо сайта показывается отдельная страница с уведомлением о блокировке. Главный маркер — тот же сайт спокойно открывается через VPN, но не напрямую.
DNS-утечка — почему провайдер видит адреса даже при включённом VPN
DNS-утечка — принципиально другая ситуация: сами запросы уходят мимо туннеля VPN напрямую к провайдеру, даже если остальной трафик исправно идёт через сервер. Причина обычно в том, что DNS в клиенте настроен неправильно, а не в том, что сам VPN не работает. Последствия неприятные: провайдер видит список сайтов, которые вы посещаете, может применить к ним ту же DNS-блокировку и фактически свести на нет весь смысл обхода ограничений, не говоря уже о риске для приватности — на karingpath.top этот шаг читают вместе с разделом про маршрутизацию.
Проверить утечку просто: подключитесь к VPN, откройте любой сервис проверки DNS (например, browserleaks.com) и посмотрите, какой DNS-сервер показан в результатах. Если это адрес вашего провайдера или сервер вашей же страны — утечка есть. Само по себе это не значит, что данные уже кому-то передали, но указывает на риск, который стоит закрыть настройкой DNS в самом Karing.
С чего начинается настройка DNS в клиенте Karing
Karing из коробки запускается в режиме «Новичок» и использует самый простой вариант DNS — его задача обеспечить минимальную работоспособность сразу после установки, а не максимальную защиту. Минус очевиден: такая схема не самая надёжная и не самая быстрая. Открыть настройки можно значком с двумя коробочками на главном экране или стрелкой рядом с пунктом DNS в меню настроек.
Local, DoH и слабые места упрощённой схемы
В упрощённом режиме local означает серверы, о которых уже знает ваша система, — как правило, это нешифрованные udp-адреса от провайдера плюс встроенный в Android запрос к 8.8.8.8. Раз они не шифруются, провайдер видит, какие сайты вы посещаете, и может подменить ответ, но это касается только прямого потока — трафика, который идёт в обход прокси-сервера. Для трафика через прокси Karing по умолчанию использует шифрованный DoH — такие запросы перехватить и расшифровать нельзя.
Слабое место упрощённой схемы в другом — в ней нет резервирования: если единственный сервер станет недоступен или начнёт долго отвечать, лучше заранее указать сразу несколько. Чтобы получить доступ к расширенным настройкам DNS — а Karing даёт для этого достаточно мощные инструменты и базу примерно из 50 известных серверов, плюс возможность добавить свой, — нужно выключить режим «Новичок» в общем меню настроек.
DNS-правила и технология ECS
Верхний блок advanced-настроек — как раз тот вариант, с которого стоит начинать: он гарантированно рабочий. Переключатель «Включить правила для DNS» разрешает направлять запросы по стратегии, которую вы настроите ниже; без него маршрутизация DNS вообще не работает, и все запросы идут одним и тем же путём, как в более простых программах.
Опция ECS для прямого потока подстраивает выдачу DNS под ваше реальное местоположение по IP, чтобы подобрать ближайшие CDN-серверы и ускорить загрузку контента, — но включается это только для трафика, идущего напрямую, минуя прокси. Иногда эта технология, наоборот, мешает работе DNS в целом, и тогда стоит временно её выключить, чтобы локализовать проблему.
Прямой поток, текущий сервер, FakeIP и static IP
Для трафика через прокси Karing даёт три способа разрешения имён — у каждого свои плюсы и минусы. «Прямой поток» отправляет запросы напрямую, минуя сервер, — это быстрее, но в условиях блокировок такие серверы могут оказаться недоступны, так что способ не самый надёжный.
«Текущий сервер» шлёт запросы внутри уже установленного соединения с VPN — если использовать шифрованные адреса вроде https://8.8.8.8/dns-query, получится фактически двойное шифрование; минус в том, что такой запрос чуть медленнее прямого и вообще не сработает, если соединение с прокси не поднято. FakeIP тоже идёт через прокси, но сервер подменяет ваш реальный IP в запросе на свой — это ускоряет отклик и особенно рекомендуется для режима TUN, в котором Karing на телефонах и работает всегда; минус — если соединение с прокси обрывается, часть программ придётся перезапускать вручную, а некоторые серверы вообще не поддерживают этот режим полноценно.
Ещё вариант — «Статический IP», по сути аналог локального файла hosts: тот проверяется раньше любого DNS-запроса и позволяет один раз прописать нужное имя и его адрес — например, для собственного сервера в интернете. Заполняется запись очень просто — вводите имя, сохраняете, затем открываете и добавляете к нему IP; такое имя будет разрешаться даже офлайн. Есть ещё поле тестового домена для проверки серверов (менять его обычно незачем) и TTL — время жизни записи в кэше, по умолчанию 12 часов: уменьшать смысла нет, DNS-запросы будут выполняться чаще, а увеличивать — риск получить устаревшую запись растёт вместе с объёмом кэша.
Каким образом выбрать и протестировать конкретный DNS-сервер
Ниже в расширенных настройках — уже конкретные адреса, которые предстоит тестировать и менять. Первая строка задаёт DNS-сервер, с помощью которого Karing определяет IP-адреса других серверов, если у тех тоже есть символьное имя, — в дальнейшей работе он не участвует, поэтому для него допустим обычный local и нешифрованный udp. Стрелка справа от строки открывает список рекомендуемых публичных серверов на несколько экранов; свой сервер тоже можно добавить через три точки и плюс в подменю.
Что показывает: тест серверов
Значок молнии сверху запускает тест: каждая строка результата показывает два числа — задержку самого «пинга» и время ответа на запрос, а красный треугольник означает, что сервер недоступен. Серым помечены серверы, которые в этой таблице выбрать нельзя.
Тест без VPN и типичные способы починить DNS
Если способ разрешения выбран FakeIP или «Текущий сервер», тест будет корректно работать только при поднятом соединении с VPN — без него все строки покажут отказ. Проверить доступность серверов можно и без активного VPN: временно переключите автовыбор сервера на «Напрямую» на главном экране, а способ разрешения DNS — тоже на «Напрямую», и запустите тест. После проверки не забудьте вернуть обе настройки обратно.
Когда DNS почему-то «не строится» на компьютере, а тест выдаёт стабильно плохой результат, иногда помогает отключить IPv6 или сбросить локальный кэш DNS: в Windows — командой ipconfig /flushdns из консоли с правами администратора, на Mac — связкой sudo dscacheutil -flushcache и sudo killall -HUP mDNSResponder из терминала.
Пример рабочей: настройки серверов
Для строки DNS-сервер стоит выбрать local и ещё два-три udp-сервера с наименьшей задержкой — затемнённые серым варианты недоступны для выбора. На каждую строку допускается до четырёх серверов (хотя обычно достаточно двух), и как только вы назначите четвёртый, остальные варианты станут неактивными. В остальных строках, начиная с прокси-сервера, стоит снять галочки с local и udp и оставить только адреса на https или tls — это исключает возможность анализа запросов на стороне провайдера; настройки там можно сделать такими же, как в строке «Прокси-сервер», хотя вы вправе выбрать и другие серверы.
Готовая конфигурация,: которую можно скопировать
Рабочий пример конфигурации: DNS-сервер — local, Cloudflare udp://1.0.0.1 и Google udp://8.8.4.4; прокси-сервер, прямой поток и трафик через прокси — одинаковый набор из Cloudflare https://1.0.0.1/dns-query, Google https://8.8.8.8/dns-query и Ali DNS tls://223.6.6.6. В строках сетевых потоков на экране показывается только первый выбранный сервер из списка, но фактически используются все указанные.
Если DNS окончательно запутался, «Сбросить сервер» вернёт исходные значения. Есть и автонастройка, но ручной подбор чаще точнее.
Тест утечек DNS — как проверить итоговый результат
Итог настройки удобно проверять встроенным тестом утечек DNS из главного меню: утечкой считается ситуация, когда среди отображаемых серверов внезапно оказался DNS вашего провайдера или сервер вашей же страны — при аккуратной настройке этого быть не должно. Сама по себе утечка не означает, что данные уже слиты, но указывает на риск, который стоит закрыть, перепроверив настройки DNS.
Диагностика: сети после настройки
После завершения настройки DNS удобно ещё раз прогнать «Диагностику сети» — тест запускается значком в верхней строке главного экрана. Тестовый сервер можно оставить по умолчанию (google.com) или указать любой другой — имя вводится строчными буквами и без протокола впереди, включая национальные домены, а после теста оно запоминается.
Каким образом читать результат теста и проверить DNS вручную
В успешном тесте все строки должны оказаться зелёными — красный цвет любой строки сразу подсказывает, на каком именно шаге что-то пошло не так, и туда стоит вернуться сначала.
DNS проверяют и вручную: на Windows — nslookup google.com в cmd, на Linux и macOS — dig google.com или nslookup google.com в терминале.
При настройке DNS в Karing держитесь простого набора: DoH/DoT где можно, провайдер с понятной политикой, периодический тест утечек, DNS через туннель для обхода ограничений и при желании — DNS с фильтрацией рекламы.
Популярные: публичные DNS — что выбрать
Cloudflare (1.1.1.1 / 1.0.0.1, DoH/DoT — https://cloudflare-dns.com/dns-query и tls://1.1.1.1) — быстрый публичный DNS с хорошей приватностью и без встроенной фильтрации.
Google Public DNS (8.8.8.8 и 8.8.4.4, зашифрованные — https://dns.google/dns-query и tls://dns.google) отличается высокой надёжностью, но имейте в виду, что Google в целом активно собирает данные о своих сервисах.
AdGuard DNS (94.140.14.14 / 94.140.15.15, DoH/DoT — https://dns.adguard.com/dns-query и tls://dns.adguard.com) фильтрует рекламные и вредоносные домены уже на уровне DNS.
OpenDNS (208.67.222.222 / 208.67.220.220, DoH — https://doh.opendns.com/dns-query) фильтрует контент неплохо, но тоже собирает статистику DNS-запросов.