Pages

lundi 14 septembre 2015

ROUTAGE ENTRE RESEAUX LOCAUX VIRTUELS (VLAN)




Bonjour,

Aujourd’hui je vais vous parler des réseaux locaux virtuels ou VLANs, de comment les configurer et également de comment les faire communiquer entre eux (routage inter  VLAN). Mais tout d’abord,

Qu’est ce qu’un VLAN ?

Un réseau local virtuel ou VLAN (Virtual Local Area Network) est un réseau ou sous-réseau logique distinct. Les réseaux locaux virtuels permettent à plusieurs réseaux et sous-réseaux de coexister sur un même commutateur réseau. 

L’utilisation majeur des VLANs est due au fait qu’ils présentent plusieurs avantages comme :
  • la flexibilité de segmentation du réseau : Les utilisateurs et les ressources entre lesquels les communications sont fréquentes peuvent être regroupés sans devoir prendre en considération leur localisation physique ;
  • la simplification de la gestion : L'ajout de nouveaux éléments ou le déplacement d'éléments existants peut être réalisé rapidement et simplement sans toutefois devoir manipuler les connexions physiques existantes;
  • l'augmentation considérable des performances du réseau : Comme le trafic réseau d'un groupe d'utilisateurs est confiné au sein du VLAN qui lui est associé, de la bande passante est libérée, ce qui augmente les performances du réseau;
  • le renforcement de la sécurité du réseau : la séparation logique des communications en groupe de sous-réseau entraine une diminution des risques de violation de confidentialité au sein du réseau ;
  • la réduction des coûts : des économies sont réalisées grâce à l’utilisation plus efficace de la bande passante ;
  • la régulation de la bande passante : les VLANs offrent à l'administrateur les moyens de réguler l'utilisation de la capacité du trafic disponible au sein du réseau ;
  • atténuation des tempêtes de diffusion (broadcast) : Le fait de diviser un réseau en plusieurs réseaux VLAN réduit le nombre de périphériques susceptibles de participer à une tempête de diffusion.
Il faut noter également qu’il existe trois (3) types différents de VLAN :

1-  VLAN de niveau 1 (ou VLAN par port) : chaque port  du  commutateur est  affecté à un VLAN,  donc  chaque  carte  réseau  est  affectée à un  VLAN  en  fonction  de  son  port  de connexion ;

2- VLAN de niveau 2 (ou VLAN par adresse MAC) : chaque adresse MAC  est  affectée à un VLAN, donc chaque port du commutateur se voit affecter dynamiquement à un VLAN en fonction de l’adresse MAC de la carte réseau qui y est connectée ;

3- VLAN de niveau 3 (ou VLAN par adresse IP) : chaque carte réseau est affectée à un VLAN en  fonction  de  son  adresse  IP,  donc  chaque  port  du  commutateur  se  voit  affecter dynamiquement  à  un  VLAN  en  fonction  de  l‘adresse  IP  de  la  carte  réseau  qui  y  est connectée ;

Maintenant que vous en savez un peu plus sur les réseaux locaux virtuels ou VLANs, nous allons à présent entrer dans le vif du sujet.
(PS : Nous allons configurer ici des VLANs de niveau 3) 
 
Nous allons simuler notre réseau avec le logiciel GNS3 (Graphical Network Simulator),

La topologie que nous utiliserons est la suivante :

Notre réseau est constitué de trois (3) commutateurs ou Switch dans lesquels on configurera nos VLANs, trois (3) machines virtuelles (VPCS), une machine Windows XP, une machine Kali linux, une machine qui fait office de serveur et enfin un Routeur Cisco que nous utiliserons pour permettre le routage entre nos VLANs.  

Tout d’abord nous vérifions que les ordinateurs constituants notre réseau sont convenablement adressés via des adresses IP (Internet Protocol), conformément aux indications présentent sur la topologie :

Adresse IP de l’ordinateur Host-Kali

Adresse IP du Serveur

Adresse IP de l’ordinateur Host-XP

Adresses IP des ordinateurs VPCS

Nos machines sont donc parfaitement adressées, à présent nous pouvons configurer les VLANs, mais tout d’abord nous allons effectuer un petit test pour voir comment fonctionne les communications au sein du réseau en l’absence de VLANs, pour ce faire nous allons utiliser le logiciel Wireshark qui est un « sniffer » de paquet, cet outil permet d’identifier le trafic et les paquets transitant au sein du réseau.

Nous allons utiliser notre machine Host-Kali (qui est en fait une machine Kali linux) pour voir comment transite le trafic au sein du réseau :

Au niveau de la machine Host-Kali nous démarrons le logiciel Wireshark, comme le montre la capture suivante :

