Karing - что такое DNS и как с ним бороться
@Пупкин Вася правки @Гоша Котён-кин, @Sergey OSUТекущая редакция 17.04.2025 v 4.0.20 (для версий 1.1.2.600 и выше)
Karing – Quick Start (Часть l)
Karing - подробнее о настройках (Часть II)
Особенности Karing в Windows
Karing - маршрутизация и правила
Эти тексты распространяется под лицензией Creative Commons.
Неоптимальная настройка серверов DNS в программе – самая частая причина невозможности соединиться с VPN-серверами или какими-либо сайтами. Если у вас что-то не хочет грузиться – вам в первую очередь сюда.
Сначала немного теории для понимания.
DNS – это службы и международная иерархическая система серверов, позволяющая cопоставить (разрешить) по запросу доменное символьное имя, например google.com, с его текущим IP-адресом, например 108.177.14.138, который дальше и используется программами для доступа к сетевому ресурсу.
Нет разрешения имени – нет доступа.
Исходно, все запросы от клиентов к DNS-серверам отправлялись в нешифрованном виде. Это, к сожалению, использовалось на первых порах для цензуры запросов, а также слежки. Так что, если вы используете обычные нешифрованные UDP DNS-серверы, любезно предоставленные вам провайдером - провайдер по этим обращениям видит, к каким сайтам вы подключаетесь. Более того, часть запросов будет заблокирована уже на этом этапе.
К счастью, есть публичные (общедоступные) сервера DNS, поддерживающие шифрованные запросы по технологиям DoH, DoT и др. В этом случае информация о посещаемых вами сайтах становится недоступна провайдеру. Следовательно, блокировка запроса о разрешении имени невозможна. Используйте подобные серверы везде, где это возможно. В частности, на входном домашнем роутере и на телефонах (частный DNS-сервер).
Изначально, при запуске программы в режиме Новичок, используется простейший (неоптимальный) вариант настройки DNS, задача которого – обеспечение минимальной функциональности сразу, при включении. Минус режима Новичок – низкий уровень безопасности и надежности. Чтобы обратиться к настройкам DNS, можно нажать значок в виде двух коробочек на главном экране программы, или нажать стрелку у надписи DNS в меню настроек.
Выглядит это в режиме Новичок так:

Пояснения: local – это серверы, известные вашей системе. Как правило, это нешифрованные udp-серверы, предоставленные вашим провайдером автоматически. И встроенные в Андроид запросы к серверу 8.8.8.8.
В результате, поскольку запросы нешифрованы – провайдеру доступна информация о посещаемых вами сайтах. Также может быть подменен результат вашего обращения, например: этот сайт не обнаружен или заблокирован. При текущей настройке – это касается лишь прямого потока, то есть потока, идущего в обход прокси-сервера. А в случае прокси-сервера – это в данном случае пункт Трафик через Proxy – используется шифрованный по технологии DoH (DNS over HTTPS) публичный сервер. Эти обращения перехватить и расшифровать невозможно.
Минусом упрощённой настройки является отсутствие резервирования – DNS сервер может оказаться недоступен, или долго отвечать – поэтому желательно в настройках указывать несколько серверов. От надёжности и правильности настроек в этом месте сильно зависит работа программы в целом, и работа сервисов, использующих это соединение.
Karing снабжен достаточно мощными инструментами для настроек DNS в сложных ситуациях, а также базой из 50 известных серверов. Кроме того, можно добавить и собственный любимый сервер. Это важное отличие от большинства других программ, в которых такие настройки бедны, и нет средств тестирования серверов DNS.
Для получения доступа к расширенным настройкам DNS, отключите в главном меню настроек режим Новичок.

