
opensoho v0.15.2
小規模ネットワーク向けの軽量OpenWRTデバイス管理プラットフォーム。2〜20台のデバイスに対して集中設定・監視・WiFi管理を提供し、簡単な導入とOpenWISP互換性を備えています。
警告: これは早期リリースです。これまでのすべてのリリースノートをお読みください
OpenSOHO
プロジェクトのサポートをご検討いただきありがとうございます!
OpenSOHOは、少数のOpenWRTベースのネットワークデバイスを管理するために作られています。そのため、Small Office Home Office(SOHO)ネットワークに由来する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 時点での既知の制限です。
デバイス
これらは接続されているデバイスです。
- 有効化/無効化を使用して設定の更新を無効にします。これはすべてのデバイスを一度に更新するのを避けるのに役立ちます。モニタリングはアクティブなままです。
- ヘルスステータスは読み取り専用フィールドです。
healthyはデバイスが過去 1 分以内に通信したことを意味します。通信していない場合、ヘルスステータスはunhealthyになり、デバイスまたはその接続に問題がある可能性があります。 - Leds では LED 設定を選択できます
- Numradios ではデバイス上の無線の数を設定できます。これは最初は OpenWisp から送信されないため、ユーザーが設定する必要があります。
- Wifis ではこのデバイスに適用する SSID を選択できます。
DHCP 予約
ホスト名、MAC アドレス、IPv4 アドレス、および 1 つ以上の DHCP サーバーを指定して予約を作成します。OpenSOHO は、選択された各サーバーの /etc/config/dhcp に同じ名前の config host セクションを追加します。DHCP サーバーの選択を解除すると、予約を削除せずに無効化できます。ホスト名、MAC アドレス、IP アドレスは予約リスト全体で一意です。
Leds
- 基本的な LED 設定(現時点ではどちらかというと POC)
Radios
- 各無線の周波数を設定できます。
- バンドは変更しないでください。これにより OpenSOHO が周波数設定を検証できます。これは PocketBase 内の制限により必要です。
Wifi
- さまざまな SSID を設定できます。暗号化モードの選択肢は現在限られています。WEP または Open は設計上サポートされていません。
Monitoring
Device monitoring
デバイスのヘルスが healthy かどうかを確認します。
Connected clients
このビューには、過去 30 秒以内に接続が維持されているすべての wifi クライアントが表示されます。
Home Assistant integration
OpenSOHO の監視は Home Assistant と統合できます。(詳細情報) この REST API は Home Assistant での使用を目的として設計されていますが、他のツールとも統合できます。
Troubleshooting
Reregister a device
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