Solution communautaire

Comment accéder à distance à CasaOS avec 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 attribue au serveur CasaOS une adresse privée accessible depuis vos propres appareils autorisés, même lorsque vous êtes loin de chez vous. Le tutoriel original d’IceWhale Community, publié en octobre 2023 pour CasaOS 0.4.4 et une ancienne version de Tailscale, utilisait l’image Docker officielle de Tailscale, une clé d’authentification et un second client Tailscale pour créer cette connexion maillée privée.

L’idée de base reste valable : exécuter Tailscale sur l’hôte CasaOS, le connecter à votre tailnet, installer Tailscale sur le téléphone ou l’ordinateur distant, puis ouvrir CasaOS à l’aide de son adresse IP Tailscale ou de son nom DNS configuré. Cependant, les captures d’écran et les champs Docker exacts sont historiques. Les déploiements actuels de conteneurs Tailscale doivent également conserver l’état de Tailscale, protéger les identifiants d’authentification et suivre les recommandations actuelles en matière de contrôle d’accès.

Ce que fait cette configuration CasaOS + Tailscale

Le guide communautaire visait à éviter la redirection de ports publics classique. Au lieu de publier directement le tableau de bord CasaOS sur Internet, les appareils rejoignent le même réseau Tailscale, appelé tailnet, et communiquent via des adresses Tailscale.

Le workflow d’origine était le suivant :

  1. Exécutez le client Tailscale sur le serveur CasaOS.
  2. Créez un compte Tailscale ou connectez-vous à votre compte.
  3. Générez une clé d’authentification et fournissez-la au conteneur Tailscale.
  4. Installez Tailscale sur l’ordinateur portable, le téléphone ou tout autre appareil distant.
  5. Connectez cet appareil au même tailnet.
  6. Ouvrez CasaOS à l’aide de l’adresse IP Tailscale ou du nom DNS du tailnet.

Il s’agit d’un accès à un réseau privé. En général, vous n’avez pas besoin de rediriger le port du tableau de bord CasaOS sur votre routeur domestique simplement pour y accéder via Tailscale.

Limite de version importante pour le tutoriel d’origine

L’article d’origine mentionne explicitement CasaOS 0.4.4 et Tailscale 1.21.3. Il a été rédigé en 2023, et la configuration de CasaOS comme celle des conteneurs Tailscale ont évolué depuis. Utilisez les captures d’écran ci-dessous pour comprendre le workflow, plutôt que de supposer que chaque champ apparaîtra exactement au même endroit dans l’interface actuelle de CasaOS ou de Docker.

Le guide Docker actuel de Tailscale prend toujours en charge l’authentification d’un conteneur avec TS_AUTHKEY, mais il montre également comment conserver l’état de manière persistante et quelles capacités sont requises par le conteneur.

Étape 1 : ajouter le conteneur Tailscale à CasaOS

Le guide de 2023 importait l’image Docker officielle de Tailscale dans CasaOS. Si vous reproduisez le workflow historique de l’interface, vérifiez que la source de l’image est l’image officielle tailscale/tailscale image plutôt qu’un conteneur tiers inconnu.

Écran des applications personnalisées de CasaOS utilisé pour importer le conteneur Docker Tailscale
Le guide CasaOS d’origine commence par l’importation de Tailscale en tant qu’application Docker.
Écran de configuration Docker de CasaOS pour l’application conteneur Tailscale
Les champs CasaOS exacts présentés ici reflètent l’interface de 2023 et doivent être vérifiés dans votre installation actuelle.

Pour un conteneur Tailscale autonome moderne, la documentation officielle présente conceptuellement le modèle de base suivant :

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

Ne collez jamais une clé d’authentification dans une publication publique, une capture d’écran, un dépôt ou un ticket d’assistance. Traitez-la comme un mot de passe. Les champs exacts de l’installation personnalisée de CasaOS doivent correspondre aux mêmes exigences Docker, tout en s’adaptant à l’interface graphique disponible dans votre version.

