Solución de la comunidad

Cómo acceder de forma remota a CasaOS con Tailscale

A 2023 CasaOS community tutorial showing how to run the Tailscale Docker client, authenticate it with TS_AUTHKEY, join other devices to the same tailnet, and reach CasaOS remotely without conventional port forwarding.

Tailscale proporciona al servidor de CasaOS una dirección privada a la que pueden acceder tus propios dispositivos autorizados incluso cuando estás fuera de casa. El tutorial original de IceWhale Community, publicado en octubre de 2023 para CasaOS 0.4.4 y una versión anterior de Tailscale, utilizaba la imagen oficial de Tailscale para Docker, una clave de autenticación y un segundo cliente de Tailscale para crear esa conexión de malla privada.

La idea básica sigue siendo válida: ejecuta Tailscale en el host de CasaOS, únelo a tu tailnet, instala Tailscale en el teléfono o equipo remoto y, a continuación, abre CasaOS usando su dirección IP de Tailscale o el nombre DNS configurado. Sin embargo, las capturas de pantalla y los campos exactos de Docker son históricos. Las implementaciones actuales de contenedores de Tailscale también deberían conservar el estado de Tailscale, proteger la credencial de autenticación y seguir las directrices actuales de control de acceso.

Qué hace esta configuración de CasaOS + Tailscale

La guía de la comunidad se diseñó para evitar la redirección convencional de puertos públicos. En lugar de publicar directamente el panel de CasaOS en internet, los dispositivos se unen a la misma red de Tailscale, denominada tailnet, y se comunican mediante direcciones de Tailscale.

El flujo de trabajo original era:

  1. Ejecuta el cliente de Tailscale en el servidor de CasaOS.
  2. Crea una cuenta de Tailscale o inicia sesión en ella.
  3. Genera una clave de autenticación y proporciónasela al contenedor de Tailscale.
  4. Instala Tailscale en el portátil, teléfono u otro dispositivo remoto.
  5. Inicia sesión en ese dispositivo en la misma tailnet.
  6. Abre CasaOS usando la dirección IP de Tailscale o un nombre DNS de tu tailnet.

Se trata de acceso a una red privada. Normalmente no necesitas redirigir el puerto del panel de CasaOS a través del router de casa solo para usarlo mediante Tailscale.

Límite de versiones importante para el tutorial original

La publicación original indica explícitamente CasaOS 0.4.4 y Tailscale 1.21.3. Se redactó en 2023, y tanto CasaOS como la configuración de los contenedores de Tailscale han evolucionado desde entonces. Usa las capturas de pantalla siguientes para entender el flujo de trabajo, en lugar de asumir que todos los campos aparecerán exactamente en el mismo lugar en una interfaz actual de CasaOS o Docker.

La guía actual de Tailscale para Docker oficial sigue admitiendo la autenticación de un contenedor con TS_AUTHKEY, pero también muestra cómo conservar el estado y las capacidades que necesita el contenedor.

Paso 1: Añadir el contenedor de Tailscale a CasaOS

La guía de 2023 importaba la imagen oficial de Tailscale para Docker en CasaOS. Si estás reproduciendo el flujo histórico de la interfaz, asegúrate de que la fuente de la imagen sea la oficial tailscale/tailscale imagen en lugar de un contenedor de terceros desconocido.

Pantalla de aplicación personalizada de CasaOS utilizada para importar el contenedor de Docker de Tailscale
La guía original de CasaOS comienza importando Tailscale como una aplicación de Docker.
Pantalla de configuración de Docker de CasaOS para la aplicación del contenedor de Tailscale
Los campos exactos de CasaOS que se muestran aquí reflejan la interfaz de 2023 y deben comprobarse con tu instalación actual.

Para un contenedor independiente moderno de Tailscale, la documentación oficial muestra conceptualmente el siguiente patrón básico:

