Dans le but d’intéragir avec un ESP32 sous ESPHome en dehors de mon réseau local, je souhaite mettre en place une connexion VPN avec WireGuard.
J’ai donc installé WireGuard sur HA, configuré le VPN, ouvert le port et j’arrive à accéder à mon instance HA sur mon téléphone en 4G. Donc c’est top et à priori bien configuré. Pour information, j’ai aussi AdGuard Home qui tourne.
Maintenant, j’ai fait la config sur ESPhome avec le composant Wireguard, d’après les logs, le client ESP est bien connecté : [I][wireguard:096]: WireGuard remote peer is online (latest handshake 2024-02-20 10:06:34 CET)
Salut,
J’utilise Wiregard.
J’ai un serveur sous forme de LXC sur Proxmox.
Ce VPN me permet un accès distant à toutes les machines de mon LAN comme si j’étais dans mon LAN.
J’ai accès à mon ESP WLED, à mes trois ESP32 ESPHome, aux interfaces web de mes Shelly, à mon NAS, à mon serveur Proxmox et bien sûr à mon HA.
Il me suffit d’ouvrir le tunnel entre mon smartphone ou mon portable et mon serveur Wireguard.
Je n’ai rien codé dans mes ESP. Je n’ai qu’un seul port ouvert.
Je ne suis pas expert WG, juste un débutant comme beaucoup et WG m’offre des perspectives très intéressante.
Tant que des gens débutants ou confirmés parlent/testent WG, je suis preneur des erreurs/trouvailles.
@GDX2 c’est une bonne remarque mais le port est implicite donc malheureusement ca ne fonctionne pas non plus.
@Krull56 Quand je fais des tests en in situ justement donc via le VPN mais avec l’esp connecté au réseau local ça fonctionne, j’ai bien accès aux données de mon ESP mais c’est via son adresse IP initiale pas celle que j’attribue avec le VPN, peut être que mon problème vient de la
@Oles67 je touche un truc, il ne manque pas grand chose ahah
Avoir la même adresse IP sur le WIFI et le wireguard, ça ne me parait pas correct…
Le VPN dans 99 fois sur 100 (il y a une vieillerie qui faisait du VPN en niveau 2), c’est comme avoir une autre interface sur ton équipement. ESP32, PC ou autre.
Avoir la même adresse IP (en fait le même réseau ici 192.168.2.x/24), ça va faire des trucs bizarres.
Donc, pour moi, il faudrait que ton adresse en VPN Wireguard soit sur un autre réseau (par exemple 192.168.100.x/24).
Il faut bien entendu que le VPN HA soit aussi dans ce réseau-là.
C’est ce qui m’avais fait croire (voir première réponse) que l’ESP était dans le réseau local.
Et effectivement, mes tunnels WireGuard utilisent un autre adressage IP que mon réseau local.
Local → 192.168.xx.xx
WireGuard → 10.6.xx.xx
Tu indiques que l’ESP est « ailleurs ». Cet ailleurs a un plan d’adressage IP local. Quel est l’adressage du wifi sur lequel est connecté l’esp ?
Et là, le plan d’adressage local de l’ESP est, on dirait, en .2.x et quand il se connecte avec Wireguard, tu redonnes une IP en .2.y.
Il faut en changer l’un des deux…
L’adressage du wifi sur lequel l’esp est est identique à mon réseau local, c’est pour cela que j’ai changé l’adresse du VPN en 192.168.2.X :
Réseau local HA : 192.168.1.X
Réseau local « ailleurs » : 192.168.1.X
Réseau Wireguard : 192.168.2.X
Voici les logs de mon ESP sur mon réseau local « ailleurs » (pour reprendre les termes :)). Il est uniquement accessible sur son IP locale : 192.168.1.64 mais pas sur son IP attribuée par le VPN 192.168.2.10.
Lorsque que je me connecte au VPN avec mon téléphone en 4G, tout est ok, j’accède à mon instance HA etc.
En revanche quand je me connecte (toujours avec le téléphone) en wifi sur le réseau « ailleurs » où je vais connecter mon ESP, je n’arrive plus à accéder à mon instance HA.
Peut etre un problème de DNS ? j’utilise AdGuadHome sur HA.
C’est normal.
Vu que ton réseau « ailleurs » est en 192.168.1.x et que ton réseau HA est AUSSI en 192.168.1.x , tu ne peux pas avoir un équipement « ailleurs » avec une adresse en .1.x et utiliser le VPN pour se connecter à une adresse aussi en 1.y.
Par définition (avec le masque par défaut…), 1.x et 1.y sont sur le même réseau et donc ne passeront pas par du routage pour se parler.
Alors maintenant j’arrive à joindre mon ESP sur son adresse attribuée par le VPN en 192.168.2.10. J’accède donc à l’interface web esphome, le wireguard status est ON.
Tout semble ok mais impossible de l’ajouter à HomeAssistant Erreur inconnue quand j’essaie d’ajouter 192.168.2.10 à l’intégration ESPHome.
J’ai exactement le même problème. Je peux accéder à l’ESP32 depuis les 2 réseaux, « ici » (A) et « ailleurs » (B) grâce à WireGuard. En revanche impossible de connecter l’ESP à Home Assistant via l’API.
Voici ma config:
Réseau local A en 192.168.0.x
– Home Assistant en 192.168.0.200, avec le serveur WireGuard en 192.168.9.1 (voir YAML ci-dessous)
Réseau local B en 192.168.31.x totalement séparé (à 100km )
– ESP avec ESPHome (voir YAML ci-dessous)
→ WireGuard est installé et fonctionnel sur l’ESP (je le vois dans les logs coté serveur et coté ESP)
Accès à l’ESP :
depuis le réseau A, page web 192.169.9.5 ok, pas de ping sur 192.169.9.5
depuis le réseau B, page web 192.168.31.141 ok, ping ok sur 192.168.31.141