Перейти к содержимому

Keenetic / NetCraze

keen-pbr можно установить на роутерах Keenetic / NetCraze через менеджер пакетов Entware opkg.

Установите Entware на роутере

Сначала убедитесь, что Entware установлена на вашем роутере. Пожалуйста, обратитесь к официальному руководству для Keenetic или NetCraze:

  1. Найдите руководство для вашей модели роутера.
  2. В строке поиска найдите “Установка репозитория Entware на USB-накопитель”.
  3. Внимательно прочитайте инструкции и выполните их.

Установите необходимые компоненты

Откройте страницу конфигурации роутера, перейдите в Управление -> Настройки системы и установите следующие дополнительные компоненты:

  • Сетевые функции / Протокол 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 из репозитория

  1. Откройте страницу репозитория keen-pbr.
  2. Выберите “Keenetic / NetCraze” в селекторе ОС слева, затем выберите версию “current” и архитектуру, соответствующую вашему роутеру.
    • Подсказка: в SSH-сессии можно выполнить opkg print-architecture, чтобы узнать архитектуру роутера.
  3. Внимательно следуйте инструкциям на странице репозитория шаг за шагом.
  4. Когда вы выполните команду 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:

  1. Откройте http://my.keenetic.net/a (если ссылка не открывается, вместо нее откройте http://<ip-роутера>/a)
  2. Выполните команды opkg dns-override, а затем system configuration save
  3. Перезагрузите роутер. Это очень важно: без перезагрузки опция не станет активной.

Настройте сервис

После перезагрузки роутера можно открыть 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 ненадолго исчезают. Несколько пакетов могут уйти по обычному маршруту до их восстановления, разорвав игровую сессию или другое чувствительное соединение.
Для наиболее предсказуемой работы keen-pbr на 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
Если вы не планируете использовать Web UI или API keen-pbr, рассмотрите установку пакета keen-pbr-headless. Он занимает меньше места (~1.2 МБ вместо ~2.8 МБ) и вообще не включает API-сервер. Также API-сервер можно отключить в любой момент через флаг конфигурации, даже если используется полная версия пакета.

Следующие шаги

Перейдите на страницу Быстрый старт и используйте вкладку Web UI для самой простой первоначальной настройки. Если вы установили версию headless, вместо этого откройте вкладку JSON / CLI.