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
-
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.
-
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.
-
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.
-
Prévisibilité : Le trafic emprunte toujours le même chemin (le tunnel direct). Pas de changements dynamiques de route.
-
Support natif : GREtap est largement supporté et documenté dans OpenWRT sans nécessiter de modules kernel additionnels complexes.
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 :
- Accédez à Network → Interfaces → Add new interface
- Configurez les paramètres de base
Paramètres de base :
- Name : nom court (exemple :
gr) - Protocol : GRETAP (Ethernet over GRE)
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
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

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)

- 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
- Accédez à Network → Interfaces → Devices → Add device configuration
- 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 :
lan3pour un port physique) - Le port GREtap VLAN :
@gretap-gr.100(adapter selon votre device et numéro VLAN)
- Le port physique ou VLAN local (exemple :

Étape 2 : Créer l'interface réseau pour le VLAN
- Network → Interfaces → Add new interface
- 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)

Serveur DHCP (DHCP Server) :
Configurez le serveur DHCP pour ce VLAN afin de distribuer des IPs aux clients :

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

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.
- Network → Interfaces → Add new interface
- Configurez l'interface :
- Name :
vlan100(ou nom descriptif) - Protocol : DHCP client
- Device :
@gretap-gr.100(le port GREtap VLAN)
- Name :
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.