Karing - маршрутизация и правила

Karing - маршрутизация и правила

Пупкин Вася

Текущая редакция 05.03.2026 v 4.1.21 (для версий 1.2.3.841 и выше)

Первая публикация v 2.0.15 (для версий 1.0.28 и ниже) @Пупкин Вася, @renixa_tg 06.06.2024 Instuction in English
Вторая публикация 3.0.17 Часть I , Часть II. (для версий 1.0.30 и ниже) @Пупкин Вася 27.09.2024
Третья публикация 4.0.20  (для версий от 1.1.2.600 до 1.2.2.840) @Пупкин Вася, @Гоша Котён-кин. 23.04.2025

Karing - Quick Start (Часть l)

Karing - подробнее о настройках (Часть II)

Karing - резервное копирование и синхронизация (Часть lll)

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

Karing - особенности в Windows

Karing на MacOS (Under construction)

Эти тексты распространяется под лицензией Creative Commons.


Навигация в документе

Общие замечания

Правила перенаправления (маршрутизации)

Правила (выделение трафика)

Тест правил перенаправления

Пользовательские группы и фронт/цепной прокси

Чёрный список

Готовые конфигурационные файлы (см. ReadMe.txt в директории с этими файлами)

Общие замечания

Правила перенаправления (отклонения, маршрутизации) в Karing (Diversion rules) мощный и гибкий инструмент управления трафиком. Если вы можете по каким-то критериям – например, по месту назначения, или по приложению, или как-то ещё выделить какую-то часть трафика, то в дальнейшем вы можете выбрать – что делать с этой частью трафика дальше. Вы можете очень тонко настроить для себя - что блокировать (например, часть рекламы), что направить напрямую, а что направить и через какой конкретно прокси (соединение). Именно так, как вы хотите.

Тема правил большая, сложная и очень важная. В том или ином виде маршрутизация и правила встречаются практически во всех программах-клиентах VPN. Как правило, это текстовый файл, написанный в внутрипрограммном синтаксисе. Достоинство Karing – в нём есть графический интерфейс для создания и управления правилами, что сильно упрощает понимание и применение этого механизма.

Для вашего удобства, в программу включены шаблоны часто используемых правил, и вы с этими шаблонами встречались при начальной настройке программы.

Вам не нужно набирать или выяснять все относящиеся к делу адреса, а можно использовать специальные имена, каждое из которых соответствует списку с многими именами сайтов. Это стало возможным благодаря созданию динамических списков имён и адресов, предоставляемых domain-list-community. В Karing используются созданные из файлов в формате *.srs сборники geoip , geosite и ACL, которые могут автоматически обновляться онлайн. Когда при начальной настройке Karing вы выбираете страну - то вы и включаете определения (правила) перенаправления для зоны ru. Это правила geoip:ru -> direct, geosite:ru -> direct. Также в личных правилах надо обязательно добавить правило GFW.
Не надо думать, что это просто все имена, заканчивающиеся на
.ru - всё значительно хитрее. При включении этих определений, все включенные в список сайты (домены) зоны .ru, или российские IP-адреса из списка, идут напрямую, что ускоряет работу, а часть запрещенных, благодаря правилу GFW (Grand FireWall), и все зарубежные - через прокси, что обеспечивает их доступность. Как минимальной настройки - этого достаточно. Однако её можно бесконечно улучшать и усовершенствовать, создавая личные правила - как на основе предоставляемых программой списков имён, так и на основе имен сайтов. Например - имя amazon в списках geosite и ACL позволяет выделить правилом все имена, используемые Амазоном. Вы можете решить для себя - как с ними поступить. Например, пустить напрямую, или заблокировать. Есть такие списки имен и для рекламных сервисов, что позволяет блокировать рекламу. Можно добавить на основе встроенных шаблонов или написать свои правила, например, чтобы через определенный прокси шли все обращения к известным нейросетям, и так далее. В программе есть три обновляющихся сборника списков (имён) для построения правил – GeoIP, GeoSite и ACL.
Вообще, правила нужны, чтобы разделить запросы и трафик по каким-либо критериям, и эти части обработать по-разному.

