Connexion à HA depuis l'extérieur avec une box cgnat (sans possibilité de rediriger les ports)

Je cherche depuis un bon moment à me connecter à HA depuis l’extérieur du réseau local. Avec une box permettant la redirection de ports, c’est facile mais dans le cas contraire (en particulier avec les box NB6 de SFR), on doit passer par l’ipv6

Je propose le tuto que voici :

Ma config :

  • HA sur un raspberry 3

  • une box SFR
    image

  • Un smartphone SAMSUNG A5 avec le point d’accès mobile activé, le wifi activé, le téléphone se connecte à internet

  • Un ordi portable qui se connecte au wifi du téléphone (pour simuler l’accès depuis l’extérieur)

  1. Initialement mon téléphone n’utilisait que l’ipv4, j’ai donc suivi le mode d’emploi ci-dessous pour activer l’ipv6:
    https://www.arcep.fr/demarches-et-services/utilisateurs/activer-ipv6-mobile.html
    adapté au téléphone et au fournisseur d’accès

  2. Dans Home assistant, menu Terminal, notez la 1ère ip visible après :
    image
    Je noterai cette adresse : iprasp dans la suite.
    On peut la retrouver aussi en saisissant la commande : ifconfig , dans le paragraphe eth0

  3. Sur un des ordinateurs du réseau, on peut lancer la commande :
    ping -6 [iprasp]
    Normalement, le raspberry répond.

  4. Depuis un des ordinateurs du réseau local, se connecter sur la box (à l’adresse 192.168.1.1 normalement)

a) Dans le menu Réseau V4 puis DNS, ajouter une ligne :
Mettre l’adresse IP locale du raspberry et saisir par exemple Raspberry comme nom d’hôte.

b) Dans le menu Reseau V6 puis Pare feu, ajouter une ligne avec les infos suivantes :
Pour le nom, mettre n’importe quoi,
Pour IP source, mettre une étoile
Pour Protocole : TCP
Pour Type : Port
Pour Port : 8123
Pour IPdestination: iprasp (attention ! chez moi iprasp n’est pas proposée dans la liste qui s’affiche automatiquement, j’ai donc du la ressaissir)

c) En dessous je crois ne pas avoir changé quoi que ce soit :
Activation de l’upnp : On,
bloquer le ping entrant : off,
DMZ : désactivée
Filtrage : On
Les 2 premières cases sont cochées uniquement (protéger les ordinateurs, et utiliser l’envoi de courriel)

d) Dans le menu Réseau V6 toujours puis DHCP:
Ajouter une adresse statique, pour cela mettre
Iprasp sous adresse IP
et mettre l’adresse mac du raspberry relevée un peu plus haut.

e) Dans le menu Réseau V6 puis SLAAC:
Activer SLAAC

  1. Sur l’ordi portable (connecté à internet) par le téléphone, j’ouvre une fenêtre de la console et je saisis :
    ping -6 [iprasp]
    pour vérifier que tout se passe bien, normalement le raspberry répond aux pings.

  2. Dans un navigateur, sur le portable (donc depuis l’extérieur) : je saisis l’url
    http://[iprasp]:8123
    C’est un peu long la 1ère fois mais la page d’accueil de HA apparaît.

Voilà si cela fonctionne pour vous, tant mieux ! sinon n’hésitez pas

Quels sont les bémols ?

  • Pour l’instant, il faut se souvenir de iprasp, je ne sais pas si cette adresse restera valide après le redémarrage de la box, je pense que non mais à confirmer
  • Dans le doute, je viens d’acheter un nom de domaine en XXX.fr, j’aimerais pouvoir créer au moins un sous domaine permettant de faire un http://ha.XXX.fr pour l’instant, c’est un échec, même avec un nas synology qui dispose pourtant d’un reverse proxy ??
  • J’aimerais aussi pouvoir me connecter en https : echec aussi.
1 « J'aime »

Merci pour ce tuto (pas simple l’histoire !!) mais pourquoi ne pas simplement utiliser le système Nabu Casa ? qui te permet en plus de soutenir le projet :wink:

1 « J'aime »

Bonjour, la solution nNabu Casa et certe plus simple mais payante, la solution proposée plus haut a l avantage d’être gratuite et pas de données qui transitent par des serveurs tiers.
Cordialement

Salut.

Payante mais plus simple (et ça n’offre pas que ça)… Après c’est une question de priorité et de capacité à gérer

2 « J'aime »

Bonjour
Je ne connais pas Nabu Casa, je vais regarder.
Mais de manière plus générale, j’ai besoin d’accèder au matériel et applications locales donc j’ai besoin de surmonter cette difficulté générée par cette box. Plusieurs de mes « installations » ne fonctionnent plus. J’ai envie de comprendre comment l’IPV6 fonctionne.

En tout cas je confirme que l’adresse IPv6 change très souvent, beaucoup plus souvent que l’ipv4 que j’obtenais de SFR, j’ai l’impression que ça change tous les jours ce qui fait que ma proposition est d’un intérêt limité, je le concède.
Peut être que quelqu’un d’autre fera avancer la solution.

Bonjour,
soit c’est le routeur qui donne l’adresse ipv6 et on peut la fixer dans DHCP en utilisant l’adresse MAC de l’appareil.
Soit c’est un logiciel qui le fait et on doit pouvoir la fixer dedans.
Pour Home Assistant on peut la fixer dans l’Add-on Duckdns et en éditant les paramètres ipv6 de l’interface réseau via le cli (login puis nmcli con edit ‹ Supervisor eth0 ›. Print ipv6 pour voir ce qui est déjà écrit. Set pour changer une entrée. Save pour sauvegarder).
On peut aussi le faire dans l’interface je crois : Paramètres → Système → Réseau (de mémoire).

