Problème de réseau et d'accès externe

Bonjour @WarC0zes
Je suis incapable de dire pourquoi. Depuis j’a rajouté une prise Tapo 110 pilotée par l’appli Tapo et qui me permet de couper le jus pour la box et le rpi et de le remettre en espérant que tout veuille bien redémarrer.

Tu fais ça a distance :laughing:

Oui tout a fait, c’est extra et ça coute 2 x rien TAPO PT100 ou PT110

tu reboot ta box internet a distance ? pendant que tu eteins ta box ??
tu remets comment route ?
tu aimes jouer avec le feu

2 « J'aime »

Cette fois je pense qu’il y a vraiment un problème de config. Lorsque je suis sur mon site 1 je peux me connecter sans problèmes en local ou en 4g avec hasite1;ndd.fr.
Maintenant je suis sur mon site 2 et si j’essaie de me connecter avec les mêmes url je récupère une erreur 403:forbidden. Qu’est-ce qui peux provoquer ce problème ? Merci de ton aide

Edit: petite précision, je n’ai pas ce problème avec mes 2 connexions jeedom qui sont dans le même NPM jeedom1.ndd.fr et jeedom2.ndd.fr. Donc a priori ça ne vint pas de NPM mais d’un config je ne sais où dans HA. Non ?

E message est symptomatique d’une ip bannie si tu as activé le bannissement d’ip

Non, je n’ai pas activé le bannissement. Et si j’avais banni par mégarde ça ne fonctionnerai pas non plus pour mes jeedom

Non car le bannissement est géré par HA pas par npm

Donc ça peut être ton reverse proxy qui n’est pas autorisé par HA avec la directive trusted_proxy

et je vois ça où et comment le corriger ? Merci

Dans le fichier configuration.yaml il y’a des directives à ajouter lorsque tu as un reverse proxy en frontal , c’est étonnant car vu que tu ne semble pas le comprendre alors que tu l’as forcément fait pour que ça puisse fonctionner
Voilà ce que tu devrais retrouver

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - x.x.x.x/24

  ip_ban_enabled: true
  login_attempts_threshold: 5

Ou il faut remplacer x.x.x.x par l’IP du reverse proxy
Les 2 dernières lignes sont bonus et permettent de bannir les ip au bout de 5 tentatives de login

Sur mes 2 sites j’ai ça dans configuration.yaml

################################################################################
# Configuration pour NGINX proxy                                               #
################################################################################
http:                                                                          #
  use_x_forwarded_for: true                                                    #
  trusted_proxies:                                                             #
    - 0.0.0.0/0                                                                #
  ip_ban_enabled: true        # Ces 2 dernières lignes sont faites pour bannir #
  login_attempts_threshold: 5 # une ip qui s'est trompée 5 fois de mdp         #
                              # Dans le cas d'un auto banissement il faut sup- #
                              # primer l'adresse ip dans ip-bannies.yaml ???   #
#===============================================================================

comme indiqué ci-dessus. Faut-il que je change quelque chose, sur le site 1 et/ou sur le site 2 ?

Tu vois que tu as bien le bannissement d’ip paramétré

Tu as sûrement des ip bannies

Tu as un fichier ip_ban.yml
A chaque ligne tu as une ip bannie
Jette donc un œil dedans

1 « J'aime »

Bon, je ne peux pas le faire pour l’instant puisque je suis sur le site 2 et que je ne peux pas joindre le site 1. Ceci dit, et sauf erreur de ma part,

signifie que toutes les adresses IP sont des adresses de confiance. Comment alors je peux avoir des adresses IP bannies ? Merci

Cela veut dire que tu autorises tous les reverse proxy , c’est différent du bannissement d’ip qui intervient en plus

Je ne comprends plus rien à npm. Quelle adresse ip (publique je suppose) pourrait-être bannie, celle de mon site 2 ?

Ça n’a rien a avoir avec npm c’est HA qui fais le bannissement

ça serait bien d’avoir un tuto clair et accessible à bon nombre ou un post dédié à ces questions de reverse proxy et de bannissement. Par exemple pourquoi j’ai été obligé de passer de [quote=« Kenderv44, post:27, topic:57248 »]

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 192.168.0.34
  ip_ban_enabled: true        # Ces 2 dernières lignes sont faites pour bannir #
  login_attempts_threshold

[/quote]

à
0.0.0.0/0 pour que ça fonctionne sur mon site 1 et pourquoi ça ne fonctionne pas depuis mon site 2. Pourquoi ce bannissement ?. A quoi sert sert fail2ban ? Les liens entre tous ces éléments ?
Que faut-il faire précisémnet pour que ça fonctionne, etc. Nous ne sommes pas tous des spécialistes. Quelqu’un peut trouver le temps de s’y coller ? Merci
etc…

Tu mélange tout en fait le bannissement est géré par ha rien a avoir avec le reverse proxy

Et la définition du trusted_proxy ça permet d’autoriser le reverse proxy sur HA
Après c’est une incompréhension de ta part sur les écritures des adresses réseau

  • 192.168.0.34 c’est uniquement cette IP
  • 192.168.1.0/24 ce sont toutes les ip de 192.168.1.1 à 192.168.1.254
  • 172.16.0.0/16 ce sont toutes les adresses de 172.16.0.1 a 172.16.255.254
  • 0.0.0.0/0 ce sont toutes adresses ip
1 « J'aime »

Toutes ces informations sont dans des documentations, mais certaines choses n’ont rien de spécifique à HA c’est pour cela peut-être que tu ne trouve pas l’information au bon endroit.

1 « J'aime »

J’ajoute que sur OVH on peut créer un login/mdp pour avoir une addresse d’IP dynamique - c.a.d. ton équipement notifie OVH pour mettre à jour l’adresse du sous-domaine.

Une fois qu’on a son login et mot de passe, il y a plusieur methodes pour tenir l’adresse à jour.

Avec GitHub - GuilleGF/hassio-ovh: OVH DynHost Updater Component for https://www.home-assistant.io/ - il n’y a qu’à l’ajouter à HAOS et mettre en place la configuration.

Et en utilisant le fichier secrets.yaml: configuration.yaml:

ovh:
  domain: !secret ovh_dyndns_domain
  username: !secret ovh_dyndns_user
  password: !secret ovh_dyndns_pwd

Et dans secrets.yaml

ovh_dyndns_domain: dmaine
ovh_dyndns_user: login-dyndns
ovh_dyndns_pwd: mdp-dyndns

Ou avec un script local. Par exemple, fichier dyndns.sh, exécutable (chmod +x dyndns.sh). Facilement transformable en python avec les AI

#!/bin/bash
curl -o - -I 'https://login-dyndns:mdp-dyndns@www.ovh.com/nic/update?system=dyndns&hostname=sous.domaine.XX'

Et executer cela comme un script, tous les 5 minutes par example.

Pour montrer comme l’IA transforme cela (sans le blabla):

A ajouter à configuration.yaml

shell_command:
  update_dyndns: 'curl -o - -I "https://login-dyndns:mdp-dyndns@www.ovh.com/nic/update?system=dyndns&hostname=sous.domaine.XX"'

Automatisation:

- alias: Update DynDNS
  trigger:
    platform: time_pattern
    minutes: "/5"
  action:
    service: shell_command.update_dyndns
1 « J'aime »