Étape 2 : générer une clé d’authentification Tailscale

Le tutoriel communautaire créait ensuite un compte Tailscale et générait une clé d’authentification depuis l’interface d’administration de Tailscale. Cette clé était ensuite fournie au conteneur CasaOS via la TS_AUTHKEY variable d’environnement.

Page d’administration de Tailscale utilisée pour créer une clé d’authentification pour CasaOS
Le tutoriel d’origine générait une clé d’authentification afin que le conteneur CasaOS puisse rejoindre le tailnet.
Champ d’environnement du conteneur Tailscale de CasaOS configuré avec TS_AUTHKEY
L’identifiant généré est transmis au conteneur Tailscale via la variable d’environnement TS_AUTHKEY.

La documentation actuelle de Tailscale continue de prendre en charge TS_AUTHKEY. Les clés d’authentification peuvent être créées avec différentes propriétés, notamment réutilisables ou éphémères. Choisissez uniquement les privilèges et la durée de validité adaptés au serveur, et faites tourner une clé si vous pensez qu’elle a été exposée.

Conserver l’état de Tailscale afin que les redémarrages ne se comportent pas comme de nouvelles installations

Ce point est plus important dans un déploiement actuel que ne le laissent penser les anciennes captures d’écran. Les exemples Docker actuels de Tailscale définissent :

TS_STATE_DIR=/var/lib/tailscale

et rendez ce répertoire persistant avec un volume Docker ou un montage de liaison. Sans état persistant, la recréation d’un conteneur peut modifier le comportement de l’authentification et de l’identité du nœud de manière inattendue.

Tailscale fournit également TS_AUTH_ONCE=true pour les déploiements qui doivent s’authentifier uniquement lorsque le conteneur n’a aucun état de connexion enregistré. Si vous utilisez cette option, assurez-vous que le répertoire d’état est bien persistant.

Consultez les paramètres de configuration Docker de Tailscale actuels avant de traduire une ancienne capture d’écran de CasaOS en une nouvelle configuration de conteneur.

Étape 3 : Vérifier que le nœud CasaOS apparaît dans Tailscale

Une fois le conteneur démarré correctement, ouvrez la page d’administration des appareils Tailscale et vérifiez que le nœud CasaOS apparaît comme connecté. Le tutoriel original utilisait ensuite la liste des appareils pour identifier l’adresse Tailscale attribuée au serveur.

Liste des appareils Tailscale affichant un serveur CasaOS connecté au tailnet
Une fois authentifié, le serveur CasaOS devrait apparaître comme un appareil sur le même réseau Tailscale.

Si le conteneur s’exécute, mais que le serveur n’apparaît pas comme connecté, consultez les journaux du conteneur, vérifiez que la clé d’authentification est valide et assurez-vous que l’état ainsi que les fonctionnalités réseau requises par votre image Tailscale actuelle sont configurés.

Étape 4 : Installer Tailscale sur l’appareil distant

Installez le client Tailscale sur l’ordinateur portable, le téléphone ou la tablette que vous utiliserez hors de chez vous, puis connectez-vous au même tailnet. Les deux appareils n’ont pas besoin d’être connectés au même réseau Wi-Fi une fois qu’ils sont tous deux connectés à Tailscale.

Les connexions Tailscale actuelles peuvent être directes ou relayées selon les conditions du réseau. La documentation de Tailscale précise que les connexions directes, relayées par DERP et les connexions Tailscale Peer Relay restent chiffrées de bout en bout avec WireGuard ; la principale différence concerne les performances, et non le chiffrement de la charge utile.

Étape 5 : Ouvrir CasaOS avec son adresse IP Tailscale

Le guide original copiait l’adresse IP Tailscale du serveur CasaOS et la saisissait dans un navigateur depuis l’appareil distant.

Navigateur se connectant à distance au tableau de bord CasaOS via son adresse Tailscale
Le client distant peut ouvrir CasaOS en utilisant l’adresse Tailscale du serveur lorsque les deux appareils appartiennent au même tailnet.