Bonjour,
Merci pour ce tuto,
Cela fonctionne, j’ai rétabli les acces externe

Le bemol avec la configuration l’add-on DukDNS, : j’ai ajouté l’IPV6 à la main, la configuration par défaut remontait l’ip V6 « publique » de la box…
cela focntionnera jusqu"au prochain changement d’ip

Pour infos sfr permet de repasser sur demande en ipv4 fixe et donc de ne plus avoir ce foutu cgnat.

Un grand merci à Michel.
Je partage une refonte (modifications, ajouts, réorganisation) du tuto ci-dessous.

Mise en place IPV6 sur Home Assistant
Date : 27/01/2023 PhG
Matériel / logiciels :Box SFR Fibre « IPV6 » NB6VAC-MAIN.., Raspberry 3, Smartphone Android, App Home Assistant, PC Windows, OVH
1 Home assistant :
* Copier l’adresse IPV6 de Home Assistant (Paramètre – Système – Réseau – IPV6), c’est l’adresse qui commence par 2a02:84. Cette adresse est notée « ipRasp » dans la suite.
2 Box SFR
* Se connecter via le navigateur sur l’adresse IP de la box (normalement http://192.168.1.1 mais elle peut être changée en se connectant sur http://192.168.1.1/network/lan , page cachée).
* Modifier les paramètres de l’onglet « réseau IPV6 » comme suit :
2.1 Sous-menu Pare feu : 
* Mettre un nom (n’importe quoi), IP source (mettre une étoile), Protocole : TCP, Type : Port, Port : 8123, IPdestination: ipRasp.
* UPnP : ON,
* Bloquer le ping entrant : OFF,
* DMZ : désactivée
* Filtrage : On
* Options : Suivant vos besoins
2.2 Sous-menu DHCP:
* Ajouter une adresse statique, pour cela mettre Iprasp sous adresse IP (avec l’adresse mac du raspberry).
2.3 Sous-menu SLAAC:
* Activer SLAAC
3 Windows
* Vérifier que la case IPV6 est bien cochée dans (Panneau de Configuration – Centre Réseau et Partage – Cliquer sur le réseau actif – Propriété ).
* Vérifier que le Raspberry répond en faisant ping -6 [ipRasp] (n’oubliez pas les crochets) sur la console de l’invite de commande.
4 Téléphone
* Passer le téléphone en IPV4/IPV6  (SFR, NRJ mobile) ou IPV6 seul (Bouygues, Orange, Free) suivant le provider : https://www.arcep.fr/demarches-et-services/utilisateurs/activer-ipv6-mobile.html 15
* Désactiver le WIFI et saisir dans un navigateur http://[iprasp]:8123 (avec les crochets). L’App Home Assistant doit s’ouvrir.
5 Attribution d’un sous-domaine (OVH)
* Sur OVH, menu Zone DNS de votre domaine, ajouter une entrée (menu de droite), Champ de pointage AAAA, préciser votre sous domaine et entrer l’Irasp.
* Attendre (jusqu’à 24h) et vérifier l’accessibilité de votre domaine : https://geekflare.com/fr/tools/ipv6-test.
* Saisir http://votre_nom_de_domaine:8123 et vérifier l’accès à Home Assistant.

Bonjour, je souhaite juste répondre sur le sujet du reverse proxy et le synology NAS.

Je suis loin d’être expert, mais je pense que cela vient du reverse-proxy du synology qui ne gère pas bien le trafic qu’il retransmet.

J’ai aussi configuré un reverse proxy mais cela ne fonctionnait pas, ni avec un pc, ni un mobile.

J’ai trouvé cette astuce :
Quand on va sur le réglage (règles de proxy inversé), j’ai fait crée et valider.
Du coup cela fonctionnait avec un pc, je pouvais accèder à HA de l’extérieur. J’arrivais en HTTPS sur ma box (port xxxx) et le reverse proxy transfére en http de mon ha sur le port (yyyy)

Mais cela ne fonctionne pas avec un smartphone malheureusement, je pense qu’il faut rajouter quelque chose …

En espérant que ça puisse aider …

Synology DiskStation - Google Chrome - Copie

Juste une petite reprise du tuto précédent (corrections et améliorations)

Merci pour le tuto,

De mon côté, tout a l’air de presque fonctionner (y compris le sous domaine) quand je suis sur le wifi de la maison. Mais dès que passe sur le réseau mobile, ça ne fonctionne pas

Chez SFR (RED dans mon cas), et c’est certainement le cas ailleurs aussi, on a plusieurs adresses IPv6.

J’en ai vu trois.

Une adresse locale (qui ne sert à rien depuis l’extérieur).
Une adresse « aléatoire » dont la fin change régulièrement. Elle est utile pour les clients mobiles, ça évite de se faire pister trop facilement au cours de ses périgrinations.
Et enfin une adresse IP fixe à utiliser pour les serveurs.
En 3 mois, elle n’a jamais changé.
Je n’ai jamais eu de problème de connectivité IPv6 sur mon mobile en France. Je n’ai pas encore testé à l’étranger.

Même si c’est un peut plus compliqué à configurer qu’en IPv4 (merci Proxmox et sa génération certificats SSL qui ne supportent qu’une addresse, pas très pratique en dual stack), on trouve sur Internet tout ce qu’il faut pour y arriver.

Adieu IPv4, bonjour IPv6.