Accéder à distance à Home Assistant

par 2 Fév, 2021Articles, Installations0 commentaires

Article Sous Licence CC 4.0Cet article à pour but de présenter des solutions pour vous permettre d’accéder à distance à votre serveur Home Assistance, que ce soit depuis votre mobile ou bien un PC connecté à une borne Wifi publique ou ailleurs.

Il n’est pas détaillé la mise en oeuvre de ces solutions mais des articles annexes sont ou seront publiés à cet effet.

Niveau

  • Débutant / Intermédiaire / Avancé

Prérequis

  • Notion de réseau informatique (DNS, IP, Parefeu, …)

Challenges

Pour accéder à distance à votre serveur Home Assistant, vous allez être confrontés à plusieurs challenges qui vous amèneront à un choix d’architecture :

  • Connaître l’IP publique de votre Box internet qui dans la majorité des cas peut changer régulièrement (volonté des FAIs – Fournisseur d’Accès à Internet – pour diverses raisons)
  • Modifier les paramètres réseaux de votre Box internet donc savoir accéder et connaître l’interface d’administration
  • Gérer un enregistrement DNS, soit avec un nom de domaine (NDD) propre soit avec un service de DNS dynamique (DynDNS, DuckDNS, etc)
  • Gérer un certifcats SSL pour sécuriser les données votre client (le navigateur ou l’application mobile que vous allez utiliser pour vous connecter) et votre serveur Home Assistant
  • Configurer Home Assistant pour un accès externe ET interne en utilisant le même NDD (pour vous simplifier la vie)
  • Et enfin votre appétence à l’informatique et ses technologies

Solutions

Face à ces challenges, différentes solutions d’accès à distance sont possibles et toutes ne sont pas égales en terme de sécurité, de mise en oeuvre ou d’accessibilité. Ces solutions sont :

  • un accès direct à Home Assistant;
  • via un proxy inversé (reverse proxy);
  • via le service de Nabu Casa (concepteurs de Home Assistant);
  • via un prestataire tier de services réseaux;
  • via un VPN.

En compléments :

  • Des services externes comme DuckDNS ou Cloudflare
  • Une Box qui permet le ‘Loopback’ ou un service DNS local

Passons en revue ces différentes solutions …

AVANT TOUTE CHOSE : Vous devez considérer les accès vers votre réseau avec des communications chiffrées, donc nous parlerons ici uniquement d’accès via HTTPS et non HTTP !

1. Accès direct

L’accès direct est le plus simple en terme d’architecture mais pas forcément le plus souple et le plus sécurisé.

Principe :

Le principe est tout simplement de rediriger les requêtes de votre client (app mobile/navigateur) qui arrivent sur votre Box internet (vous avez définit votre nom de domaine – ndd.tld – avec votre IP publique) vers l’ip interne (du style 192.x.x.x:8123) de votre serveur Home Assistant.

Accès direct via un NAT

Avantage(s) :

  • Peu d’élements à configurer : la Box internet et Home Assistant

Inconvénient(s) :

  • Peu sécurisé : Home Assistant est directement exposé via un NAT de votre Box internet et cette dernière n’a pas de fonction de Parefeu trés développée
  • Configuration via des fichiers en Yaml (ce format n’est pas ‘user friendly’ donc destiné déjà à des utilisateurs avertis)
  • Association exclusive d’un port de l’IP publique de votre Box à HA (vous pourriez évidemment utiliser d’autres ports pour d’autres services)

Les tutos associés :

2. Via un proxy inversé

La mise en place d’un proxy inversé complexifie un peu l’architecture mais peut la rendre plus abordable (suivant la solution de proxy inverse utilisée) et surtout la sécuriser un peu mieux que la solution précédente.

Principe :

Le principe ici est de mettre ce proxy inverse entre votre Box internet et votre serveur Home Assistant. De ce fait c’est votre proxy inverse qui prend en charge la connexion sécurisée avec votre client. Le reste de la communication vers votre serveur Home Assistant peut rester non chiffrée (HTTP).

Accès avec Proxy Inverse

Avantage(s) :

  • Sécurité accrue avec l’ajout d’un service intermédiaire
  • Possibilité d’exposer d’autres services que Home Assistant sur l’extérieur (Grafana, Synology, etc) sur le même port que Home Assistant
  • Configuration SSL plus souple suivant le produit de proxy inverse

