
小規模ネットワーク向けの軽量OpenWRTデバイス管理プラットフォーム。2〜20台のデバイスに対して集中設定・監視・WiFi管理を提供し、簡単な導入とOpenWISP互換性を備えています。
警告:これは初期リリースです。これまでにリリースされたすべてのリリースのリリースノートをお読みください
OpenSOHOは、少数のOpenWRTベースのネットワークデバイスを管理するために作られています。名前のSOHOは、Small Office Home Office(SOHO)ネットワークに由来しています。
OpenWISPに触発されていますが、OpenWISPで管理するには小さすぎるネットワークを対象としています。 OpenWispが述べているように:
ただし、OpenWISPは、非常に小規模なネットワーク(20台未満のデバイス)、IT専門知識を欠く組織、またはコスト削減のみを目的としてオープンソースの代替手段を求める企業には最適ではないかもしれません。
以下のバージョンでテストされています
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
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クライアントステアリングはまだ開発中であることに注意してください)
Server URLとShared secretのみを設定します。
Server URLの末尾にスラッシュを付けないでください。URLの例:http://192.168.1.1:8090OPENSOHO_SHARED_SECRET)です。Update Intervalを30秒に下げます。(設定しない場合、OpenSOHOが自動的にこれを行います)モニタリングを有効にすることを強くお勧めします。OpenSOHOは現在のOpenWRT設定の多くを推定し、簡単に設定できるように自動入力するためです。
Enabledフラグをtrueに設定します。numradiosを正しい値に設定します。たとえば、2.4 + 5GHzデバイスの場合、この値は2になります。numradiosを使用して設定)で自動的に構成されます。OpenSOHOには基本的なダッシュボードが付属しています。左端のサイドバーのOpenSOHOロゴのすぐ下にあるボタンからアクセスできます。
これは、より高度なグラフ化ツールの代替を意図したものではないことに注意してください。意図的に基本的なまま維持されており、今後もその予定です。
OpenSohoには、http://ipaddress:8090/_/でアクセスできるようになりました。
設定コレクションはいくつかあります:
これらはWifiに接続されているクライアントです。このテーブルは、エイリアス以外は読み取り専用です。デバイスに人間が読みやすい名前を付けるために使用できます。これは、クライアントがMACアドレスをランダム化しない場合にのみ正しく機能します。
現在Wifiに接続されているクライアントのリストが含まれています。デバイスのIPアドレスを表示するには、OpenSOHOがDHCPリースにアクセスできる必要があります。そのためには、DHCPサーバーがあるデバイスでopenwispモニタリングデーモンを実行している必要があります。静的IPを持つデバイスにはIPが表示されません。これは0.12.0時点の既知の制限です。
これらは接続されているデバイスです。
healthyは、デバイスが過去1分以内に通信したことを意味します。通信していない場合、ヘルスステータスはunhealthyになり、デバイスまたはその接続に問題がある可能性があります。デバイスのヘルスがhealthyであるかどうかを確認します。
このビューには、過去30秒以内に接続されているすべてのWifiクライアントが表示されます。
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
OpenWRTでは、Wifiデバイスで最初に設定されたSSIDが自動的に有効にならないという問題があるようです。回避策:LuCIで有効ボタンをクリックします。
go mod tidy
共有シークレットは、openwisp-configが登録するために使用されます。最適なセキュリティのため、長いランダムな文字列を選択してください。
ユニットテストの実行:
go test -cover -v -coverprofile=coverage.out
go tool cover -html=coverage.out
一部のOpenWISP機能は(現時点では)OpenSOHOのスコープ外と見なされています
目標は、pocketbaseを最大限に活用することです。pocketbaseバックエンドには現在プラグインシステムがないため、小さな変更を加えることができます。ただし、pocketbaseのフォークを作成することが目的ではないため、アップストリームの変更のマージは引き続き簡単です。
GITHUB_TOKEN=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa goreleaser release