Mon Labo Python

Mes astuces pour configurer un vlan sur switch cisco simplement

Mon curseur clignotait dans le vide, obstiné, au beau milieu d'une page de terminal d'un noir d'encre. Il était tard, le vent de fin d'automne soufflait contre les vitres de mon appartement à Clermont-Ferrand, et je venais de passer vingt bonnes minutes à me demander pourquoi mon boîtier refusait d'écouter le moindre de mes ordres.

Au départ, je voulais simplement séparer deux prises pour simuler un petit bureau d'entreprise et comprendre comment les machines se parlent. Mais devant un équipement réseau, même avec toute la bonne volonté du monde, on se sent vite minuscule.

Quand le terminal refuse obstinément de coopérer

Un câble console bleu ciel serpentait sur la toile cirée à carreaux de ma table de cuisine, venant frôler mon mug d'infusion tiède. J'avais récupéré un vieux switch Catalyst pour mettre en pratique une formation réseau suivie en pointillé entre le dîner et l'extinction des feux. Mon objectif était humble : préparer le terrain pour mes futurs scripts de test sans faire sauter la connexion domestique.

Je me revois encore, tapant frénétiquement la commande vlan 10 dès l'ouverture de session, récoltant en retour une volée de symboles % Invalid input detected at '^' marker. Mon premier réflexe a été de croire que le switch était défectueux ou que la syntaxe avait changé depuis vingt ans. En réalité, j'étais coincée dans ce que Cisco appelle le mode utilisateur standard, symbolisé par ce petit chevron Switch>. C'est l'équivalent de vouloir refaire l'installation électrique d'une maison en restant sur le paillasson avec les mains dans les poches.