Важно: есть два противоположных подхода для настройки правил перенаправления – Белый список и Чёрный список. По умолчанию, Karing работает в режиме Белого списка.

Белый список – разрешённый в регионе и выделенный правилами трафик, например обращение к конкретному сайту, пересылается напрямую (direct), а всё остальное (по умолчанию) идёт через прокси. Нет никакого смысла пропускать разрешенное через VPN, тем более что часть российских сайтов не отвечают на запросы из-за рубежа.

Чёрный список – наоборот. Выделяется только то, что заблокировано в регионе, и направляется через VPN . Выделенный правилами трафик идёт через прокси, а всё остальное напрямую. Никакого отдельного переключения режимов нет, всё определяется расстановкой назначений для отдельных правил. Применение Черного списка рассмотрим в конце главы.

Прежде чем создавать и настраивать правила – надо определиться, по какой стратегии вы работаете. Далее настройка правил рассматривается в режиме Белого списка, как их по умолчанию настраивает Karing. Настройка Черного списка требует более глубокого понимания системы правил и некоторого опыта.

Правила перенаправления (маршрутизации)

(к началу)

Рассмотрим сначала Правила перенаправления – это не правила выделения трафика, а действия - что с выделенным трафиком делать и в каком порядке. Доступ к этому экрану – Меню настройки, Правила, Правила перенаправления. Также доступны виджет Правила и виджет Правила перенаправления. Здесь мы видим, а также настраиваем маршрутизацию (перенаправление) всех созданных нами личных правил, а также правил системы:

Screen 4.1 (1.15)

Правила работают сверху вниз, поэтому порядок расстановки правил имеет решающее значение. Трафик сравнивается сверху вниз поочередно со всеми правилами. Если его часть соответствует какому-либо правилу, выполняется действие, указанное справа – например, пропустить в обход остальных правил – Напрямую (Direct). Это иногда называется шунтированием. Или передать на прокси-сервер – Текущий сервер (Current Selection). Если назначение не указано – правило не работает. Если элемент трафика соответствует нескольким правилам – то сработает только верхнее. Можно направлять отдельные правила не на общий выходной прокси-сервер, а на выбранный вами конкретный, например нужной страны. Это всё может работать параллельно, то есть вы можете использовать одновременно несколько соединений с прокси-серверами по нескольким правилам.

Screen 4.2 (8 2.2)

Сначала срабатывает правило Проксируемые приложения, если у вас Андроид, и вы настроили список проксируемых приложений. Настройка делается со странички TUN – список Проксируемые приложения. (Каринг — подробнее о настройках, Второй экран настроек, TUN)

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

Контринтуитивный момент — если вы включили переключатели для Белого списка, но ничего не выбрали — это эквивалентно «выбрать всё» - так сделано специально, для новичков, которые ещё в программе не освоились.

Для работы должен быть включен переключатель Включить и Режим белого списка (Можно использовать и черный список приложений, отключив переключатель Режим белого списка, хотя этот режим менее удобен).

Screen 4.3 (2.20)
Порядок и само количество установленных правил важны с точки зрения экономии процессорного времени и памяти. Выше должны располагаться правила с относительно простыми условиями, которые уменьшают количество обрабатываемого далее трафика. А ниже — более сложные и ресурсоёмкие правила.
Поэтому правила желательно располагать в следующем порядке:

Блокирующие правила
– этот трафик блокируется и дальше не обрабатывается.
Прямое подключение
– иногда его называют шунт – этот трафик сразу пробрасывается “насквозь” и дальше не обрабатывается.
Правила пересылки.

Последним должно идти правило GFW (Greate Firewall). Его задача – переадресация на прокси заблокированных ресурсов. Оно построено на основе ряда онлайн списков, регулярно обновляющихся, с блокированными сайтами и адресами. Это относительно громоздкое и ресурсоёмкое правило – и хорошо, что часть трафика мы уже выделили и перенаправили выше. Если трафик соответствует этому правилу – он немедленно перенаправляется через прокси-сервер.

