Installation et configuration de WireGuard dans Home Assistant

J’ai installé Home Assistant (domotique) sur un Raspberry Pi.

Sur mon ancien site vous trouverez la procédure que j’ai utilisée pour installer Home Assistant sur un Raspberry Pi.


Avant de poursuivre, on configure l’accès SSH et on installe le module complémentaire WireGuard.

Installation de modules complémentaires, activer le mode avancé, Terminal & SSH, File editor, WireGuard :

Installation des modules complémentaires dans Home Assistant

Configuration pour l’accès SSH :

Configuration du module complémentaire Terminal & SSH pour Home Assistant


Générer les clés privée et publique pour WireGuard.

SSH

Depuis un terminal SSH (sous Linux dans un terminal ssh root@IP_du_Raspberry_Pi -p 22).

Exemples d’accès SSH sous Windows avec PuTTY :

Utilisation de PuTTY depuis le réseau local ou à distance

Installation du paquet wireguard-tools :

apk add wireguard-tools

Pour générer les clés privée puis publique :

wg genkey | tee /config/wg-private.key
wg pubkey < /config/wg-private.key > /config/wg-public.key

Pour voir les clés :

cat /config/wg-private.key
cat /config/wg-public.key

Configuration du serveur WireGuard dans Home Assistant

Paramètres ==> Modules complémentaires ==> WireGuard ==> Configuration

Section Options log_level info

server:

host: homeassistant.dominique.org
addresses:
  - 10.0.0.1
dns:
  - 8.8.8.8
  - 8.8.4.4
private_key: KJ***************************************mc=
  • addresses : Adresse IP du serveur dans le VPN.
  • private_key : Clé privée du serveur.

peers:

- name: Dominique
  addresses:
    - 10.0.0.2
  public_key: sR***************************************Ak=
  allowed_ips:
    - 10.0.0.2/32
  client_allowed_ips:
    - 192.168.1.0/24

cliquez sur ENREGISTRER puis redémarrez.

Section Réseau 51820

  • addresses : Adresse IP du client dans le vpn.
  • public_key : Clé publique du client.
  • allowed_ips : Indique que le client peut accéder à ces adresses.
  • client_allowed_ips : Adresses IP du client autorisées à passer par le tunnel VPN.

Configuration du client

Mon fichier de configuration pour le client :

[Interface]
# Clé privée du client
PrivateKey = 8G***************************************Gg=
# Adresse IP du client à l’intérieur du VPN
Address = 10.0.0.2/32
[Peer]
# Clé publique du serveur
PublicKey = b3***************************************2E=
AllowedIPs = 192.168.1.0/24, 10.0.0.0/32
Endpoint = ***.***.***.***:51820
  • Address : correspond à l’adresse IP du client dans le VPN.
  • Pour Endpoint remplacez ***.***.***.*** par l’IP publique du site de votre serveur. 51820 est le port configuré pour WireGuard.

Configuration des clients Windows et Linux

Voici des exemples de configurations de clients sous Windows et Linux Mint. Les paramètres, adressages IP, etc. sont à adapter.

Installer et configurer le client WireGuard sous Windows 11

Installer WireGuard VPN Client sur Linux Mint


Configuration de la Box

Redirection de port :

  • Protocole : UDP
  • Port externe : 51820
  • Adresse IP interne : Celle du serveur Home Assistant
  • Port interne : 51820

Exemples de configurations de règles NAT avec une Livebox 5 d’Orange :

Configuration de la Livebox 5 Orange règles NAT

Retour en haut