Список изменений
Что изменилось в каждой версии keen-pbr и что делать при обновлении.
3.4.0
Что нового
-
Обзор.
Страница «Обзор системы» стала компактнее: вверху состояние сервиса, ниже таблица outbounds, список проблем, перехват DNS, DNS-правила и счётчики. Проверка маршрута открывается в отдельном окне. В строке состояния есть ссылка «Что нового?», она открывает эту страницу.
До
После
До
После
Обзор системы -
Диагностика.
Все проблемы собраны в одном списке: проверки ядра, маршрутизации, outbounds и DNS-серверов. В шапке сразу видно, всё ли в порядке и сколько проблем. Список строит сам keen-pbr, поэтому он совпадает сkeen-pbr status.Диагностика -
Проверки состояния.
keen-pbr предупреждает об отсутствии NAT или строгомrp_filterна балансируемых каналах, о чужих fwmark, пересекающихся сfwmark.mask, и об отсутствующих расширениях iptables.keen-pbr statusпоказывает тот же список проблем, что и веб-интерфейс. -
Предупреждение о DNS-сервере, который не отвечает.
Если 10 запросов подряд к серверу остались без ответа или закончились ошибкой, на странице состояния появляется предупреждение. См. Решение проблем. -
Переработана проверка маршрута.
Проверку маршрута в веб-интерфейсе стало проще читать: по шагам видно, какое решение принимается на каждом этапе: определение адреса по DNS, поиск в списках, выбор правила и проверка firewall. Теперь в проверке можно указать параметры пакета: протокол, порты, адреса и DSCP. Эти же параметры можно указать в CLI для командыkeen-pbr test-routing.Проверка маршрута -
Журнал запросов.
Новый раздел: живая таблица текущих запросов и журнал запросов с пояснениями к меткам и фильтрами.Журнал запросов -
Страница настроек.
В пустых полях показаны значения по умолчанию. Раньше при сохранении они записывались в конфиг и закреплялись за вами, теперь в конфиг попадает только то, что вы изменили.
До
После
До
После
Настройки -
Маршрутизация по доменам больше не требует dnsmasq.
keen-pbr сам читает DNS-ответы, проходящие через роутер, и заполняет наборы ваших списков. Если устройство получает адрес сайта через обычный DNS, уже первое соединение с сайтом идёт по нужному маршруту. См. DNS.Маршрутизация по доменам в настройках -
Перехват L7 (HTTP Host, SNI, QUIC).
Если устройство использует зашифрованный DNS, keen-pbr узнаёт сайт по имени в начале TLS-, HTTP- или QUIC-соединения. Это первое соединение обрывается, и браузер или приложение подключается заново, уже по нужному маршруту. -
Если ядру не хватает модулей.
Отключается только соответствующая часть перехвата (DNS или соединения), а причина видна на странице состояния.Проверки ядра в диагностике -
Трафик самого роутера по умолчанию не обрабатывается.
Правила маршрутизации действуют на устройства в сети. Чтобы включить и роутер, задайтеiproute.process_router_traffic: true. См. iproute. -
Обновлён редактор outbounds.
Страница редактора стала понятнее и менее перегруженной. Тип outbound выбирается крупными карточками с коротким описанием того, как он работает. Группы (urltestиicmptest) собираются наглядно: видны ярусы приоритета и то, какой из них используется сейчас, у каждого канала задаётся вес, а его доля трафика показывается сразу. Логика выбора дополнительно проговаривается текстом, например: «новые соединения распределяются между работающими каналами первого яруса в соответствии с их весами». Поведение kill-switch тоже выбирается карточками с пояснением, что произойдёт с трафиком, а редко нужные настройки спрятаны в сворачиваемые разделы.
До
После
Редактор outbounds -
Балансировка нагрузки между несколькими каналами. OpenWrtDebian
Outboundurltestилиicmptestсstrategy: "balance"распределяет соединения между каналами, у каждого канала свой вес. Соединение остаётся на канале, через который началось. См. Балансировка нагрузки между несколькими WAN. -
Автоопределение шлюза.
У outboundinterfaceможно указать"gateway": "auto", а шлюз по умолчанию теперь редактируется в веб-интерфейсе. См. interface.Шлюз auto в редакторе outbound -
Новые списки скачиваются в фоне после применения конфигурации, а не перед ним. Ошибка скачивания больше не отменяет применение, а показывается в предупреждениях. Списки, которые не скачались при запуске, скачиваются повторно так же.
-
Обновлена страница редактирования правила маршрутизации.
Вместо длинной формы со всеми полями сразу правило собирается как конструктор «ЕСЛИ … И … тогда …». Условия добавляются по одному (списки, протокол, порты, адреса, DSCP), у каждого есть короткое пояснение, что именно оно проверяет, а внизу выбирается outbound для подходящего трафика. Сразу видно, что делает правило, и не приходится прокручивать поля, которые вам не нужны.
До
После
Страница редактирования правила маршрутизации -
Настройка маршрута по умолчанию (для многопутевой передачи или резервирования). OpenWrtDebian
keen-pbr теперь может управлять маршрутом по умолчанию для устройств в сети. С его помощью можно организовать многопутевую передачу и резервирование каналов наподобие того, как это делает mwan3. Добавьте в конец списка правил маршрутизации правило с типом IPv4 default gateway (default_gateway; для IPv6 отдельное правило) и направьте его на outboundurltestилиicmptest. Приstrategy: "priority"весь интернет-трафик уходит на резервный канал, если основной недоступен, а приstrategy: "balance"соединения распределяются между каналами по весам. Адреса локальной сети по-прежнему идут обычным маршрутом. Правило действует на устройства в сети; чтобы оно действовало и на трафик самого роутера, включите Обрабатывать собственный трафик роутера. Доступно на OpenWrt и Debian. См. Правила маршрутизации и Балансировка нагрузки между несколькими WAN.
До
После
Правила маршрутизации -
DNS-over-HTTPS.
Теперь можно добавить DNS-сервер типа DNS-over-HTTPS и использовать его в DNS-правилах и среди основных DNS-серверов. См. DNS.DNS-over-HTTPS сервер -
Bootstrap-серверы для DoH.
DoH-серверу нужен IP-адрес, чтобы к нему подключиться. Укажите bootstrap-серверы, и keen-pbr сам узнает через них адреса DoH-серверов, либо задайте IP-адреса DoH-сервера вручную. См. DNS. -
Проверка DNS-серверов.
Кнопка Проверить на странице DNS-серверы спрашивает все серверы о выбранных сайтах и показывает, какие не отвечают и какие подменяют ответы: отвечают, что домена не существует (NXDOMAIN), или отвечают адресом-заглушкой. См. DNS. На результат проверки можно нажать и увидеть подробности по каждому сайту: полученные адреса, время ответа и что именно не так. Сайты для проверки можно менять: отметьте готовые или добавьте свой.Проверка DNS-серверов -
Обновлена страница редактирования DNS-правила.
Она построена по той же логике, что и правило маршрутизации: сначала выбираете условие (списки доменов), затем DNS-серверы, на которые нужно направлять запросы. Если серверов несколько, страница подсказывает, что запросы уходят на них по очереди.
До
После
Страница редактирования DNS-правила -
Несколько DNS-серверов для списка.
Для списка можно указать несколько DNS-серверов. Запросы уходят на них по очереди, а если сервер не отвечает, его заменяет следующий. Вconfig.jsonполеserverDNS-правила теперь называетсяserversи содержит массив названий серверов; старые конфиги keen-pbr преобразует сам.
Запросы к доменам списков с несколькими серверами или с DNS-over-HTTPS dnsmasq отправляет во встроенный DNS-прокси keen-pbr на127.0.0.89, порты начинаются с 52100. Адрес и первый порт можно сменить в режиме настроек Продвинутый: Адрес DNS-прокси и Первый порт DNS-прокси. См. DNS. -
На странице DNS-правила основные DNS-серверы и bootstrap-серверы стали свёрнутыми разделами: в свёрнутом виде видно, какие серверы используются. Если основные серверы не выбраны или DoH-серверу нужны bootstrap-серверы, у раздела отображается значок ⚠️, а на странице Обзор системы и в
keen-pbr statusпоявляется предупреждение со ссылкой на страницу. В таблице DNS-серверов отмечено, какие из них основные и bootstrap. В новом DNS-правиле сервер больше не выбирается заранее: выберите его сами.
До
После
DNS-правила -
dnsmasq нужен только для split DNS.
Он нужен, только если вы хотите настроить split DNS, то есть использовать разные DNS-серверы в зависимости от домена, или задать DNS-серверы для всей сети прямо в keen-pbr. См. Нужен ли dnsmasq?. keen-pbr сам выбирает экземпляр dnsmasq, показывает его состояние в веб-интерфейсе и восстанавливает его работу, если dnsmasq потерял конфиг. Новые команды:keen-pbr resolver dnsmasq detectиkeen-pbr resolver dnsmasq print-config. -
Веб-интерфейс на телефоне.
Формы и конструктор правил подстраиваются под узкий экран, журнал запросов показывается карточками, диалоги выезжают снизу. -
Обновление в реальном времени.
Данные обновляются с помощью SSE вместо HTTP polling. -
Метрики для Prometheus.
GET /metricsотдаёт задержку проб, выбранный канал, обновления списков, счётчики балансировки и перехвата. Есть и метрики DNS-прокси: запросы к нему, ответы серверов по результатам, время ответа и серверы, которые прокси сейчас пропускает. Для Grafana есть дашборд (с разделом DNS proxy) и примеры алертов. См. REST API и метрики DNS-прокси.Дашборд Grafana -
При удалении пакета убираются оставшиеся правила firewall и файлы dnsmasq.
Исправления
- Исправлено применение конфигурации, в которой новый список скачивается через новый outbound: раньше применение завершалось ошибкой «Failed to prepare remote list(s)».
- В группы
urltestиicmptestтеперь можно добавить только участников типаinterfaceиtable: другие типы не работали, а теперь не проходят проверку конфига. Участникblackholeникогда не выбирался, теперь keen-pbr пропускает его и пишет предупреждение в журнал. Для блокировки он не нужен: если ни один канал не работает, трафик блокируется сам. - Исправлена остановка автообновления списков после первого изменения, влияющего на маршрутизацию. Теперь списки обновляются по расписанию.
- Исправлено получение адреса по DHCP новыми устройствами, если правило маршрутизации ловит весь UDP-трафик.
- Исправлен обход правил маршрутизации трафиком самого роутера при заданных
inbound_interfaces. - Если один список указан в нескольких DNS-правилах, список теперь использует серверы всех правил. Раньше использовался сервер только из первого правила.
- Keenetic/NetCraze Исправлено построение маршрутов по частично обновлённой таблице маршрутов, когда при продлении аренды DHCP на WAN маршруты меняются один за другим.
- Исправлено обнуление файла кэша списка после пропадания питания.
- Keenetic/NetCraze Исправлено обновление пакета, при котором старая версия не успевала остановиться: после установки продолжала работать она, а не новая.
- Исправлена проверка маршрута при выключенном IPv6: раньше она проверяла и IPv6-адреса домена.
- Исправлена проверка маршрута, которая показывала одно правило маршрутизации несколькими блоками.
- Исправлено ложное сообщение об ошибке в
keen-pbr statusу каждого правилаurltestиicmptest: теперь команда показывает выбранный канал. - Исправлена потеря
conntrack_on_switch,strict_enforcement_actionи таймаута пробыurltestпри сохранении outbound в веб-интерфейсе. - Исправлена работа DNS-сервера с
detourчерез туннель: запросы уходили в туннель с адресом провайдера, и ответа не было. Теперь они идут с адресом туннеля (для серверов с IPv4-адресом). - iptables
Исправлены правила маршрутизации с отрицанием нескольких адресов (
!a,b) на iptables: раньше такое правило срабатывало на весь трафик.
Ломающие изменения (Breaking changes)
Перед обновлением. Debian
keen-pbr 3.3.x зависел от dnsmasq, поэтому apt пометил его как установленный автоматически, и apt autoremove может его удалить. Если dnsmasq вам нужен, сначала выполните:
sudo apt-mark manual dnsmasqПеред обновлением. Keenetic/NetCraze
keen-pbr 3.3.x ставил dnsmasq-full как зависимость, и при обновлении opkg может его удалить. Если dnsmasq вам нужен, сначала снимите с него пометку «установлен автоматически». Выполните по SSH:
cp /opt/lib/opkg/status /opt/lib/opkg/status.bak
sed -i '/^Package: dnsmasq-full$/,/^$/{/^Auto-Installed:/d}' /opt/lib/opkg/statusKeenetic/NetCraze
Если пакет уже удалён и вы включали opkg dns-override, устройства в сети останутся без DNS: роутер по-прежнему отдаёт их запросы dnsmasq, а его уже нет. Веб-интерфейс keen-pbr предложит два варианта:
- Оставить dnsmasq.
Установите его снова командойopkg install dnsmasq-full. - Обойтись без dnsmasq.
Выключите Управлять конфигурацией dnsmasq. Затем в веб-консоли роутера (http://my.keenetic.net/a) выполнитеno opkg dns-overrideиsystem configuration saveи перезагрузите роутер.
После обновления управление dnsmasq остаётся включённым, как в 3.3.x. Если dnsmasq вам не нужен, выключите Управлять конфигурацией dnsmasq в веб-интерфейсе (Общее > Настройки > Управление локальным DNS-сервером) и выполните шаги отката: Keenetic, OpenWrt, Debian. Без dnsmasq не работают DNS-правила и основные DNS-серверы.
Что проверить после обновления:
- Модули ядра. Keenetic/NetCraze
IP-адреса доменов для заполнения ipset определяются путём перехвата DNS-ответов, HTTP Host и SNI с помощью NFQUEUE и NFLOG. Если компоненты Модули ядра подсистемы Netfilter и Пакет расширений Xtables-addons для Netfilter ещё не установлены, установите их. Затем откройте страницу состояния в веб-интерфейсе и запустите проверку DNS. - Только iptables. Keenetic/NetCraze
Сборка для Keenetic всегда работает через iptables. Конфиг сdaemon.firewall_backend: "nftables"илиstrategy: "balance"там не пройдёт проверку. - Debian 11 (bullseye) больше не поддерживается.
ttl_msсписка стал минимальным сроком.
Раньше он задавал, сколько хранятся адреса доменов списка. Теперь это минимум: если TTL в ответе DNS длиннее, адрес хранится дольше, но не дольшеintercept.max_ttl_ms. Еслиttl_msне задан, минимум берётся изintercept.min_ttl_ms(по умолчанию 5 минут).- Изменились значения по умолчанию.
daemon.clear_dynamic_sets_on_applyтеперьfalse: адреса доменов сохраняются при применении конфига.iproute.process_router_trafficтеперьfalse: правила маршрутизации действуют на устройства в сети, а не на трафик самого роутера.--log-targetдля всех команд равенboth. Init-скрипты из пакета передают--log-target syslog.
- Поля, которые больше не работают.
dns.system_resolver,dns.dns_test_serverиdaemon.resolver_ready_timeout_seconds; если они заданы, журнал предупредит. Вместоdns.dns_test_serverиспользуйтеintercept.dns.marker. Старые поляoutbounds,candidatesиweightвoutbound_groupsзаменены наmembers. Старые конфиги продолжают работать: keen-pbr один раз перепишет их в новый формат (комментарии и порядок ключей при этом не сохранятся). - Новое поле
version.
В нём версия keen-pbr, для которой записан конфиг. keen-pbr ставит его, когда вы сохраняете конфиг в веб-интерфейсе. Если правите файл вручную, оставьте его. - Домен для проверки DNS.
Для ручной проверки запускайтеnslookup check.keen-pbr.fyiвместоnslookup check.keen.pbr. См. Решение проблем.
Если с keen-pbr работают ваши скрипты или другие программы:
- Команда
keen-pbr resolver-config-hashничего не делает и всегда завершается успешно. keen-pbr generate-resolver-configпринимаетdnsmasqвместоdnsmasq-ipsetиdnsmasq-nftset.keen-pbr statusзавершается с кодом 1, если какая-то проверка не прошла или среди проблем есть ошибка.GET /api/dns/test?show=all(иshow=full) работает только при включённой аутентификации API.- Новые API endpoints:
GET /metrics,GET /api/health/issues,GET /api/config/defaults.GET /api/status/eventsдополнительно присылает проблемы, состояние маршрутизации, состояние аутентификации и изменения конфига.
3.3.1
25 августа 2026
Что нового
- Куда писать журнал.
Параметр--log-target stderr|syslog|both. Сервис по умолчанию пишет в syslog, команды в терминале — в stderr.
Исправления
- Переключение открытых соединений.
Когда выбранный канал в группеurltestилиicmptestперестаёт работать, keen-pbr теперь сбрасывает записи открытых соединений в conntrack, и устройство открывает их заново через новый канал, по IPv4 и по IPv6. Раньше соединения оставались на нерабочем канале. Если старый канал при переключении ещё работает, действует настройкаconntrack_on_switch. - Исправлено отображение состояния участников групп
urltestиicmptest(основной, резервный, работает с перебоями, недоступен). - keen-pbr ждёт готовности dnsmasq столько, сколько задано в
daemon.resolver_ready_timeout_seconds, а не всегда пять секунд.
3.3.0
21 августа 2026
Что нового
- Большие списки IP-адресов.
Размер ipset можно увеличить настройкамиipset_hashsizeиipset_maxelem: Общее > Настройки > Расширенные настройки маршрутизации. - По сигналу
SIGUSR1keen-pbr больше не загружает списки адресов заново. Старое поведение возвращаетdaemon.reuse_static_sets_on_runtime_refresh: false. - Откат конфига.
Если конфиг не применился, можно вернуть предыдущий. - Веб-интерфейс сам подключается снова, если связь с роутером пропала.
- RAW отдельно для IPv4 и IPv6. Keenetic/NetCraze
ЗначенияKEEN_PBR_RAW_PREROUTING:auto,enable,disable,ipv4-onlyиipv6-only. См. RAW или mangle.
Исправления
- Нагрузка на процессор в простое.
Исправлена: keen-pbr постоянно опрашивал состояние и занимал около 20% процессора (замер на роутере с mipsel). Теперь состояние обновляется по событиям. - Устранена одна из причин ошибки
Fatal error: control socket timeout waiting for socket ack, из-за которой на слабых роутерах большой конфиг не применялся и не запускался dnsmasq.
Ломающие изменения (Breaking changes)
- Значение
enableдля RAW. Keenetic/NetCraze
KEEN_PBR_RAW_PREROUTING=enableтеперь требует поддержки RAW и для IPv4, и для IPv6. Если RAW нужна только для одного из них, укажитеipv4-onlyилиipv6-only.
3.2.1
15 августа 2026. Версия 3.2.0 не выходила.
Что нового
- Пароль на веб-интерфейс и API.
Вход по паролю, Basic Auth для скриптов и список сайтов, которым браузер разрешит обращаться к API (CORS). Всё это на новой странице Безопасность. См. REST API. - Outbound
icmptest.
Проверяет каналы ping-ом (ICMP), а не загрузкой URL. См. icmptest. - Роутеру можно дать имя, оно показывается в веб-интерфейсе.
- Проверка маршрута в веб-интерфейсе переделана.
keen-pbr test-routingвыводит обычный текст вместо JSON. - Неприменённые изменения конфига можно отменить в веб-интерфейсе и через API.
- В веб-интерфейсе появились ссылки на документацию.
- Порядок правил маршрутизации можно менять перетаскиванием.
- RAW или mangle. Keenetic/NetCraze
В файле/opt/etc/keen-pbr/defaultsможно выбрать таблицу, в которой помечается IPv4-трафик устройств. RAW не сбрасывается, когда Keenetic пересобирает firewall, и соединения не рвутся, но работает только для устройств с Политикой по умолчанию. mangle подходит для любых политик из Приоритетов подключений, но правила на время пересборки пропадают. См. RAW или mangle. - Пакеты для Debian 11 (Bullseye), 12 (Bookworm) и 13 (Trixie).
- Полный пакет стал меньше.
- Репозиторий пакетов переехал с GitHub Pages на отдельный платный хостинг
Исправления
- Запуск после перезагрузки роутера. Keenetic/NetCraze
Исправлен: keen-pbr стартовал раньше, чем RCI, и мог не запуститься. Теперь сервис ждёт RCI. Подробности - Keenetic/NetCraze
Исправлены правила с условием DSCP: модуль
xt_dscpтеперь загружается сам. - Исправлена утечка ресурсов в потоке обновлений веб-интерфейса.
3.1.1
26 июля 2026
Что нового
- В отчёт диагностики, который скачивается из веб-интерфейса, добавлена последняя системная команда, завершившаяся с ошибкой.
Исправления
- iptables Исправлено применение правил iptables, которое в некоторых случаях не срабатывало.
3.1.0
25 июля 2026
Что нового
- Безопасное применение конфига.
keen-pbr сначала проверяет новый конфиг и применяет его, ждёт подтверждения от dnsmasq и только потом сохраняет на диск. Если что-то пошло не так, файл на диске остаётся прежним. - Применение без перерывов.
nftables меняется одной транзакцией, а iptables и ipset заменяются без предварительной очистки, поэтому трафик не уходит мимо правил, пока конфиг применяется. keen-pbr удаляет только свои маршруты и правила и не трогает чужие. - Строгий режим.
Если ни один канал не работает, трафик блокируется маршрутомunreachableилиblackhole. - DNS-запросы самого роутера тоже идут через
detour. - Условие
dscpв правилах маршрутизации.
Маршрут по метке DSCP (значения 1–63), которую ставит программа на устройстве. См. пример с DSCP. - Настройка
conntrack_on_switch.
Задаёт дляurltest, что делать с открытыми соединениями при смене канала:preserveилиdelete. - Строгая проверка списков.
Списки по URL скачиваются только по HTTP и HTTPS, в том числе после перенаправлений. Локальный список должен быть обычным файлом не больше заданного размера. Некорректные домены отбрасываются. Если один и тот же список скачивается несколько раз одновременно, загрузка идёт одна. - Веб-интерфейс обновляется сам.
Изменения состояния сервиса, outbounds и интерфейсов видны сразу, обновлять страницу не нужно. Диагностика и проверка DNS пока так не умеют. - При запуске, остановке, перезапуске и применении конфига видно, на каком этапе сервис.
- Подробная диагностика.
Видно, совпадает ли конфиг в памяти с конфигом на диске, получил ли dnsmasq актуальный конфиг и каких файлов кэша не хватает. keen-pbr statusберёт данные у запущенного сервиса.- Метки в таблице RAW. Keenetic/NetCraze
IPv4-трафик устройств помечается в таблице RAW. Keenetic её не пересобирает, поэтому в играх и звонках меньше обрывов. Если RAW недоступна, keen-pbr предупредит и будет использовать mangle. - Keenetic/NetCraze Рядом с системными именами интерфейсов веб-интерфейс показывает их названия из Keenetic.
- Пакет теперь зависит от
conntrack. - В API команды
apply,start,stopиrestartотвечают кодом202и номером операции. Если такая команда уже выполняется, следующая получит409.
Исправления
- Ускорена проверка маршрута в веб-интерфейсе: до восьми адресов проверяются одновременно.
- Исправлено удаление всего правила, когда из правила с несколькими условиями удаляли один список.
3.0.7 (бета)
29 июня 2026
Исправления
- Keenetic/NetCraze Исправлена проверка поддержки IPv6 в режиме iptables: keen-pbr мог решить, что IPv6 не поддерживается (#139).
3.0.6 (бета)
3 июня 2026. Версия 3.0.5 не выходила: в ней осталась ошибка, из-за которой keen-pbr не устанавливался на OpenWrt 25.x.
Исправления
- Исправлены проблемы, которые
keen-pbr statusпоказывал, когда в веб-интерфейсе всё было в порядке. - Канал
urltest, выбранный и для IPv4, и для IPv6, больше не считается ошибкой. keen-pbr statusотмечает правила, которые пропускают трафик без изменений, какPASS.- При выключенном IPv6
keen-pbr statusбольше не показывает IPv6-наборы. - OpenWrt
Исправлены пакеты
.apkи индекс репозитория для OpenWrt 25.x. - Исправлено определение IPv6 со старыми версиями
ip6tables-restore(#138).
3.0.4 (бета)
27 мая 2026
Что нового
- Настройка
daemon.ipv6_enabled.
Для сетей без IPv6: приfalsekeen-pbr не создаёт IPv6-правила. Если IPv6 включён, но система его не поддерживает, keen-pbr пишет об этом в журнал и работает только с IPv4. - Проверка ссылок в конфиге.
До применения keen-pbr находит ссылки в никуда: правило на несуществующий список или outbound, DNS-правило на несуществующий список или сервер, outboundinterfaceбез интерфейса, проверку маршрута без адреса. - Состояние dnsmasq проверяется каждые 5 секунд вместо 30. Когда меняются списки или DNS, keen-pbr перезагружает dnsmasq и сразу проверяет результат.
- Массовые действия.
В таблицах веб-интерфейса можно выделить несколько строк и выполнить действие над всеми сразу. - Что изменится при удалении.
Перед удалением видно, какие правила удалятся и какие DNS-серверы и группыurltestпоменяются. - Выбор интерфейса.
Видны все известные интерфейсы, включены ли они и их адреса. Искать можно и по адресу. - Подробная проверка маршрута.
Видно, какое правило сработало, какой outbound и интерфейс выбраны и в какие списки попал адрес. - Перед изменением или удалением списка видно, где ещё он используется.
- Ошибки проверки конфига при сохранении показываются рядом с полями.
- Keenetic/NetCraze
При запуске проверяется поддержка ipset в ядре. Если не хватает компонентов Netfilter, сообщение об ошибке понятнее. Понятнее стали и сообщения о загрузке модуля
xt_multiport.
Исправления
- Список по URL со встроенными записями больше не теряет их, когда загружается из кэша.
- Исправлена работа веб-интерфейса на iPhone и в Safari на macOS.
- Исправлено отслеживание интерфейсов: после сетевой ошибки keen-pbr переставал замечать их изменения.
- Команды перезагрузки и остановки сервиса находят его по PID-файлу и больше не задевают другие запущенные процессы keen-pbr.
- Исправлены одновременные проверки DNS, которые мешали друг другу.
3.0.3 (бета)
10 мая 2026
Что нового
- Поле
gateway6.
Задаёт IPv6-шлюз у outboundinterface. - Ошибки обновления списков.
Видны в журнале, через API и на странице списков. - Автообновление списков раз в неделю.
Так по умолчанию в новых конфигах, раньше было раз в день. В существующих конфигах расписание не меняется. - Тег DNS-сервера нельзя изменить при редактировании.
Исправления
- Утечка IPv6 мимо VPN.
Исправлена: добавлены недостающие IPv6-маршруты, а дляurltest— маршрутunreachableна случай, когда не работает ни один канал. - Исправлена проверка каналов по IPv6.
- Исправлено падение keen-pbr, когда у роутера нет интернета.
- Исправлена обработка таймаута проверки
urltestи приоритета маршрутовunreachable. - nftables Исправлен проброс портов, когда запрос приходит с адреса из списка.
- Исправлено отображение автообновления списков: веб-интерфейс показывал его включённым, когда оно было выключено.
- Значок внешней ссылки теперь нажимается.
3.0.2 (бета)
26 апреля 2026
Ломающие изменения (Breaking changes)
- Новый адрес репозитория. OpenWrt
Пакеты теперь собираются под архитектуру процессора, а не под модель роутера. Если keen-pbr уже установлен на OpenWrt, замените адрес репозитория в настройках менеджера пакетов. См. Установка на OpenWrt.
Исправления
- Исправлена кнопка Применить и перезапустить на нижней панели, которая иногда не срабатывала.
3.0.1 (бета)
25 апреля 2026
Что нового
- Улучшена страница обзора.
Исправления
- Проверка маршрута не трогает firewall. nftables
Раньше проверка маршрута в веб-интерфейсе стирала правила firewall. - Исправлен запуск dnsmasq после перезагрузки роутера: иногда он не запускался.
- Проверка маршрута через dnsmasq.
Адреса узнаются через dnsmasq, а не через DNS провайдера. Раньше проверка могла получить подменённый провайдером ответ и показать неверный маршрут. - OpenWrt Исправлено пропадание правил nftables.
- Поддержка fw4. OpenWrt
Интеграция с firewall переделана: в новых версиях OpenWrt скрипт/etc/hotplug.d/firewall/70-keen-pbrперестал запускаться. - OpenWrt
dnsmasq-fullдобавлен в зависимости пакета. Исправлена запись в системный журнал. - Keenetic/NetCraze
Исправлен запуск на старых прошивках NDMS 2.x с DNS типа
keenetic. - Keenetic/NetCraze DNS-серверы DoT из настроек Keenetic теперь используются.
- Keenetic/NetCraze
iptablesиipsetдобавлены в зависимости пакета. - Keenetic/NetCraze
Исправлены ошибки
opkg updateу тех, у кого остался старый адрес репозитория. - Исправлена кнопка Сохранить: после ошибки в форме правила она не нажималась до перезагрузки страницы.
- iptables Список портов проверяется с учётом ограничений iptables.
3.0.0 (бета)
22 апреля 2026
keen-pbr переписан заново. Версия 2.x работала только на Keenetic и Netcraze, версия 3 может работать также на OpenWrt и Debian.
- Веб-интерфейс и REST API.
Веб-интерфейс удобен и с телефона. - Проверка каналов (
urltest).
keen-pbr сам проверяет, есть ли интернет через канал, и при сбое переключает трафик на другой. Это работает с любым VPN, в том числе установленным через opkg, например AmneziaWG-Go. Версия 2.x узнавала о состоянии канала только из API Keenetic. - Новые условия в правилах.
Порты и адреса источника и назначения, исключения через!, правила без списков. Например, можно исключить из маршрутизации один телевизор или отправить в VPN весь трафик одного устройства. - Фильтр входящих интерфейсов.
Например, правила действуют в основной сети, а гостевую не трогают. - Шлюз для outbound
interface.
Его можно указать явно. - Автоматические приоритеты.
Таблицы маршрутизации, fwmark и приоритетыip ruleназначаются по порядку правил. - DNS-правила отдельно от маршрутизации.
Можно задать DNS-сервер для доменов, не меняя их маршрут. - Временное отключение правил.
Правило можно выключить, не удаляя.
Как перейти со 2.x: Обновление с 2.x.
keen-pbr 2.x
Версии для Keenetic и Netcraze. Конфиг в формате TOML, файл keen-pbr.conf.
2.2.1
10 июня 2025
- Если API Keenetic не вернул данные об интерфейсе, но система видит его включённым, интерфейс считается рабочим.
- Свой DNS-сервер для ipset.
Опцияoverride_dnsв[ipset.routing]задаёт отдельный DNS-сервер для доменов этого ipset. - Если какого-то интерфейса из конфига нет, keen-pbr продолжает работать.
keen-pbr self-checkтеперь правильно находит IPv6-маршрутыblackhole.
2.1.4
11 мая 2025
- Команда
keen-pbr dnsпоказывает DNS-серверы из профиля Keenetic. - DoH и DoT из Keenetic.
Опцияuse_keenetic_dnsвключает DoH и DoT из настроек Keenetic,fallback_dnsзадаёт DNS-сервер на случай, если запрос к RCI не удался. - Только политика по умолчанию.
Правило iptables по умолчанию обслуживает только устройства с политикой по умолчанию в разделе Приоритеты подключений.
2.0.3
25 февраля 2025
- Исправлены скрипты установки и удаления пакета.
2.0.2
17 февраля 2025
- Исправлена ошибка
certificate signed by unknown authority, из-за которой на некоторых роутерах не скачивались списки.
2.0.1
16 февраля 2025
- Новое название.
Проект переименован из keenetic-pbr в keen-pbr, адрес репозитория изменился. Как обновиться с 1.x, написано в описании релиза на GitHub. - Без файлов в dnsmasq.d.
keen-pbr больше не пишет файлы в/opt/etc/dnsmasq.d/: dnsmasq получает списки от keen-pbr при запуске. Из-за этого dnsmasq запускается дольше: около 3,5 секунды на 43 тысячи доменов на Keenetic Viva. - Отдельная секция для списков.
Списки задаются в секции[[list]], и один список можно использовать в нескольких ipset. - Новые команды:
print-dnsmasq-configиupgrade-config. Вторая сама обновляет старый конфиг при обновлении пакета. - Опция
dnsmasq_lists_dirудалена.
keenetic-pbr 1.x
Первые версии под названием keenetic-pbr.
1.3.0
15 января 2025
- Меньше записи на флеш-память.
keenetic-pbr не перезаписывает файлы, если они не изменились. Это бережёт флеш-память роутера и USB-накопитель. - Опция
summarizeудалена: из-за ошибки она удаляла из списка нужные адреса.
1.2.0
8 января 2025
- Новые команды:
interfaces(список интерфейсов),self-check(проверка маршрутов и правил) иundo-routing(убрать всё, что настроил keenetic-pbr). - Опция
fileподключает список из локального файла. - Kill switch.
Опцияkill_switchблокирует адреса из списков, если VPN недоступен. - Несколько интерфейсов.
Опцияinterfaceзаменена наinterfaces: можно указать несколько интерфейсов, и выбирается первый включённый. - Опция
use_keenetic_api(по умолчанию включена) проверяет через RCI, есть ли подключение на интерфейсе. applyкаждый раз заново читает списки и настраивает маршруты. Перезапускать OPKG или интерфейсы больше не нужно.
1.0.1
17 ноября 2024
- ipset создаётся, даже если в списках нет ни одного IP-адреса.
- Экспериментальная поддержка IPv6.
1.0.0
11–16 ноября 2024
- Первый выпуск. Следом исправлены сообщения команды
downloadдля локальных списков, конфиг dnsmasq по умолчанию и установщик, который теперь не заменяет уже установленныйdnsmasq.conf.











