
소규모 네트워크를 위한 경량 OpenWRT 장치 관리 플랫폼입니다. 2~20대 장치에 대한 중앙 집중식 구성, 모니터링 및 WiFi 관리를 간편한 배포와 OpenWISP 호환성으로 제공합니다.
경고: 이 버전은 초기 릴리스입니다. 지금까지의 모든 릴리스 노트를 읽어주세요
OpenSOHO는 소수의 OpenWRT 기반 네트워크 장치를 관리하기 위해 구축되었습니다. 따라서 SOHO라는 이름은 Small Office Home Office (SOHO) 네트워크에서 유래했습니다.
OpenWISP에서 영감을 받았지만, OpenWISP로 유지 관리하기에는 너무 작은 네트워크를 대상으로 합니다. OpenWISP에서 언급했듯이:
그러나 OpenWISP는 매우 작은 네트워크(20개 미만 장치), IT 전문성이 부족한 조직, 또는 비용 절감 목적으로만 오픈소스 대안을 찾는 기업에는 가장 적합하지 않을 수 있습니다.
다음 버전이 테스트되었습니다
OpenSOHO 설정은 몇 가지 간단한 단계로 이루어지며, 각 단계는 아래 섹션에서 자세히 설명합니다:
최신 OpenSOHO 릴리스 다운로드 (또는 도커 컨테이너 사용)
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/_/ 를 통해 접근할 수 있습니다.
여러 구성 컬렉션이 있습니다:
이는 Wi-Fi에 연결된 클라이언트입니다. 이 테이블은 별칭을 제외하고 읽기 전용입니다. 별칭을 사용하여 장치에 사람이 읽을 수 있는 이름을 지정할 수 있습니다. 이는 클라이언트가 MAC 주소를 무작위화하지 않는 경우에만 제대로 작동합니다.
현재 Wi-Fi에 연결된 클라이언트 목록을 포함합니다. 장치의 IP 주소를 표시하려면 OpenSOHO가 DHCP 임대에 접근해야 합니다. 이를 위해서는 DHCP 서버가 있는 장치에서 openwisp 모니터링 데몬이 실행 중이어야 합니다. 고정 IP 장치는 IP를 얻지 못합니다. 이는 0.12.0 버전 기준으로 알려진 제한 사항입니다.
연결된 장치입니다.
healthy는 장치가 지난 1분 내에 통신했음을 의미합니다. 그렇지 않으면 상태가 unhealthy가 되며 장치 또는 연결에 문제가 있을 수 있습니다.장치 상태가 healthy인지 확인합니다.
이 보기는 지난 30초 이내에 여전히 연결된 모든 Wi-Fi 클라이언트를 표시합니다.
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에서 Wi-Fi 장치의 첫 번째 구성된 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