
opensoho v0.15.0
Легковесная платформа управления устройствами OpenWRT для небольших сетей. Централизованная настройка, мониторинг и управление WiFi для 2–20 устройств с простым развертыванием и совместимостью с OpenWISP.
Предупреждение: это ранний релиз, пожалуйста, прочитайте заметки к релизу ВСЕХ выпусков до настоящего момента
OpenSOHO
OpenSOHO создан для управления небольшим количеством сетевых устройств на базе OpenWRT. Отсюда название SOHO от Small Office Home Office (SOHO) Networks.
- От 2 до 20 устройств (нет жесткого ограничения)
- Нет мультиарендности
- Совместим с openwisp-config и openwisp-monitoring.
- Просто в развертывании
Вдохновлен OpenWISP, но нацелен на сети, которые слишком малы для обслуживания с помощью OpenWISP. Как упоминается в OpenWISP:
Однако OpenWISP может не подойти для очень маленьких сетей (менее 20 устройств), организаций, не имеющих ИТ-экспертизы, или предприятий, ищущих открытые альтернативы исключительно для экономии средств.
Следующие версии протестированы:
- OpenWRT 24.10.x DSA
- OpenWRT 25.12.x DSA (бета-поддержка)
Начало работы с OpenSOHO
Обзор
Настройка OpenSOHO требует нескольких простых шагов, каждый из которых описан в разделах ниже:
- Установите OpenSOHO на свой сервер.
- Установите пакеты OpenWisp на свои устройства OpenWRT.
- Настройте OpenWisp на каждом устройстве OpenWRT для подключения к OpenSOHO.
- Начните настройку в OpenSOHO!
Установка OpenSOHO
-
Загрузите последний релиз OpenSOHO (или используйте docker-контейнер)
-
Запустите OpenSOHO
Сначала выберите общий секрет, который позволит устройствам OpenWRT (использующим openwisp-config) зарегистрироваться в OpenSOHO.
Выберите длинную случайную строку для оптимальной безопасности.
Он должен совпадать с тем, что вы настроите в LuCI на следующих шагах.
OPENSOHO_SHARED_SECRET=randompassphrase ./opensoho serve --http 0.0.0.0:8090
Теперь OpenSOHO выводит URL в командной строке, который позволяет создать учетную запись администратора. Просто откройте URL в браузере.
Альтернативно, создайте учетную запись администратора через командную строку:
./opensoho superuser upsert EMAIL PASS
Настройка (принятие) устройств OpenWRT
Установка пакетов OpenWISP
opkg install openwisp-config openwisp-monitoring luci-app-openwisp # OpenWRT 24.10
apk add openwisp-config openwisp-monitoring luci-app-openwisp # OpenWRT 25.12+
Если вы хотите использовать 802.11v client steering, необходим полный wpad-mbedtls.
На OpenWRT 24.10
opkg remove wpad-basic-mbedtls && \
opkg install wpad-mbedtls && \
service wpad restart
На OpenWRT 25.12+
apk del wpad-basic-mbedtls && \
apk add wpad-mbedtls && \
service wpad restart
После установки wpad-mbedtls сначала попробуйте service restart wpad, иначе может потребоваться перезагрузка для переключения на новый бинарный файл wpad. В противном случае вы можете получить ошибку вида daemon.notice netifd: radio1 (28210): WARNING (wireless_add_process): executable path /usr/sbin/wpad does not match process 1842 path (/usr/sbin/wpad (deleted)).
(Обратите внимание, что 802.11v client steering все еще в разработке)
Настройка OpenWISP в LuCI:
- Установите только
Server URLиShared secret.- НЕ добавляйте косую черту в конце
Server URL. Пример URL:http://192.168.1.1:8090 - Общий секрет — это значение, которое вы выбрали ранее (
OPENSOHO_SHARED_SECRET).
- НЕ добавляйте косую черту в конце
- При необходимости уменьшите
Update Intervalдо 30 секунд для более быстрых обновлений. (OpenSOHO сделает это за вас, если вы не сделаете) - OpenSOHO также включает мониторинг и уменьшает интервал мониторинга до 15 секунд для более быстрых обновлений состояния сети.
Настоятельно рекомендуется включить мониторинг, так как OpenSOHO выводит многие текущие настройки OpenWRT и заполняет их для удобной настройки.
Настройка OpenSOHO
- Дождитесь, пока устройства OpenWRT зарегистрируются самостоятельно, используя общий секрет.
- Установите флаг
Enabledустройства в true. - Установите
numradiosна правильное значение. Например, для устройства 2,4 + 5 ГГц это значение будет 2. - Настройте точку доступа Wi-Fi (SSID+KEY). Эта процедура позволяет OpenSOHO правильно определить конфигурацию радио при регистрации устройства.
- Прикрепите настроенную точку доступа Wi-Fi к устройству, чтобы оно было настроено.
- В настоящее время каждая сеть будет автоматически настроена на всех радио (настроенных с помощью
numradios). - При необходимости светодиоды также можно включать или выключать (пока только статическая конфигурация).
- Теперь поддерживается настройка радиочастот. OpenSOHO один раз считывает текущую конфигурацию радио и делает ее доступной в конфигурации radios. Может пройти минута или две, прежде чем появится конфигурация радио (для завершения этапов настройки и мониторинга требуется некоторое время).
Панель мониторинга
OpenSOHO поставляется с базовой панелью мониторинга. Она доступна через кнопку в левой боковой панели, прямо под логотипом OpenSOHO.
Обратите внимание, что это не предназначено для замены более продвинутых инструментов построения графиков, она была и будет оставаться намеренно базовой.
Настройка
Теперь OpenSOHO доступен по адресу http://ipaddress:8090/_/
Существует несколько коллекций конфигурации:
Клиенты
Это клиенты, подключенные к Wi-Fi. Эта таблица доступна только для чтения, за исключением псевдонима. Его можно использовать для присвоения устройствам понятного имени. Это работает только в том случае, если клиент не рандомизирует свой mac-адрес.
Подключенные клиенты
Содержит список клиентов, которые в данный момент подключены к вашей сети Wi-Fi. Чтобы показать IP-адрес устройства, OpenSOHO нужен доступ к вашим DHCP-арендам. Для этого необходимо, чтобы демон мониторинга openwisp был запущен на устройстве, содержащем DHCP-сервер. Устройства со статическим IP не получат IP. Это известное ограничение начиная с версии 0.12.0.
Устройства
Это подключенные устройства.
- Используйте enable/disable для отключения обновлений конфигурации. Это полезно, чтобы избежать обновления всех устройств сразу. Мониторинг остается активным.
- Статус здоровья — поле только для чтения.
healthyозначает, что устройство связывалось в течение последней минуты. Если нет, статус здоровья становитсяunhealthy, и возможно, есть проблема с устройством или его подключением. - Leds позволяет выбирать конфигурации светодиодов
- Numradios позволяет установить количество радио на устройстве. Это не отправляется изначально OpenWisp, поэтому должно быть установлено пользователем.
- Wifis позволяет выбрать SSID для применения на этом устройстве.
Светодиоды
- Базовая конфигурация светодиодов (пока скорее POC)
Радио
- Позволяет установить частоту для каждого радио.
- Диапазон не следует изменять, так как это позволяет OpenSOHO проверять конфигурацию частоты. Это необходимо из-за ограничений в PocketBase.
Wi-Fi
- Позволяет настраивать различные SSID. Выбор режимов шифрования в настоящее время ограничен. WEP или Open не поддерживаются по замыслу.
Мониторинг
Мониторинг устройств
Проверьте, является ли состояние устройства healthy.
Подключенные клиенты
Этот вид показывает всех клиентов Wi-Fi, которые все еще подключены в течение последних 30 секунд.
Интеграция с Home Assistant
Мониторинг OpenSOHO может быть интегрирован с Home Assistant. (Подробнее) Этот REST API предназначен для использования с Home Assistant, но также может быть интегрирован с другими инструментами.
Устранение неполадок
Перерегистрация устройства
Если изменение Server URL OpenWISP в LuCI не приводит к правильной регистрации на новом контроллере.
Чтобы исправить это:
uci delete openwisp.http.uuid
uci delete openwisp.http.key
/etc/init.d/openwisp-config restart
Первый SSID не включается
Похоже, в OpenWRT есть проблема: первый настроенный SSID на устройстве Wi-Fi не включается автоматически. Обходное решение: нажмите кнопку включения в LuCI.
Разработчикам
- Установите зависимости
go mod tidy
- Запустите OpenSOHO
Общий секрет используется openwisp-config для регистрации. Выберите длинную случайную строку для оптимальной безопасности.
Запуск модульных тестов:
go test -cover -v -coverprofile=coverage.out
go tool cover -html=coverage.out
Область применения
Возможности
Некоторые функции OpenWISP (в настоящее время) считаются выходящими за рамки OpenSOHO:
- Обновления прошивки: OpenWRT не требует частых обновлений; используйте функцию Attended sysupgrade на каждом устройстве вручную.
- Мультиарендность
- Шаблоны: OpenWISP имеет мощный и универсальный механизм шаблонов, который заменяется более специфичным набором функций для упрощения настройки.
Разработка
Цель — максимально использовать pocketbase. Могут быть внесены небольшие изменения, поскольку серверная часть pocketbase в настоящее время не имеет системы плагинов. Но цель не состоит в том, чтобы создать форк pocketbase, поэтому слияние изменений из основного репозитория остается простым.
Релиз
GITHUB_TOKEN=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa goreleaser release