Accès extérieur en 4G avec NGINX & Freebox Delta

Il manque cette info là. C’est (presque) la plus importante :wink:

Huum, j’ai bien précisé pourquoi pour éviter cette interrogation lors de vos investigations expertes :upside_down_face:… Je vais éviter les parenthèse alors : Pour la mise au point

Je fais mes vérifs en étant géographiquement situé sur 2 sites différents, CQFD. :yum:

Je ne sais pas trop où regarder…

  • Sur le navigateur : J’ai juste le logo home assistant « Loading data » qui tourne en boucle, et « unable to connect to Home Assistant »
  • Sur l’application Compagnon, j’ai « Connexion perdue. Reconnexion en cours »

Dans les logs de HA, je vois cependant que mon mobile essaie de s’y connecter… Un début de réponse ?

Login attempt or request with invalid authentication from pop.92-184-xxx-xxx.mobile.abo.orange.fr (92.184.xxx.xxx). (HomeAssistant/Android SM-S908B 2022.3.0-2164)
Login attempt or request with invalid authentication from pop.92-184-xxx-xxx.mobile.abo.orange.fr (92.184.xxx.xxx). (HomeAssistant/Android SM-S908B 2022.3.0-2164)
Login attempt or request with invalid authentication from pop.92-184-xxx-xxx.mobile.abo.orange.fr (92.184.xxx.xxx). (HomeAssistant/Android SM-S908B 2022.3.0-2164)

(j’ai gommé les IP, a la base, il n’y a pas de xxx)

J’ai l’impression de vous avoir posé une colle les amis :joy:.

Bon, je poursuis mes recherches.

Pour les experts réseaux / telecom…
Sachant que mon adresse en https fonctionne parfaitement…

Qu’elle est la différence entre :
Un mobile qui interroge mon adresse en https depuis son réseau 4G.
Tous les PC de mes potes, hors de mon réseau local, reliés à des box différentes, qui interrogent mon adresse ha en https ?

Il fut un temps (révolu?) ou les opérateurs en 4G ne fournissaient pas un accès 100% « neutre » d’accès à Internet. HA a besoin de websockets (véhiculés dans du HTTPS). Si Orange fait passer par un proxy ça peut mettre la grouille.
Est-ce qu’avec Free, Bouygues ou SFR en 4G, ça a été testé?

Sinon, effectivement, par rapport à ce que tu décris, pas d’idée.

Bonjour,
Je suis sur Freebox delta et je n’ai pas de soucis d’accès en 4g via ha compagnon que se soit sur android ou ios, ci dessous voici différentes captures des mes paramétrages :

  1. Sur mon compte free.fr, j’ai activé l’ipv4 fixe full-stack :
    compte freebox

  2. Une fois valider j’ai effectué une redirection de port sur l’interface de ma Freebox :
    redirection de port

  3. J’ai ensuite paramétré mes différentes appli :
    a. ios :

    b. android :
    

Une fois mes identifiants renseignés, voici le résultat sans erreur :

Bonjour Mendo.

Oui c’est normal que ca marche via cette config, car tu n’es pas en https (et c’est comme partir en vacances en laissant la porte ouverte). Tu exposes le port 8123 de ta box au monde entier dans cette config (c’est dangereux) . Je t’invite à te renseigner sur l’utilisation de certificats et le passage en https.

Ici je suis en https. Mon cas concerne l’utilisation de ha + nginx + freebox. J’avance peu sur le sujet pour le moment. J’ai modifié ma config pour bannir les ip au bout de 3 connexion en echec.
Je vois qu’il s’agit bien d’ip que orange m’attribue… Et me me demande s’il ne faut pas paramètrer une plage d’ip côté nginx ou cote du configuration.yaml de HA…

Le port 81 sert juste pour l’accès à Nginx Proxy Manager. Donc en effet aucun intérêt à être ouvert vers l’extérieur. Par contre tu dois je crois, ouvrir le port 80 si tu utilises un certificat SSL Let’s Encrypt

Hello,
comme le précise @Alindil , le port 81 est uniquement pour la configuration donc à bannir en ouverture externe (la config se fait en interne idéalement). Et le port 80 doit être en NAT vers le nginx le temps de générer un certificat Let’s encrypt (ou faire un renouvellement) … sauf si l’option DNS Challenge est utilisée (là il faut voir avec votre propre nom de domaine … un peu plus technique).
Pour la partie redirection de port, éviter le 443 car certaines box peuvent s’accaparer ce port (reconfiguration du NAT par la box au reboot par ex), le plus simple est de faire un NAT du 8123 vers le 443 du nginx (son rôle est ensuite de faire un NAT vers le 8123 du HA, et entre autre du TLS).
Enfin l’accès à ndd.freeboxos.fr depuis l’externe … et bien normal que cela ne fonctionne pas car depuis l’externe le nom de votre box (ndd.freeboxos.fr) ne peut être connu, donc pas de résolution de l’IP etc etc. Pour y accèder, NPM sera la solution en y inscrivant un NAT vers la Freebox.

Salut

En réalité le risque dans le cas du HTTP (global) c’est pas tellement la valeur du port en soi. en https potentiellement le port 8123 est tout autant exposé (sinon ça marche pas)
La différence réside dans les données qui circulent entre l’utilisateur (client) et le serveur (via le port).

  • en HTTP les données sont en clair, et interceptables
  • en HTTPS les données sont en chiffrées, et de facto non interceptables

