Aller au contenu principal

Tunnels GREtap pour VLANs à travers le mesh

Ce guide explique comment étendre des VLANs à travers le backhaul WiFi mesh en utilisant des tunnels GREtap.

Prérequis

  • Backhaul WiFi mesh configuré selon le guide précédent
  • Les deux routeurs doivent pouvoir communiquer via l'interface mesh
  • Accès à l'interface LuCI sur les deux routeurs

Pourquoi GREtap plutôt que BATMAN-adv ?

Pour un réseau mesh composé de seulement deux routeurs, GREtap est préférable à BATMAN-adv pour plusieurs raisons :

Avantages de GREtap dans ce scénario

  1. Point-à-point suffisant : Avec deux routeurs, un tunnel point-à-point simple est suffisant. BATMAN-adv est conçu pour des topologies mesh complexes avec de nombreux nœuds et chemins redondants.

  2. Moins d'overhead : GREtap a un overhead de protocole plus faible que BATMAN-adv. Avec seulement deux nœuds, les fonctionnalités avancées de routage mesh de BATMAN ne sont pas nécessaires.

  3. Simplicité de configuration : GREtap est plus simple à configurer et à déboguer. Pas besoin de gérer les tables de routage mesh, les métriques de chemin, ou les algorithmes de sélection de route.

  4. Prévisibilité : Le trafic emprunte toujours le même chemin (le tunnel direct). Pas de changements dynamiques de route.

  5. Support natif : GREtap est largement supporté et documenté dans OpenWRT sans nécessiter de modules kernel additionnels complexes.

BATMAN-adv : quand l'utiliser ?

BATMAN-adv devient intéressant quand vous avez :

  • 3 nœuds mesh ou plus
  • Plusieurs chemins possibles entre nœuds
  • Besoin de redondance et de basculement automatique
  • Topologie mesh dynamique avec nœuds mobiles

Installation des packages requis

Installez le package nécessaire sur les deux routeurs :

opkg update
opkg install luci-proto-gre

Ou via l'interface LuCI : System → Software, recherchez et installez luci-proto-gre.

Configuration du tunnel GREtap

Étape 1 : Créer l'interface GREtap

Sur les deux routeurs, créez une nouvelle interface GREtap :

  1. Accédez à Network → Interfaces → Add new interface
  2. Configurez les paramètres de base

Paramètres de base :

  • Name : nom court (exemple : gr)
  • Protocol : GRETAP (Ethernet over GRE)
Limitation de longueur des noms d'interface

OpenWRT créé automatiquement l'interface avec le préfixe gretap-. Par exemple, si vous nommez votre interface trunk, OpenWRT créera gretap-trunk.

Problème : Pour faire passer des VLANs, la notation sera gretap-trunk.100, ce qui fait 16 caractères et dépasse la limite !

Exemple problématique :

  • Interface nommée trunk → Device créé : gretap-trunk (13 caractères)
  • VLAN 100 → gretap-trunk.100 (16 caractères) ❌ TROP LONG

Solution : Utilisez un nom très court comme gr, t, ou g.

  • Interface nommée gr → Device créé : gretap-gr (9 caractères)
  • VLAN 100 → gretap-gr.100 (13 caractères) ✅ OK
Origine de cette limitation

Les noms d'interface réseau sous Linux sont stockés dans une structure qui utilise un tableau de 16 octets. Ce tableau inclut le terminateur nul \0, donc la longueur maximale d'un nom d'interface réseau est de 15 caractères (16 - 1 = 15).

Paramètres du tunnel (General Settings) :

  • Remote IPv4 address or FQDN : IP de l'autre routeur sur l'interface mesh
  • Local IPv4 address : IP de ce routeur sur l'interface mesh

Configuration interface GREtap

Options avancées (Advanced Settings) :

