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
----
Sous responsabilité FAIMaison Sous responsabilité abonné
/------------------------------------------------------\ /-----------------------------------\
+------------------------+
+--------+ /-[U]-| Routeur « domestique » |
+---------+ +--------+ /--| NSM5#1 |------ +------------------------+
| | | | /--[1]-- +--------+
| Routeur |--[1]-[2]--| NSM5#0 |--
| | | #0 | \--[2]-- +--------+
+---------+ +--------+ \--| NSM5#2 |-----\ +-------------------------+
+--------+ -[U]-| Routeur « domestique » |
+-------------------------+
ethernet wifi ethernet
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 :
# 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
### 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 ?**