Pour découvrir les VLAN pas à pas sur Packet Tracer avant d’aborder ce guide, voir le tutoriel Segmenter un réseau avec les VLAN sur un switch Cisco.
1. Introduction et conventions
1.1 Présentation
Ce guide décrit l’administration courante des commutateurs Cisco Catalyst sous IOS-XE d’une infrastructure à deux niveaux : le cœur de réseau, constitué de deux commutateurs en StackWise Virtual, et les commutateurs de distribution, empilés par leurs ports de stack dédiés.
Les exemples utilisent le nom d’hôte SW-RG1 (distribution) et SW-CORE (cœur). Les noms, adresses, numéros de VLAN et d’interfaces sont à adapter à chaque équipement.
1.2 Les modes de l’interface en ligne de commande
L’invite (prompt) indique dans quel mode on se trouve. Une commande saisie dans le mauvais mode est refusée : c’est la première chose à vérifier en cas d’erreur % Invalid input.
| Invite | Mode | Accès |
|---|---|---|
SW-RG1> | EXEC utilisateur (consultation limitée) | Connexion |
SW-RG1# | EXEC privilégié (show, copy, reload…) | enable |
SW-RG1(config)# | Configuration globale | configure terminal |
SW-RG1(config-if)# | Configuration d’une interface | interface Gi1/0/1 |
SW-RG1(config-if-range)# | Configuration d’une plage d’interfaces | interface range Gi1/0/3 - 6 |
SW-RG1(config-vlan)# | Configuration d’un VLAN | vlan 50 |
SW-RG1(config-ext-nacl)# | Édition d’une ACL étendue nommée | ip access-list extended NOM |
1.3 Conventions de présentation
| Élément | Signification |
|---|---|
| Encadré vert 🎯 / ✅ | Objectifs, bonnes pratiques, points clés |
| Encadré rouge ⚠️ | Risque de coupure ou point de sécurité |
| Encadré bleu § | Information complémentaire, point à vérifier |
| Encadré orange ✍️ | Manipulation à réaliser |
VALEUR_EN_MAJUSCULES dans le code | Valeur à remplacer (mot de passe, adresse…) |
Ligne commençant par ! | Commentaire (ignoré par IOS si collé dans la console) |
2. Configuration initiale
Ces étapes s’appliquent à tout nouveau commutateur, dans l’ordre : le nom de domaine (2.2) est requis pour générer les clés SSH (2.4).
2.1 Nom d’hôte
switch>enable
switch#configure terminal
switch(config)#hostname SW-RG1
2.2 Adresse IP d’administration
L’adresse d’administration est portée par l’interface virtuelle (SVI) du VLAN 410, VLAN réservé à l’administration des équipements.
SW-RG1(config)#interface vlan 410
SW-RG1(config-if)#description Administration
SW-RG1(config-if)#ip address 192.168.10.X 255.255.255.0
SW-RG1(config-if)#no shutdown
SW-RG1(config-if)#exit
SW-RG1(config)#ip default-gateway 192.168.10.254
SW-RG1(config)#ip domain name lab.local
SW-RG1(config)#ip name-server 192.168.10.1 192.168.10.2
SW-RG1(config)#end
2.3 Comptes et mots de passe
! Compte local administrateur, mot de passe haché en scrypt (type 9)
SW-RG1(config)#username admin privilege 15 algorithm-type scrypt secret MOT_DE_PASSE_ADMIN
SW-RG1(config)#enable algorithm-type scrypt secret MOT_DE_PASSE_ENABLE
! Longueur minimale et chiffrement des mots de passe restants
SW-RG1(config)#security passwords min-length 12
SW-RG1(config)#service password-encryption
! Blocage 2 min après 5 échecs de connexion en 60 s
SW-RG1(config)#login block-for 120 attempts 5 within 60
SW-RG1(config)#login on-failure log
SW-RG1(config)#login on-success log
2.4 Accès distant sécurisé : SSH et HTTPS
Seuls SSH v2 et HTTPS sont autorisés. Telnet et HTTP font transiter les identifiants en clair sur le réseau et sont désactivés.
! Génération des clés (nécessite hostname + ip domain name)
SW-RG1(config)#crypto key generate rsa general-keys modulus 3072
SW-RG1(config)#ip ssh version 2
SW-RG1(config)#ip ssh time-out 60
SW-RG1(config)#ip ssh authentication-retries 3
! Interface web : HTTPS uniquement, authentification sur les comptes locaux
SW-RG1(config)#ip http secure-server
SW-RG1(config)#ip http authentication local
SW-RG1(config)#no ip http server
! Lignes virtuelles : SSH seul, déconnexion après 10 min d'inactivité
SW-RG1(config)#line vty 0 15
SW-RG1(config-line)#login local
SW-RG1(config-line)#transport input ssh
SW-RG1(config-line)#exec-timeout 10 0
SW-RG1(config-line)#line con 0
SW-RG1(config-line)#login local
SW-RG1(config-line)#exec-timeout 10 0
SW-RG1(config-line)#exit
SW-RG1(config)#banner motd ^Acces reserve aux administrateurs. Toute connexion est journalisee.^
Pour restreindre l’accès SSH au seul réseau d’administration, voir la section 7.5.
2.5 Heure et NTP
Une heure exacte est indispensable : horodatage des journaux (corrélation dans le serveur syslog central), validité des certificats HTTPS, analyse d’incident.
SW-RG1(config)#clock timezone CET 1 0
SW-RG1(config)#clock summer-time CEST recurring last Sun Mar 2:00 last Sun Oct 3:00
SW-RG1(config)#ntp server IP_SERVEUR_NTP_1 prefer
SW-RG1(config)#ntp server IP_SERVEUR_NTP_2
SW-RG1(config)#end
SW-RG1#show ntp associations
SW-RG1#show ntp status
2.6 Enregistrement de la configuration
Les modifications s’appliquent immédiatement à la configuration active (running-config) mais sont perdues au redémarrage tant qu’elles ne sont pas copiées dans la configuration de démarrage (startup-config).
SW-RG1#copy running-config startup-config
! ou, en abrégé :
SW-RG1#write memory
3. VLAN et VTP
Un VLAN (Virtual LAN) est un réseau logique indépendant : plusieurs VLAN coexistent sur un même commutateur sans pouvoir communiquer directement entre eux (le passage d’un VLAN à l’autre exige un routage, assuré par le cœur ou le pare-feu).
- Segmentation : réduction de la taille des domaines de broadcast.
- Sécurité : isolement des flux (utilisateurs, administration, invités…).
- Gestion : organisation logique indépendante de l’emplacement physique des postes.
3.1 VTP (VLAN Trunking Protocol)
VTP propage la liste des VLAN du cœur vers les commutateurs de distribution : un VLAN se crée une seule fois, sur le cœur.
| Mode | Rôle | Utilisation recommandée |
|---|---|---|
| Server | Crée, modifie, supprime les VLAN et les diffuse | Cœur de réseau |
| Client | Reçoit et applique les VLAN, ne peut pas les modifier | Commutateurs de distribution |
| Transparent | Ignore VTP pour lui-même, relaie les annonces ; VLAN gérés localement | Commutateur isolé, maquette, préparation d’un nouvel équipement |
! Sur le CŒUR
SW-CORE(config)#vtp domain NOM_DOMAINE_VTP
SW-CORE(config)#vtp version 2
SW-CORE(config)#vtp password MOT_DE_PASSE_VTP
SW-CORE(config)#vtp mode server
! Sur chaque commutateur de DISTRIBUTION
SW-RG1(config)#vtp domain NOM_DOMAINE_VTP
SW-RG1(config)#vtp version 2
SW-RG1(config)#vtp password MOT_DE_PASSE_VTP
SW-RG1(config)#vtp mode client
SW-RG1(config)#do show vtp status
3.2 Création d’un VLAN (sur le cœur)
SW-CORE#configure terminal
SW-CORE(config)#vlan 50
SW-CORE(config-vlan)#name Eleves
SW-CORE(config-vlan)#end
SW-CORE#show vlan brief
3.3 Affecter un port à un VLAN (mode access)
SW-RG1#configure terminal
SW-RG1(config)#interface Gi1/0/1
SW-RG1(config-if)#description Poste-Salle1-01
SW-RG1(config-if)#switchport mode access
SW-RG1(config-if)#switchport access vlan 50
SW-RG1(config-if)#spanning-tree portfast
SW-RG1(config-if)#no shutdown
SW-RG1(config-if)#end
3.4 Affecter plusieurs ports à la fois
SW-RG1(config)#interface range Gi1/0/3 - 6
SW-RG1(config-if-range)#description Public
SW-RG1(config-if-range)#switchport mode access
SW-RG1(config-if-range)#switchport access vlan 31
SW-RG1(config-if-range)#interface range Gi1/0/11 - 14
SW-RG1(config-if-range)#description Guest
SW-RG1(config-if-range)#switchport mode access
SW-RG1(config-if-range)#switchport access vlan 33
SW-RG1(config-if-range)#end
SW-RG1#show vlan brief
3.5 Liens trunk
Un trunk transporte plusieurs VLAN sur un même lien (étiquetage 802.1Q). Il relie les commutateurs entre eux ou à un hyperviseur.
SW-RG1(config)#interface Gi1/0/2
SW-RG1(config-if)#description vers_SW-CORE
SW-RG1(config-if)#switchport mode trunk
SW-RG1(config-if)#switchport nonegotiate
SW-RG1(config-if)#switchport trunk native vlan 999
! Première définition de la liste : SANS le mot-clé add
SW-RG1(config-if)#switchport trunk allowed vlan 11,22,33
! Modifications ultérieures de la liste
SW-RG1(config-if)#switchport trunk allowed vlan add 44
SW-RG1(config-if)#switchport trunk allowed vlan remove 44
SW-RG1(config-if)#end
SW-RG1#show interfaces trunk
4. Agrégation de liens (EtherChannel / LACP)
L’agrégation regroupe plusieurs ports physiques en un seul lien logique (Port-channel) : le débit s’additionne et, si un lien tombe, le trafic bascule sur les autres sans interruption ni recalcul du Spanning Tree.
LACP (Link Aggregation Control Protocol, IEEE 802.3ad, aujourd’hui 802.1AX) négocie l’agrégat avec l’équipement d’en face et vérifie que les ports sont configurés de façon identique (vitesse, duplex, mode, VLAN).
Mode channel-group | Protocole | Comportement |
|---|---|---|
on | Aucun (agrégat statique) | Force l’agrégat sans négociation. L’autre côté doit aussi être en on. |
active | LACP | Initie la négociation LACP. Mode recommandé. |
passive | LACP | Répond à une négociation mais ne l’initie pas. |
desirable / auto | PAgP (propriétaire Cisco) | Non utilisé (préférer LACP, standard). |
Combinaisons qui fonctionnent : active–active, active–passive, on–on. En pratique :
- Entre commutateurs : LACP, mode
activedes deux côtés. - Vers un ESXi avec vSwitch standard : mode
on, car le vSwitch standard ne gère pas LACP (seul le vSphere Distributed Switch le fait). Côté ESXi, la politique d’équilibrage doit être Route based on IP hash.
4.1 Ajouter les interfaces physiques à l’agrégat
SW-RG1(config)#interface range Te1/1/3 - 4
SW-RG1(config-if-range)#description vers_SW-CORE-1
SW-RG1(config-if-range)#switchport mode trunk
! Entre commutateurs (LACP) :
SW-RG1(config-if-range)#channel-group 1 mode active
! Vers un ESXi en vSwitch standard (statique) : channel-group 1 mode on
SW-RG1(config-if-range)#exit
L’interface Port-channel 1 est créée automatiquement. On la configure ensuite : ses paramètres sont recopiés sur les ports membres.
4.2 Configurer l’interface Port-channel
SW-RG1(config)#interface port-channel 1
SW-RG1(config-if)#description vers_SW-CORE-1
SW-RG1(config-if)#switchport mode trunk
SW-RG1(config-if)#switchport nonegotiate
SW-RG1(config-if)#switchport trunk allowed vlan 31,33,50,60,100,410
SW-RG1(config-if)#end
4.3 Vérification
SW-RG1#show etherchannel summary
SW-RG1#show lacp neighbor
SW-RG1#show interfaces port-channel 1
| Indicateur | Signification |
|---|---|
SU sur le Port-channel | Agrégat de niveau 2 (S) actif (U) : fonctionnement normal |
P sur un port membre | Port intégré à l’agrégat |
s (suspended) | Port suspendu : configuration différente des autres membres |
I (stand-alone) | Pas de réponse LACP en face : le port fonctionne seul |
5. Empilement (StackWise Virtual)
Un commutateur empilable fonctionne seul mais peut s’associer à d’autres pour former un seul commutateur logique : une seule configuration, une seule adresse d’administration, et la somme des ports de tous les membres.
- Commutateurs de distribution : empilement physique par câbles de stack dédiés (StackWise). Aucune configuration n’est nécessaire ; vérification par
show switchetshow switch stack-ports. - Cœur de réseau : StackWise Virtual, où deux commutateurs sont reliés par des ports réseau ordinaires (liens SVL). Cette configuration est décrite ci-dessous.
5.1 Numéroter le second commutateur
Les deux membres doivent porter des numéros différents. Sur le second commutateur, avant d’activer StackWise Virtual :
SW-CORE#show switch
! Commande EXEC (pas en mode configuration)
SW-CORE#switch 1 renumber 2
SW-CORE#reload
5.2 Activer StackWise Virtual (sur les deux commutateurs)
SW-CORE#configure terminal
SW-CORE(config)#stackwise-virtual
SW-CORE(config-stackwise-virtual)#domain 1
SW-CORE(config-stackwise-virtual)#exit
! Liens SVL entre les deux commutateurs
SW-CORE(config)#interface range Te1/1/6 - 8
SW-CORE(config-if-range)#stackwise-virtual link 1
SW-CORE(config-if-range)#exit
! Lien de détection dual-active (DAD), distinct des liens SVL
SW-CORE(config)#interface Te1/1/5
SW-CORE(config-if)#stackwise-virtual dual-active-detection
SW-CORE(config-if)#end
SW-CORE#write memory
SW-CORE#reload
5.3 Vérification
SW-CORE#show stackwise-virtual
SW-CORE#show stackwise-virtual link
SW-CORE#show stackwise-virtual dual-active-detection
SW-CORE#show switch
6. Templates de ports
Un template (modèle d’interface) regroupe un jeu de commandes réutilisable : on l’applique à un port en une seule commande, ce qui garantit des configurations homogènes.
6.1 Exemples de templates
Extrait de la configuration (show running-config | section template) :
template VLAN404
spanning-tree portfast
spanning-tree bpduguard enable
switchport access vlan 404
switchport mode access
switchport port-security
!
template VLAN404sanssecu
spanning-tree portfast
spanning-tree bpduguard enable
switchport access vlan 404
switchport mode access
!
template interco
switchport trunk allowed vlan 401,404,408
switchport mode trunk
switchport nonegotiate
spanning-tree portfast trunk
spanning-tree link-type point-to-point
| Fonction | Effet |
|---|---|
portfast | Le port passe immédiatement en transmission (pas d’attente Spanning Tree) : réservé aux postes et serveurs. |
bpduguard | Si un commutateur est branché sur le port, celui-ci est désactivé (err-disabled) : protection contre les boucles. |
port-security | Par défaut, une seule adresse MAC autorisée ; au-delà, le port est désactivé (err-disabled). |
Pour créer un nouveau template (par exemple pour le VLAN élèves) : template NOM en mode configuration globale, puis saisir les commandes souhaitées.
6.2 Remettre une interface à zéro
Appliquer un template n’efface pas l’ancienne configuration du port : il faut d’abord le réinitialiser.
SW-RG1(config)#default interface Gi2/0/38
6.3 Appliquer un template
SW-RG1(config)#interface Gi2/0/38
SW-RG1(config-if)#source template VLAN404
SW-RG1(config-if)#end
! Configuration réellement appliquée (template inclus)
SW-RG1#show derived-config interface Gi2/0/38
6.4 Réactiver un port désactivé (err-disabled)
SW-RG1#show interfaces status err-disabled
SW-RG1#show port-security interface Gi2/0/38
SW-RG1(config)#interface Gi2/0/38
SW-RG1(config-if)#shutdown
SW-RG1(config-if)#no shutdown
7. Listes de contrôle d’accès (ACL)
Une ACL est une liste ordonnée de règles qui autorisent (permit) ou refusent (deny) des paquets. Il en existe pour IPv4, IPv6 et les adresses MAC.
| Type | Critères de filtrage | Numéros |
|---|---|---|
| Standard | Adresse source uniquement | 1–99, 1300–1999 ou nom |
| Étendue | Source, destination, protocole, ports | 100–199, 2000–2699 ou nom |
Règles de fonctionnement à connaître :
- Les règles sont lues de haut en bas, par numéro de séquence croissant ; la première règle correspondante s’applique et la lecture s’arrête.
- Toute ACL se termine par un refus implicite (
deny any) invisible : un paquet qui ne correspond à aucune règle est rejeté. - Une seule ACL par interface, par sens (
in/out) et par protocole. - Une ACL étendue se place au plus près de la source ; une ACL standard au plus près de la destination.
7.1 Créer une ACL étendue nommée
SW-CORE(config)#ip access-list extended ACL-TEST
SW-CORE(config-ext-nacl)#10 deny udp 10.10.10.0 0.0.0.255 10.10.20.0 0.0.0.255 log
SW-CORE(config-ext-nacl)#20 deny icmp 192.168.1.0 0.0.0.255 any log
SW-CORE(config-ext-nacl)#30 deny tcp 172.16.1.0 0.0.0.255 any eq telnet log
SW-CORE(config-ext-nacl)#1000 permit ip any any
SW-CORE(config-ext-nacl)#end
| Séq. | Effet de la règle |
|---|---|
| 10 | Refuse l’UDP du réseau 10.10.10.0/24 vers le réseau 10.10.20.0/24 (masque générique 0.0.0.255) et journalise chaque correspondance. |
| 20 | Refuse l’ICMP (ping…) provenant de 192.168.1.0/24, quelle que soit la destination, et journalise. |
| 30 | Refuse Telnet (TCP 23) provenant de 172.16.1.0/24 vers toute destination, et journalise. |
| 1000 | Autorise tout le reste. Sans cette ligne, le refus implicite bloquerait tout le trafic. |
7.2 Appliquer l’ACL
SW-CORE(config)#interface vlan 205
SW-CORE(config-if)#ip access-group ACL-TEST in
SW-CORE(config-if)#end
7.3 Modifier une ACL existante
Les numéros de séquence permettent d’insérer ou de supprimer une règle sans tout ressaisir :
SW-CORE(config)#ip access-list extended ACL-TEST
SW-CORE(config-ext-nacl)#25 deny tcp 172.16.1.0 0.0.0.255 any eq 22 log
SW-CORE(config-ext-nacl)#no 20
SW-CORE(config-ext-nacl)#end
7.4 Vérification
SW-CORE#show ip access-lists
SW-CORE#show ip interface vlan 205 | include access list
show ip access-lists affiche pour chaque règle le nombre de paquets qui y ont correspondu (matches) : c’est le moyen le plus simple de vérifier qu’une règle agit.
7.5 Restreindre l’administration au réseau d’administration
Bonne pratique de durcissement : n’accepter les connexions SSH que depuis le réseau d’administration.
SW-RG1(config)#ip access-list standard ACL-ADMIN
SW-RG1(config-std-nacl)#10 permit 192.168.10.0 0.0.0.255
SW-RG1(config-std-nacl)#20 deny any log
SW-RG1(config-std-nacl)#exit
SW-RG1(config)#line vty 0 15
SW-RG1(config-line)#access-class ACL-ADMIN in
SW-RG1(config-line)#exit
SW-RG1(config)#ip http access-class ipv4 ACL-ADMIN
8. Multicast
Le déploiement d’images système en multicast envoie un seul flux, reçu simultanément par tous les postes de la salle. Le cœur de réseau doit router le multicast entre VLAN (PIM) et les postes s’abonnent aux groupes (IGMP).
! Sur le cœur
SW-CORE(config)#ip multicast-routing
SW-CORE(config)#ip pim rp-address IP_POINT_DE_RENDEZ_VOUS
! Sur chaque interface VLAN concernée par le multicast
SW-CORE(config)#interface vlan 50
SW-CORE(config-if)#ip pim sparse-mode
SW-CORE(config-if)#ip igmp version 3
SW-CORE(config-if)#exit
Vérification :
SW-CORE#show ip pim neighbor
SW-CORE#show ip igmp groups
SW-CORE#show ip mroute
9. Journalisation et traçage
9.1 Configurer la journalisation
Les journaux sont conservés en mémoire sur le commutateur (perdus au redémarrage) et envoyés à un serveur syslog central (Graylog, par exemple), où ils sont conservés et corrélés avec ceux des autres équipements.
SW-RG1(config)#service timestamps log datetime msec localtime show-timezone
SW-RG1(config)#logging buffered 64000 informational
SW-RG1(config)#logging host IP_SERVEUR_SYSLOG
SW-RG1(config)#logging trap informational
SW-RG1(config)#logging source-interface vlan 410
9.2 Consulter les journaux
SW-RG1#show logging
! Filtrer sur un mot-clé, ici les MAC flapping
SW-RG1#show logging | include flap
Exemple de résultat :
*Mar 8 13:37:58 CET: %SW_MATM-4-MACFLAP_NOTIF: Host bc54.51a2.6fa0 in vlan 380
is flapping between port Po3 and port Po1
Ce message signifie qu’une même adresse MAC est vue alternativement sur deux Port-channel. Causes habituelles : boucle réseau ou agrégat mal configuré (voir 4.3). Ce type d’événement doit être traité rapidement car il dégrade tout le VLAN.
9.3 Tracer les commandes saisies et archiver la configuration
Ces journaux répondent à la question « qui a modifié quoi, et quand ? », indispensable en cas d’incident.
SW-RG1(config)#archive
SW-RG1(config-archive)#log config
SW-RG1(config-archive-log-cfg)#logging enable
SW-RG1(config-archive-log-cfg)#notify syslog contenttype plaintext
SW-RG1(config-archive-log-cfg)#hidekeys
SW-RG1(config-archive-log-cfg)#exit
! Copie automatique de la configuration à chaque write memory
SW-RG1(config-archive)#path flash:archive-$h
SW-RG1(config-archive)#write-memory
SW-RG1(config-archive)#maximum 10
SW-RG1(config-archive)#end
SW-RG1#show archive log config all
SW-RG1#show archive
10. Mémo et checklist sécurité
10.1 Commandes de vérification essentielles
| Commande | Usage |
|---|---|
show running-config | Configuration active complète |
show interfaces status | État, VLAN, vitesse de tous les ports |
show vlan brief | VLAN et ports associés |
show interfaces trunk | Trunks et VLAN autorisés |
show vtp status | Domaine, mode, révision VTP |
show etherchannel summary | État des agrégats |
show spanning-tree summary | État du Spanning Tree |
show mac address-table address <MAC> | Localiser un équipement sur un port |
show stackwise-virtual | État de la paire du cœur |
show ip access-lists | ACL et compteurs de correspondance |
show ntp associations | Synchronisation horaire |
show logging | Journaux locaux |
show version | Modèle, version IOS-XE, durée de fonctionnement |
10.2 Checklist de durcissement d’un commutateur
| ☐ | Point de contrôle | Section |
|---|---|---|
| ☐ | Telnet et HTTP désactivés, SSH v2 et HTTPS seuls actifs | 2.4 |
| ☐ | Mots de passe hachés en scrypt (type 9), aucun password en clair | 2.3 |
| ☐ | Accès SSH limité au réseau d’administration (access-class) | 7.5 |
| ☐ | Expiration de session (exec-timeout) et blocage après échecs | 2.3 / 2.4 |
| ☐ | Heure synchronisée par NTP | 2.5 |
| ☐ | Journaux envoyés au serveur syslog, commandes tracées | 9 |
| ☐ | Mot de passe VTP robuste et absent de tout document | 3.1 |
| ☐ | VLAN natif des trunks inutilisé, nonegotiate sur les trunks | 3.5 |
| ☐ | portfast + bpduguard sur tous les ports d’accès | 6 |
| ☐ | Ports inutilisés désactivés (shutdown) et placés dans un VLAN « parking » | — |
| ☐ | Configuration enregistrée et archivée | 2.6 / 9.3 |
🧠 Testez vos connaissances
8 questions. Répondez puis cliquez sur « Corriger ». Rien n’est enregistré : c’est de l’auto-évaluation.
© 2026 Bruno Jousseaume. Ce cours est publié sous licence CC BY-NC-SA 4.0 : vous pouvez le partager et l’adapter en citant l’auteur et un lien vers cette page, sans usage commercial, et en partageant vos adaptations sous la même licence.