Mise en place de VLANs et de routage inter-VLANs

I. Présentation

Dans ce tutoriel, nous allons aujourd'hui voir comment mettre en place un réseau simple composé de 4 postes de travail, deux switchs et un routeur. Les deux switchs partageront des VLANS et le routeur se chargera des tâches de routage inter-VLANs. Nous aborderons divers fonction et manipulation sous des éléments de marques Cisco. Ainsi, nous régulerons plus facilement le flux (Les vlans bloquent les adresses de diffusions), nous pourrons créer des espaces de travail indépendants et la sécurité sera accrue car les flux réseau seront isolés.

II. Schéma du réseau

Pour illustrer le tutoriel, j'utiliserais ce schéma fait sous Packet Tracer 6 :

RoutageInterVLAN01

III. Configuration des Vlans

La première étape à suivre une fois que le cablage est en place est de créer les deux VLANS sur nos deux switchs. Pour faire simple, nous allons supposer que nous aurons deux VLANS (10 et 20) avec une liaison par port trunk entre le switch 2 et le switch 3. Le reste de la configuration sera détaillée et expliquée plus tard.

Note : Les lignes de configuration suivantes sont à exécuter sur les deux Switchs

Switch>enable
Switch#conf t

Nous allons ensuite créer les VLANS et les nommer :

Switch(config)#vlan 10 
Switch(config-vlan)#name vlan_10 
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name vlan_20
Switch(config-vlan)#vlan 99
Switch(config-vlan)#name Native
Switch(config-vlan)#exit

Nous créons également un VLAN natif dont l'explication sera faite un peu plus bas dans le tutoriel.

Nous allons maintenant créer nos ports trunk sur les interfaces Fa0/1 de nos deux switchs. Le port trunk va permettre, au travers des trames 802.1q de faire transiter des trames tagguées (ou étiquetées) selon un Vlan ou un autre afin que tous les Vlan autorisés puissent passer au travers d'un même lien. Plus clairement, c'est un port qui peut faire passer plusieurs VLAN vers un autre élément actif. Cela permet, dans notre cas, de faire communiquer les VLANS 10 et 20 entres des éléments connectés à deux switchs différents. Sans port trunk, il faudrait une liaison entre les switchs par VLANs.

Switch(config)#interface fa0/1
Switch(config-if)#switchport mode trunk 
Switch(config-if)#switchport trunk allowed vlan 20,30,99
Switch(config-if)# switchport trunk native vlan 99
Switch(config-if)#no shutdown
Switch(config-if)#exit

Faisons un petit point sur le terme "native vlan"sur ce lien : vlan natif

On spécifie également les VLANS que nous souhaitons laisser passer sur notre trunk à savoir les trames étiquetées sur les VLAN 20,30 et 99. Par défaut, toutes les VLANS peuvent passer sur un port trunk. Si nous spécifions l'autorisation de certaines VLANs, les autres ne seront pas acceptés à transiter. Nous allons maintenant affecter les ports voulus à nos différentes VLANS. On présume que nous souhaitons affecter les ports Fa0/10 des deux switchs sur la VLAN 20 et les ports Fa0/11 sur le VLAN 30, on exécute donc ces commandes sur nos deux switchs :

Switch(config)#interface fa0/10
Switch(config-if)#switchport access vlan 20 
Switch(config-if)#no shutdown
Switch(config-if)#exit
Switch(config)#interface fa0/11
Switch(config-if)#switchport access vlan 30 
Switch(config-if)#no shutdown
Switch(config-if)#exit

Voici à présent le schéma de notre réseau, j'ai juste ajouté des détails sur les postes pour savoir sur quel VLAN ils sont :

RoutageInterVLAN02

J'ai également ajouté des IPs à mes postes. Ceux sur la VLAN 20 appartient au réseau "192.168.20.0/24" et ceux sur le VLAN 30 appartiennent au réseau "192.168.30.0/24" (pour faire simple 😉 ).

 

IV. Test Vlans

Nous allons maintenant tester la connectivité des postes situées sur la même VLAN. On prend pas exemple le poste "Laptop2" sur le VLAN 30 et avec l'IP 192.168.30.2 pour pinger le poste "Laptop1" située sur la VLAN 30 de l'autre switch et avec l'IP 192.168.30.1 :

 

RoutageInterVLAN03

On peut faire la même chose en pingant du poste "PC1" au poste "PC2" qui sont également tout deux sur le même VLAN (20 cette fois ci). Les plus curieux aurons remarqué que le "PC1" ou "PC2" ne peuvent pinger "Laptop1" et "Laptop2" qui sont sur des VLANS différentes (20 et 30). C'est justement la problématique que nous venons de nous créer est que les VLANS isolent correctement les groupes de postes/d'utilisateur mais bloquent complétement la communication entres elles.

Pourquoi ?

