RustDesk: Escritorio remoto autohospedado
Introducción
Este artículo documenta el uso de RustDesk como solución de escritorio remoto autohospedada dentro del stack de infraestructura. RustDesk actúa como alternativa abierta a herramientas como AnyDesk o TeamViewer, permitiendo control remoto gráfico y transferencia de archivos sin depender de servicios de terceros.
El enfoque aquí descrito se basa en control total de la infraestructura, manteniendo los servidores de señalización y relay bajo gestión propia y desacoplando la solución de cualquier proveedor externo.
Enfoque general / Arquitectura
RustDesk separa de forma clara la coordinación de conexiones del tráfico de sesión, lo que permite una arquitectura flexible y escalable.
Componentes principales:
-
HBBS (ID Server) Gestiona el registro de clientes, resolución de IDs y coordinación inicial de conexiones.
-
HBBR (Relay Server) Reenvía el tráfico únicamente cuando no es posible establecer conexión directa entre clientes (fallback).
-
Clientes RustDesk Aplicaciones de escritorio o móviles que establecen conexiones cifradas punto a punto siempre que es posible.
El tráfico intenta ser P2P por defecto; el relay solo interviene cuando NAT o firewall lo impiden.
Características relevantes
-
Autohospedaje completo Servidores bajo control propio, sin dependencias cloud.
-
Cifrado extremo a extremo El contenido de la sesión no es visible para el servidor.
-
Multiplataforma Clientes disponibles para Windows, Linux, macOS, Android e iOS.
-
Soporte para acceso desatendido Ideal para administración remota de servidores y equipos.
-
Transferencia de archivos integrada Sin necesidad de canales adicionales.
Requisitos previos
Dependencias que condicionan el despliegue:
- Host Linux con conectividad pública o accesible por los clientes.
- Puertos necesarios abiertos según el modo de despliegue.
- Docker y Docker Compose operativos.
La configuración detallada de servicios, puertos y volúmenes se mantiene versionada en Gitea.
Desarrollo
Qué se hizo y por qué
- Se despliega RustDesk en contenedores para facilitar actualizaciones y aislamiento.
- Se separan claramente los roles de HBBS y HBBR para evitar acoplamientos innecesarios.
- Se mantiene la configuración persistente fuera del contenedor para conservar claves y estado.
- El servicio se plantea como infraestructura base, no como herramienta puntual.
Configuración utilizada (solo enlaces)
Toda la configuración de RustDesk se encuentra versionada en el repositorio interno:
Incluye:
- Definición de servicios HBBS y HBBR.
- Configuración de red y puertos.
- Volúmenes persistentes para claves y estado.
Validación
Comprobaciones mínimas tras el despliegue:
- Conexión correcta de clientes al servidor propio.
- Establecimiento de sesiones cifradas.
- Funcionamiento del relay solo cuando no hay conexión directa.
- Persistencia de configuración tras reinicios.
Consideraciones de seguridad
- No exponer el servicio sin comprender los puertos y protocolos implicados.
- Proteger el acceso al servidor y limitar quién puede conectarse.
- Revisar y regenerar claves si se migra o reinstala el servidor.
- Evaluar el uso combinado con VPN o proxy inverso en entornos sensibles.
Resumen breve
RustDesk permite disponer de un sistema de escritorio remoto moderno, cifrado y completamente autohospedado. Separando coordinación y tráfico, ofrece flexibilidad, control y eliminación de dependencias externas, siendo una pieza sólida para administración remota dentro de la infraestructura.