6.5 KiB
Пользовательская маршрутизация
Пользовательская маршрутизация — это ручная золотая середина между готовыми режимами маршрутизации и конфигом Пользовательский JSON, написанным руками. Вы сами собираете узлы маршрутизации (откуда может выходить трафик) и правила маршрутизации (какой трафик куда идёт) в интерфейсе LuCI, не написав ни строчки JSON.
Включается в Настройки клиента → Настройки маршрутизации → Режим маршрутизации → Пользовательская маршрутизация. Появляются две вкладки: Правила узлов и Расширенные правила.
Переключать на пользовательскую маршрутизацию весь роутер необязательно: в режиме Россия (Обход Блокировок) галочка Расширенные правила 👨💻 открывает те же две вкладки, чтобы добавлять свои правила поверх RU-пресетов. См. Маршрутизация и контроль доступа.
Правила узлов
Узел маршрутизации — это именованный outbound, на который могут указывать правила. Каждый может быть:
- конкретным узлом или URLTest (авто-выбор самого быстрого из пула),
- цепочкой — через поле outbound направить трафик этого узла через другой узел маршрутизации,
- со своим Резолвером доменов (включая серверы Россия 🔓 / Защищённый 🔒 в режиме РФ) и Стратегией доменов (только IPv4, предпочитать IPv6 и т. п.).
Именно это позволяет делать вещи вроде «это правило → узел A, но домены резолвить защищённым DNS» или строить многошаговую цепочку.
Расширенные правила
Каждое правило маршрутизации сопоставляет какой-то трафик и отправляет его на узел маршрутизации (или Напрямую). Поля сопоставления в редакторе сгруппированы по вкладкам:
| Вкладка | Сопоставление по |
|---|---|
| Прочие поля | Протокол (по сниффингу — BitTorrent, DNS, QUIC, TLS, HTTP, STUN, SSH, RDP, DTLS…), Версия IP, сеть, rule-set-ы |
| Поля хоста/IP | domain / domain_suffix / domain_keyword / domain_regex, IP CIDR назначения и источника |
| Поля портов | порт и диапазоны портов назначения / источника |
| Поля процесса | имя / путь процесса (для трафика, исходящего с самого роутера) |
Поле Режим показывает логику сопоставления — внутри категории записи объединяются по ИЛИ, а категории — по И:
(domain || domain_suffix || domain_keyword || domain_regex || ip_cidr || ip_is_private) &&
(port || port_range) &&
(source_ip_cidr || source_ip_is_private) &&
(source_port || source_port_range) &&
(прочие поля)
Правила проверяются сверху вниз (список сортируемый), срабатывает первое совпавшее. Поля один-в-один соответствуют route-правилу sing-box — что именно принимает каждое поле, см. в официальном справочнике:
- Route — как устроена маршрутизация
- Route Rule — все поля сопоставления
- Sniff — сопоставление по Протоколу требует включённого сниффинга (он включён по умолчанию)
Сопоставление по протоколу требует сниффинга. Матч по
quic,tls,bittorrentи т. п. опирается на анализ первых пакетов на inbound-е — Re:HomeProxy включает это на своих inbound-ах, так что работает из коробки.
Пользовательская маршрутизация vs Пользовательский JSON
| Пользовательская маршрутизация | Пользовательский JSON | |
|---|---|---|
| Как | Интерфейс: Правила узлов + Расширенные правила | «Сырой» JSON sing-box / hiddify-core |
| Для чего | Правила по приложению/сайту/IP без написания JSON | Полный контроль, поля, которых нет в интерфейсе |
| Проверка | С подсказками интерфейса | JSON нужно валидировать самому |
Начинайте с пользовательской маршрутизации; переходите на Пользовательский JSON, только когда нужно что-то, что редактор правил выразить не может.
См. также: Маршрутизация и контроль доступа · Пользовательский JSON конфиг · Поддерживаемые протоколы · DNS и диагностика