Bonjour et merci à tous beaucoup d’avoir pris le temps de me répondre.

A priori golfvert a bien cerné le problème. La connexion 4G via orange n’est pas aussi neutre que cela. A mon avis cela peut être corrigé par un paramètrage pour autoriser la récupération du certificat (work in progress, pas trop de temps en ce moment).

Pour les débats sur les ports 80 et 81 lors de l’installation de home assistant… Vous avez raison, mais c’est un peu… hors sujet ici :grin: (c’est bien vu,et j’ai bien compris, mais ca fait pas avancer le sujet de base du coup).

Pozzy : merci pour cette réponse. Pour info, c’est free qui accorde le domaine et qui resoud le dns. Du coup l’adresse est bien accessible de l’extérieur, l’accès https fonctionne du feu de dieu via le port 443 :fire::wink:… Mais pas avec un appareil sur un réseau en 4G !

Pulpy, merci pour ces précisions sur le https !

Actuellement, je vois dans les logs que, quand je suis en wifi sur des adresses réseaux domestiques (soit avec une ip 192.x.x.x par ex) nginx marche correctement. En gros, si je vous donnais mon ndd, tout le monde pourrait se connecter sur mon Ha de chez lui.

En revanche, les adresses qd je suis connecté en 4G comporte des ip en 9x.x.x.x… Et là peut importe que je me connecte via l’appli compagnon ou mon navigateur mobile préféré, nginx me jette…

J’ai vérifié en configurant un ban de l’ip, dans le fichier de config de ha, après quelques tentatives de connexion en echec (pour avoir une liste des ip concernées dans le fichier ban) , et je vois bien que ce sont des ip fournies par orange…

C’est pour cela que je pense qu’il me manque une permission à ajouter qq part, mais je ne sais vraiment pas où renseigner cela.

Dans ton fichier de configuration, il n’y a pas d’option pour autoriser une plage ip en 9x.x.x.x.x avec un masque élargie ?

Justement… Non je n’ai rien mis de la sorte dans mon fichier de config…

J’ai pris la documentation de Ha (integrations http) et je ne comprends pas ce que je pourrais ajouter.

Bonjour,

Je relance le sujet, je suis exactement dans le même cas que Sindoor.

Accès HTTPS ok depuis le wifi de ma box ainsi que depuis le wifi de ma société, mais en 4g/5g connexion impossible…

J’ai fais l’essai avec deux cartes SIM, 1 orange, 1 Bouygues.

Si quelqu’un a la solution, je suis preneur!

Merci d’avance

Connexion impossible c’est à dire ? Quel est le message d’erreur affiché par le navigateur exactement ? Une copie d’écran en bonus ? :smirk:

Si tu le veux, indique moi en message prive l’URL que je check depuis l’extérieur ce que ça donne, si je vois une page de login ou pas.

J’ai les mêmes soucis que Sindoor,

Sur le navigateur : J’ai juste le logo home assistant « Loading data » qui tourne en boucle, et « unable to connect to Home Assistant »

Sur l’application Compagnon, j’ai « Connexion perdue. Reconnexion en cours »

si je te donne mon URL, tu vas réussir à te connecter si tu es sur une connexion ADSL/Fibre classique, c’est a partir d’un réseau cellulaire que ca bloque

Oui j’ai bien compris que c’est en 4g a priori, mais je peux tester…

Et après ce que tu décris ressemble fortement à un problème de websocket. Je n’utilise pas l’addon nginx proxy manager mais je vois qu’il y’a une case à cocher Websockets Support : coché, est elle bien cochée ?

Certains ajoutent carrément les headers nécessaires ainsi :

Ça vaut le coup d’essayer…

Et sinon quelle version as tu de HA ?

1 « J'aime »

Je veins de vérifier, Websockets Support est bien coché.

J’ai essayé de me connecter avec le smartphone android de ma femme, et là, ca fonctionne en 5G!

Le problème vient de mon iPhone apparemment…

sinon, j’ai la dernière version de HA supervised sur un Raspberry Pi

Personnellement je n’ai jamais résolu le soucis, malgré une config ok (websocket etc…).

Toutes les solutions d’accès à home assistant en https que j’ai testé ne fonctionnent pas sur mon mobile… Mais le soucis vient selon moi de la tambouille de l’opérateur, et cette piste a été évoqué un peu plus haut.

Personnellement, je dispose avec mon épouse de 2 téléphone Android compatible 5g (Samsung 22 ultra) , mais chez sosh (donc 4g uniquement).

Est ce que l’accès https en 4g fonctionne avec des personnes chez sosh ? Et si oui, avec quelle solution ?

Oui je suis justement sur Sosh et zéro problème que ça soit navigateur ou application. Le certificat est un letsencrypt des plus classiques. A part qu’au début j’ai eu le problème des websockets car je suis allé trop vite et que je ne l’avais pas configuré au niveau proxy dans le Synology (que utilise au final nginx d’ailleurs), tout marche bien.

J’ai juste décoché « Prioriser l’URL interne » dans l’application qui avait du mal quand je switchais de wifi a 4g et inversement.

Sur Safari et/ou l’application HA et/ou Chrome ?

Est ce que tu as essaye d’ajouter tout de même les lignes indiquées ? Dernière version c’est 2022.8.6 du coup ?