Séance 1 : VLANs et trunks 802.1Q
| Formation | BTS SIO option SISR — IRIS Mediaschool |
|---|---|
| Bloc | B2 — Réseaux et sécurité |
| Module | M2.1 — Infrastructure réseau |
| Compétences | B2.1 / B2.2 |
| Durée | 3h30 |
Introduction (10 min)
La PME InnovatTech (≈50 employés) migre d'un réseau plat vers une architecture segmentée par VLANs afin d'améliorer la sécurité et les performances. Dans un réseau plat, toutes les machines partagent le même domaine de broadcast, ce qui augmente le risque de tempêtes de broadcast, facilite les mouvements latéraux d'attaquants et crée des problèmes de performance lorsque le nombre d'hôtes augmente. La segmentation par VLAN permet d'isoler logiquement les services (administration, utilisateurs, DMZ, invités) sans multiplier le nombre de commutateurs physiques, tout en gardant un contrôle fin via le routage inter-VLAN.
À l'issue de cette séance, vous serez capable de :
- Expliquer le rôle d'un VLAN et son effet sur les domaines de broadcast
- Créer des VLANs et assigner des ports access/trunk sur un Cisco Catalyst 2960
- Configurer un routage inter-VLAN « Router-on-a-Stick » sur un Cisco ISR 4321 et vérifier la connectivité
1. VLANs : isolation logique et base VLAN (70 min)
Un VLAN (Virtual LAN) est une séparation logique des réseaux au sein d'un commutateur ou d'une infrastructure commutée. Contrairement à une séparation physique, un VLAN segmente le plan de commutation pour créer plusieurs domaines de broadcast indépendants : une trame broadcast émise dans le VLAN 10 ne sera pas transmise aux ports appartenant au VLAN 20. Le commutateur maintient une base de données VLAN qui contient pour chaque VLAN son nom, son état et la liste des ports membres. Cette base est consultée pour décider de l'envoi des trames et pour remplir la table MAC spécifique au VLAN.
Sur un Catalyst 2960 (IOS 15.x), la création d'un VLAN se réalise en mode configuration globale :
Switch> enable
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name Admin
Switch(config-vlan)# exit
Switch(config)# vlan 20
Switch(config-vlan)# name Users
Switch(config)# vlan 30
Switch(config-vlan)# name DMZ
Switch(config)# vlan 40
Switch(config-vlan)# name Guests
Switch(config)# end
Sortie attendue et commentée :
Switch# show vlan brief
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Gi0/1, Gi0/2
10 Admin active Gi0/3, Gi0/4
20 Users active Gi0/5, Gi0/6
30 DMZ active Gi0/7
40 Guests active Gi0/8
Interprétation : la colonne VLAN donne l'identifiant, Name le libellé (utile pour l'administration), et Ports liste les interfaces physiques ou agrégations attachées. Les VLANs existent d'abord localement sur chaque switch ; pour que plusieurs commutateurs partagent la même définition VLAN, on réalise la même configuration sur chaque équipement ou on utilise VTP (non recommandé en production sans précautions).
Exemple concret — InnovatTech
| VLAN | Nom | Réseau | Usage |
|---|---|---|---|
| 10 | Admin | 192.168.10.0/24 | Postes administratifs |
| 20 | Users | 192.168.20.0/24 | Postes utilisateurs |
| 30 | DMZ | 192.168.30.0/24 | Serveurs DMZ |
| 40 | Guests | 192.168.40.0/24 | Réseau invités |
Avant le routage inter-VLAN, ces segments seront complètement isolés entre eux : un poste du VLAN 10 ne peut pas communiquer avec un poste du VLAN 20, même s'ils sont sur le même switch physique.
2. Trunk 802.1Q : encapsulation dot1Q et native VLAN (50 min)
Le trunk 802.1Q permet de transporter le trafic de plusieurs VLANs sur une seule liaison physique entre commutateurs ou entre un commutateur et un routeur. Chaque trame d'un VLAN non-native est marquée par un en-tête 4 octets (TPID 0x8100 + TCI) qui contient l'identifiant VLAN (VID) et des bits de priorité. Le concept de native VLAN définit le VLAN dont les trames sont envoyées non-tagguées sur le lien trunk (héritage Cisco), ce qui peut poser des risques de sécurité et de confusion si des équipements attendent ou modifient des trames non-tagguées.
Configuration d'un trunk sur Catalyst 2960 (exemple sur l'interface GigabitEthernet0/1 reliée au routeur) :
Switch> enable
Switch# configure terminal
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# switchport trunk encapsulation dot1q # (si supporté)
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk native vlan 99 # (optionnel : VLAN de management dédié)
Switch(config-if)# switchport trunk allowed vlan 10,20,30,40
Switch(config-if)# end
Certains modèles Catalyst n'exposent pas la commande switchport trunk encapsulation car seul dot1q est supporté ; la commande switchport mode trunk suffit alors.
Vérification :
Switch# show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi0/1 on 802.1q trunking 99
Port Vlans allowed on trunk
Gi0/1 10,20,30,40
Port Vlans in spanning tree forwarding state and not pruned
Gi0/1 10,20,30,40
Explication : la sortie montre que Gi0/1 est en mode trunk, utilise 802.1q, a la VLAN native 99, et transporte les VLANs listés. Si une trame arrive taggée avec un VID absent de la liste « allowed », elle est généralement rejetée/pruned.
Par défaut, la native VLAN est le VLAN 1. Il est recommandé en production de la changer vers un VLAN dédié non utilisé (ex : VLAN 99) pour éviter les attaques de type VLAN hopping (double-tagging).
3. Inter-VLAN routing : Router-on-a-Stick (30 min)
Le routage inter-VLAN consiste à permettre la communication entre VLANs distincts via un routeur ou un équipement de couche 3. Le modèle Router-on-a-Stick utilise une seule interface physique du routeur subdivisée en sous-interfaces (subinterfaces), chaque sous-interface étant associée à un VLAN via encapsulation dot1Q <vlan> et portant l'adresse IP de la passerelle de ce VLAN.
Configuration sur un Cisco ISR 4321 :
Router> enable
Router# configure terminal
Router(config)# interface GigabitEthernet0/0.10
Router(config-subif)# encapsulation dot1Q 10
Router(config-subif)# ip address 192.168.10.1 255.255.255.0
Router(config-subif)# exit
Router(config)# interface GigabitEthernet0/0.20
Router(config-subif)# encapsulation dot1Q 20
Router(config-subif)# ip address 192.168.20.1 255.255.255.0
Router(config-subif)# interface GigabitEthernet0/0.30
Router(config-subif)# encapsulation dot1Q 30
Router(config-subif)# ip address 192.168.30.1 255.255.255.0
Router(config-subif)# interface GigabitEthernet0/0.40
Router(config-subif)# encapsulation dot1Q 40
Router(config-subif)# ip address 192.168.40.1 255.255.255.0
Router(config)# end
Vérification :
Router# show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 unassigned YES unset up up
GigabitEthernet0/0.10 192.168.10.1 YES manual up up
GigabitEthernet0/0.20 192.168.20.1 YES manual up up
GigabitEthernet0/0.30 192.168.30.1 YES manual up up
GigabitEthernet0/0.40 192.168.40.1 YES manual up up
Router-on-a-Stick est simple pour un laboratoire ou un petit réseau, mais il peut devenir un goulot d'étranglement en production. Une alternative est un switch de couche 3 (L3) qui supporte des SVI (interface VLAN) et assure le routage inter-VLAN en matériel avec des performances bien supérieures.
Travaux Pratiques (100 min)
Contexte du TP
Vous êtes technicien réseau chez InnovatTech SARL. La direction souhaite segmenter le réseau plat existant. Vous disposez d'un Cisco Catalyst 2960 (24 ports) et d'un Cisco ISR 4321 qui servira de routeur. Les serveurs win-srv01 et debian-srv02 existent dans le rack ; vous utilisez Packet Tracer/GNS3 ou l'équipement réel pour ce TP.
Objectif
Créer 4 VLANs (10 Admin, 20 Users, 30 DMZ, 40 Guests) sur le Catalyst 2960, assigner des ports access pour postes et serveurs, configurer un trunk 802.1Q vers le routeur ISR4321, et vérifier que l'isolation inter-VLAN est effective avant le routage.
Prérequis techniques
- Accès console au Catalyst 2960 (IOS 15.x) et au Cisco ISR 4321 (IOS 16.x)
- Packet Tracer ou GNS3 / topologie physique câblée
- Postes virtuels ou réels avec capacité de ping
- Connaissance basique des commandes IOS
Topologie ASCII
Internet
│
[FAI]
│
+----------------+
| Cisco ISR 4321 |
| Gi0/0 (trunk) |
+----------------+
│ Gi0/1 trunk (802.1Q)
+-----------------------------+
| Catalyst 2960 (VLANs) |
| Gi0/2 - Admin PCs (VLAN10) |
| Gi0/3 - Users PCs (VLAN20) |
| Gi0/4 - DMZ servers (VLAN30)|
| Gi0/5 - Guests (VLAN40) |
+-----------------------------+
win-srv01 192.168.10.5 (VLAN10)
debian-srv02 192.168.30.5 (VLAN30)
Étape 1 — Créer les VLANs sur le Catalyst 2960
Switch> enable
Switch# configure terminal
Switch(config)# vlan 10
Switch(config-vlan)# name Admin
Switch(config)# vlan 20
Switch(config-vlan)# name Users
Switch(config)# vlan 30
Switch(config-vlan)# name DMZ
Switch(config)# vlan 40
Switch(config-vlan)# name Guests
Switch(config)# end
Vérification :
Switch# show vlan brief
# Vous devez voir les 4 VLANs 10/20/30/40 listés avec le statut "active"
Étape 2 — Assigner des ports en mode access
Switch# configure terminal
Switch(config)# interface range GigabitEthernet0/2 - 3
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 10
Switch(config)# interface range GigabitEthernet0/4 - 6
Switch(config-if-range)# switchport mode access
Switch(config-if-range)# switchport access vlan 20
Switch(config)# interface GigabitEthernet0/7
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 30
Switch(config)# interface GigabitEthernet0/8
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 40
Switch(config-if)# end
Vérification :
Switch# show interface status
# Vérifier que les interfaces sont en access et sur le VLAN attendu
Étape 3 — Configurer le trunk vers le routeur
Sur le Catalyst 2960 :
Switch# configure terminal
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# switchport trunk encapsulation dot1q
Switch(config-if)# switchport mode trunk
Switch(config-if)# switchport trunk allowed vlan 10,20,30,40
Switch(config-if)# end
Sur le routeur ISR 4321 :
Router> enable
Router# configure terminal
Router(config)# interface GigabitEthernet0/0.10
Router(config-subif)# encapsulation dot1Q 10
Router(config-subif)# ip address 192.168.10.1 255.255.255.0
Router(config-subif)# interface GigabitEthernet0/0.20
Router(config-subif)# encapsulation dot1Q 20
Router(config-subif)# ip address 192.168.20.1 255.255.255.0
Router(config-subif)# interface GigabitEthernet0/0.30
Router(config-subif)# encapsulation dot1Q 30
Router(config-subif)# ip address 192.168.30.1 255.255.255.0
Router(config-subif)# interface GigabitEthernet0/0.40
Router(config-subif)# encapsulation dot1Q 40
Router(config-subif)# ip address 192.168.40.1 255.255.255.0
Router(config)# end
Étape 4 — Tester l'isolation avant configuration du routeur
- Configurez sur un poste du VLAN 10 l'adresse
192.168.10.10/24, gateway192.168.10.1(mais n'activez pas le routeur pour l'instant) ; sur un poste du VLAN 20 configurez192.168.20.10/24. - Tentez un ping
192.168.20.10depuis192.168.10.10. Résultat attendu : « Destination host unreachable » ou échec du ping, preuve d'isolation.
Étape 5 — Activer Router-on-a-Stick et tester inter-VLAN
- Activez les sous-interfaces sur le routeur (configuration de l'étape 3).
- Sur les postes, configurez la gateway correcte (ex :
192.168.10.1pour le VLAN 10). - Pingez entre VLAN 10 et VLAN 20 ; résultat attendu : ping réussi une fois le routage en place.
Livrable attendu
- Fichier texte contenant la configuration complète du switch (
copy running-config) et du routeur (show running-config) - Copies des sorties de commandes :
show vlan brief,show interfaces trunk,show ip interface brief, captures de ping avant/après routage - Courte synthèse d'une page expliquant la démarche et les conclusions
Critères de réussite
- La commande
show vlan briefaffiche les VLANs 10, 20, 30, 40 créés et actifs. show interfaces trunkmontre Gi0/1 en trunk transportant les VLANs attendus.- Avant configuration du routeur, les machines de VLANs différents ne se pingent pas.
- Après configuration Router-on-a-Stick, le ping inter-VLAN fonctionne (ex : 192.168.10.10 → 192.168.20.10).
Synthèse (10 min)
Cette séance vous a montré que :
- Les VLANs segmentent le réseau au niveau 2 pour limiter les domaines de broadcast et améliorer la sécurité.
- Les trunks 802.1Q transportent plusieurs VLANs sur une seule liaison physique via le tagging des trames.
- Le routage inter-VLAN peut être assuré par un routeur via des sous-interfaces (Router-on-a-Stick) ou par un switch de couche 3.
Commandes clés à retenir : show vlan brief, show interfaces trunk, show ip interface brief.
STP, RSTP et dépannage des boucles de switching — Nous analyserons la stabilité d'une topologie commutée et apprendrons à régler et dépanner STP/RSTP.
🎮 Quiz — Testez vos connaissances
QCM 1 — Domaines de broadcast
Quelle est la conséquence principale de la création de VLANs distincts sur un commutateur ?
- Les VLANs partagent toujours le même domaine de broadcast
- Chaque VLAN constitue un domaine de broadcast indépendant
- Les VLANs nécessitent obligatoirement un routeur pour fonctionner en interne
- Un VLAN ne peut contenir qu'une seule machine à la fois
QCM 2 — Vérification d'un trunk Cisco
Quelle commande permet de vérifier qu'une interface est bien configurée en mode trunk et d'identifier les VLANs autorisés sur un Catalyst Cisco ?
show vlan briefshow ip interface briefshow interfaces trunkshow running-config vlan
QCM 3 — Router-on-a-Stick
Dans une configuration Router-on-a-Stick sur un routeur Cisco, quelle commande associe une sous-interface à un VLAN donné ?
switchport access vlan <id>encapsulation dot1Q <vlan-id>sur la sous-interface- Création d'une interface physique dédiée par VLAN
ip vlan <id>sur l'interface principale
Vrai ou Faux — Native VLAN
Dans un trunk 802.1Q, les trames appartenant à la native VLAN sont envoyées sans tag (non-tagguées) sur la liaison physique.
- Vrai
- Faux
Question libre — Synthèse
En une ou deux phrases, expliquez pourquoi on utilise le tagging 802.1Q sur un trunk et ce qu'est une native VLAN. Pourquoi est-il recommandé de ne pas laisser la native VLAN sur le VLAN 1 en production ?
🔑 Corrections
- B — Chaque VLAN constitue un domaine de broadcast indépendant. Un broadcast émis dans le VLAN 10 reste confiné au VLAN 10 et n'est pas transmis aux ports du VLAN 20, ce qui réduit le trafic inutile et améliore la sécurité.
- C —
show interfaces trunk. Cette commande affiche les interfaces en mode trunk, leur encapsulation (802.1q), la native VLAN et les VLANs autorisés/actifs sur chaque port. - B —
encapsulation dot1Q <vlan-id>. Cette commande sur la sous-interface (ex :GigabitEthernet0/0.10) associe la sous-interface au VLAN spécifié ; le routeur sait alors que les trames tagguées avec ce VID lui sont destinées et les route correctement. - Vrai. La native VLAN est précisément le VLAN dont les trames traversent le trunk sans en-tête tag 802.1Q. Par défaut c'est le VLAN 1, mais il est recommandé de la changer vers un VLAN dédié (ex : 99) pour éviter les attaques de type VLAN hopping.
- Réponse attendue : Le tagging 802.1Q consiste à ajouter un en-tête de 4 octets à chaque trame pour identifier son VLAN d'appartenance, permettant de multiplexer plusieurs VLANs sur une seule liaison physique (trunk). La native VLAN est le seul VLAN dont les trames ne sont pas taguées sur ce trunk ; laisser le VLAN 1 comme native VLAN est risqué car de nombreux équipements envoient leur trafic de gestion sur le VLAN 1 par défaut, ce qui ouvre la porte à des attaques par double-tagging (VLAN hopping).
