Accès extérieur HTTP(S)

Bonjour,

J’ai parcouru pas mal de sujets concernant ce problème mais je n’ai pas trouvé solution au mien malheureusement :frowning:

Renseigner votre problème

J’ai un routeur branché sur ma Livebox, et la machine sur laquelle est installée HAOS est connectée au routeur. Avant son installation, j’arrivais très bien à accéder à HA en HTTPS, mais je voudrais gérer les règles de redirection de ports et attributions d’IP depuis mon routeur. Ce que je ne comprends, c’est que ça ne fonctionne pas lorsque je suis le même raisonnement que lorsque ces règles étaient gérées par la box.

En local, j’accède à HA via 192.168.8.117:8123
J’ai ces règles de redirections de ports :

Dans NPM installé via HA, j’ai ceci :

Mais lorsque j’essaye d’accéder en HTTP:

Il y a forcément quelque chose de gros que j’ai loupé, mais en relisant les différentes procédures trouvées je ne sais pas quoi.

Pourriez-vous m’aider svp en m’indiquant ce que je manque ou en me réorientant sur la façon de faire ?

Merci bcp :slight_smile:

Ma configuration


System Information

version core-2024.2.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.1
os_name Linux
os_version 6.1.74-haos
arch x86_64
timezone Europe/Paris
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 5000
Installed Version 1.34.0
Stage running
Available Repositories 1398
Downloaded Repositories 4
HACS Data ok
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 11.5
update_channel stable
supervisor_version supervisor-2024.01.1
agent_version 1.6.0
docker_version 24.0.7
disk_total 30.8 GB
disk_used 5.7 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Advanced SSH & Web Terminal (17.1.0), File editor (5.8.0), MariaDB (2.6.1), Nginx Proxy Manager (1.0.1)
Dashboards
dashboards 1
resources 4
views 4
mode storage
Recorder
oldest_recorder_run 17 février 2024 à 06:11
current_recorder_run 18 février 2024 à 13:59
estimated_db_size 9.04 MiB
database_engine sqlite
database_version 3.44.2
___

Cela ne marchera jamais correctement car tu fais du double NAT !! Pourquoi mettre un routeur derrière ta Livebox ? ça segmente ton réseau et complique tout !!

1 « J'aime »

Je voudrais gérer le NAT depuis le routeur, quitte à désactiver celui de la box.
Il faudrait que je la passe en mode bridge pour que ça fonctionne ?

Salut

Tu ne peux pas mettre ta box en mode bridge, mais tu peux mettre ton routeur en DMZ dans ta box.

Je viens de voir que ce n’était pas possible pour la Livebox effectivement.
Mon idée est d’avoir un matériel qui me permette de changer de box facilement sans avoir à me retaper toutes les règles qui vont avec pour accéder à HA depuis l’extérieur. Est-ce que passer mon routeur en DMZ dans la box m’aiderait en ce sens ?

Merci

1 « J'aime »

Oui, quand tu changes de box, t’auras juste besoin à chaque fois de passer ton routeur en DMZ.

1 « J'aime »

Salut,

En dehors les questions de réseaux posées. il y aussi un souci dans ta config NPM.

Si tu veux utiliser NPM, il faut que les 80 et 443 soient redirigés vers les 80 et 443 de ta machine.
Là tu as redirigé 443 vers 8123… donc en gros tu évites explicitement NPM.

1 « J'aime »

J’ai passé mon routeur en DMZ dans ma box.
J’ai également corrigé les règles de redirection (j’avais commencé par celles-là mais vu que ça ne fonctionnait pas je testais différemment). Malheureusement pour le moment le résultat est le même, la box et le routeur ont été redémarrés également, dans le doute.

Enfin, l’erreur est maintenant ERR_CONNECTION_TIMED_OUT, et non plus ERR_EMPTY_RESPONSE. Ca change :slight_smile:

Après plusieurs essais, je ne parviens pas à accéder à HA en HTTP via les règles de mon routeur. Ces dernières ne semblent pas être prises en compte, par contre dès que je remets les règles en place sur la Livebox ça fonctionne.

Comment définir ces règles sur le routeur et non sur la Box ?

Tu peux pas mettre une route static dans ta LB pour pointer vers l’IP de ton routeur ?

C’est quoi comme routeur d’ailleur ?

Mon routeur est le FLINT-2 de GL-iNet (MT6000) et il a bien une IP attribuée dans la Livebox.
En gros actuellement, ça ne fonctionne que dans ces conditions :

  • Redirections Livebox Port 80>80 sur l’IP du routeur
  • Redirections routeur Port 80>8123 sur l’IP de mon HA

Le HTTP fonctionne de cette façon, mais ce n’est pas satisfaisant du coup je n’ai pas poussé au HTTPS pour le moment.

Édit: en fait je pense que mon IP statique publique est délivrée par la box. Donc les règles NAT y sont localisées. Mon routeur ajoute une surcouche mais j’aimerais qu’il devienne l’unique référent des redirections de ports :confused: là-dessus je sèche

Salut :wave:t2:
Je vais recevoir d’ici demain un Flint2 :blush:
J’ai actuellement un routeur Synology derrière une Freebox. Le Synology est mis en dmz de la Freebox.
Pourquoi ne fais-tu pas toi aussi cela ? Mettre ton flint2 en dmz de ta livebox ?

Hello,

Désolé je réponds un peu tard.
Au final j’ai réussi à accéder en HTTPS, mais sans utiliser NGINX avec lequel ça ne fonctionnait pas. Je suis passé par Cloudflared pour lequel ça passe sans souci.

Côté Livebox et routeur :

Livebox :
1 - Attribution IP statique au Flint
2 - Flint en DMZ
3 - Redirections de protocoles (protocoles: tous ; équipement : Flint2 ; IP Externes : Toutes) :

Flint :
1 - Ouverture du port 443 :
image

2 - Redirection vers HA (443 vers IP:8123) :
image

Hello

:thinking:
Cloudflare et nginx ne proposent pas les mêmes fonctionnalités… D’ailleurs ils peuvent être utilisés ensemble.

Si tu utilises Cloudflare, tu n’as pas besoin d’ ouvrir de ports.

1 « J'aime »

Hello,

comme le dit @Giga77 si tu passes par Cloudflare, pas besoin de toutes ces config sur ta box :eyes:

(Je suis passé par cette solution parce que j’avais besoin de l’ipv4 via ma box cheap bloquée en ipv6 uniquement et que le FAI voulait pas faire le nécessaire :sweat_smile: )