DNS в Karing: как настроить и проверить

Руководство · karingmobile.top

Неудачно настроенный DNS — самая частая причина, по которой в Karing не грузятся сайты или не поднимается соединение с сервером, и разбираться с ней стоит раньше, чем менять протокол или переустанавливать приложение. Ниже — что такое DNS в принципе, чем отличаются блокировка и утечка запросов, как устроены настройки DNS в Karing по умолчанию и вручную, и как проверить итоговый результат тестами внутри самого приложения.

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-блокировку и фактически свести на нет весь смысл обхода ограничений, не говоря уже о риске для приватности.

Проверить утечку легко: подключитесь к VPN, откройте любой сервис проверки DNS (например, browserleaks.com) и посмотрите, какой DNS-сервер показан в результатах. Если это адрес вашего провайдера или сервер вашей же страны — утечка есть. Само по себе это не значит, что данные уже кому-то передали, но указывает на риск, который стоит закрыть настройкой DNS в самом Karing.

С чего начинается настройка DNS в Karing

Karing по умолчанию запускается в режиме «Новичок» и использует самый простой вариант DNS — его задача обеспечить минимальную работоспособность сразу после установки, а не максимальную защиту. Минус очевиден: такая схема не самая надёжная и не самая быстрая. Открыть настройки можно значком с двумя коробочками на главном экране или стрелкой рядом с пунктом DNS в меню настроек.

Настройки DNS в режиме «Новичок» в Karing
DNS

Local, DoH и минус упрощённой схемы

В упрощённом виде local означает серверы, о которых уже знает ваша система, — как правило, это нешифрованные udp-адреса от провайдера плюс встроенный в Android запрос к 8.8.8.8. Раз они не шифруются, провайдер видит, какие сайты вы посещаете, и может подменить ответ, но это касается только прямого потока — трафика, который идёт в обход прокси-сервера. Для трафика через прокси Karing по умолчанию использует шифрованный DoH — такие запросы перехватить и расшифровать нельзя.

Минус упрощённой схемы в другом — в ней нет резервирования: если единственный сервер станет недоступен или начнёт долго отвечать, лучше заранее указать сразу несколько. Чтобы получить доступ к расширенным настройкам DNS — а Karing даёт для этого достаточно мощные инструменты и базу примерно из 50 известных серверов, плюс возможность добавить свой, — нужно выключить режим «Новичок» в общем меню настроек.

Расширенные настройки DNS в Karing
Расширенные настройки DNS

Правила для DNS и технология ECS

Верхний блок расширенных настроек — как раз тот вариант, с которого стоит начинать: он гарантированно рабочий. Переключатель «Включить правила для DNS» разрешает направлять запросы по стратегии, которую вы настроите ниже; без него маршрутизация DNS вообще не работает, и все запросы идут одним и тем же путём, как в более простых программах.

Пункт ECS для прямого потока подстраивает выдачу DNS под ваше реальное местоположение по IP, чтобы подобрать ближайшие CDN-серверы и ускорить загрузку контента, — но включается это только для трафика, идущего напрямую, минуя прокси. Иногда эта технология, наоборот, мешает работе DNS в целом, и тогда стоит временно её выключить, чтобы локализовать проблему.

Прямой поток, Текущий сервер, FakeIP и Статический 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. Стрелка справа от строки открывает список рекомендуемых публичных серверов на несколько экранов; свой сервер тоже можно добавить через три точки и плюс в подменю.

Список DNS-серверов для тестирования в Karing
DNS-сервер

Что показывает тест серверов

Значок молнии наверху запускает тест: каждая строка результата показывает два числа — задержку самого «пинга» и время ответа на запрос, а красный треугольник означает, что сервер недоступен. Серым помечены серверы, которые в этой таблице выбрать нельзя.

Результат тестирования DNS-серверов в Karing
Результат тестирования DNS-серверов

Тестирование без активного 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 в Karing
Выбранные серверы

Готовая конфигурация, которую можно скопировать

Рабочий пример такой настройки: 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 в Karing
Тест утечек DNS

Диагностика сети после настройки

После завершения настройки DNS полезно ещё раз прогнать «Диагностику сети» — тест запускается значком в верхней строке главного экрана. Тестовый сервер можно оставить по умолчанию (google.com) или указать любой другой — имя вводится строчными буквами и без протокола впереди, включая национальные домены, а после теста оно запоминается.

Диагностика сети в Karing
Диагностика сети

Как читать результат теста и проверить DNS вручную

В успешном тесте все строки должны оказаться зелёными — красный цвет любой строки сразу подсказывает, на каком именно шаге что-то пошло не так, и туда стоит вернуться в первую очередь.

Проверить работу DNS можно и вручную: на Windows — командой nslookup google.com в командной строке, на Linux и macOS — командой dig google.com или тем же nslookup google.com в терминале.

В целом при настройке DNS в Karing стоит держаться нескольких правил: пользоваться шифрованным DoH или DoT там, где это возможно, выбирать провайдера с понятной политикой конфиденциальности, время от времени перепроверять утечки, направлять DNS через сам туннель там, где нужен обход ограничений, и, если хочется заодно резать рекламу, присмотреться к DNS с встроенной фильтрацией.

Популярные публичные DNS — что выбрать

Cloudflare (1.1.1.1 и 1.0.0.1, зашифрованные варианты — https://cloudflare-dns.com/dns-query и tls://1.1.1.1) — один из самых быстрых публичных сервисов с хорошей приватностью и без встроенной фильтрации контента.

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 в обычном режиме — уже с блокировкой рекламы, зашифрованные — https://dns.adguard.com/dns-query и tls://dns.adguard.com) заодно фильтрует рекламные и вредоносные домены прямо на уровне DNS.

OpenDNS (208.67.222.222 и 208.67.220.220, зашифрованный — https://doh.opendns.com/dns-query) даёт неплохую фильтрацию контента, но тоже собирает статистику по запросам.