docker run -d \
  --name tailscale \
  --hostname casaos-server \
  -e TS_AUTHKEY=<tskey-YOUR-AUTH-KEY> \
  -e TS_STATE_DIR=/var/lib/tailscale \
  -v ./tailscale-state:/var/lib/tailscale \
  --cap-add=net_admin \
  --cap-add=net_raw \
  --restart unless-stopped \
  tailscale/tailscale:latest

No pegues una clave de autenticación en una publicación pública, captura de pantalla, repositorio o solicitud de soporte. Trátala como una contraseña. Los campos exactos de Instalación personalizada de CasaOS deben representar los mismos requisitos de Docker y, al mismo tiempo, coincidir con la interfaz gráfica disponible en tu versión.

Paso 2: Genera una clave de autenticación de Tailscale

A continuación, el tutorial de la comunidad creó una cuenta de Tailscale y generó una clave de autenticación desde la interfaz de administración de Tailscale. Después, esa clave se proporcionó al contenedor de CasaOS mediante la TS_AUTHKEY variable de entorno.

Página de administración de Tailscale utilizada para crear una clave de autenticación para CasaOS
El tutorial original generaba una clave de autenticación para que el contenedor de CasaOS pudiera unirse a la tailnet.
Campo del entorno del contenedor de Tailscale de CasaOS configurado con TS_AUTHKEY
La credencial generada se pasa al contenedor de Tailscale mediante la variable de entorno TS_AUTHKEY.

La documentación actual de Tailscale sigue admitiendo TS_AUTHKEYLas claves de autenticación pueden crearse con distintas propiedades, incluido el comportamiento reutilizable o efímero. Elige únicamente los privilegios y la duración adecuados para el servidor, y rota una clave si crees que ha quedado expuesta.

Conserva el estado de Tailscale para que los reinicios no se comporten como instalaciones nuevas

Este punto es más importante en una implementación actual de lo que dejan claro las capturas antiguas. Los ejemplos actuales de Docker de Tailscale establecen:

TS_STATE_DIR=/var/lib/tailscale

y conserva ese directorio con un volumen de Docker o un montaje enlazado. Sin un estado persistente, recrear un contenedor puede hacer que la autenticación y la identidad del nodo se comporten de forma distinta a la esperada.

Tailscale también proporciona TS_AUTH_ONCE=true para implementaciones que solo deban autenticarse cuando el contenedor no tenga un estado de inicio de sesión guardado. Si usas esa opción, asegúrate de que el directorio de estado sea realmente persistente.

Consulta los parámetros de configuración actuales de Tailscale para Docker antes de convertir una captura de pantalla antigua de CasaOS en una configuración de contenedor nueva.

Paso 3: Comprueba que el nodo de CasaOS aparezca en Tailscale

Después de que el contenedor se inicie correctamente, abre la página de administración de dispositivos de Tailscale y confirma que el nodo de CasaOS aparece como conectado. A continuación, el tutorial original utilizó la lista de dispositivos para identificar la dirección de Tailscale asignada al servidor.

Lista de dispositivos de Tailscale que muestra un servidor con CasaOS conectado a la tailnet
Una vez autenticado, el servidor con CasaOS debería aparecer como un dispositivo en la misma red de Tailscale.

Si el contenedor se ejecuta, pero el servidor no aparece como conectado, revisa los registros del contenedor, confirma que la clave de autenticación sea válida y asegúrate de que estén configurados el estado y las capacidades de red que requiere la imagen de Tailscale que utilizas actualmente.

Paso 4: Instala Tailscale en el dispositivo remoto

Instala el cliente de Tailscale en el portátil, teléfono o tableta que usarás fuera de casa y, después, inicia sesión en la misma tailnet. Los dos dispositivos no tienen que estar en la misma red Wi-Fi una vez que ambos estén conectados a Tailscale.

Las conexiones actuales de Tailscale pueden ser directas o retransmitidas, según las condiciones de la red. La documentación de Tailscale indica que las conexiones directas, retransmitidas mediante DERP y las conexiones Tailscale Peer Relay siguen cifradas de extremo a extremo con WireGuard; la principal diferencia es el rendimiento, no si la carga útil está cifrada.