После прохождения всех личных правил, обрабатываются системные правила – GeoSite, GeoIP и ACL. Их задача – выделить трафик на российские ресурсы и пустить его напрямую, и пропустить через себя без перенаправления всё остальное.

Эти правила впрямую не редактируются, даже их назначение.

(В разделе про режим Черного списка описан способ отключения этих системных групп правил).

И наконец, встроенное правило final – куда должны пойти все соединения, не совпавшие с условиями ни одного из правил (“рыба, прошедшая все сети”). По умолчанию – это значение Текущий сервер (Current Selection), что и определяет режим Белого списка.

Благодаря этой системе правил, обычно нам не нужно добавлять личные правила для конкретных ресурсов – например, youtube – поскольку оно и так будет обработано и переадресовано правилами GFW или final.

(Назначение правила final можно изменить на Напрямую (Direct) – это режим Черного списка. Но включение этого режима изменит логику работы всей системы правил перенаправления, и её нужно будет перестраивать).

Вот так настраивается назначение (действие) каждого правила:

Screen 4.4

В целом, число правил лучше минимизировать. Однако, очередность правил и сами правила настраиваются не здесь.

Правила (выделение трафика)

(к началу)

Screen 4.5

Сначала — общие правила. Открываем из меню настроек Правила. В верхней части скриншота мы видим это промежуточное меню. Вверху выбор региона. Вы его выбрали при первоначальной настройке. Здесь его можно поменять, и правильно выставить регион надо до настройки правил – поскольку даже шаблоны правил зависят от страны. По сути, регион это выбор правил geoip:ru, geosite:ru и шаблона правила GFW.

Если вы меняете регион — надо удалить правило GFW и создать его заново, если оно будет в шаблонах. Во многих регионах (со свободным Интернетом) его нет.

Затем идет подменю Rule Set – это возможность включить, отключить или загружать с удаленного ресурса три распространяемых и обновляющихся сборника списков имён и адресов для маршрутизации – Geoip, Geosite и ACL. Автоматически прикреплять основные правила – это добавить и включить правила geosite, geoip c встроенными в программу значениями и перенаправлением. Когда у вас всё хорошо заработало — можно включить Использовать удаленные ресурсы. Тогда вы, при любых изменениях на серверах Karing, будете иметь самую свежую версию этих правил.

Также здесь включается безусловный Прямой доступ к закачке с некоторых ресурсов. Список этих ресурсов программа определяет сама.

Фронт-прокси, пользовательские группы автовыбора, тест правил перенаправления будет описаны ниже.