L’adresse est généralement une adresse Tailscale 100.x.x.x IP. Si votre tailnet utilise MagicDNS et que le nœud CasaOS possède un nom de machine approprié, vous pouvez également utiliser son nom DNS Tailscale au lieu de mémoriser l’adresse IP.

Utilisez le port du tableau de bord CasaOS sur lequel votre installation écoute réellement. Si CasaOS est configuré sur un port non standard, incluez ce port dans l’URL.

L’adresse IP Tailscale et l’adresse IP du réseau domestique ne sont pas la même chose

Une source fréquente de confusion consiste à s’attendre à ce que Tailscale installé sur un seul serveur rende automatiquement accessible chaque adresse IP standard du réseau domestique. Se connecter directement à la machine CasaOS via son adresse Tailscale est une configuration. Accéder à d’autres appareils via leurs adresses LAN habituelles, comme 192.168.1.x, est une autre fonctionnalité de Tailscale appelée routage de sous-réseau.

Si tout ce dont vous avez besoin est le tableau de bord CasaOS et les applications exécutées sur ce même hôte, commencez par utiliser l’adresse IP Tailscale du serveur. Configurez le routage de sous-réseau uniquement lorsque vous souhaitez explicitement que le nœud Tailscale achemine le trafic vers d’autres appareils ou sous-réseaux de votre réseau domestique.

Correction de sécurité : vous n’avez généralement pas besoin d’un autre VPN autour de Tailscale

La publication originale de 2023 comprenait une remarque suggérant qu’un VPN supplémentaire pouvait être utilisé pour les transferts sensibles. Cette formulation peut être trompeuse. Tailscale est lui-même un système de réseau privé chiffré fondé sur WireGuard. La documentation actuelle de Tailscale indique que le trafic entre les appareils Tailscale est chiffré de bout en bout, y compris lorsqu’une connexion est relayée.

Un VPN supplémentaire n’est donc généralement pas nécessaire pour chiffrer le trafic CasaOS qui circule déjà entre des nœuds Tailscale. L’utilisation simultanée de plusieurs solutions VPN peut également créer des conflits de routage. Les mesures de sécurité les plus utiles sont les suivantes :

  • Protégez le compte d’identité utilisé pour accéder à votre réseau tailnet.
  • Considérez les clés d’authentification et les identifiants OAuth comme des secrets.
  • Supprimez du réseau tailnet les appareils anciens ou non reconnus.
  • Appliquez des règles d’accès selon le principe du moindre privilège plutôt que d’autoriser indéfiniment chaque nœud à accéder à tous les services.
  • Maintenez CasaOS, Docker, Tailscale et les applications hébergées à jour.
  • N’exposez pas publiquement le tableau de bord CasaOS simplement parce que Tailscale est également installé.

Tailscale recommande désormais les règles d’autorisation et les politiques de contrôle d’accès pour limiter les utilisateurs et appareils pouvant accéder à des services spécifiques.

Ce que les réponses ultérieures sur ZimaOS ont ajouté

Une réponse publiée en 2024 demandait si le même tutoriel fonctionnait sur un NAS cloud personnel ZimaCube actuel exécutant ZimaOS. L’utilisateur voyait l’appareil comme connecté dans Tailscale, mais l’interface ZimaOS ne se chargeait que partiellement et affichait régulièrement un message indiquant l’échec du chargement des applications. L’auteur original a suggéré de redémarrer l’appareil et a précisé que ZimaOS disposait également de sa propre option d’accès à distance. L’utilisateur a ensuite indiqué que le problème avait été résolu après la mise à jour de ZimaOS vers la version 1.2.2.

Cette réponse constitue une preuve historique, et non une garantie actuelle de compatibilité. Elle montre qu’une connexion Tailscale peut être établie alors qu’une version donnée de l’interface ZimaOS rencontre encore des problèmes de chargement des applications. Une réponse ultérieure publiée en 2025 indiquait que cette méthode détaillée avait également aidé son auteur à faire fonctionner Tailscale sur ZimaOS.

