
소규모 네트워크를 위한 경량 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에 등록할 수 있도록 하는 공유 비밀(shared secret)을 선택합니다.
최적의 보안을 위해 긴 무작위 문자열을 선택하세요.
이는 다음 단계에서 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가 되며 장치 또는 연결에 문제가 있을 수 있습니다.호스트 이름, MAC 주소, IPv4 주소, 그리고 하나 이상의 DHCP 서버로 예약을 생성합니다. OpenSOHO는 선택된 모든 서버의 /etc/config/dhcp에 동일한 이름의 config host 섹션을 추가합니다. DHCP 서버 선택을 해제하면 예약을 삭제하지 않고 비활성화할 수 있습니다. 이름, MAC 주소, IP 주소는 예약 목록 전체에서 고유합니다.
장치 상태가 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