В верхней части скриншота вы видите один из возможных вариантов настройки. Советую начать с неё – это гарантированно рабочий вариант.
Включить правила для DNS – это значит, мы разрешаем направить запросы согласно выбранной вами ниже стратегии. Без этого переключателя маршрутизация DNS-запросов работать не будет, все запросы будут отправляться одним путем, как в более примитивных программах. Если простой вариант работает – хорошо, но так бывает далеко не всегда.
[Прямой поток] включить ECS – технология, исключающая “дрейф” DNS из-за использования запросов к нескольким серверам. При этом в запросе к DNS-серверам учитывается местоположение вашего устройства (по IP-адресу), что позволяет подобрать для вас наиболее близкие CDN-серверы, что увеличит скорость доставки контента. Технология включается только для Прямого потока, то есть для трафика, передаваемого напрямую, минуя прокси-сервер. Однако встречались случаи, когда включение этой технологии мешало работе системы DNS в целом. Временное выключение данной настройки может помочь локализации проблемы.
[Трафик через Proxy] Способ разрешения в DNS.
Karing предлагает три варианта, у каждого свои плюсы и минусы.
Прямой поток (Direct) – все запросы отправляются напрямую, минуя прокси-сервер. Это быстрее, но не всегда выбранные вами DNS-сервера окажутся доступны. В условиях различных блокировок и плохой связности сети – это плохой способ.
Текущий сервер (Current selected) – запросы к серверам DNS отправляются внутри вашего установленного соединения. Если вы используете шифрованные серверы, например, https://8.8.8.8/dns-query, то вы получите даже двухслойное шифрование. Технологию DoH пытаются блокировать. В частности, в Иране очень многие подобные серверы заблокированы. При правильном подборе серверов такой вариант очень устойчив.
Минусы – такой запрос несколько медленнее прямого запроса к udp DNS-серверу. На скорость соединения это не влияет, но может увеличить время первого открытия сайта. Кроме того, если у вас нет работающего VPN – соединения, то и разрешения имён не будет.
FakeIP – запрос идёт тоже через соединение с прокси-сервером, но прокси-сервер меняет в запросе к DNS-серверу ваш IP-адрес на свой. Этот режим иногда ускоряет “отзывчивость” запросов, и особенно рекомендуется для режима TUN (В телефонах Karing всегда работает только в режиме TUN).
Минусы – если у вас работает некая программа через VPN, и соединение с прокси разрывается, возможно, придется перезапустить эту программу для восстановления связи. Кроме того, не все доступные прокси-серверы полноценно поддерживают данную технологию – возможно, вам придётся подбирать нужный прокси-сервер (соединение, ключ).
Статический IP – это некоторый аналог файла hosts.
hosts – это текстовый файл на вашем компьютере или телефоне, который содержит информацию о некоторых именах хостов, сопоставленных IP-адресам. Для разрешения имен он используется в первую очередь, раньше любых DNS.
В этом разделе можно добавить статические DNS-записи. Скажем, вашего собственного сервера в Инете.
Заполняется запись здесь очень легко – в одной форме вы вводите имя и сохраняете. А открыв это имя, вводите его ip-адрес. Это имя будет разрешаться даже оффлайн и использоваться до любых обращений к DNS.
Тестовое доменное имя – используется для тестирования DNS-серверов. Можете его поменять, но зачем?
TTL – время жизни записи о разрешении адреса в кэше DNS. По умолчанию 12 часов. Смысла менять нет: при уменьшении времени DNS-запросы будут выполняться чаще, а при увеличении – возрастёт как объем кэшируемых данных, так и риск получения устаревшей (и неверной) записи.
При нажатии на выделенную стрелку вы увидите нижнюю часть скриншота. Это текущие настройки, которые мы и будем тестировать и менять.
Первая строка – DNS-сервер. Это сервер, с помощью которого определяются ip-адреса других DNS-серверов, которые также могут иметь символьное имя. В дальнейшей работе он не участвует. Поэтому для него допустимо значение local и нешифрованные udp. Нажмите стрелку вправо у первой строки. Раскроется список на несколько экранов с рекомендуемыми публичными DNS-серверами. Разумеется, при желании можно добавить и свой сервер – это три точки в углу и плюс в раскрывшемся подменю.

Запустим тестирование, нажав значок молнии вверху. Получим результат:

