Introduction Et Rappels: Matthieu Vernerie
Introduction Et Rappels: Matthieu Vernerie
Introduction Et Rappels: Matthieu Vernerie
: VLAN
de : Matthieu Vernerie
Résumé : Configuration d'un routage inter-VLAN
Introduction et rappels
Cet article a pour but d'expliquer et d'établir une configuration de routage inter-VLAN.
Le VLAN Trunking Protocol (VTP) est nécessaire si l'on veut étendre une configuration de
VLAN sur plusieurs commutateurs. Un trunk est nécessaire pour une connexion entre deux
commutateurs traitant des VLANs. Ce trunk représente un canal par lequel transitent les
trames des différents VLANs d'un commutateur à un autre. Pour que les commutateurs
"sachent" à quel VLAN appartient une trame, un étiquetage est nécessaire. C'est pourquoi on
utilise un protocole d'étiquetage : ISL (Cisco) ou 802.1q (IEEE). Nous utiliserons ici le
802.1q qui est le protocole utilisé par défaut.
Pour l'exemple, les VLANs statiques seront utilisés. Chaque port de chaque commutateur
va donc être attribué à un VLAN.
Pour la description des commandes, les accolades indiquent un paramètre (obligatoire),
les crochets une option.
Cette dernière commande permet d'enregistrer la configuration des VLANs, qui se trouve
dans le fichier vlan.dat dans la mémoire Flash.
Dans une configuration de VLAN statique, les ports du commutateur doivent être attribués à
un VLAN. Ceci se fait dans le mode de configuration de l'interface spécifiée :
Enfin, un trunk est nécessaire entre ces deux équipements. C'est en effet par celui-ci que les
trames étiquetées transitent. Entre deux commutateurs, un câble croisé doit être utilisé.
Un trunk est une connexion physique regroupant plusieurs connexions logiques. Dans le
schéma, un câble physique laisse transiter 3 trafics logiques différents. Ceux-ci représentent
les trafics propres à chaque VLAN.
L'encapsulation utilisée doit également être spécifiée, à moins que le commutateur utilisé
n'accepte qu'un seul protocole. Chaque commutateur doit donc configurer une des ses
interfaces pour accueillir un trunk :
Désormais, chaque hôte peut communiquer avec un hôte du même VLAN, connecté sur un
commutateur différent.
2. Configuration spécifique au routage inter VLAN
Lorsque deux utilisateurs se trouvent sur des VLANS différents, ils se trouvent - en général -
sur des sous-réseaux différents. Pour communiquer, ils doivent donc passer par une passerelle
commune : l'interface du routeur connectée au commutateur. Pour spécifier au commutateur
la passerelle utilisée pour "passer" d'un VLAN à un autre (ou plus généralement d'un sous-
réseau à un autre), on utilise la commande :
Chaque trafic de VLAN est supporté par une sous-interface du routeur. Il faut donc, pour
chaque sous-interface, attribuer une adresse IP appartenant au sous-réseau du VLAN et
spécifier l'encapsulation (étiquetage) utilisée:
Chaque hôte peut désormais communiquer avec un hôte sur un VLAN différent. Lorsque le
premier envoi une trame avec pour destination un sous-réseau différent du sous-réseau source,
le commutateur l'encapsule et l'envoi à la passerelle par défaut. Après avoir traversé le trunk,
la trame est traitée au niveau du routeur. Celui-ci la désencapsule, la réencapsule pour le
VLAN de destination avant de l'envoyer sur la sous-interface correspondante.
3. Configuration complète
Création du trunk
Switch_B(config)# interface fastEthernet 0/1
Switch_B(config-if)# switchport mode trunk
Switch_B(config-if)# switchport trunk encapsulation dot1q
Switch_B(config-if)# exit
Attribution des VLANs aux ports
Switch_B(config)# interface fastEthernet 0/2
Switch_B(config-if)# switchport mode access
Switch_B(config-if)# switchport access vlan 2
Switch_B(config-if)# exit
Switch_B(config)# interface fastEthernet 0/3
Switch_B(config-if)# switchport mode access
Switch_B(config-if)# switchport access vlan 3
Switch_B(config-if)# exit
Switch_B(config)# interface fastEthernet 0/4
Switch_B(config-if)# switchport mode access
Switch_B(config-if)# switchport access vlan 4
Switch_B(config-if)# exit
Conclusion Vous avez pu voir que pour réaliser un routage entre VLANs, il ne suffit pas de
brancher un routeur sur un commutateur... Bien que la configuration paraisse longue, 15 min
seront assez pour l'exécuter.
En espérant que cet article vous aura été utile.
1. Donner une adresse IP aux interfaces ethernet des PC de sorte qu'ils puissent
communiquer entre eux (utilisez les adresses IP données dans la figure avec un
masque d'adresse de 255.255.255.0, sachant que S représente le numéro de votre
salle, 65 ou 69, et que le i de ethi représente le numéro de l'interface réseau que vous
utilisez pour vous connecter au switch, différente de celle qui vous permet d'accéder
au réseau extérieur).
2. Vérifier l'état de la table d'adressage du switch et regarder le trafic sur chacune des
interfaces des PC (avec tcpdump ou ethereal), en particulier lors de ping entre les
différents PC.
3. En l'absence de toute information dans la table d'adressage du switch, vérifier que tous
les PC voient les messages ICMP générés par un ping, y compris les trames unicast.
4. Vérifiez que lorsque le switch dispose de l'association, seules les deux machines
concernées par le ping voient le trafic. Que se passe-t-il alors si la machine réalisant le
ping n'a plus rien dans sa table ARP ?
On désire maintenant que le trafic entre PC1 et PC4 soit complètement différencié du trafic
entre PC2 et PC3, c'est à dire qu'aucun échange ni observation ne puisse avoir lieu entre ces
deux réseaux locaux virtuels. Pour cela, on peut créer deux VLANs distincts: le VLAN rouge
pour PC1 et PC4 et le VLAN vert pour PC2 et PC3. Ce sont des VLANs par port,
compatibles avec la norme IEEE 802.1Q. En l'absence de toute configuration, les switchs
considèrent que tous les ports font partie du même VLAN par défaut.
1. Autoriser les VLANs
Ensuite, dans le menu VLAN, faire VLAN Names et ajouter les deux VLANs, le rouge et le
vert. Par défaut, tous les ports du switch appartiennent au DEFAULT_VLAN qui a 1 pour
numéro (VLAN ID). Il est important de ne pas modifier ce VLAN par défaut. Donner des
VLAN ID différents pour les VLAN créés. Par exemple, 20 pour le VLAN rouge et 30
pour le VLAN vert.
Dans le menu VLAN, faire VLAN Port Assignment. Chaque port est alors proposé pour
chaque VLAN (défaut, rouge, vert), et taggé ou non. Dans un premier temps, utiliser les
VLAN rouge et vert sans les tagger. Associer le rouge aux ports reliant le PC1 et le PC4
et le vert aux ports reliant le PC2 et le PC3.
4. Tester alors la communication entre les différents PC et regarder l'activité du trafic sur
les différentes interfaces, comme dans l'exercice 1. Expliquer ce qui se passe.
5. Vérifier en particulier si les broadcasts ARP générés par un ping d'une machine sur un
VLAN atteignent ou non les machines de l'autre VLAN.
On désire maintenant ajouter un second switch et répartir les machines comme indiqué dans la
figure suivante. On désire toujours n'utiliser que des VLANs non taggés.
Y a t il une boucle dans cette configuration et un risque d'inondation par les switchs eux-
mêmes. Pourrait il y en avoir avec d'autres interfaces raccordées à ces switchs. Que se
passerait-il dans la configuration actuelle si on mettait en oeuvre le STA ?
Supposons maintenant que l'on veuille un seul lien entre les deux switchs. Cela nécessite que
les trafics des VLANs rouge et vert passent par ce même lien, et donc que ses deux ports
soient associés à la fois au VLAN rouge et au VLAN vert. Cela n'est pas possible si les 2
VLANs sont non taggés. Note: Un port peut appartenir à plusieurs VLANs, mais un seul (au
plus) de ces VLANs peut être non taggé.
1. Modifier les associations entre les VLANs et les ports de sorte que les VLANs rouge
et vert soient taggés tous les deux entre les deux switchs. Vérifier quelles
communications sont possibles entre les PC et quels trafics (unicast et broadcast) sont
visibles.
2. Vérifiez que si le port reliant un switch à un PC est taggé, alors le switch ne laisse pas
entrer les trames (non taggées) émises par ce PC.
3. Pour configurer une interface de PC de sorte qu'elle émette et accepte les VLAN
taggés, il faut créer une nouvelle interface logique. Du point de vue des systèmes, il
faut disposer d'un noyau linux compatible avec la norme 820.1Q sur les VLANs qui
fournit les utilitaires nécessaires. Vous aurez besoin de la commande vconfig (apt-
get install vlan) et de charger le module 8021q (modprobe 8021q). Par exemple,
pour le PC4 :
o Ajout d'une nouvelle interface logique ethi.20, correspondant au VLAN
rouge (dont le VLAN ID est 20), sur l'interface physique ethi:
vconfig add ethi 20. Tant que l'interface n'est pas montée, elle n'est pas
visible par la commande ifconfig.Pour la voir, il faut donc faire ifconfig -
a.
o Le montage de cette interface logique se fait alors classiquement:
ifconfig ethi.20 ... up
4. Vérifier qu'un PC « VLAN aware » qui émet des trames taggées peut communiquer
avec un PC « legacy » à travers les switchs. Faire attention aux routes et aux adresses
de chaque interface des PC. Décrire alors la configuration que vous avez utilisée en
expliquant quels sont les problèmes liés aux adresses IP et aux routes.
5. Vérifier que deux PC « VLAN aware » peuvent communiquer. Décrire la
configuration que vous avez utilisée.
6. Réaliser la configuration décrite par la figure suivante, et vérifier quelles sont les
communications possibles, dans quels mode (taggé, non taggé...) et quels trafics sont
visibles par quels PC (unicast, broadcast).
Exercice 6 - VLANs et serveur
On suppose maintenant que le PC3 est un serveur qui doit pouvoir communiquer avec les
deux VLANs. Néanmoins, on veut conserver les deux VLANs avec des trafics distincts. Pour
cela, on peut associer une deuxième interface logique de VLAN (rouge) au PC3 (sur la même
interface physique ou sur une autre). Réaliser l'exemple de configuration ci-dessous, et
vérifier qu'il est possible, à partir du PC3, de communiquer avec le VLAN rouge, le VLAN
vert et le VLAN par défaut.
Note: dans certains cas (désormais rares) de multiples interfaces logiques sur une même
interface physique, on peut être amené à donner "à la main" des routes au PC (commande
route).
Le port trunking est la faculté d'associer plusieurs liens (jusqu'à 4) entre 2 switchs en une
sorte de congrégation de liens. Les différents liens constituant ce trunk seront alors utilisés
simultanément, permettant ainsi d'augmenter le débit inter-switch. La distribution du trafic sur
chacun des liens du trunk est effectuée sur la base d'une résolution d'adresse source et/ou
destination, voir d'une négociation. Au pire des cas, même si c'est rare, il se peut donc qu'un
lien du trunk soit saturé tandis que les autres sont inutilisés.
Du point de vue du switch, la connexion à un trunk est vue comme un seul port. Par exemple,
le STA décide soit de transmettre sur tous les liens du trunk, soit de bloquer tous les liens. De
même, tous les ports des liens d'un même trunk doivent appartenir aux mêmes VLANs.
La figure suivante illustre une utilisation du trunk: dans la configuration de l'exercice 3 (voir
figure), nous avions des liens entre 2 switchs. VLAN rouge uniquement du port 1 au port 2 et
VLAN vert uniquement du port 3 au port 4. On peut imaginer qu'il aurait été utile (pour
l'administration des switchs, par exemple) d'avoir un lien du port 6 au port 6 pour le VLAN
par défaut.
Placer ces trois liens dans un seul trunk permet d'éviter d'avoir des boucles entre les switchs
(sans utiliser le STA qui n'est pas adapté ici), tout en conservant les trois liens disponibles. Le
seul pré-requis est de créer un trunk dont les caractéristiques regroupent toutes celles des liens
qui le constituent: il doit appartenir au VLAN rouge, au VLAN vert et au VLAN par défaut.
C'est possible puisque seul le VLAN par défaut est non taggé.