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](./backhaul-wifi-mesh.md)
- 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.
:::info 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** :
```bash
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)
:::danger 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 !
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
- **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
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 :
```bash
# 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.