На экране Правила перенаправления (Diversion Rules) (Screen 4.1 (1.15) нажмем карандашик в левом верхнем углу, и попадем в сборник Личные правила. Это ваши правила выделения трафика.

Screen 4.6

Это полностью ваш сборник. Здесь можно удалять и создавать правила, как полностью вручную, так и на основе шаблонов. Можно сортировать их перетаскиванием. Нажмите на нужное правило на пару секунд, пока оно не выделится — и перетащите. Три точки справа вверху откроют подменю, а стрелка напротив правила позволяет его просмотреть или отредактировать. Красный кружок — удаление правила.

Просто плюс в подменю позволяет добавить единичное правило, а плюс с полосками откроет вам Шаблоны личных правил, которые вы видели при первом запуске программы. (Karing – Quick Start)

Шаблоны вам помогут использовать чужие наработки. Если вы выберете в шаблонах какое-то отсутствующее у вас правило и подтвердите выбор галочкой вверху справа, то правило добавится вам в сборник Личные правила. И вы сможете его посмотреть, отредактировать и передвинуть на нужное место, а при возвращении в Правила перенаправления выбрать для него нужное действие (перенаправление). Если шаблоны вам понадобятся повторно - выделите только то правило, которое хотите добавить. Иначе вам добавятся лишние дубликаты существующих у вас правил.

Теперь посмотрим на примерах, что у этих правил внутри. Нажимаем стрелочку напротив правила, и смотрим. Несколько примеров ниже

Screen 4.7

Эти правила созданы на основе шаблонов и доработаны вручную. С использованием встроенных наборов списков geoip, geosite, ACL и имен пакетов из системы. Использование встроенных наборов списков позволяет сделать правила компактными, и избавляет от необходимости знать все сетевые ресурсы, необходимые, например, для работы Youtube – потому что одно имя списка geosite:youtube может соответствовать сотням конкретных ip-адресов и доменов. Смысл добавки имен пакетов — такой же, ка выбор Проксируемых приложений, это просто два входа к одной настройке. При нажатии стрелочки напротив Имен пакетов — вы попадаете в список, полностью аналогичный выбору Проксируемых приложений. Используемые geosite, geoip, ACL - вы не пишете от руки, потому что заранее неизвестно — есть такой лист или нет. Нажимаете стрелку у поля Rule-set (built-in), и используете в открывшейся таблице Поиск.

Ещё примеры:

Screen 4.8

Эти правила были созданы или модифицированы вручную.

В первое добавлен еще один лист – geoip:re-filter@ru, исправляющий некоторые ошибки верхних списков — возвращая адреса, ошибочно удаленные из верхних листов.

Второе - объединением нескольких правил из Шаблонов. Поскольку в Правилах действует объединение OR (или) — так можно. Любой запрос, удовлетворяющий одному из условий, будет обработан по этому правилу.

Третье правило использует объединение AND (и) — приведенные условия должны выполняться одновременно. Данное правило позволяет выделить трафик только протокола UDP, направленный на диапазон портов от 50000 до 50200, что соответствует правилам аудиотрафика в Discord.

Screen 4.9

Личное правило блокировки, созданное на основе имен доменов, доменных суффиксов и ключевых слов. (Я у себя это правило постепенно пополняю). Применение суффиксов вместо имени домена позволяет выделить не только конкретный домен, но и его поддомены. Обратите внимание – если вы указываете доменный суффикс, то он должен обязательно начинаться с точки. Тогда под критерий попадут все сайты, например типа www.[суффикс] или например www.mail.[суффикс]. А если точки не будет – запись будет истолкована как точное совпадение, только данный домен (адрес), и поддомены рассматриваться не будут. Впрочем, при заполнении полей вы увидите подсказки.

Karing как бесплатный блокировщик рекламы.

В шаблонах есть три правила – Adblock, Adblock Plus и Malware c выходным значением Блокировать, которые стоит добавить в список Личных правил. Это блокировщики рекламных добавлений и вредоносного ПО.

Беда в том, что наборы списков geosite и ACL, использованные во встроенных шаблонах правил, в основном заточены на китайский сегмент Интернета, и у нас недостаточно эффективны. Поэтому требуются дополнительные правила.

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

Видно, что возможны разные способы выделения целевого трафика. Поскольку правила объединены функцией ИЛИ – то внутри правила достаточно соответствия хотя бы одному из приведенных условий. Это также позволяет сделать правила более компактными.

Вы можете настроить с помощью правил обращение к разным нужным вам сервисам через различные сервера доступа.

Это позволяет организовать параллельную работу через несколько подключений одновременно, например Youtube через одну группу серверов, а нейросети через другой конкретный сервер. Единственно чего не хватает – так это балансировки нагрузки, но она, к сожалению, отсутствует на уровне ядра sing-box.

Теперь создадим правило вручную. Нажмем плюс, и дадим имя создаваемому правилу. Имя правила в дальнейшем можно изменить, дважды тапнув по его названию в окне Личные правила.

Screen 4.10

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

Screen 4.11

Если справа от поля параметра есть стрелочка – значит, по ней есть список с выбором или с поиском по имени. При создании правила, лучше начать с поиска во встроенных наборах Rule Set (built-in) – может, уже есть полезные вам имена (списки) в сборниках geosite, geoip или ACL:

Screen 4.12

Даже если вы не нашли подходящих записей в предустановленных списках, можно воспользоваться различными другими предлагаемыми способами выделения трафика – от списка доменных суффиксов до списка ip-адресов и типа сетей — например, мобильная или кабельная.

Когда вы создадите необходимое вам правило, вы снова вернетесь в окно Личных правил. Там необходимо поставить правило на нужное место по порядку. (Для отладки — полезно поставить невое правило сверху, чтобы не мешало взаимодействие с другими правилами). Затем в окне Правил перенаправления вновь созданному правилу нужно указать соответствующее действие. Если вы действие не укажете – правило работать не будет.

После настройки перенаправления для вновь созданного правила, необходимо проверить – всё ли работает так, как вы запланировали. Для этого со страницы Правила запускаете Тест правил перенаправления. Введя в окошке тестовый адрес и нажав Тест, вы увидите – куда реально перенаправится ваш запрос и по какому правилу.

Тест правил перенаправления

(к началу)

Screen 4.13

Этот пример – срабатывание правила geosite:ru -> напрямую. Ниже результатов теста виден лог автозагрузки встроенных листов (списков адресов) в формате .srs – если вы в Общих правилах разрешили использование удаленных ресурсов. На следующих скринах этот лог будет опущен.

Screen 4.14

Верхний пример – самостоятельно созданное правило для сайта по его имени. Поскольку адрес находится в списке имён ru, без этого нового правила трафик шёл напрямую. Создание такого правила позволяет вам направлять запрос к 2ip.ru как вам нужно — переключая в Правилах перенаправления назначение правила между Напрямую и Текущий сервер.

Второй пример – поскольку соответствие какому-либо правилу не обнаружено, то работает последнее правило final -> Текущий сервер. Здесь показано использование неанглийских символов. Программа их преобразует в необходимый код (желтая строка), и тест выполняется для этого преобразованного кода. Код в данном случае такой — xn----8sbecmnepftxqlq8k.xn--80adxhks Вы можете получить его значение, например, на https://www.reg.ru/web-tools/punycode перекодировкой русского имени, и затем использовать для создания правила по имени домена или по его суффиксу.

Screen 4.15

Ещё примеры. Первый и второй скрины - это пример отладки правил с помощью теста. На первом скрине трафик идет напрямую, а должен идти через прокси. Оказалось, что для правила GFW было указано неправильное направление — Напрямую. Направление было изменено на Текущий сервер, и второй скрин показывает, что всё заработало правильно.

Третий пример – правило на основе шаблона Youtube -> Пользовательский автоматический выбор ->Test2, в которую включено несколько серверов Германии из разных профилей. Правило выбрало из них сервер по лучшему времени тестирования в этой группе.

Пользовательские группы и фронт/цепной прокси

(к началу)

Пользовательский автоматический выбор. Это возможность создавать виртуальные группы прокси-серверов, объединенных по какому-либо признаку, например по стране. Причем, серверы могут принадлежать разным профилям, и даже разным подпискам. В дальнейшем, такую группу можно использовать как назначение перенаправления для какого-либо правила. Допустим, я хочу создать такую виртуальную группу для серверов в США.

Screen 4.16

Создаем новую группу, нажав плюс. «Примечание» – здесь надо дать название новой виртуальной группы, например USA. Когда группа создана – добавляем в нее нужные серверы. Их можно выбрать напрямую, а можно, если серверов много – воспользоваться поиском с помощью поля поиска в названиях серверов. Например – US. Сами серверы с исходного профиля после их выбора никуда не деваются – по сути, здесь создаются только ссылки на сервер в профиле.
Такая виртуальная группа даст возможность перенаправить ваше правило не на один сервер, а на несколько (группу) – причем выбранных из разных профилей. Внутри такой виртуальной группы будет действовать автовыбор сервера по лучшему времени теста. Групп можно создать несколько.

Фронтальный/цепной прокси. Эта настройка позволяет определить, через какое конкретно промежуточное соединение вы связываетесь с прокси-серверами. Если здесь добавить в список сервер – это режим фронт-сервера – то соединение пойдёт сначала на фронт-сервер, а через него к выходному серверу, который вы назначили в правиле перенаправления. Добавление фронт-прокси делается выбором из серверов, известных системе, нажатием плюса. Для упрощения поиска сервера – можно использовать поле поиска:

Screen 4.17

Это может пригодиться при жестких блокировках – допустим, у вас есть доступ к быстрому серверу страны А, но нет доступа к серверу страны Б. Но с самого сервера А есть доступ к Б. Тогда вы назначаете сервер А фронт-сервером, а выходным сервером используете сервер Б. И получаете доступ к ресурсам страны Б.

Можно промежуточные сервера объединить в цепочку – цепной прокси. Тогда вам надо в меню Фронтальный/цепной сервер добавить несколько серверов, и ваш запрос пойдёт по цепочке, сверху вниз – сервер А, сервер Б и т.д. и выйдет “наружу” через последний сервер, выбранный в правилах перенаправления.

Конечно, есть подводные камни. Доступ к различным узлам (серверам) может измениться после назначения фронт-прокси – не забудьте это перетестировать в Профилях. Для построения всей конструкции может потребоваться как подбор узлов, так и подбор протоколов этих узлов. Так что это не «ежедневная» технология, а скорее технология «последнего шанса» – либо вам нужно добраться туда, куда иначе вы попасть не можете, либо вас не устраивает обычный уровень скрытности.

Ещё одна сложность – выбор фронт-прокси действует сразу на все ключи в программе. При этом часть ранее доступных серверов могут оказаться недоступными. Так что, при подключении фронт-прокси надо, как минимум, перетестировать на странице Профили (значок молнии) те сервера, которые вы собираетесь использовать.

Чёрный список

(к началу)

Существует другой способ распределения и фильтрации трафика — Черный список. Он по умолчанию направляет трафик напрямую (Direct), и только выделенный правилами трафик направляется на прокси. Смысл такой настройки — минимизировать использование прокси, чтобы сделать его применение максимально незаметным, ускорить вашу работу, за счет снижения ненужного трафика через VPN, и снизить вероятность блокировки вашего доступа к серверам VPN у провайдеров.

Это делается так — переключаем правило final -> Напрямую. Системные правила geosite и geoip можно отключить — они в этом режиме бессмысленны, поскольку их выходом является Напрямую. Отключаем их в Правила - Rule Set – сняв галочки Автоматически прикреплять основные правила. Тогда в правилах перенаправления они тоже пропадут. Также вам будут не нужны правила шунтирования — всё и так по умолчанию идёт напрямую. У вас остается Проксирование приложений, правила блокировки, GFW.

Вам потребуется набор личных правил, направляющих трафик нужных вам приложений или направлений на Текущий сервер (Current Selected) или на отдельный прокси. Большую часть работы возьмет на себя GFW (он перенаправит на прокси заблокированные в России и для России ресурсы ). Например, youtube, facebook, tiktock выделяются и перенаправляются на прокси автоматически. Добавлять правила придётся для всех тех зарубежных ресурсов, которые работают не так, как вы хотите. Например, вам нужно направить трафик youtube на определенный сервер или группу, не так, как это делает набор правил. Тогда вы создаете правило, можно на основе шаблона, располагаете выше правила GFW, и указываете нужное перенаправление трафика. Следовательно, вам надо научиться быстро диагностировать проблемы с доступом, и оперативно корректировать ваш набор правил.

Пример настройки правил по Черному списку:

Screen 4.18 (8 2.16)

Выделены те элементы, которые собственно и определяют Черный список. Все личные правила для нужных вам назначений или приложений перенаправляются на прокси-сервер. Ненужные здесь системные правила geoip и geosite отключены, а правило final направлено напрямую.
Отличие от Белого списка — системные правила и правило final направляют по умолчанию запросы к зарубежным и российским ресурсам напрямую. Через прокси-сервер идёт только специально отфильтрованное и перенаправленное Личными правилами.

(к началу)

Report Page