Les VLANs sont des LAN virtuelle (d'où leur nom 😉 ) et comme chaque LAN, nous ne pouvons les interconnectés que par l'intermédiaire de routeur (d’élément gérant la couche 3 - réseau plus spécifiquement). Nous avons maintenant besoin de router nos différentes VLANS entre elles pour qu'elles puissent communiquer. Nous abordons donc la deuxième partie du tutoriel qui est donc le routage inter-vlan.

V. Routage inter-vlan

Il se peut qu’un besoin de communication se fasse entre les deux groupes de travail. Il est alors possible de faire communiquer deux Vlans sans pour autant compromettre leur sécurité.

Pour cela nous utilisons un routeur relié à un des deux switchs. Nous appelons ce type de routage inter-vlan un Router-on-stick. Cela signifie que le router va, par intermédiaire d'un seul lien physique router et faire transiter un ensemble de VLAN. On aurait également pu mettre en place un switch de niveau trois qui aurai été capable d'effectuer les tâches de routage inter-vlan.

Plusieurs Vlans peuvent avoir pour passerelle un même port physique du routeur qui sera "découpé" en plusieurs interfaces virtuelles. Nous pouvons en effet diviser un port du routeur selon les Vlans à router et ainsi créer une multitude de passerelles virtuelles avec des adresses IP différentes.

VI. Configuration du routeur

Nous allons donc créer nos interface virtuelles sur le port Fa0/0 de notre routeur. Il faut tout d'abord absolument activer l'interface physique pour que les interfaces virtuelles soient opérationnelles :

Router>enable
Router#configuration terminal
Router(config)#interface fa0/0
Router(config-if)#no shutdown 
Router(config-if)#exit

Nous allons ensuite créer l'interface fa0/0.1 (interface virtuelle 1 de l'interface physique fa0/0),nous dirons que ce port virtuel sur la passerelle des postes du VLAN 20 :

Router(config)#interface fa0/0.1
Router(config-subif)#encapsulation dot1Q 20 
Router(config-subif)#ip address 192.168.20.254 255.255.255.0 
Router(config-subif)#no shutdown
Router(config-subif)#exit

Nous faisons pareil pour l'interface fa0/0.2 et les postes du réseau du vlan 30

Router(config)#interface fa0/0.2
Router(config-subif)#encapsulation dot1Q 30
Router(config-subif)#ip address 192.168.30.254 255.255.255.0 
Router(config-subif)#no shutdown
Router(config-subif)#exit

Un petit mot de la commande "encapsulation dot1q". La norme de trame 802.1q indique que les trames sont étiquetées pour contenir le numéro de vlan à laquelle elles sont destinées/attribuées. La commande "encapsulation dot1q 30" permet donc d'encapsuler une trame pour transiter sur le vlan 30 si elle est destinée à celui ci. Le routeur a besoin de cette information par exemple quand il voit une trame venant du vlan 20 (étiquetée vlan 20) qui souhaite se diriger sur le vlan 30. Il change donc à ce moment la son étiquetage 802.1q pour que les switchs puissent correctement acheminé la trame vers le ou les postes du vlan 30. N'oublions pas notre switch ! Il faut également mettre le port fa0/24 de notre "Switch2" (qui fait la liaison avec le routeur) en mode trunk pour que lui aussi puisse acheminer toutes les VLANs vers et depuis le routeur :

Switch(config)#interface fa0/24
Switch(config-if)#switchport mode trunk 
Switch(config-if)#switchport trunk allowed vlan 20,30,99
Switch(config-if)# switchport trunk native vlan 99
Switch(config-if)#no shutdown
Switch(config-if)#exit

VII. Test Routage Vlan

Une fois que nous avons mis les bonnes passerelles à nos postes (par exemple 192.168.20.254 pour les postes du VLAN 20 dans le cas de notre schéma de test), nous pouvons tester la communication inter-VLAN par l'intermédiaire d'un simple ping par exemple du poste 192.168.20.2 vers 192.168.30.1

RoutageInterVLAN04