Paso 5: Abre CasaOS con su IP de Tailscale

La guía original copió la IP de Tailscale del servidor con CasaOS y la introdujo en un navegador desde el dispositivo remoto.

Navegador conectándose remotamente al panel de CasaOS mediante su dirección de Tailscale
El cliente remoto puede abrir CasaOS usando la dirección de Tailscale del servidor cuando ambos dispositivos pertenecen a la misma tailnet.

La dirección suele ser una IP de Tailscale 100.x.x.x IP. Si tu tailnet usa MagicDNS y el nodo de CasaOS tiene un nombre de máquina adecuado, también puedes usar su nombre DNS de Tailscale en lugar de memorizar la IP.

Usa el puerto del panel de CasaOS en el que realmente escucha tu instalación. Si CasaOS está configurado en un puerto no predeterminado, incluye ese puerto en la URL.

La IP de Tailscale y la IP de la LAN doméstica no son lo mismo

Una fuente común de confusión es esperar que Tailscale en un servidor haga que automáticamente se pueda acceder a todas las IP normales de la red doméstica. Conectarse directamente a la máquina con CasaOS mediante su dirección de Tailscale es una configuración. Acceder a otros dispositivos mediante sus direcciones LAN habituales, como 192.168.1.x, es una función diferente de Tailscale llamada enrutamiento de subredes.

Si solo necesitas el panel de CasaOS y las aplicaciones que se ejecutan en ese mismo host, empieza con la IP de Tailscale del servidor. Configura el enrutamiento de subredes solo cuando quieras intencionadamente que el nodo de Tailscale enrute el tráfico hacia otros dispositivos o subredes de tu red doméstica.

Corrección de seguridad: normalmente no necesitas otra VPN junto con Tailscale

La publicación original de 2023 incluía una nota que sugería usar otra VPN para transferencias confidenciales. Esa redacción puede resultar engañosa. Tailscale es, por sí mismo, un sistema de red privada cifrada basado en WireGuard. La documentación actual de Tailscale indica que el tráfico entre dispositivos de Tailscale está cifrado de extremo a extremo, incluso cuando la conexión se retransmite.

Por lo tanto, normalmente no se necesita otra VPN simplemente para cifrar el tráfico de CasaOS que ya circula entre nodos de Tailscale. Ejecutar varios productos VPN al mismo tiempo también puede crear conflictos de enrutamiento. Controles de seguridad más útiles son:

  • Protege la cuenta de identidad utilizada para acceder a tu tailnet.
  • Trata las claves de autenticación y las credenciales de OAuth como secretos.
  • Elimina del tailnet los dispositivos antiguos o no reconocidos.
  • Aplica reglas de acceso con el principio de mínimo privilegio en lugar de permitir que todos los nodos accedan indefinidamente a todos los servicios.
  • Mantén actualizados CasaOS, Docker, Tailscale y las aplicaciones alojadas.
  • No expongas públicamente el panel de CasaOS solo porque Tailscale también esté instalado.

Tailscale ahora recomienda permisos y políticas de control de acceso para limitar qué usuarios y dispositivos pueden acceder a servicios específicos.

Qué añadieron las respuestas posteriores sobre ZimaOS

Una respuesta de 2024 preguntaba si el mismo tutorial funcionaba en un NAS personal en la nube ZimaCube actual con ZimaOS. El usuario podía ver el dispositivo como conectado en Tailscale, pero la interfaz de ZimaOS solo se cargaba parcialmente y mostraba repetidamente un mensaje de error al cargar las aplicaciones. El autor original sugirió reiniciar y señaló que ZimaOS también tenía su propia opción de acceso remoto. Posteriormente, el usuario informó que el problema se solucionó tras actualizar ZimaOS a la versión 1.2.2.

