Installer Wireguard

Hello,

Mon problème

J’aimerais installer Wireguard.
Partout, je lis qu’il faut aller dans supervisor->Add-ons store et que là, je devrais avoir Wireguard qui serait affiché.
Cependant, ça n’est pas le cas.
Qu’est-ce que j’ai loupé ? :wink:

Ma configuration


System Health

version core-2021.2.1
installation_type Home Assistant OS
dev false
hassio true
docker true
virtualenv false
python_version 3.8.7
os_name Linux
os_version 5.4.86
arch x86_64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 5000
Installed Version 1.10.1
Stage setup
Available Repositories 0
Installed Repositories 0
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Hass.io
host_os Home Assistant OS 5.10
update_channel stable
supervisor_version supervisor-2021.02.5
docker_version 19.03.13
disk_total 30.8 GB
disk_used 4.2 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.0.1), Samba share (9.3.0), Check Home Assistant configuration (3.6.0)
Lovelace
dashboards 1
resources 0
mode auto-gen
Oui, j'ai fini par trouver le bouton :laughing: ___

Il est pourtant bien présent (même version que toi) :

J’avais cru comprendre que c’était un addon officiel, en fait il est dans HACS ?
D’ailleurs, dans Supervisor->Add-on store quand je fais une recherche je n’ai pas les résultats de HACS, y a vraiment des choses dites simple que je ne saisi pas dans HA je crois :confused:

On va dire ça :slight_smile:

HACS et Home Assistant Community add-on ce sont deux choses différentes.

L’accès à Home Assistant Community add-on est dispo dès que tu as le « superviseur ».
Il y a deux familles d’addon. Les officiels et les autres. Mais, un bon paquet des community sont packagés par Frenk (qui bosse pour HA) donc, c’est du quasi officiel.

HACS ça vient en plus, si on veut. Pour des intégrations et des card supplémentaires.

1 J'aime

Non, dans add-on… :innocent:

La meilleur chose à faire et déjà de parcourir les Tutoriels (même ceux qui ne t’intéressent pas), tu pourra y découvrir beaucoup (termes, façon de faire, d’appréhender) de HA :+1:

1 J'aime

étonnamment, je n’avais pas le dépôt malgré le fait que j’ai le superviseur vu que j’utilise Home Assistant OS.
Par contre petit signalement : sur le sujet À propos de la catégorie Addon
Le lien vers la doc pour installer des add-on officiels et non officiels « n’existe pas ou n’est pas accessible » : https://forum.hacf.fr/t/comment-installer-une-extension-officielle-et-non-officielle/2071

Cependant, en croisant les sources ici et de mon moteur de recherche préféré, j’ai pu trouver l’URL du dépôt à ajouter et l’addon wireguard, que je compte utiliser de façon atypique vu que je ne souhaite que l’utiliser en tant que client pour le connecter à un serveur Wiregard.

Rien d’impossible si j’ai bien compris, mais ça attendra demain :slight_smile:

Merci pour les réponses en tout cas qui m’ont toutes aiguillé à leur manière.

J’avais bien saisi ce qu’est le HACS mais je n’avais pas saisi où trouver des dépôts s’intégrant aux add-on dans le superviseur, du coup je m’étais rabattu vers HACS pour Wireguard.

Bonne soirée/nuit :slight_smile:

J’ai comme un doute… A lire la doc de l’addon wireguard, c’est un serveur seulement.

Bonjour,

Je confirme, je pense qu’il génère le serveur VPN
All generated files are stored in /ssl/wireguard. This includes the client configurations generated by this add-on.

Ce qui me laisse penser qu’il est possible de l’utiliser aussi comme client, c’est qu’il y a exactement les mêmes instructions que lorsqu’on configure un client Wireguard classique, par là je veux dire sans Home Assistant.

Par exemple, on peut définir le endpoint d’un peer.
Et la documentation spécifie également qu’il est possible de faire tout ce que Wireguard fait.
Après s’il n’y a que ça, j’ouvre quand même un serveur, que je connecte à mon serveur en peer to peer, comme ça pas besoin de migrer quoi que ce soit ailleur :wink:
Vu que Wireguard gère le P2P. Mais ça serait dommage de limiter Wireguard à un serveur vu sa souplesse.

1 J'aime

Tu nous raconteras si et comment ça marche!

En fait, ça marchouille :laughing: il se connecte bien, en tout cas je peux envoyer un ping sur l’IP de l’interface Wireguard depuis une machine connectée au VPN.
Je peux également me connecter au port 80 pour avoir le JSON qui donne l’état de la connexion.
Par contre, j’ai un beau « connection refused » si je tente de me connecter au port 8123 via CURL :slight_smile: ça limite un peu l’intérêt d’un seul coup.