Il est important de configurer les options avancées correctement :

  • Use TTL on tunnel interface : laisser décoché
  • Use PMTU discovery : laisser décoché (équivalent à Don't fragment)
  • Default gateway : DÉCOCHER cette option (important !)
  • Bind interface : sélectionner l'interface mesh (par exemple lan)

Configuration paramètres avancés GREtap

Pourquoi décocher ces options ?
  • PMTU discovery / Don't fragment : Le trafic WiFi mesh peut nécessiter de la fragmentation. Autoriser la fragmentation évite les pertes de paquets.
  • Default gateway : Le tunnel GREtap ne doit pas devenir la passerelle par défaut du routeur.

Extension des VLANs à travers le tunnel

Principe

Pour faire passer un VLAN à travers le tunnel GREtap, il faut créer un bridge device qui contient :

  • Le port physique ou l'interface VLAN locale
  • Le port GREtap VLAN correspondant

La notation utilisée pour un port GREtap VLAN est : @<nom_device_gretap>.<numero_vlan>

Exemple : Pour le VLAN 100 avec un tunnel nommé gr (device : gretap-gr) → @gretap-gr.100

Configuration sur le routeur principal

Étape 1 : Créer le bridge device pour le VLAN

  1. Accédez à Network → Interfaces → Devices → Add device configuration
  2. Créez un Bridge device :

Configuration du bridge :

  • Device type : Bridge device
  • Device name : br-lab (ou nom descriptif pour votre VLAN)
  • Bridge ports : Ajouter les ports suivants :
    • Le port physique ou VLAN local (exemple : lan3 pour un port physique)
    • Le port GREtap VLAN : @gretap-gr.100 (adapter selon votre device et numéro VLAN)

Bridge device avec port GREtap

Étape 2 : Créer l'interface réseau pour le VLAN

  1. Network → Interfaces → Add new interface
  2. Configurez l'interface :

Paramètres (General Settings) :

  • Name : LAB (ou nom descriptif)
  • Protocol : Static address
  • Device : Sélectionner le bridge créé précédemment (br-lab)
  • IPv4 address : L'adresse IP de ce routeur sur le VLAN (exemple : 192.168.100.1)
  • IPv4 netmask : Le masque du VLAN (exemple : 255.255.255.0)

Interface VLAN avec bridge en device

Serveur DHCP (DHCP Server) :

Configurez le serveur DHCP pour ce VLAN afin de distribuer des IPs aux clients :

Configuration DHCP du VLAN

Firewall Settings :

Assignez l'interface à une zone firewall appropriée (exemple : homelab_zone ou créer une nouvelle zone) :

Configuration firewall zone

Static DHCP Leases

Une fois que le Dumb AP récupère une IP via DHCP sur ce VLAN, vous pouvez configurer un static DHCP lease pour lui assigner une IP fixe.

Exemple : mettre le Dumb AP à l'IP .2 sur chaque VLAN pour une configuration cohérente (exemple : 192.168.100.2).

Répétez cette configuration pour chaque VLAN à étendre à travers le tunnel.

Configuration sur le Dumb AP

Sur le second routeur (Dumb AP), les interfaces VLAN doivent être configurées en DHCP client pour récupérer automatiquement une IP sur chaque VLAN.

  1. Network → Interfaces → Add new interface
  2. Configurez l'interface :
    • Name : vlan100 (ou nom descriptif)
    • Protocol : DHCP client
    • Device : @gretap-gr.100 (le port GREtap VLAN)

Le Dumb AP récupérera automatiquement une adresse IP du serveur DHCP du routeur principal sur ce VLAN.

Exemple de configuration multi-VLAN

Configuration typique :

  • VLAN 10 (Management) → @gretap-gr.10
  • VLAN 100 (Homelab) → @gretap-gr.100
  • VLAN 200 (IoT) → @gretap-gr.200

Chaque VLAN traverse le tunnel GREtap de manière transparente et isolée.

Vérification et tests

Tests de connectivité

Depuis le Dumb AP, testez la connectivité sur chaque VLAN :

# Ping vers la passerelle du VLAN 100
ping -I vlan100 192.168.100.1

# Vérifier l'obtention d'une IP via DHCP
ip addr show dev gretap-gr.100

Depuis le routeur principal, vérifiez que le Dumb AP apparaît dans les baux DHCP :

  • Network → Interfaces → LAB → DHCP Server → Active DHCP Leases

Conclusion

Avec GREtap, vous pouvez étendre efficacement vos VLANs à travers un backhaul WiFi mesh entre deux routeurs OpenWRT. Cette solution offre un bon compromis entre simplicité, performance et fonctionnalité pour des topologies point-à-point.

Pour des réseaux mesh plus complexes avec 3 nœuds ou plus, considérez l'utilisation de BATMAN-adv qui offre des fonctionnalités de routage mesh plus avancées.