
opensoho v0.15.0
小規模ネットワーク向けの軽量OpenWRTデバイス管理プラットフォーム。2〜20台のデバイスに対して集中設定・監視・WiFi管理を提供し、簡単な導入とOpenWISP互換性を備えています。
警告:これは初期リリースです。これまでにリリースされたすべてのリリースのリリースノートをお読みください
OpenSOHO
OpenSOHOは、少数のOpenWRTベースのネットワークデバイスを管理するために作られています。名前のSOHOは、Small Office Home Office(SOHO)ネットワークに由来しています。
- 2〜20台のデバイス(ハードリミットはありません)
- マルチテナンシーなし
- openwisp-configおよびopenwisp-monitoringと互換性あり。
- デプロイが簡単
OpenWISPに触発されていますが、OpenWISPで管理するには小さすぎるネットワークを対象としています。 OpenWispが述べているように:
ただし、OpenWISPは、非常に小規模なネットワーク(20台未満のデバイス)、IT専門知識を欠く組織、またはコスト削減のみを目的としてオープンソースの代替手段を求める企業には最適ではないかもしれません。
以下のバージョンでテストされています
- OpenWRT 24.10.x DSA
- OpenWRT 25.12.x DSA(ベータサポート)
OpenSOHOの始め方
概要
OpenSOHOのセットアップには、いくつかの簡単な手順が必要です。各手順の詳細は以下のセクションで説明します:
- サーバーにOpenSOHOをインストールします。
- OpenWRTデバイスにOpenWispパッケージをインストールします。
- 各OpenWRTデバイスでOpenWispを設定して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クライアントステアリングを使用する場合は、フル版の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クライアントステアリングはまだ開発中であることに注意してください)
LuCIでOpenWISPを設定:
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 + 5GHzデバイスの場合、この値は2になります。- Wifiアクセスポイント(SSID+KEY)を設定します。この手順により、OpenSOHOはデバイス登録時に無線設定を正しく検出できます。
- 設定済みのWifiアクセスポイントをデバイスに割り当てて、そのデバイスに設定を適用します。
- 現在、各ネットワークはすべての無線(
numradiosを使用して設定)で自動的に構成されます。 - 必要に応じて、LEDをオンまたはオフにすることもできます(現時点では静的設定のみ)。
- 無線周波数の設定がサポートされるようになりました。OpenSOHOは現在の無線設定を一度読み取り、無線設定の下で利用できるようにします。無線設定が表示されるまでに1〜2分かかることがあります(設定とモニタリングの手順が完了するまでに時間がかかるため)。
ダッシュボード
OpenSOHOには基本的なダッシュボードが付属しています。左端のサイドバーのOpenSOHOロゴのすぐ下にあるボタンからアクセスできます。
これは、より高度なグラフ化ツールの代替を意図したものではないことに注意してください。意図的に基本的なまま維持されており、今後もその予定です。
設定
OpenSohoには、http://ipaddress:8090/_/でアクセスできるようになりました。
設定コレクションはいくつかあります:
クライアント
これらはWifiに接続されているクライアントです。このテーブルは、エイリアス以外は読み取り専用です。デバイスに人間が読みやすい名前を付けるために使用できます。これは、クライアントがMACアドレスをランダム化しない場合にのみ正しく機能します。
接続中のクライアント
現在Wifiに接続されているクライアントのリストが含まれています。デバイスのIPアドレスを表示するには、OpenSOHOがDHCPリースにアクセスできる必要があります。そのためには、DHCPサーバーがあるデバイスでopenwispモニタリングデーモンを実行している必要があります。静的IPを持つデバイスにはIPが表示されません。これは0.12.0時点の既知の制限です。
デバイス
これらは接続されているデバイスです。
- enable/disableを使用して設定の更新を無効にします。これは、すべてのデバイスを一度に更新しないようにするのに役立ちます。モニタリングは引き続きアクティブです。
- ヘルスステータスは読み取り専用フィールドです。
healthyは、デバイスが過去1分以内に通信したことを意味します。通信していない場合、ヘルスステータスはunhealthyになり、デバイスまたはその接続に問題がある可能性があります。 - LedsではLED設定を選択できます
- Numradiosではデバイスの無線の数を設定できます。これは初期状態ではOpenWispから送信されないため、ユーザーが設定する必要があります。
- Wifisでは、このデバイスに適用するSSIDを選択できます。
LED
- 基本的なLED設定(現時点ではPOCに近いものです)
無線
- 各無線の周波数を設定できます。
- バンドは変更しないでください。これにより、OpenSOHOが周波数設定を検証できます。これはPocketBaseの制限によるものです。
Wifi
- さまざまなSSIDを設定できます。暗号化モードの選択肢は現在限られています。WEPまたはOpenは設計上サポートされていません。
モニタリング
デバイスのモニタリング
デバイスのヘルスがhealthyであるかどうかを確認します。
接続中のクライアント
このビューには、過去30秒以内に接続されているすべてのWifiクライアントが表示されます。
Home Assistantとの統合
OpenSOHOのモニタリングはHome Assistantと統合できます。(詳細) このREST APIはHome Assistantでの使用を想定して設計されていますが、他のツールとも統合できます。
トラブルシューティング
デバイスの再登録
LuCIでOpenWISPのServer URLを変更しても、新しいコントローラーに正しく登録されないように見える場合。これを修正するには:
uci delete openwisp.http.uuid
uci delete openwisp.http.key
/etc/init.d/openwisp-config restart
最初のSSIDが有効にならない
OpenWRTでは、Wifiデバイスで最初に設定されたSSIDが自動的に有効にならないという問題があるようです。回避策: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