Notre routage inter-VLAN est maintenant opérationnel !

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d'IT-Connect.fr et d'Information-security.fr. Auditeur sécurité chez Amossys.

    mickael has 478 posts and counting.See all posts by mickael

    41 pensées sur “Mise en place de VLANs et de routage inter-VLANs

    • salut mr.eric, c’est très bien de critiquer un travail, c’est toute fois dans le but de l’améliorer mais si vous voulez proposer des connaissances; elles seront les bienvenues dans le cas contraire arrêté de choqué. son exposée présente de façon claire et simple la stratégie de mise en place d’un réseau local virtuel, félicitation mr.mikael, si possible j’aimerai avoir quelques informations sur le PVLAN. merci

      Répondre
    • Bonjour à tous, est-il possible de faire un routage inter-vlan entre deux sites équipés chacun d’un routeur 1841. Merci

      Répondre
    • Bonjour et merci pour ton blog
      j’ai une question sur le routage inter-vlan sur des switchs cisco
      quelle est la meilleur méthode de routage intervlan (Router On A Stick, Switch de niveau 3 avec EIGRP et CEF).

      Répondre
    • Ne marche pas, changer le Vlan 30 en Vlan 10 !

      Répondre
    • Merci pour votre aide.
      toujours très précis et juste!

      Répondre
    • Bonjour à tous,
      J’apprécie bien ce Tuto.
      Cependant, j’ai une question: imaginons qu’en plus des vlan 20 et 30, nous avons un troisième vlan, disons Vlan 40 aussi reparti entre ces deux switchs. Mais que nous ne voulons pas que le vlan 40 puisse communiquer avec les autres vlan. est ce que pour ça, il faut seulement que la sous interface virtuelle ne soit pas créée sur le routeur. Imaginons le vlan 40 affecté à un wifi destiné aux visiteurs. nous ne voulons pas que les utilisateurs connectés au vlan 40 puissent en interne pouvoir accéder aux ressources réseaux. Comment faire?

      Répondre
    • Bonjour,
      Tutoriel bien fait. et j’apprécie.
      une question a été posée plus haut mais je n’ai pas vu de réponse: à savoir si le routage inter vlan vient annuler le principe initial qui veut que les vlans servent à segmenter un réseau?
      aussi, j’ai une question à savoir que dans l’exemple étayer dans ce tuto pour la mise en place de vlans, supposons que nous ayons en plus un vlan 50 par exemple et que nous voulons que tous les vlans puissent communiquer entre eux mais pour le cas du vlan 50 (affecté par exemple à un wifi de visiteurs), nous ne souhaitons pas qu’à l’intérieur du réseau, les PCs connectés à ce vlan puissent dialoguer avec les autres PCs connectés aux eutres vlans et vice versa. que faut -il faire? suffit t’il seulement de ne pas créer de sous interface servant de Gateway aux utilisateurs du vlans 50?
      merci de faire un feedback s’il vous plait

      Répondre
    • merci pour le tutoriel
      il est bien strucuture
      mon probleme c’est que mon reseau contient un routeur qui relie deux switchs
      les deux switch chaqun a un vlan 10 et un vlan 20
      donc comment faire au niveau du routeur pour configurer les deux interfaces g0/0 et g0/1 pour que les PCs appartenant au meme vlan et connecter sur g0/0 et g0/1 puisse communiquer
      NB: au niveau de l’interface g0/1 du routeur:
      Router(config-subif)#encapsulation dot1Q 10
      Router(config-subif)#ip add 192.168.10.1 255.255.255.0
      % 192.168.10.0 overlaps with GigabitEthernet0/0.10
      merci

      Répondre
      • Salut, Marouene_IT, en général lorsque cette erreur parvient c’est que l’adresse IP est déjà attribuer à une interface, regarde test interfaces actives avec un « show run » par exemple, et tu devrais pouvoir régler ton problème

        Répondre
    • Et si je veux que les un hôte dans la VLAN 20 communique avec un autre dans la VLAN 30, ça ne fonctionne pas
      faut-il faire une commande?

      Répondre
    • Bonjour,

      Que me conseillez-vous d’acheter pour un bon switch performant de 48 ports et de niveau 3 (pour faire du routage interVLAN sans routeur) s’il vous plaît ?
      En 1Gbs car le 10Gbs sera très cher…
      Ce switch a besoin de performance car ce sera des données de VMs qui transiteront (Via XenServer/FreeNAS).

      Merci beaucoup par avance en tout cas ! 🙂

      Répondre
    • bonjour comment configurer trois vlans 10,20,30 tous peuvent être tester dans un serveur web qui est relie sur un port du vla’ 20

      Répondre
    • Dès le départ les laptops et les pc n’appartiennent pas au même sous réseaux donc ne pouvaient pas communiquer même à l’absence du vlan non?

      Répondre
    • Bonjour,

      Pouvez-vous me dire à quel endroit vous écrivez les lignes de commandes de type :

      Switch(config-if)#no shutdown

      S’agit-il d’un logiciel, et si oui, ce type de logiciel est-il payant ? Ou bien doit-on écrire ça dans un simple terminal ?

      Merci de votre réponse

      Répondre
    • Bonjour M. Dorigny,

      Dans votre article, vous parlez initialement de 2 réseaux virtuels numérotés 10 et 20, puis dans la suite des développements sont mentionnés systématiquement les réseaux 20 et 30. S’agit-il d’une incohérence ou bien quelque chose m’échappe ?

      Merci de votre aide

      Répondre
    • Bonsoir,

      Pour répondre à la question posée plus haut sur les VLANs (cf. message de Isidore).

      Les broadcasts de couche 3 (broadcast IP) ne passent pas la « barrière » des VLANs grâce au FLAG (trame 802.1q – couche 2). Le protocole de couche supérieur (IP) est encapsulé dans la trame 802.1q quand on déscend dans les couches OSI. La trame 802.1q, grâce au FLAG justement, va segmenter sur la couche 2 (malgré le routage opérant sur la couche 3).

      Le tutoriel est super ! Franchement, un grand Bravo à l’auteur !

      Wahbi GASRI
      Formateur TAI

      Répondre

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

     

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.