Une fois l’interface d’accueil de Wireshark lancée, nous choisissons l’interface réseau de notre machine Kali linux connecté au réseau et ensuite nous cliquons sur « Start » :  

Le logiciel wireshark est prêt à capturer le trafic transitant au sein du réseau :

Lorsqu’on effectue par exemple un « ping » de la machine Host-XP vers l’adresse 10.10.10.69 qui est l’adresse du serveur, on constate que la connectivité est effective, comme le montre la capture suivant : 

Effectuer un ping consiste à envoyer une requête ICMP (Internet Control Message Protocol) à une autre machine, enfin de savoir si la machine qui effectue le ping peut atteindre la machine qui possède l’adresse indiqué dans le ping. Cette requête ICMP transmet des paquets ICMP au sein du réseau étant donné que le logiciel Wireshark est également actif au sein du réseau lorsque la requête ICMP est effectuée nous constatons que ses paquets sont alors capturés par Wireshark :

Si l’on souhaite voir uniquement le trafic provenant d’une machine spécifique, nous pouvons utiliser des expressions de filtre dans Wireshark, dans notre cas par exemple si l’on souhaite voir les paquets envoyés par la machine Host-xp (donc l’adresse IP est 10.10.10.2), on utilise au niveau de la barre du filtre l’expression « ip.addr = = 10.10.10.2 » :

On constate qu’il y a bien eu une requête ICMP échangée entre les adresses 10.10.10.2 (Host-xp) et 10.10.10.69 (le serveur). Il faut noter que la machine Host-Kali est techniquement dans un autre sous-réseau (20.20.20.0 /24) mais parvient quand même à capturer les paquets transitant dans le sous-réseau (10.10.10.0 /24), parce qu’il n’existe pas de VLAN ? nous le saurons bien assez tôt. Pourtant si on effectue un ping sur la machine Host-Kali vers le serveur :

On constate que la connectivité est inexistante entre les deux machines.

Par contre si on effectue un ping de la machine Host-Kali (20.20.20.2) vers le VPCS[2] (20.20.20.3) :

Nous constatons que les machines communiquent toutes les deux sans problème, ceci s’explique parce qu’elles appartiennent au même sous-réseau (20.20.20.0 /24).

A présent nous allons passer à la configuration des réseaux locaux virtuels ou VLANs :
Pour configurer les Vlans nous allons dans un souci de gain de temps et de simplicité avoir recours au protocole VTP.

Qu’est ce que le VTP (VLAN Trunking Protocol) ? 

Le VTP est un protocole qui permet de configurer et d’administrer plus facilement les VLANs. Il permet d’ajouter, renommer ou supprimer un ou plusieurs réseaux locaux virtuels sur un seul Switch « central » qui propagera la configuration des VLANs à l’ensemble des autres Switch du réseau. VTP s’avvere tres utile lorsqu’on doit par exemple configurer un réseau devant contenir plusieurs commutateurs et VLANs, imaginé par exemple que l’on doit configurer 20 VLANs dans un réseau possédants 50 commutateurs, pff… se serait fastidieux de configurer un à un chaque Switch.    

Configuration des VLANs

Comme nous l’avons dit plus haut, nous allons nous aider du protocole VTP, pour configurer nos VLANs, pour utiliser le protocole VTP, nous allons tout d’abord choisir le commutateur qui fera office de Switch « central », donc celui sur lequel sera configurer les VLANs et qui les propagera ensuite aux autres Switch, dans notre cas nous choisissons le commutateur SWITCH1 :

Pour débuter la configuration, on entre la commande « vlan database » en mode « privilégié » sur le commutateur, puis pour configurer VTP la commande « vtp domain » suivie du nom de notre domaine VTP, dans notre cas le nom de notre domaine VTP est « blog_de_jacques » :  

NB : le nom du domaine VTP doit être identique sur tous les commutateurs devant appartenir au meme domaine VTP.

Puis on configure les VLANs, avec la commande « vlan » suivie de l’identifiant du VLAN, par exemple « vlan 10 » on peut rajouter d’autres informations comme le nom du VLAN grace à l’option « name » :  

Une fois cela fait nous pouvons vérifier que les VLANs ont bien été crées grâce à la commande « show » :

Ensuite on transmet les configurations des VLANs aux deux autres Switch grâce à la commande « switchport mode trunk » au niveau de l’interface connectant SWITCH1 à SWITCH2 (f1/1) et de l’interface connectant SWITCH1 à SWITCH3 (f1/2) :
(PS : la lettre « f » des interfaces f1/1, f0/0, f1/2, … est l’abréviation de FastEthernet)