Esa respuesta es evidencia histórica, no una garantía de compatibilidad actual. Demuestra que se puede establecer una conexión de Tailscale mientras una versión concreta de la interfaz de ZimaOS aún presenta problemas al cargar aplicaciones. Una respuesta posterior de 2025 indicó que el método paso a paso también ayudó a esa persona a hacer funcionar Tailscale en ZimaOS.

Si utilizas el ZimaOS moderno en lugar de CasaOS, sigue la documentación actual de aplicaciones y acceso remoto de ZimaOS en vez de asumir que la pantalla de instalación personalizada de CasaOS de 2023 es la configuración recomendada. Aunque ambos sistemas operativos comparten parte de su historia dentro del ecosistema, sus flujos actuales de gestión de aplicaciones y acceso remoto no son idénticos.

Lista de comprobación para solucionar problemas de Tailscale en CasaOS

  1. Confirma que el contenedor de Tailscale se esté ejecutando en CasaOS.
  2. Confirma que la imagen sea el contenedor oficial de Tailscale esperado u otra fuente en la que confíes intencionadamente.
  3. Comprueba que la credencial de autenticación sea válida y no haya caducado ni sido revocada.
  4. Hacer persistente /var/lib/tailscale para que el nodo conserve su estado al recrear el contenedor.
  5. Comprueba que el servidor CasaOS aparezca como conectado en la lista de dispositivos de Tailscale.
  6. Instala Tailscale en el dispositivo remoto e inicia sesión en la misma tailnet permitida.
  7. Prueba la dirección de Tailscale del servidor CasaOS 100.x.x.x dirección antes de intentar usar direcciones LAN normales.
  8. Si la IP funciona, pero el nombre de host no, revisa la configuración de DNS o MagicDNS.
  9. Si necesitas acceder a otros dispositivos de la LAN, configura el enrutamiento de subredes por separado.
  10. Revisa las reglas de acceso de la tailnet para que solo los usuarios y dispositivos previstos puedan acceder a los servicios de CasaOS.

Preguntas frecuentes sobre el acceso remoto de CasaOS mediante Tailscale

¿Necesito abrir puertos de CasaOS en mi router?

No para el flujo normal de Tailscale descrito aquí. Tanto el servidor CasaOS como el cliente remoto se unen a la misma tailnet privada, por lo que accedes al servidor mediante su dirección de Tailscale en lugar de exponer directamente el panel de CasaOS a Internet pública.

¿Qué es TS_AUTHKEY?

TS_AUTHKEY es una variable de entorno de Docker de Tailscale que se utiliza para autenticar un contenedor en una tailnet. La documentación actual de Tailscale para Docker aún la admite. Trata el valor como un secreto y rótalo si queda expuesto.

¿Por qué debería hacer persistente /var/lib/tailscale?

Ese directorio almacena el estado de Tailscale del contenedor. Mantenerlo persistente ayuda a que el contenedor conserve la identidad del nodo y el estado de autenticación cuando Docker reinicia o recrea el contenedor.

¿Por qué puedo acceder a la IP de Tailscale 100.x, pero no a mi dirección doméstica 192.168.x.x?

Conectarse al propio servidor CasaOS y enrutar una subred doméstica completa son configuraciones diferentes. El acceso normal a un nodo de Tailscale utiliza la IP de Tailscale del servidor. Para acceder a otras direcciones de la LAN, se requiere configurar y aprobar el enrutamiento de subredes.

¿Tailscale está cifrado?

Sí. Tailscale utiliza WireGuard para la comunicación cifrada entre dispositivos de la tailnet. La documentación actual de Tailscale indica que las conexiones directas y retransmitidas siguen estando cifradas de extremo a extremo.

¿Las capturas de pantalla de CasaOS de 2023 siguen vigentes?

Deben considerarse referencias históricas de la interfaz de usuario. El flujo subyacente para ejecutar Tailscale, autenticar el nodo y conectar dispositivos remotos sigue siendo relevante, pero los parámetros actuales de Docker y las interfaces de CasaOS o ZimaOS pueden diferir.