DNS в Karing: как настроить и проверить
Неудачно настроенный 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 в меню настроек.
Local, DoH и минус упрощённой схемы
В упрощённом виде local означает серверы, о которых уже знает ваша система, — как правило, это нешифрованные udp-адреса от провайдера плюс встроенный в Android запрос к 8.8.8.8. Раз они не шифруются, провайдер видит, какие сайты вы посещаете, и может подменить ответ, но это касается только прямого потока — трафика, который идёт в обход прокси-сервера. Для трафика через прокси Karing по умолчанию использует шифрованный DoH — такие запросы перехватить и расшифровать нельзя.
Минус упрощённой схемы в другом — в ней нет резервирования: если единственный сервер станет недоступен или начнёт долго отвечать, лучше заранее указать сразу несколько. Чтобы получить доступ к расширенным настройкам DNS — а Karing даёт для этого достаточно мощные инструменты и базу примерно из 50 известных серверов, плюс возможность добавить свой, — нужно выключить режим «Новичок» в общем меню настроек.
Правила для 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. Стрелка справа от строки открывает список рекомендуемых публичных серверов на несколько экранов; свой сервер тоже можно добавить через три точки и плюс в подменю.
Что показывает тест серверов
Значок молнии наверху запускает тест: каждая строка результата показывает два числа — задержку самого «пинга» и время ответа на запрос, а красный треугольник означает, что сервер недоступен. Серым помечены серверы, которые в этой таблице выбрать нельзя.
Тестирование без активного 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 полезно ещё раз прогнать «Диагностику сети» — тест запускается значком в верхней строке главного экрана. Тестовый сервер можно оставить по умолчанию (google.com) или указать любой другой — имя вводится строчными буквами и без протокола впереди, включая национальные домены, а после теста оно запоминается.
Как читать результат теста и проверить 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) даёт неплохую фильтрацию контента, но тоже собирает статистику по запросам.