Académique Documents
Professionnel Documents
Culture Documents
Sébastien Boggia
Centre Réseau Communication (CRC), Université Louis Pasteur
7, rue René Descartes, 67084 Strasbourg
Sebastien.Boggia crc.u-strasbg.fr
A 11 101
B 12 102
Figure 2: principe du Vlaniseur
C 12 101
Après authentification, les adresses MAC de trois machines
La figure 2 illustre le principe : on peut voir que
sont inscrites dans le Vlaniseur : les adresses MAC A, B et
l'ordinateur de l'utilisateur appartenant à la composante
C.
rouge est authentifié et identifié comme devant accéder à la
composante rouge. Le trafic Ethernet est aiguillé par le Sur la figure 3, A envoie une trame Ethernet avec une
Vlaniseur directement vers le Vlan de la composante rouge adresse de destination quelconque (adresses Unicast ou
et inversement. Multicast). Le Vlaniseur sait, par l'adresse source, que A
appartient au Vlan de composante 101. Le Vlaniseur
Le Vlaniseur n'intervient qu'au niveau de la couche 2
redirige simplement la trame vers l'interface correspondant
(Ethernet), ce qui laisse une grande flexibilité aux entités
au Vlan 101.
pour la gestion des couches supérieures. L'utilisateur peut
ainsi profiter du plan d'adressage IPv4 et IPv6 de sa
composante ou de sa politique de sécurité. Il peut aussi,
selon la politique appliquée par l'administrateur, avoir
accès à l'ensemble des ressources de son réseau local
comme les serveurs de fichiers, les imprimantes, etc.
L'administrateur de la composante peut décider de faire
arriver le trafic sortant du Vlaniseur sur une interface
spécifique de son garde-barrière ou même de bridger cette
interface directement avec son réseau local.
Figure 3: trame Vlan d'accès vers Vlan de composante Figure 5: trafic de diffusion vers Vlans d'accès
Ce procédé obligatoire, dans le cas du fonctionnement du
Sur la figure 4, une machine du Vlan de composante 101 Vlaniseur, peut demander des ressources importantes selon
envoie une trame à destination de l'adresse MAC A. Le le nombre d'inscrits dans un Vlan de composante et
Vlaniseur redirige cette trame vers le Vlan 11, car A est occasionner beaucoup de bruit sur le réseau. C'est en partie
dûment enregistrée dans la composante 101. pour cette raison que nous utilisons plusieurs Vlans d'accès
sur un Vlaniseur.
Nous verrons ultérieurement les autres solutions à adopter
pour limiter le bruit engendré par cette duplication de
trafic.
5 L'implémentation du Vlaniseur
5.1 Introduction
Le développement du Vlaniseur a été réalisé sous la forme
d'un module noyau pour le système FreeBSD.
Après un premier développement en mode utilisateur, nous
nous sommes dirigés vers le développement actuel en mode
Figure 4: trame Vlan de composante vers Vlan d'accès noyau, malgré la difficulté que cela représente, afin
d'obtenir de bonnes performances et une bonne intégration
du dispositif.
4.3 Le traitement du trafic de diffusion
Nous utilisons l'infrastructure « Netgraph » qui facilite
Comme nous l'avons vu, les utilisateurs de composantes considérablement l'écriture de code réseau dans le noyau.
différentes peuvent se trouver connectés dans un même
Vlan d'accès. Pour assurer un bon fonctionnent au niveau 5.2 L'infrastructure Netgraph
du réseau mais aussi pour des raisons évidentes de sécurité,
les trames à destination d'adresses Ethernet de broadcast ou Netgraph [4] est un sous-système réseau fonctionnant au
multicast ne doivent être diffusées qu'aux membres de la niveau du noyau FreeBSD. Il permet de recréer des
composante. fonctionnalités réseau complexes en combinant entre elles
La figure 5 illustre donc une spécificité du Vlaniseur : le différentes briques effectuant des tâches bien spécifiques.
traitement des trames Ethernet à destination d'adresses de Cet outil a été développé dans le but de bénéficier de
diffusion vers les Vlans d'accès. bonnes performances tout en maintenant une grande
souplesse d'utilisation.
Lorsque le Vlaniseur reçoit telle trame de diffusion depuis
un Vlan de composante, il doit la transmettre à tous les Les briques réseau sont appelées des nœuds (nodes) et
utilisateurs de la composante connectés dans des Vlan peuvent êtres combinées entre elles par des liens (hooks)
d'accès. pour former un graphe réseau.
Le Vlaniseur transforme donc une trame Ethernet de Un graphe réseau permet à une machine de réaliser des
diffusion en n trames Ethernet unicast. Dans cet exemple tâches spécifiques comme, par exemple, de la commutation
on duplique la trame et on envoie une copie avec pour de niveau 2 sur Ethernet ou bien du routage IP encapsulé
adresse de destination A et une autre avec pour adresse de dans des trames HDLC sur des interfaces Séries.
destination C. Lorsqu'un nœud reçoit une trame, il réalise certaines
actions (ajout / suppression d'en-tête, aiguillage...) puis
transmet la trame traitée à un autre nœud par
l'intermédiaire d'un lien.
L'utilitaire « ngctl » apporte les outils pour contrôler les
nœuds. Il permet de les interconnecter facilement entre
eux, de les paramétrer ou d'afficher les configurations et
des statistiques.
Ce dispositif a l'avantage de parfaitement s'intégrer à notre Figure 9: Vlaniseur : mode Port Protected
réseau, puisqu'il est déjà activé pour les Vlans de l'accès
rapide et de l'accès sécurisé. Nous l'avons fait pour des Cette solution est intéressante mais plus consommatrice de
raisons de sécurité car nous évitons ainsi la transmission ressources pour le Vlaniseur. Elle n'est pas utilisée par
directe de virus d'une machine à l'autre, les désagréments défaut, mais peut l'être suite à une demande expresse d'un
provoqués par la mise en place de serveurs DHCP ou administrateur du réseau d'une composante.
d'autoconfigurations IPv6 pirates et bien d'autres...
Dans le cadre du nouveau service fourni par le Vlaniseur, 7 L'interface avec l'infrastructure
ce type de protection entre les différentes machines peut se d'authentification Osiris
montrer gênant pour les composantes. Nous avons donc
implémenté plusieurs fonctionnalités dans le but d'établir
ou non la communication entre les membres d'un même 7.1 Les attributs Radius et l'annuaire LDAP
Vlan de composante connectés en sans fil.
Le Vlaniseur doit connaître le numéro du Vlan
Par défaut, le Vlaniseur est configuré en mode « No d'appartenance d'un utilisateur pour y affecter sa machine.
Communication » pour l'ensemble des Vlans de Cette information est stockée dans l'annuaire LDAP du
composantes. réseau Osiris [2].
Les figures 8 et 9 illustrent ces modes. On peut voir Dans l'enregistrement de chaque utilisateur, un attribut
plusieurs utilisateurs appartenant à un même réseau de associe celui-ci à un profil WiFi.
composante. Deux machines sont connectées dans le Vlan
d'accès 1. Une autre dans le Vlan d'accès 2. Deux types de profils ont été définis :
– un profil « wifi-default » qui associe l'utilisateur au
La figure 8 présente le mode « no communication ». Les
réseau WiFi par défaut. Celui-ci ne permet pas à
trois machines ne peuvent absolument pas communiquer
l'utilisateur d'accéder aux services du Vlaniseur.
– un profil qui associe l'utilisateur à un réseau de Les communications se font en IP multicast. Cela a pour
composante du réseau sans fil. Par exemple pour le avantage, comme on est en mode non connecté, de ne pas
réseau interne du CRC : « wifi-crc ». bloquer de ressources du serveur Radius, mais aussi de
pouvoir communiquer simultanément avec le service d'état
Lorsque l'utilisateur s'authentifie, le serveur Radius
global et le Vlaniseur. Le module Radius envoie également
récupère son profil WiFi et en déduit le numéro du Vlan de
les dé-associations sur les points d'accès à partir de
composante par l'intermédiaire de dictionnaires d'attributs.
l'accounting.
Grâce à l'application de gestion des comptes utilisateurs
Le service d'état global récupère les triplets de connexion
« Authiris » [2], chaque administrateur de composante peut
et maintient des sessions pour chaque machine. Pour
modifier très facilement le profil WiFi de l'un de ces
fermer les connexions des utilisateurs, il se base sur deux
utilisateur pour l'associer à son réseau de composante.
sources d'informations :
L'adoption massive du service proposé par le Vlaniseur en
est grandement facilité. – tout d'abord, les données d'accouting Radius envoyées
par le serveur Radius mais elles ne peuvent pas être
7.2 Le service d'état global et les considérées comme fiables puisqu'un accounting de
mécanismes d'enregistrement dé-association peut très bien ne pas arriver jusqu'au
serveur Radius.
Une des difficultés lors du développement du service a été – la liste des associés au réseau sans fil collectée par le
d'interfacer l'authentification Radius avec le Vlaniseur. serveur de métrologie Osiris qui interroge
Lorsqu'il authentifie un utilisateur, le serveur Radius ne périodiquement en SNMP l'ensemble du parc WiFi.
maintient pas de session. Il se contente simplement
d'indiquer si l'authentification a réussi ou non. 8 Les perspectives d'évolution
Au niveau du Vlaniseur, il faut maintenir des sessions pour
chaque utilisateur. Dès qu'un utilisateur quitte le réseau 8.1 La mise en place de plusieurs Vlaniseurs
sans fil, l'enregistrement de son ordinateur doit être
supprimé. Pour faire face à la montée en charge prévisible sur le
Vlaniseur, il sera assez aisé d'en ajouter un ou plusieurs
Dans le but d'avoir les meilleures performances possibles, autres (cf. figure 11).
nous n'avons pas placé la gestion des sessions dans le
Vlaniseur. Nous avons confié cette mission à un service Les Vlaniseurs auront accès à tous les Vlans de
d'état global. composante mais les différents Vlans d'accès seront
répartis. Ceci permettra de distribuer au plus juste la charge
La figure 10 représente le mécanisme d'authentification. selon la fréquentation des points d'accès.
Les flux 1, 2 et 3 sont directement liés à l'authentification Grâce à la souplesse d'utilisation de Netgraph avec la
802.1X EAP/TTLS. La machine M fait une demande commande « ngctl », il sera très facile de déplacer un Vlan
d'authentification (1). Le serveur Radius contrôle la d'accès d'un Vlaniseur à l'autre sans avoir à les redémarrer.
validité de l'utilisateur dans l'annuaire LDAP (2). Si
l'utilisateur est bien authentifié, l'annuaire LDAP renvoie De plus, avec cette architecture, les communications
l'attribut Radius correspondant au Vlan de composante (3). Ethernet entre 2 machines connectées à 2 Vlaniseurs
différents seront possibles.