Si vous utilisez le ZimaOS moderne plutôt que CasaOS, consultez la documentation actuelle de ZimaOS sur les applications et l’accès à distance, au lieu de considérer par défaut l’écran d’installation personnalisée de CasaOS datant de 2023 comme la configuration recommandée. Les deux systèmes d’exploitation partagent une partie de leur histoire au sein du même écosystème, mais leurs processus actuels de gestion des applications et d’accès à distance ne sont pas identiques.

Liste de contrôle pour le dépannage de Tailscale sur CasaOS

  1. Vérifiez que le conteneur Tailscale est en cours d’exécution dans CasaOS.
  2. Vérifiez que l’image est bien le conteneur officiel Tailscale attendu ou qu’elle provient d’une autre source à laquelle vous accordez délibérément votre confiance.
  3. Vérifiez que l’identifiant d’authentification est valide et qu’il n’a pas expiré ni été révoqué.
  4. Conserver /var/lib/tailscale afin que le nœud conserve son état après la recréation du conteneur.
  5. Vérifiez que le serveur CasaOS apparaît comme connecté dans la liste des appareils Tailscale.
  6. Installez Tailscale sur l’appareil distant et connectez-le au même tailnet autorisé.
  7. Testez l’adresse Tailscale du serveur CasaOS 100.x.x.x adresse avant d’essayer les adresses LAN habituelles.
  8. Si l’adresse IP fonctionne, mais pas le nom d’hôte, vérifiez les paramètres DNS ou MagicDNS.
  9. Si vous devez accéder à d’autres appareils du réseau local, configurez séparément le routage de sous-réseau.
  10. Vérifiez les règles d’accès du tailnet afin que seuls les utilisateurs et appareils prévus puissent accéder aux services CasaOS.

FAQ sur l’accès à distance à CasaOS avec Tailscale

Dois-je rediriger les ports de CasaOS sur mon routeur ?

Pas pour le processus Tailscale normal décrit ici. Le serveur CasaOS et le client distant rejoignent le même tailnet privé ; vous accédez donc au serveur via son adresse Tailscale au lieu d’exposer directement le tableau de bord CasaOS sur Internet.

Qu’est-ce que TS_AUTHKEY ?

TS_AUTHKEY TS_AUTHKEY est une variable d’environnement Docker de Tailscale utilisée pour authentifier un conteneur auprès d’un tailnet. La documentation Docker actuelle de Tailscale la prend toujours en charge. Considérez cette valeur comme un secret et renouvelez-la si elle est exposée.

Pourquoi dois-je conserver /var/lib/tailscale ?

Ce répertoire stocke l’état de Tailscale pour le conteneur. Le conserver permet au conteneur de garder son identité de nœud et son état d’authentification lorsque Docker redémarre ou recrée le conteneur.

Pourquoi puis-je accéder à l’adresse IP Tailscale 100.x, mais pas à mon adresse domestique 192.168.x.x ?

La connexion au serveur CasaOS lui-même et le routage de l’ensemble d’un sous-réseau domestique sont deux configurations différentes. L’accès normal à un nœud Tailscale utilise l’adresse IP Tailscale du serveur. Pour accéder à d’autres adresses du réseau local, il faut configurer et autoriser le routage de sous-réseau.

Tailscale est-il chiffré ?

Oui. Tailscale utilise WireGuard pour chiffrer les communications entre les appareils du tailnet. La documentation actuelle de Tailscale indique que les connexions directes et relayées restent chiffrées de bout en bout.

Les captures d’écran de CasaOS datant de 2023 sont-elles toujours à jour ?

Elles doivent être considérées comme des références historiques de l’interface utilisateur. Le processus sous-jacent — exécuter Tailscale, authentifier le nœud et connecter des appareils distants — reste pertinent, mais les paramètres Docker actuels ainsi que les interfaces de CasaOS ou de ZimaOS peuvent différer.