Karing - что такое DNS и как с ним бороться

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 в меню настроек.

Выглядит это в режиме Новичок так:


Screen 3.1

Пояснения: local – это серверы, известные вашей системе. Как правило, это нешифрованные udp-серверы, предоставленные вашим провайдером автоматически. И встроенные в Андроид запросы к серверу 8.8.8.8.

В результате, поскольку запросы нешифрованы – провайдеру доступна информация о посещаемых вами сайтах. Также может быть подменен результат вашего обращения, например: этот сайт не обнаружен или заблокирован. При текущей настройке – это касается лишь прямого потока, то есть потока, идущего в обход прокси-сервера. А в случае прокси-сервера – это в данном случае пункт Трафик через Proxy – используется шифрованный по технологии DoH (DNS over HTTPS) публичный сервер. Эти обращения перехватить и расшифровать невозможно.

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

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

Для получения доступа к расширенным настройкам DNS, отключите в главном меню настроек режим Новичок.


Screen 3.2

В верхней части скриншота вы видите один из возможных вариантов настройки. Советую начать с неё – это гарантированно рабочий вариант.

Включить правила для 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-серверами. Разумеется, при желании можно добавить и свой сервер – это три точки в углу и плюс в раскрывшемся подменю.


Screen 3.3

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


Screen 3.4

Каждая строка содержит результат проверки соответствующего сервера: первое число – длительность «пинга» сервера, второе – время его ответа на запрос. Красный треугольник означает, что тест неуспешен (сервер недоступен). Серверы с меньшими временами – лучше. Серым выделены серверы, выбор которых в этой таблице запрещён.

Поскольку в качестве способа разрешения запросов к 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-серверы. В результате вы должны получить что-то вроде:


Screen 3.5

(в строках сетевых потоков виден только первый выбранный 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.


Screen 3.6

Если вы запутались с настройками DNS и получили неработоспособную конфигурацию - используйте пункт Сбросить сервер. Это вернёт настройки к начальным. Можно также использовать пункт Автоматически настроить сервер, хотя самостоятельная настройка получается лучше.


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


Screen 3.7

Все строки должны быть зелеными, красных строк быть не должно. Если часть строк красная – по тесту можно понять, что пошло не так. Если красного нет – всё хорошо, можно пользоваться.


Если у вас остались вопросы, то рекомендации по 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 - настройки по правилам Белого списка. Все соединения по умолчанию идут через прокси, кроме того что должно идти напрямую.

Перед импортом на всякий случай сделайте бекап своей исходной конфигурации. После импорта и проверки работоспособности, можно при желании добавить и свои правила в программу.


(В меню выбора клиентов) (в Quick Start)

Report Page