Pour ceux qui débutent comme moi, j'en parlais déjà un peu en racontant mes astuces pour débuter avec la configuration switch cisco par console : avant de toucher à quoi que ce soit qui ressemble à un réglage, il faut gravir les marches de la maison. Taper enable pour passer en mode privilégié (le fameux dièse Switch#), puis taper configure terminal pour entrer dans l'atelier (Switch(config)#). Tant qu'on n'a pas atteint cette pièce-là, le système refuse tout simplement d'entendre parler de découpage logique.

La métaphore des tiroirs de commode

Pendant un moment, un concept m'échappait totalement : qu'est-ce qu'un VLAN au juste ? Les manuels techniques parlent de domaine de diffusion de niveau deux, d'isolation de trames et de protocoles IEEE. Sur mon carnet à spirales posé entre le clavier et la sucrière, j'ai fini par tout raturer pour dessiner une commode.

Un switch, quand on le sort du carton, c'est un énorme bac à linge sans aucune séparation. Tous les câbles branchés dedans se voient, s'entendent et s'envoient des signaux en permanence. Créer un VLAN, c'est glisser des cloisons en bois dans ce bac pour créer des tiroirs étanches. Les chaussettes dans le tiroir du haut ne peuvent pas toucher les pulls du tiroir du milieu, même si tout le monde partage le même meuble en chêne.

Techniquement, sur la plupart des commutateurs Cisco de cette gamme, la plage standard s'étend de 1 à 1005. Les numéros 1002 à 1005 sont historiquement réservés pour des technologies anciennes comme Token Ring et FDDI, des reliques dont un débutant d'aujourd'hui n'aura sans doute jamais à se soucier. Ce qui nous laisse une marge immense entre 2 et 1001 pour ranger nos appareils comme bon nous semble.

La recette en trois étapes que j'ai collée sur mon écran

Après environ deux semaines d'essais hésitants et pas mal de nœuds au cerveau, j'ai fini par synthétiser la manœuvre sur un pense-bête adhésif. Trois étapes, pas une de plus. Avant, j'essayais de tout faire en une seule ligne magique, ce qui finissait immanquablement par un message d'erreur rougeoyant.

1. Fabriquer le tiroir

D'abord, on déclare l'existence du tiroir en lui donnant un identifiant numérique et, par politesse envers soi-même dans six mois, un nom explicite :

Switch(config)# vlan 10
Switch(config-vlan)# name COMPTA
Switch(config-vlan)# exit

À cet instant précis, rien n'a changé pour les câbles branchés en façade. Le tiroir existe dans la mémoire du switch, mais il est vide. C'est l'erreur classique que j'ai faite pendant plusieurs soirées : créer un VLAN et s'étonner que la machine branchée sur le port 1 ne voie toujours rien.

2. Préparer la prise de courant

Ensuite, on sélectionne l'interface physique qu'on souhaite affecter, et on précise son rôle. Pour relier un ordinateur classique, une imprimante ou un petit serveur d'essai, on utilise le mode d'accès :

Switch(config)# interface FastEthernet 0/1
Switch(config-if)# switchport mode access

Cette commande est primordiale. Elle dit au port : « Tu ne gères qu'un seul tiroir à la fois, tu ne fais pas transiter de trafic étiqueté complexe. » C'est la garantie que le port parlera simplement avec un équipement ordinaire.

3. Associer le port au tiroir

Enfin, on pousse le port dans la cloison qu'on a fabriquée :

Switch(config-if)# switchport access vlan 10
Switch(config-if)# end

Et là, miracle : le port Fa0/1 fait désormais partie intégrante du tiroir numéro 10. Si vous branchez un deuxième ordinateur sur le port Fa0/2 sans lui assigner ce même numéro, les deux machines auront beau être côte à côte physiquement, elles seront devenues sourdes et aveugles l'une pour l'autre.

Le piège invisible du VLAN 1 par défaut

Quand on parcourt les tutoriels de vulgarisation rapide sur Internet, la plupart vous suggèrent d'assigner une adresse IP de gestion au VLAN 1 pour pouvoir vous connecter à distance au switch. C'est tentant, parce que le VLAN 1 est déjà créé d'usine. On allume l'appareil, il est là, présent sur chaque port, impossible à supprimer ou à renommer.

Mais au fil de mes lectures et de mes petites expériences d'automne, j'ai compris une vérité que les guides simplifiés passent souvent sous silence : arrêter d'utiliser le VLAN 1 par défaut pour le management n'est pas un caprice de puriste, c'est une mesure de bon sens élémentaire. Utiliser ce numéro par défaut constitue une brèche de sécurité évidente.

Pourquoi ? Parce que n'importe quel intrus qui branche un câble sur une prise oubliée dans un couloir ou une salle de réunion atterrit automatiquement dans le VLAN 1. Si l'interface d'administration de votre switch habite dans ce même compartiment, vous laissez la porte du local technique grande ouverte sur le hall d'entrée. Dès mes premières configurations stables, j'ai pris l'habitude de créer un numéro dédié, par exemple le VLAN 99, réservé uniquement à l'administration, et de retirer les ports inutilisés du VLAN par défaut.

Vérifier sans deviner : le réflexe show

En programmation Python, j'ai vite pris le pli d'abuser de la fonction print() pour observer ce que contenaient mes variables. Sur un switch Cisco, le réflexe salutaire s'appelle show. Durant mes premières sessions, je configurais des choses à l'aveugle, puis je débranchais et rebranchais mes câbles en priant pour que les diodes vertes s'allument.

La commande indispensable à retenir en mode privilégié est limpide :

Switch# show vlan brief

Elle affiche un tableau très lisible. Sur chaque ligne, vous voyez le numéro du VLAN, son nom, son statut (actif ou suspendu), et la liste exacte des interfaces qui lui sont rattachées. Si vous ne voyez pas votre port Fa0/1 en face de votre VLAN 10, c'est que l'étape d'association a échoué ou que vous avez oublié de valider la commande.

D'ailleurs, le week-end dernier encore, assise à cette même table avec une pile de notes griffonnées, je me disais que manipuler ces ports à la main devenait vite répétitif quand on a vingt-quatre interfaces à reconfigurer. C'est précisément là que mon apprentissage du code a commencé à croiser mes essais de réseau : je voyais clairement comment découvrir l'automatisation réseau avec python pour simplifier ses tâches pouvait m'éviter de taper ces blocs de commandes ligne par ligne à chaque nouvel exercice.

Sauvegarder avant d'éteindre la multiprise

Il y a une leçon douloureuse que chaque débutant traverse au moins une fois. Vous venez de passer une heure à peaufiner vos trois VLAN, à nommer chaque interface avec soin, vous vérifiez avec show vlan brief, tout est parfait. Vous éteignez l'interrupteur pour aller dîner, l'esprit léger. Le lendemain matin, vous rallumez le boîtier : tout a disparu.

Cisco garde toutes vos modifications en mémoire vive (la running-config). Tant qu'on n'a pas explicitement copié cette mémoire volatile vers la mémoire permanente (la startup-config), rien n'est gravé dans le marbre. Un simple :

Switch# copy running-config startup-config

ou son abréviation affectueuse utilisée par tous les praticiens :

Switch# write memory

permet de dormir sur ses deux oreilles. Cela m'a rappelé mes premiers scripts non sauvegardés dans mon éditeur de texte : une amnésie frustrante qui apprend vite la rigueur.

Ces manipulations, qui me paraissaient insurmontables un soir pluvieux de mi-septembre, sont devenues presque automatiques. Il me reste encore des zones d'ombre, notamment sur la façon dont deux commutateurs s'échangent ces fameuses étiquettes dès qu'un câble unique les relie, mais le brouillard se dissipe lentement. Une commande après l'autre, à son propre rythme.

Articles connexes