A présent au niveau des commutateurs SWITCH2 et SWITCH3 on entre la commande « switchport mode trunk » au niveau de l’interface connecté avec le commutateur SWITCH1, pour qu’ils reçoivent les configurations des VLANs :  

Ensuite on intègre au même domaine VTP les commutateurs SWITCH2 et SWITCH3 auquel appartient le SWITCH1. 

Il ne nous reste plus qu’a vérifier à l’aide de la commande « show », que les VLANs ont bien été ajoutés aux commutateurs SWITCH2 et SWITCH3 :

Maintenant que nos VLANs sont crées, nous allons attribuer à chaque port (ou interface) des commutateurs SWITCH2 et SWITCH3 le VLAN correspondant conformément à la topologie réseau donné plus haut :

Pour ce faire il faut entrer respectivement les commandes « switchport mode access » et « switchport access vlan identifiant_vlan » au niveau des interfaces correspondantes :

A ce niveau si l’on effectue un ping entre la machine Host-xp (10.10.10.2) vers la machine Serveur (10.10.10.69), 

On constate que malgré le fait qu’elles appartiennent toutes deux au même sous-réseau 10.10.10.0 /24, la connectivité n’y est pas existante ceci s’explique parce que la machine Host-xp connectée à l’interface f1/2 du commutateur SWITCH2 fait désormais partie du VLAN 10 alors que la machine Serveur connectée à l’interface f1/1 du commutateur SWITCH3 n’appartient pas encore au VLAN 10. 

A présent si on effectue de nouveau un ping entre la machine Host-xp et la machine Serveur :

On constate que la connectivité est effective.

Ici les machines VPCS[1], Host-xp et Serveur appartiennent au VLAN 10 et ne peuvent communiquer qu’entre elles et non avec les machines du VLAN 20, de même les machines VPCS[2], VPCS[3] et Host-Kali appartiennent au VLAN 20 et ne peuvent communiquer qu’entre elles et non avec les machines du VLAN 10.

Par exemple la capture suivante montre que la machine Host-xp qui appartient au VLAN 10 peut effectuer un ping positif sur le Serveur qui appartient également au VLAN 10, mais le ping n’aboutit pas lorsqu’il est effectué vers la machine VPCS[3] qui appartient au VLAN 20.

Qu’en est-il du trafic au sein du réseau maintenant que les VLANs ont été mis en place ?

Si on essai à nouveau de capturer le trafic avec le logiciel Wireshark :

On constate que la machine Host-Kali qui appartient au VLAN 20 ne capture plus aucun paquet venant du sous réseau 10.10.10.0 /24 qui appartient au VLAN 10. 

Pour que des ordinateurs appartenant à des VLANs différents puissent communiquer, il est nécessaire de configurer le routeur pour qu’il puisse permettre justement le routage entre les VLANs (routage inter-VLAN) ;

Configuration du routeur pour le routage entre les VLANs

Nous débutons la configuration du routeur en mode « configuration » en définissant deux sous-interfaces f0/0.10 et f0/0.20 au sein de l’interface principale f0/0, l’interface f0/0.10 servira de passerelle pour le VLAN 10 et l’interface f0/0.20 servira de passerelle pour le VLAN 20 ; la commande « encapsulation dot1q identifiant_vlan » permet d’attribuer la sous-interface à un VLAN spécifique. En pratique nous avons :  

A présent on effectue au niveau du commutateur SWITCH1, la commande « switchport mode trunk » au niveau de l’interface du commutateur connecté au routeur, dans notre cas f1/0 : 

Désormais le routage est configuré il ne nous reste plus qu’à vérifier qu’il soit bien effectif entre les VLANs. Pour ce faire nous allons effectuer des ping entre les machines du VLAN 10 vers les machines du VLAN 20 :

Lorsqu’on effectue un ping de l’ordinateur Host-xp qui appartient au VLAN 10 vers l’adresse 20.20.20.6 de l’ordinateur VPCS[3] qui appartient au VLAN 20, nous nous rendons compte à présent que les requetes ICMP aboutissent, donc la connectivité est effective.

De même lorsqu’on effectue un ping de l’ordinateur Host-Kali qui appartient au VLAN 20 vers l’adresse 10.10.10.69 de notre machine Serveur qui elle appartient au VLAN 10, nous nous rendons compte que la connectivité est bien effective. Par conséquent nous venons de réaliser le routage entre nos différents VLANs.

Merci d’avoir suivi le tutoriel jusqu’à la fin.

A très bientôt !!!

1 commentaire :

  1. merci pour ce tuto très instructif mais cependant je voudrais savoir comment faire communiquer les vlan se trouvant dans deux réseaux locaux distants

    RépondreSupprimer