Voici ma config :

server:
  host: host-vers-mon-ip
  addresses:
    - 172.16.9.8/24
  dns: []
  private_key: "xxx" # du côté de mon serveur, j'ai renseigné la clé publique correspondante
#  table: off (même en laissant le réglage par défaut ne change rien)
#  post_up: off (idem)
#  post_down: off (encore idem)
peers:
  - name: monserveur
    public_key: "xxx" # clé publique correspondant à la clé privée du serveur
    addresses:
      - 172.16.9.1/24
    allowed_ips:
      - 172.16.9.0/24
    client_allowed_ips:
      - 172.16.9.0/24
    persistent_keep_alive: 25
    endpoint: host-serveur:port_wireguard

La connexion s’établie effectivement, bien affichée autant dans le log de l’add-on que du côté du serveur.
Donc oui on peut l’utiliser seulement en tant que client mais il y a une nuance que j’ai visiblement pas saisi pour que le port 8123 soit joignable.

Ca correspond à quoi le /24 ici? Ne serait-ce pas plutôt /32?

Et je me demande dans cette configuration à quelle adresse tu as HA?
celle du VPN? celle du container? celle de ton host ?

J’ai mis un masque 24 donc 255.255.255.0 à chaque machine connecté au VPN.
Tout arrive à communiquer.

Actuellement, je n’arrive à joindre HA que par le réseau local, sinon de l’extérieur j’arrive à le joindre par mon reverse proxy Nginx mais pas par mon VPN, si depuis une machine connectée sur le VPN je tente d’aller sur 172.16.9.8:8123 j’ai connexion refusée.
Il me semblait que l’add-on ajoutait les routes pour que justement HA soit joignable depuis le VPN, hors même en ne touchant pas aux réglages tables, post_up et post_down finalement je me retrouve avec un bête accès au container qui a Wireguard mais pas à HA lui-même.

Ca perd un peu :slight_smile:
C’est effectivement un truc qui manque de routage, de nat ou je ne sais quoi.

1 J'aime

Mais je vois les choses du bon côté, au moins on est sûr que cet add-on peut aussi être utilisé comme un client Wireguard.
On a accès à rien, mais on peut le faire :laughing: en fouinant sur les forums officiels je crois comprendre qu’il faudrait router vers l’IP de HA sur le réseau local pour que ça fonctionne, solution que je procrastine :wink:

1 J'aime

Si tu regardes addon-wireguard/DOCS.md at main · hassio-addons/addon-wireguard · GitHub tu verras que le /24 qui me chagrine à adresses n’y est pas…
Déjà, ça me semblerait mieux. Je ne sais pas comment c’est utilisé mais ça peut mettre la grouille dans le routage.

Et plus loin dans la doc on voit:

iptables -A FORWARD -i %i -j ACCEPT
iptables -A FORWARD -o %i -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Qui justement permet de faire la NAT qui va bien.
Je suis surpris du eth0 en dur dans le code. Ton interface ethernet, c’est quoi son petit nom?

Je viens de tester sans au cas où, en tout cas la doc spécifie qu’on peut mettre des masques CIDR mais je les ai tous retiré autant pour l’adresse du peer que pour l’interface (bloque server).
Même résultat, connexion refusée.
Idem en ne mettant rien dans les allowed_ip et client_allowed_ip.
Et apparemment, de toute façon mon /24 est le comportement par défaut car dans le log j’ai [#] ip -4 address add 172.16.9.8/24 dev wg0
Alors que j’ai bien retiré tous mes /24.

Je ne sais pas ce que ça peut donner dans le container qui fait tourner l’add-on, vu qu’apparemment ça fonctionne comme ça… mais depuis SSH en faisant un ha network info j’ai bien enp0s3 mais aucun eth0.
Après je ne sais pas comment on peut savoir ce qui est pour l’add-on qui est isolé.

Pas tous!!
Juste celui que je t’ai dit. C’est l’adresse IP du host. Donc en CIDR c’est rien ou /32 mais pas /24…

Tu peux te connecter au container wireguard avec un docker exec… Et voir ce qu’il a.

Oui et quand tu ne mets rien, il met /24 tout seul, l’extrait de log que j’ai copié c’est quand je ne spécifie aucun masque dans l’adresse de l’host.

Pas accès à la commande docker depuis SSH.
Et un accès en console directe sur la VM m’est impossible, non pas que je ne sais pas faire, je ne peux tout simplement pas le faire moi-même.

Une configuration et un log sont 2 choses, ce qui est affiché n’est pas texto la configuration souvent (le log donne plus d’information).