Ajouter une route statique pour atteindre d'autres réseaux

CONTEXTE

L’objectif ici est d’atteindre des équipements présents dans d’autres réseaux.
Voici un schéma de mon réseau local :

Il est découpé en 4 réseaux différents afin de cloisonner et restreindre les accès :

  • en violet : le réseau serveurs/services qui regroupe les équipements NAS, le Home Assistant, la Freebox (entre autres) et le Firewall me permettant de contrôler les flux des autres réseaux

  • en bleu : le réseau des équipements PC, Imprimantes, smartphone, etc… de mon foyer

  • en orange : le réseau pour les invités

  • en vert : le réseau des équipements IoT IP

Le besoin est donc de permettre à mon Home Assistant dans le réseau violet (192.168.1.0/24) d’atteindre par exemple une Yeelight qui est dans le réseau vert (192.168.3.38).

Je suis dans l’obligation de créer une route statique sur mon Home Assistant car la passerelle par défaut étant une Freebox, il est impossible de déclarer (sur la Freebox) des routes (=> limitation du produit).

Pour résoudre cela, il faut indiquer au Home assistant de joindre l’adresse IP du Firewall (192.168.1.253) afin d’atteindre un autre réseau.

PROCEDURE

  1. Pré-requis

Il est impératif d’installer sur Home Assistant un module complémentaire SSH. Point important, il faut installer uniquement celui se nommant « SSH & Web Terminal » et décocher le mode protégé. Ceci ayant pour effet d’accéder à des commandes avancées que nous verrons par la suite (par exemple nmcli)

  1. Vérification du non accès à la ressource

Une fois ce module installé et configuré, nous allons essayé de joindre l’IP de la Yeelight au moyen d’un ping
image
On voit dans la capture d’écran que 0 packets n’ont été reçus.

  1. Lister toutes les connections actuellement configurée

La commande nmcli device show permet d’afficher les informations suivantes :
image
Il est important ici de repérer le nom de la carte (ici Supervisor eth0) en charge du réseau violet. C’est donc dans cette carte que nous allons ajouter une nouvelle route (les 2 premières ont été rajoutées automatiquement).
On voit dans cette liste qu’il n’y a pas de route vers le réseau vert (192.168.3.0/24)

  1. Edition des paramètres de la carte
    La commande nmcli con edit « Supervisor eth0 » (remplacer ce nom entre guillemets suivant le nom de votre carte indiqué dans la précédente commande) permet de rentrer en mode configuration
    image
    On peut observer un changement dans le prompt (on passe ici en nmcli>)

  2. Afficher la configuration en détail de la carte
    La commande print ipv4 permet d’afficher les détails de la configuration et donc de surcharger la configuration automatique (vue lors de la commande du point 3)
    image

  3. Ajout de la route
    Notre volonté est de rajouter une nouvelle route, pour cela il faut saisir la commande set ipv4.routes 192.168.3.0/24 192.168.1.253. Ainsi, pour atteindre le réseau 192.168.3.0/24, il faut transmettre le paquet à la passerelle 192.168.1.253
    image

  4. Vérification du changement
    Grâce à la commande print ipv4, on peut observer l’ajout de la nouvelle route
    image

  5. Application de la configuration
    Cette étape est primordiale sinon l’ajout de la route ne sera pas prise en compte dans la carte. Il faut sauvegarder la configuration MAIS en mode persistent afin qu’elle soit appliquée même après un reboot. On utilise donc la commande save persistent (et surtout pas uniquement save)
    image
    Le résultat de la commande montre que la configuration a bien été mise à jour.

  6. Quitter le mode nmcli
    Il ne reste plus qu’à quitter le module grâce à la commande quit

  7. Reboot de l’hôte
    Dernière étape indispensable, il faut rebooter complètement l’hôte pour que le routage soit pleinement opérationnel : attention, cette opération peut prendre un peu de temps suivant votre configuration.
    Pour ce reboot :
    Supervisor > System > Restart Host

  8. Vérification du fonctionnement
    Pour confirmer le fonctionnement de cette nouvelle route, nous allons exécuter la commande du point 3 et vérifier la présence de la route


    Et confirmer par la commande ping (identique au point 1) que nous pouvons maintenant joindre notre équipement
    image

2 J'aime

Merci pour le partage

Merci @crampes2 pour ce tuto clair qui devrait m’aider à raccrocher un device présent dans mon sous-réseau; j’aurais toutefois 2-3 petites questions stp :

  1. derrière ma freebox 192.168.1.254 j’ai une Nest wifi branché en éthernet dont l’adresse est 192.168.1.15 à laquelle est connecté une enceinte Nest en 192.168.86.21 = dois-je donc considérer que l’adresse de ma passerelle est 192.168.1.15 ?
  2. j’ai installé HA en supervised sur PI en wifi, ce qui fait que la commande nmcli device show ne fait pas apparaître de « Supervisor eth0 » : parmi la vingtaine de GENERAL.DEVICE, ils ont tous un GENERAL.CONNECTION -- :frowning: Parmi les GENERAL DEVICE qui ont un IP4.ROUTE j’ai 1) docker0 (bridge en DEVICE.TYPE) 2) hassio (bridge en DEVICE.TYPE) et 3) lo (loopback en DEVICE.TYPE) ; est-ce 1 parmi ces 3 là ? ou dois-je aller chercher un DEVICE.TYPE ethernet ou wifi ? dans tous les cas, pas de moyen d’appeler un nmcli con edit « Supervisor eth0 » :frowning:
  3. si jamais j’arrive à aller au bout de la manip et qu’elle s’avère infructueuse, y a-t-il moyen de revenir en arrière ?

Je te remercie par avance pour ton aide ! :pray:

HA a une adresse en 192.168.1.X donc? Si c’est bien le cas, c’est ça. Il faut dire pour atteindre 192.168.86.0 passer par 192.168.1.15.

Déjà HA en wifi, c’est plutôt à éviter. Je sais, ce n’est pas la question. Juste en passant :slight_smile: L’autre méthode pour trouver la bonne interface si rien n’apparait clairement c’est de chercher celle ou tu vois l’adresse IP de HA (le fameux 192.168.1.x). Je pense que l’interface va être en wlan0 ou wifi

Oui. A la place de « set » faire « delete ». Une fois dans nmcli con edit avec help, print, describe tu auras la syntaxe exacte à donner pour ajouter ou enlever.

1 J'aime

pourquoi ne pas mettre ton firewall en tant que passerelle directement sur tous tes subnet/vlan
c’est beaucoup plus propre

En effet @golfvert a répondu, il faut bien invoquer la passerelle en 192.168.1.15.

Là encore je rejoins @golfvert sur le fait du raccordement de HA en Wifi. C’est vraiment pas le meilleur type de connexion si tu veux garantir le fonctionnement de ta domotique. Toutefois, pour choisir correctement le nom de ta connexion, ce qu’il faut regarder c’est la carte qui porte l’adresse de ton réseau local. Si tu regardes le screenshot de l’étape 3, je prends « Supervisor eth0 » car dans IP4.address il y a bien l’ip de mon HA (192.168.1.3)

Revenir en arrière est évidemment possible en faisant une commande delete.

1 J'aime

Merci pour vos retours @golfvert et @crampes2 :+1:
Là, je vais malheureusement devoir patienter car je suis confronté à un kernel panic qu’il faut que je résolve :sob: