<markdown> Atelier wifi n°2 : VLANS et DHCPv6 (27/03/2014)
*Dans [notre épisode précédent](http://wiki.faimaison.net/doku.php?id=projet:wifi:ateliers:1_pont_bridge_et_routage_ipv6), nous interconnections une [babasse](http://jargonf.org/wiki/babasse) à [l'internet v6](http://fr.wikipedia.org/wiki/IPv6) (wa-hou) à travers un pont wifi constitué de 2 nanostation M5 à travers un réseau de niveau 2 entre la babasse « cliente » et le routeur.*
L'objectif de second atelier est de fournir une authentification (faible…) et une isolation des abonnés en utilisant des VLAN. Le principe est simple : chaque adhérent est dans un VLAN numéroté. Le préssuposé est que chaque abonné est derrière une antenne qui lui est propre dans le réseau.
Par ailleurs, un DHCPv6 tournant sur le routeur est censé attribuer en fonction de son vhost un préfixe /56 à chaque « routeur domestique » en faisant la demande.
VLAN
<pre>
Sous responsabilité FAIMaison Sous responsabilité abonné
/——————————————————\ /———————————–\
+------------------------+ +--------+ /-[U]-| Routeur « domestique » |
+———+ +——–+ /–| NSM5#1 |—— +————————+
Routeur | –[1]-[2]– | NSM5#0 |
#0 |
+———+ +——–+ \–| NSM5#2 |—–\ +————————-+
+--------+ -[U]-| Routeur « domestique » | +-------------------------+
ethernet wifi ethernet
</pre>
Légende
* `NSM5#1` Nanostation M5 numéro 1 * `[U]` Paquets non tagués * `[1]` Paquets tagués “1”
### Configuration testée :
Dans la configuration testée, nous n'avions que 2 NSM5, jouant le rôle respectif de NSM5#0 et NSM5#2.
#### Sur le routeur
(le routeur est une VM, dont l'*eth0* est bridgé sur l'interface de son hôte, lui-même relié à NSM5#0).
Interfaces :
* Interface eth0 reliée à *NSM5#0* * Interface eth0.2 (`vconfig add eth0 2`)
#### Sur NSM5#0
* eth0 reliée au routeur * wlan0 associée avec *NSM5#2* * eth0.2 interface taguée * wlan0.2 interface taguée * br1 bridge réunissant *eth0.2* et *wlan0.2* pour propager le VLAN 2 * br0 bridge réunissant *eth1* et *wlan0* (pour administration/au cas où)
#### Sur NSM5#2
* eth0 reliée à un *laptop* * wlan0 associée avec *NSM5#2* * eth0.2 * wlan0.2 * br0 bridge réunissant *eth0* et *wlan0.2* * br1 bridge réunissant *eth1* et *wlan0* (pour administration/au cas où)
#### Sur le laptop
Le laptop joue un rôle de routeur domestique (sans connaissance des VLAN donc).
Son rôle se borne donc à être relié au eth0 de NSM5#1, et à être raccordé à internet via l'infra, et (pour ce qui concerne DHCPv6), à faire une requête pour obtenir une délégation de /56.
### Comportement attendu
Une requête DHCPv6 part de *laptop* non taguée, arrive à *NSM5#2* qui la tague avec le VLAN `2` avant de la transmettre à *NSM5#0* qui la transmet taguée au *routeur*
Le routeur transmet une réponse taguée `2` via *NSM5#0* , qui la transmet toujours taguée `2` à *NSM5#0* qui le remet au *laptop*.
### Comportement constaté (27/03/2014)
Tests avec un `dhcpcd -6` côté *laptop*, et des commandes *tcpdump* pour diagnostiquer sur chacun des équipements.
* Le paquet part bien non tagué de *laptop* * Le paquet est bient tagué en sortie de *NSM5#2* * Le paquet passe bien dans *br1* sur *NSM5#0* * Le paquet est bien reçu sur le *routeur* mais il est non tagué (pas de paquet de réponse envoyé donc)
### Choses apprises/déduites
* La configuration sur *NSM5#2* semble bon * Bridger *eth0* et *wlan0* ne suffit pas à faire passer les paquets tagués de
l'un à l'autre, seuls les paquets non tagués semblent passer par le bridge
Commandes :
<pre> # Créer une interface taguée avec l'identifiant de VLAN 2 vconfig add eth0 2
# La détruire vconfig rem eth0.2
# Filtrer par numéro de vlan avec tcpdump
tcpdump -ni eth0 vlan 2
</pre>
### Points à éclaircir/pistes
* Est-ce que vraiment les paquets arrivent non tagués sur le routeur, ou est-ce un [biais
d'observation connu](http://serverfault.com/a/545637) ?
* y-a-t-il un moyen plus simple que de faire un bridge par vlan (cf *br1* sur *NSM5#0*) pour switcher
les vlans d'une interface à l'autre en préservant leur tag.
* Est-ce que sur NSM5#1 la présence des interfaces non taguées (eth0, wlan0…) dans un
second bridge ne rentrerait pas en conflit dans le packet switching ?
* Essayer avec un setup « full-vlan » (pas de vlan par défaut) qui aurait le
mérite d'être plus clair.
### Reste à traiter
* Le setup du serveur DHCPv6 a été fait par lidstah, mais non testé en raison du
problème constaté. Une question reste entière : **comment attribuer un /56 en fonction du VLAN ?**
</markdown>