Saltar a contenido

RustDesk

Escritorio remoto self-hosted (estilo AnyDesk/TeamViewer pero open source y sin licencia). Servidor propio: rendezvous (hbbs) + relay (hbbr).

📁 Rutas y configs

Qué Dónde
Compose /opt/docker/rustdesk/compose.yaml
Data (claves + DB registros) /opt/docker/rustdesk/data/ (root:root 700 — contiene id_ed25519 privada)
Clave pública de conexión /opt/docker/rustdesk/data/id_ed25519.pub

Contenedores: hbbs (rendezvous) y hbbr (relay) — network_mode: host, sin puertos publicados vía Docker.

🔑 Clave pública (obligatoria en ambos clientes)

hbbs genera un par ed25519 en el primer arranque. La clave pública (id_ed25519.pub) hay que cargarla en todos los clientes (servidor + laptop) en Settings → Network → Key, junto con el ID server. Sin la key no hay conexión cifrada.

Pub key actual: h41fN20uO0b2MrLtPmq9CBDSfZsBenHKB8+DAwNuMyw= (guardarla en Vaultwarden).

🌐 Red / puertos (host mode)

Puerto Proto Servicio
21115 tcp NAT type test (hbbs)
21116 tcp + udp ID registration + heartbeat + hole punching (hbbs)
21117 tcp Relay (hbbr)
  • network_mode: host (como recomienda la doc oficial): hbbs/hbbr ven las IPs reales de los clientes para el rendezvous. Excepción justificada a la regla "host solo para Caddy".
  • Sin 21118/21119: son para el cliente web (RustDesk Web) — la doc advierte riesgo de headers spoofeados, no se usan.
  • Alcance: solo LAN (192.168.0.0/24) y WireGuard (10.66.66.0/24 y 100.99.21.0/24). UFW está INACTIVO en el host (INPUT/FORWARD ACCEPT, DOCKER-USER vacía — ver nota 27 jul 2026 en homelab.md): la protección la da el router TP-LINK, que NO forwardea 21115-21117 a WAN. No tocar UFW sin plan propio.

📱 Clientes

  • Linux: .deb de https://github.com/rustdesk/rustdesk/releases (apt install -fy ./rustdesk-*.deb) o AppImage/Flatpak.
  • ID server: 192.168.0.12 (LAN) o 10.66.66.1 / 100.99.21.122 (WG). Relay server: se infiere solo (mismo host, 21117).
  • Key: la pub key de arriba. Password permanente para acceso desatendido al servidor.
  • El host (lado controlado) corre X11 (SDDM/KDE en Xorg) — RustDesk controla sesiones X11 sin problemas. Wayland del cliente controlador es indiferente.

🔧 Troubleshooting

docker logs hbbs --tail 20   # ver rendezvous server
docker logs hbbr --tail 20   # ver relay
ss -tulpn | grep -E '2111[5-7]'  # puertos escuchando
  • Si los clientes no registran su ID → el ID server no es alcanzable (probar nc -vz 192.168.0.12 21116), o falta la key.
  • Si se conecta pero se cae lento → revisar si está pasando por relay (21117) en vez de conexión directa.