Skip to main content

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.


Referencias