
En esta guía se configura un equipo con Windows 11 como estación de trabajo remota,
accesible desde Android y Ubuntu mediante una conexión privada creada con Tailscale.
El escritorio del equipo Windows se controla mediante RDP, mientras que Tailscale
se encarga de establecer la comunicación cifrada entre los dispositivos.
El entorno utilizado se compone de un mini PC GEEKOM A5 con Windows 11 Pro y Delphi 12.1, un dispositivo Android y un ordenador con Ubuntu. El objetivo consiste en poder utilizar Delphi desde cualquiera de estos dispositivos sin instalar Delphi directamente en Android o Linux.
El código fuente continúa almacenándose y versionándose mediante GitHub, de manera que el acceso remoto no sustituye al sistema de control de versiones.
1. Esquema de la instalación
ANDROID
|
| Tailscale
|
+----------------------+
|
UBUNTU |
| |
| Tailscale |
| |
+----------------------+
|
v
GEEKOM A5
Windows 11
|
Escritorio remoto
|
Delphi 12.1
|
Git / GitHub
Tailscale crea una red privada entre los dispositivos. La comunicación utiliza WireGuard como tecnología de túnel cifrado. De esta forma se evita publicar directamente el servicio de Escritorio remoto de Windows en Internet (Tailscale Inc., s. f.-a).
2. Instalar Tailscale en el equipo Windows
En primer lugar se instala Tailscale en el ordenador que permanece encendido como estación de desarrollo.
- Se accede al sitio oficial de Tailscale.
- Se descarga la versión para Windows.
- Se instala la aplicación.
- Se inicia sesión utilizando una cuenta compatible.
- Se comprueba que el ordenador aparece conectado en la red privada de Tailscale.
Tailscale asigna al ordenador una dirección IP privada perteneciente normalmente
al rango 100.x.x.x.
Esta dirección es la que posteriormente se utiliza para conectarse al equipo desde Android o Ubuntu.
3. Activar Escritorio remoto en Windows 11
En Windows 11 se navega hasta:
Configuración → Sistema → Escritorio remoto
Se activa la opción Escritorio remoto.
También se mantiene habilitada la opción:
Requerir que los dispositivos usen Autenticación a nivel de red para conectarse.
La autenticación a nivel de red, conocida como NLA, permite que la autenticación del usuario se realice antes de establecer completamente la sesión RDP (Microsoft, s. f.).
4. No abrir el puerto 3389 en Internet
RDP utiliza normalmente el puerto 3389. Sin embargo, utilizar RDP no implica que sea necesario abrir ese puerto en el router doméstico.
En esta configuración no se crea ninguna regla de redirección o port forwarding hacia el puerto 3389.
La comunicación se realiza de esta forma:
Android / Ubuntu
|
|
Internet
|
v
Tailscale
|
túnel cifrado
|
v
GEEKOM A5
|
v
RDP
Por tanto, el servicio RDP no se publica directamente mediante la dirección IP pública de la conexión doméstica.
5. Instalar Tailscale en Android
En Android se instala la aplicación oficial de Tailscale y se inicia sesión con la misma cuenta utilizada en el ordenador Windows.
Cuando ambos equipos se encuentran conectados se muestran dentro de la misma red privada.
Por ejemplo:
Android 100.x.x.x GEEKOM A5 100.x.x.x
El indicador de conexión permite comprobar que ambos dispositivos permanecen disponibles.
6. Instalar el cliente RDP en Android
Tailscale proporciona conectividad, pero no muestra directamente el escritorio del ordenador. Para visualizar Windows se utiliza un cliente compatible con Remote Desktop Protocol.
En Android se instala el cliente de Escritorio remoto de Microsoft y se crea una nueva conexión de PC.
En el campo correspondiente al equipo remoto se introduce la dirección IP de Tailscale asignada al GEEKOM:
100.x.x.x
No se configura ninguna puerta de enlace RDP adicional.
7. Usuario y contraseña de Windows
Al realizar la conexión se solicitan las credenciales del usuario de Windows.
Si Windows utiliza una cuenta Microsoft, se introduce normalmente la dirección de correo correspondiente a esa cuenta y su contraseña.
El PIN utilizado por Windows Hello no equivale necesariamente a la contraseña utilizada para una conexión RDP.
8. Aviso de certificado
Durante la primera conexión puede aparecer un aviso indicando que no se puede verificar el certificado del ordenador remoto.
Este comportamiento puede producirse porque el certificado identifica al equipo mediante su nombre de Windows mientras que la conexión se realiza utilizando la dirección IP proporcionada por Tailscale.
Antes de aceptar la conexión se comprueba que la dirección IP pertenece efectivamente al equipo esperado.
9. Resultado desde Android
Una vez establecida la conexión, el escritorio completo de Windows aparece en Android.
Delphi continúa ejecutándose realmente en el GEEKOM. El teléfono o la tablet actúan solamente como terminal remoto.
Tablet Android
|
| Tailscale + RDP
|
v
GEEKOM A5
Windows 11
|
v
Delphi 12.1
De esta forma se puede abrir Delphi, editar código, compilar un proyecto y ejecutarlo desde un dispositivo Android.
10. Conectar también desde Ubuntu
El mismo procedimiento se aplica desde Ubuntu.
Primero se instala Tailscale siguiendo las instrucciones oficiales para Linux (Tailscale Inc., s. f.-b).
Después se instala Remmina como cliente de Escritorio remoto.
sudo apt update sudo apt install remmina remmina-plugin-rdp
En Remmina se crea una conexión nueva con los siguientes datos:
Protocolo: RDP Servidor: 100.x.x.x Usuario: cuenta de Windows Contraseña: contraseña de Windows
La dirección del servidor vuelve a corresponder a la IP privada proporcionada por Tailscale.
11. Problema de pantalla negra con Remmina
Durante la prueba realizada se establece correctamente la conexión desde Ubuntu, pero inicialmente no se visualiza correctamente el escritorio.
La conexión muestra una pantalla prácticamente vacía aunque RDP permanece conectado.
Para solucionarlo se edita la conexión de Remmina y se accede a:
Editar conexión → Avanzado → Calidad
La calidad configurada inicialmente como:
Pobre (más rápido)
se cambia a una opción de calidad superior.
Después de realizar este cambio el escritorio de Windows se representa correctamente.
Esta solución corresponde al entorno utilizado en esta prueba. Otros problemas de pantalla negra pueden depender de FreeRDP, los controladores gráficos, la versión de Remmina o la configuración del servidor RDP.
12. Android puede funcionar más rápido que Remmina
Durante las pruebas se observa que el cliente utilizado en Android proporciona una respuesta más fluida que Remmina en Ubuntu.
Esto no implica necesariamente una diferencia producida por Tailscale. El rendimiento también depende del cliente RDP, la resolución, la compresión de imagen, la calidad gráfica configurada y el sistema utilizado para representar el escritorio remoto.
Para una sesión destinada principalmente a programación resulta recomendable priorizar la velocidad de respuesta frente a efectos gráficos de Windows.
13. Transferir archivos entre los equipos
La sesión remota también permite compartir archivos.
Remmina dispone de una opción para seleccionar una carpeta local que se comparte con la sesión RDP.
De esta forma se puede establecer un esquema similar al siguiente:
Ubuntu
/home/usuario/transferencia
|
| RDP
v
Windows 11
carpeta compartida
Tailscale dispone además de Taildrop, una función destinada a transferir archivos entre dispositivos pertenecientes a la misma red de Tailscale (Tailscale Inc., s. f.-c).
14. GitHub continúa siendo el origen del código
Aunque se utiliza Escritorio remoto, GitHub continúa actuando como repositorio central del código.
Por ejemplo, se puede instalar Delphi 12.1 tanto en un Lenovo como en el GEEKOM y utilizar cualquiera de los dos ordenadores para desarrollar.
GITHUB
repositorio
central
|
+----------+----------+
| |
v v
LENOVO GEEKOM
Delphi 12.1 Delphi 12.1
Antes de comenzar una sesión se obtienen los cambios:
git pull
Se desarrolla y se realizan las pruebas necesarias.
Al finalizar se registran los cambios:
git add . git commit -m "v01sep - descripcion" git push
Se puede utilizar una nomenclatura basada en la fecha para identificar cada sesión:
v12ago v15ago v01sep v02sep
Se recomienda añadir también una breve descripción del cambio:
v01sep - mejora del filtro de productos v02sep - validacion de stock v03sep - consulta SQLite
GitHub mantiene de esta manera el historial central del proyecto, mientras los equipos de desarrollo se pueden utilizar indistintamente.
15. Utilizar un router GL.iNet
El entorno también puede incorporar un router secundario como el GL.iNet GL-AXT1800.
Este dispositivo puede conectarse al router principal y crear una red separada para los equipos de desarrollo.
Internet | Router principal | v GL.iNet | +---- GEEKOM | +---- Lenovo | +---- Ubuntu
No obstante, Tailscale no requiere este router para funcionar.
El GL.iNet aporta principalmente administración independiente de la red, segmentación y posibilidades adicionales para realizar pruebas de laboratorio.
16. Acceso durante un viaje
El ordenador desde el que se accede al GEEKOM tampoco necesita encontrarse en la red doméstica.
Durante un viaje se puede compartir la conexión 4G o 5G de un teléfono mediante su punto de acceso Wi-Fi.
Teléfono 4G / 5G | Hotspot Wi-Fi | v Portátil Ubuntu | Tailscale | Internet | v GEEKOM A5
Mientras el portátil y el GEEKOM tengan acceso a Internet y permanezcan conectados a Tailscale, la comunicación se mantiene disponible.
17. Seguridad de la configuración
La principal medida adoptada consiste en evitar la publicación directa de RDP en Internet.
No se configura:
IP publica | puerto 3389 | GEEKOM
En su lugar se configura:
Dispositivo autorizado
|
v
Tailscale
|
conexión cifrada
|
v
GEEKOM
|
v
RDP
Tailscale utiliza WireGuard para proteger las comunicaciones entre los dispositivos autorizados (WireGuard, s. f.).
Sin embargo, la existencia de una conexión cifrada no sustituye otras medidas de protección.
Se mantienen actualizados Windows y los equipos clientes, se utiliza el firewall, se protege la cuenta utilizada para Tailscale y se revisan los dispositivos autorizados.
También resulta recomendable utilizar autenticación multifactor cuando se encuentra disponible.
18. Entorno final
Después de completar la configuración se dispone de una estación Windows que puede controlarse desde varios sistemas:
ANDROID
|
|
UBUNTU
|
|
TAILSCALE
|
v
GEEKOM A5
Windows 11
|
v
Delphi 12.1
|
v
GitHub
El GEEKOM realiza la compilación y ejecución de Delphi, mientras Android y Ubuntu se utilizan como dispositivos de acceso.
Esta arquitectura permite mantener un entorno de desarrollo Windows disponible desde diferentes ubicaciones y dispositivos sin trasladar continuamente la instalación del IDE.
GitHub continúa siendo el punto central del código fuente y Tailscale proporciona la comunicación privada necesaria para acceder al equipo remoto.
Referencias
GitHub. (s. f.). Getting changes from a remote repository. GitHub Docs. https://docs.github.com/en/get-started/using-git/getting-changes-from-a-remote-repository
Microsoft. (s. f.). Remote Desktop clients for Remote Desktop Services and remote PCs. Microsoft Learn. https://learn.microsoft.com/
Tailscale Inc. (s. f.-a). How Tailscale works. Tailscale Documentation. https://tailscale.com/blog/how-tailscale-works
Tailscale Inc. (s. f.-b). Install Tailscale on Linux. Tailscale. https://tailscale.com/download/linux
Tailscale Inc. (s. f.-c). Send files to your devices with Taildrop. Tailscale Documentation. https://tailscale.com/kb/1106/taildrop
WireGuard. (s. f.). WireGuard: Fast, modern, secure VPN tunnel. https://www.wireguard.com/
InformatOLI — Desarrollo de software y ciberseguridad desde 1996