Каждая строка содержит результат проверки соответствующего сервера: первое число – длительность «пинга» сервера, второе – время его ответа на запрос. Красный треугольник означает, что тест неуспешен (сервер недоступен). Серверы с меньшими временами – лучше. Серым выделены серверы, выбор которых в этой таблице запрещён.
Поскольку в качестве способа разрешения запросов к DNS выше выбран FakeIP (или Текущий сервер) – то тесты будут работать только при рабочем и установленном соединении с VPN-сервером. Если у вас его пока нет, или оно нерабочее – вы во всех строках получите отказы, в виде восклицательного знака в треугольнике.
Тем не менее, проанализировать доступность серверов можно. Временно на странице автовыбор сервера (клик по левой половине серой полоски на Главном экране) смените авто или конкретный сервер на Напрямую (Direct), а на странице DNS - способ разрешения поставьте Напрямую. Выполните тест DNS.
После тестирования, не забудьте вернуть эти настройки обратно,и способ разрешения, и выбор на авто или на конкретный сервер!
Если у вас на компьютере DNS по непонятным причинам "не строится", что-то не открывается, а ключи при тестировании выдают отрицательный результат:
1. Может помочь отключение на компьютере ipv6.
2. Сброс кэша DNS - на компьютере с Windows выполните из консоли с административными правами
ipconfig /flushdns
На Mac из Терминала
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
DNS-сервер – выберите в таблице тестирования local и 2-3 udp-сервера, ориентируясь на меньшие значения времени. Затемненные серым строки выбрать нельзя.
Для каждой строки со Screen 3.2 можно выбрать не более 4 серверов (но уже и 2-х вполне достаточно). При назначении 4 сервера все остальные строки станут серыми.
В остальных строках, начиная с Прокси-сервер, тоже надо провести настройку. Здесь везде рекомендуется использовать только шифрованные серверы. Необходимо снять галочки с local и udp-серверов, а выбрать серверы, начинающиеся с https или tls. Это позволит использовать шифрованные запросы, недоступные вашему провайдеру для анализа. Настройки в остальных строках можно сделать такими же, как в пункте Прокси-сервер. Но можно использовать и другие DNS-серверы. В результате вы должны получить что-то вроде:

(в строках сетевых потоков виден только первый выбранный DNS-сервер).
Пример настройки – как это работает у меня:
DNS-сервер: local, Cloudflare DNS udp://1.0.0.1, Google DNS udp://8.8.4.4
Прокси-сервер: Cloudflare DNS https://1.0.0.1/dns-query, Google DNS https://8.8.8.8/dns-query, Ali DNS tls://223.6.6.6
Прямой поток: Cloudflare DNS https://1.0.0.1/dns-query, Google DNS https://8.8.8.8/dns-query, Ali DNS tls://223.6.6.6
Трафик через Proxy: : Cloudflare DNS https://1.0.0.1/dns-query, Google DNS https://8.8.8.8/dns-query, Ali DNS tls://223.6.6.6
Качество настройки в данном месте можно проверить с помощью встроенного теста утечек DNS, находящемся в главном меню. Утечек быть не должно. Утечкой будет считаться, если среди списка DNS-серверов на экране вы увидите DNS вашего провайдера, или сервера своей страны. Утечка не говорит о том, что ваши данные уже слиты, а только о такой вероятности. Но если результат теста неудовлетворителен – проверьте и устраните ошибки в своих настройках DNS.

Если вы запутались с настройками DNS и получили неработоспособную конфигурацию - используйте пункт Сбросить сервер. Это вернёт настройки к начальным. Можно также использовать пункт Автоматически настроить сервер, хотя самостоятельная настройка получается лучше.
По окончании настройки DNS, полезно выполнить тест Диагностика сети (Net Check). Тест запускается с главной страницы приложения, значок в верхней строке. Тестовый сервер в строке вы можете выбрать любой. По умолчанию там стоит google.com. Имя сервера надо набирать маленькими буквами, и без указания типа протокола впереди. После выполненного вами теста, имя вашего тестового сервера запомнится. Здесь понимаются и названия серверов на национальных языках. Пример успешного завершения теста:

Все строки должны быть зелеными, красных строк быть не должно. Если часть строк красная – по тесту можно понять, что пошло не так. Если красного нет – всё хорошо, можно пользоваться.
Если у вас остались вопросы, то рекомендации по DNS и их настройке в разных случаях можно почитать в Интернете.
Шаблоны для настройки
Эти файлы предназначены для быстрой настройки. А также для решения проблем со связью с серверами VPN или Proxy. Невозможность соединиться часто связана с неоптимальными настройками DNS, что можно решить импортом одного из этих файлов.
Если их импортировать из Karing как бекап, они перепишут ваши настройки DNS, правила и основные переключатели.
Если вы хотите импортировать, например, только DNS - выключите движок Правила. И наоборот.
Ваши профили эти файлы не заденут. Файлы полностью кроссплатформенны, и на чём у вас установлен Karing - неважно.
Отличаются файлы настройками правил. Настройки DNS в них одинаковы.
Karing_1.1.2.606_Black.backup.zip - настройки по правилам Черного списка. Все соединения по умолчанию идут напрямую, кроме того что должно идти через прокси.
Karing_1.1.2.606_White.backup.zip - настройки по правилам Белого списка. Все соединения по умолчанию идут через прокси, кроме того что должно идти напрямую.
Перед импортом на всякий случай сделайте бекап своей исходной конфигурации. После импорта и проверки работоспособности, можно при желании добавить и свои правила в программу.