RustDesk 자체호스팅 서버 jp1 incus 배포 (원격지원)
This commit is contained in:
61
services/rustdesk.md
Normal file
61
services/rustdesk.md
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
title: RustDesk 자체호스팅 (원격지원)
|
||||
updated:
|
||||
- 2026-06-11 jp1 incus에 OCI 컨테이너로 배포 (고객 원격지원용)
|
||||
tags: [services, remote-support, rustdesk, incus, jp1]
|
||||
---
|
||||
|
||||
# RustDesk 자체호스팅 서버
|
||||
|
||||
고객 PC 원격지원용 자체호스팅 RustDesk 서버. 상용(AnyDesk/TeamViewer) 대체.
|
||||
|
||||
## 위치 / 구성
|
||||
|
||||
| 항목 | 값 |
|
||||
|------|-----|
|
||||
| 호스트 | [[../infra/compute/hosts/incus-jp1\|incus-jp1]] (도쿄), default 프로젝트 |
|
||||
| 인스턴스 | `rustdesk` (OCI: `docker:rustdesk/rustdesk-server-s6` 올인원 s6, hbbs+hbbr) |
|
||||
| 컨테이너 IP | 10.253.101.222 |
|
||||
| **공개 엔드포인트** | **42.125.196.116** (jp1 공인 IP, eno1 직결) |
|
||||
| 구성요소 | hbbs(ID/rendezvous, `-r 42.125.196.116 -k _`), hbbr(relay) |
|
||||
| 데이터/키 | 컨테이너 `/data` (db_v2.sqlite3, id_ed25519[.pub]) — 인스턴스 fs에 영속 |
|
||||
| autostart | `boot.autostart=true` |
|
||||
| 암호화 | `ENCRYPTED_ONLY=1` (키 없는 클라이언트 거부) |
|
||||
|
||||
## 공개키 (클라이언트 설정 필수)
|
||||
|
||||
```
|
||||
tazDfFELv4N7HOSNiCPPyJ7qG0Cx4K6byPEr33vBvUI=
|
||||
```
|
||||
|
||||
## 포트 (incus proxy 디바이스로 공인 IP 노출)
|
||||
|
||||
| 포트 | proto | 용도 | proxy 디바이스명 |
|
||||
|------|-------|------|------------------|
|
||||
| 21115 | TCP | hbbs NAT type test | idns |
|
||||
| 21116 | TCP | hbbs TCP hole punch/heartbeat | reg |
|
||||
| 21116 | **UDP** | hbbs ID 등록 (필수) | regudp |
|
||||
| 21117 | TCP | hbbr relay | relay |
|
||||
| 21118 | TCP | hbbs 웹클라이언트 ws (선택) | webs |
|
||||
| 21119 | TCP | hbbr 웹클라이언트 ws (선택) | webr |
|
||||
|
||||
- jp1 nft INPUT policy=accept라 별도 방화벽 개방 불필요. 외부 도달 5포트 검증 완료(2026-06-11).
|
||||
- proxy 디바이스: `incus config device add jp1:rustdesk <name> proxy listen=<proto>:0.0.0.0:<port> connect=<proto>:127.0.0.1:<port> --project default`
|
||||
|
||||
## 클라이언트 설정 (고객/지원자 공통)
|
||||
|
||||
RustDesk 앱 → 설정 → 네트워크 → ID/relay 서버:
|
||||
- **ID 서버**: `42.125.196.116`
|
||||
- **Relay 서버**: `42.125.196.116`
|
||||
- **Key**: `tazDfFELv4N7HOSNiCPPyJ7qG0Cx4K6byPEr33vBvUI=`
|
||||
|
||||
## 운영
|
||||
|
||||
- 로그/상태: `incus exec jp1:rustdesk --project default -- sh -c 'ps aux | grep hbb; ss -tulnp | grep 2111'`
|
||||
- 재시작: `incus restart jp1:rustdesk --project default`
|
||||
- 공개키 재확인: `incus exec jp1:rustdesk --project default -- cat /data/id_ed25519.pub`
|
||||
- 권고: 안정 호스트명(`rustdesk.inouter.com` A → 42.125.196.116) 부여 시 클라이언트 설정이 IP 변경에 안전. 현재는 jp1 정적 공인 IP 직접 사용.
|
||||
|
||||
## 배경
|
||||
|
||||
2026-06-11 inbest SFTP 고객 장애(실제 원인은 FileZilla, [[../infra/compute/hosts/zlambda]] 참조) 대응 중 원격지원 수단 부재 확인 → 자체호스팅 RustDesk 도입. K3s가 Incus로 이전 중이라 신규 서비스는 Incus에 배치([[../infra/compute/k3s-to-incus-migration]]).
|
||||
Reference in New Issue
Block a user