Inconvénient(s) :

  • Complexification : configuration d’un service intermédiaire et sa compréhension dans l’architecture

Tutos associés :

3. Via Nabu Casa

Nabu Casa est la société créée par les fondateurs Home Assistant. Bien que Home Assistant soit et devrait rester totalement Open Source, elle propose néanmoins des services dont un service d’accès à distance à votre environnement nommé Home Assistant Cloud.

Principe :

Le principe est assez simple puisqu’il fournit un accès depuis leur portail vers votre serveur Home Assistant, vous avez uniquement besoin de configurer votre Home Assistant avec ce service et aucune configuration sur votre box internet.

Accès via Nabu Casa

Avantage(s) :

  • Rien à configurer sur votre Box internet (pas de NAT)
  • Pas de nom de domaine à gérer
  • Une simple configuration dans Home Assistant
  • Sécurité d’accès à votre réseau (Nabu Casa fait le relais)
  • Un essai de 31 jours

Inconvénient(s) :

  • Un abonnement mensuel
  • Accès uniquement à Home Assistant (tout comme l’accès direct)

4. Via un opérateur tier de services réseaux (autre que Nabu Casa)

Cette solution fait appel à un opérateur tier pour se connecter à son réseau, tout comme la solution Nabu Casa. Sauf que ce n’est pas natif Home Assistant et qu’il vous faudra ajouter un service supplémentaire dans votre réseau.

Principe :

Ceci est UN schéma possible, tout dépend des services fournit par l’opérateur (VPN, DynDNS, Proxy inverse, certificat SSL, etc). Dans l’exemple ci-après, l’opérateur fournit un service de proxy inverse et un certificat valide dans son domaine.

Accès via un opérateur tier

Avantage(s) :

  • Accès via un tier de confiance qui gère une partie de la sécurité

Inconvénient(s) :

  • Ne vous affranchi pas de gérer un certificat pour la communication entre l’opérateur et votre réseau (sauf si service VPN)
  • Beaucoup de ‘services’ à gérer (complexité)

5. Via un VPN

Cette solution est à but informative, dans le sens où c’est une possibilité, mais la mise en oeuvre technique est bien plus ardue … et si vous êtes intéressé c’est que vous devriez avoir les compétences nécessaires (ou être suffisamment averti) pour mettre en pratique !

Principe :

Le schéma présente de façon très simplifiée le principe. Via un client VPN installé sur votre mobile ou PC distant, vous aurez un accès à votre réseau local directement (moyennant quelques contraintes dépendantes de routage).

Accès VPN

Nota : Une offre (gratuite à ce jour) de la société ZeroTier permet de créer un VPN sans avoir besoin de toucher à sa Box internet, un plus indéniable d’autant qu’un add-on Home Assistant existe !

Avantage(s) :

  • Accès directe à tout votre réseau (pas seulement Home Assistant et pas seulement en HTTPS)
  • Accès sécurisé

Inconvénient(s) :

  • Etre un utilisateur très avertis
  • Client VPN à installer sur son mobile ou PC distant

6. Services complémentaires

Des services complémentaires peuvent être utiles pour simplifier et automatiser certaines parties de ces solutions :

  • Service de gestion de votre DNS avec votre IP dynamique (ex DuckDNS, DynDNS, Cloudflare, …)
  • Service DNS local (ex dnsMasq) pour déclarer le même nom internet en local sans faire de loopback

Conclusion

Vous avez connaissance maintenant des différentes possibilités d’accéder à votre serveur Home Assistant à distance. Si vous êtes dans le choix d’une solution, je vous conseille soit l’option 3. avec les services de Nabu Casa pour sa simplicité, soit l’option 2. avec un proxy inverse pour sa souplesse.

Si il y a des incompréhension, des incohérences ou toute interrogation, n’hésitez pas vous exprimer sur notre forum via le lien ci-dessous.

Annexes

Suivi des modifications

  • 10/02/2021 : Modifications mineures suivant des retours de Homies
  • 06/02/2021 : Ajout des solutions évoquées (VPN et ZeroTier) dans l’article de @golfvert
  • 02/02/2021 : Création (@Pozzi)

Un mot sur Pozzi

Share This