Keenetic / NetCraze
keen-pbr можно установить на роутерах Keenetic / NetCraze через менеджер пакетов Entware opkg.
Установите Entware на роутере
Сначала убедитесь, что Entware установлена на вашем роутере. Пожалуйста, обратитесь к официальному руководству для Keenetic или NetCraze:
- Найдите руководство для вашей модели роутера.
- В строке поиска найдите “Установка репозитория Entware на USB-накопитель”.
- Внимательно прочитайте инструкции и выполните их.
Установите необходимые компоненты
Откройте страницу конфигурации роутера, перейдите в Управление -> Настройки системы и установите следующие дополнительные компоненты:
- Сетевые функции / Протокол IPv6 (на NDMS 5.0+ отсутствует, т.к. встроен в систему)
- Пакеты OPKG / Поддержка открытых пакетов
- Пакеты OPKG / Модули ядра подсистемы Netfilter
- Пакеты OPKG / Пакет расширений Xtables-addons для Netfilter
- Утилиты и сервисы / Прокси-сервер DNS-over-TLS (необязательно, но настоятельно рекомендуется)
- Утилиты и сервисы / Прокси-сервер DNS-over-HTTPS (необязательно, но настоятельно рекомендуется)
Настройте DoH/DoT на роутере
Рекомендуется настроить DNS-серверы DoH/DoT на роутере, чтобы защититься от атак с подменой DNS.
См. официальную документацию Netcraze: Прокси DoH и DoT для шифрования DNS-запросов.
Установите keen-pbr из репозитория
- Откройте страницу репозитория keen-pbr.
- Выберите “Keenetic / NetCraze” в селекторе ОС слева, затем выберите версию “current” и архитектуру, соответствующую вашему роутеру.
- Подсказка: в SSH-сессии можно выполнить
opkg print-architecture, чтобы узнать архитектуру роутера.
- Подсказка: в SSH-сессии можно выполнить
- Внимательно следуйте инструкциям на странице репозитория шаг за шагом.
- Когда вы выполните команду
opkg install keen-pbr, скрипт установки попросит подтвердить замену файлаdnsmasq. Если вы не уверены, нажмите y, а затем Enter.- Пример команды установки:
bash
opkg install keen-pbr # или если нужна версия без API и без Web UI # opkg install keen-pbr-headless
- Пример команды установки:
Убедитесь, что сервис keen-pbr запущен
Перед тем как переходить к следующему шагу, рекомендуется проверить, что keen-pbr успешно запустился и не завершился с ошибкой. Выполните /opt/etc/init.d/S80keen-pbr status. Если сервис не запущен, см. раздел Устранение неполадок.
Пример:
~ # /opt/etc/init.d/S80keen-pbr status
Checking keen-pbr... alive.Если сервис находится в состоянии alive, переходите к следующему шагу.
Включите dns-override
После установки keen-pbr нужно включить dns-override, чтобы все DNS-запросы от клиентов LAN перенаправлялись в Entware:
- Откройте http://my.keenetic.net/a (если ссылка не открывается, вместо нее откройте
http://<ip-роутера>/a) - Выполните команды
opkg dns-override, а затемsystem configuration save - Перезагрузите роутер. Это очень важно: без перезагрузки опция не станет активной.
Настройте сервис
После перезагрузки роутера можно открыть http://my.keenetic.net:12121 и настроить keen-pbr через веб-интерфейс (если установлена полная версия; у headless-версии Web UI отсутствует).
Также keen-pbr можно настроить вручную, изменив файл конфигурации: /opt/etc/keen-pbr/config.json.
Выберите RAW или mangle PREROUTING
Этот выбор актуален только для Keenetic / NetCraze. Keenetic может периодически
пересобирать таблицу mangle, например при продлении DHCP lease. В это время
обычная интеграция через mangle ненадолго исчезает, пока keen-pbr не применит её
заново. RAW не зависит от такой пересборки, но выполняется до правил Keenetic в
разделе Приоритеты подключений > Применение политик. Поведение
платформы при замене iptables также обсуждается на
форуме Keenetic Community.
| Режим | Преимущество | Компромисс |
|---|---|---|
| RAW (по умолчанию, если доступна) | PBR остаётся активным при пересборке mangle Keenetic. Долгие чувствительные соединения, например игровые сессии, не будут разрываться из-за пересборки; у kill switch меньше возможностей пропустить пакеты по обычному маршруту. | После установки fwmark в RAW правила Keenetic в разделе Приоритеты подключений > Применение политик перезаписывают его. Поэтому RAW работает только для устройств, которым назначена Политика по умолчанию. |
| mangle | keen-pbr выполняется после меток, установленных Keenetic в разделе Приоритеты подключений > Применение политик, и может переопределять маршрутизацию устройств с нестандартной политикой. | Когда Keenetic перестраивает таблицу маршрутизации (обычно примерно раз в пять минут), правила keen-pbr ненадолго исчезают. Несколько пакетов могут уйти по обычному маршруту до их восстановления, разорвав игровую сессию или другое чувствительное соединение. |
src_addr (Исходный адрес). Так правила маршрутизации останутся в keen-pbr и не будут конфликтовать с политиками Keenetic.По умолчанию установлен режим auto: keen-pbr независимо проверяет IPv4 и IPv6,
используя RAW для доступного семейства и mangle для другого. Локально созданный
трафик всегда остаётся в mangle OUTPUT. Значения enable, ipv4-only и
ipv6-only принудительно включают RAW для выбранных семейств; ошибка проверки
останавливает запуск.
Чтобы узнать выбранный режим, перезапустите сервис и найдите следующие сообщения в системном журнале устройства:
Сообщения журнала отдельно показывают проверку IPv4 и IPv6 и выбранные флаги
--use-raw-prerouting и --use-raw6-prerouting.
Чтобы всегда использовать mangle, отредактируйте /opt/etc/keen-pbr/defaults:
KEEN_PBR_RAW_PREROUTING="disable"Затем перезапустите сервис:
/opt/etc/init.d/S80keen-pbr restartЗначение KEEN_PBR_RAW_PREROUTING="enable" требует RAW для каждого включённого
семейства; ipv4-only и ipv6-only принудительно выбирают одно семейство. Если
возможность RAW недоступна, сервис завершится с ошибкой вместо перехода на mangle.
Основные команды:
| Действие | Команда |
|---|---|
| Запустить сервис | /opt/etc/init.d/S80keen-pbr start |
| Перезапустить сервис | /opt/etc/init.d/S80keen-pbr restart |
| Проверить, что keen-pbr работает | /opt/etc/init.d/S80keen-pbr status |
| Проверить, что dnsmasq работает | /opt/etc/init.d/S56dnsmasq status |
keen-pbr-headless.
Он занимает меньше места (~1.2 МБ вместо ~2.8 МБ) и вообще не включает API-сервер. Также API-сервер можно отключить в любой момент через флаг конфигурации, даже если используется полная версия пакета.Следующие шаги
Перейдите на страницу Быстрый старт и используйте вкладку Web UI для самой простой первоначальной настройки. Если вы установили версию headless, вместо этого откройте вкладку JSON / CLI.