Commutateur Cisco 2960 - Configuration

Écrit par Alexandre Dos Reis
Créé le 2/12/2021, modifié le 6/2/2021.
Cisco IOS Software, Version 15.0(2)SE4
Documentation en français

I. Présentation

Un switch ou commutateur est un équipement de base du réseau informatique. Il travaille au niveau des couches 1 et 2 du modèle OSI, il est chargé du transport de trames entre les différentes machines auquel il est connecté. Il est composé d’une multitude de ports RJ45 destinés à être connectés aux carte réseaux de ses équipements voisins. Il utilise les adresses MAC qui sont des adresses physiques unique à chaque machine pour savoir à qui envoyer ses trames.

Pour ce faire, il a en son sein une table d’adresse MAC, qu’il remplit au fur et à mesure qu’il reçoit les trames des équipements voisins, ce qui lui permet par la suite d'éviter d’effectuer des requêtes Broadcast ( 1 vers plusieurs ) mais plutôt d’utiliser des requêtes Unicast ( 1 vers 1 ).

Un switch permet de créer un réseau virtuel appelé VLAN pour Virtual Local Area Network pour segmenter un LAN ou réseau local permettant par exemple d'interdire la communication entre deux ordinateurs présents sur le même réseau local. On implémente donc un réseau logique par dessus un réseau physique.

Switch Cisco 2960

Il y a plusieurs manières d'accéder à l'interface du switch, certaines plus sécurisées que d'autre. Pour un environnement de production, on privilégiera l'accès par SSH, plus sécurisé et contrôlable mais qui nécessite le plus de configuration.

II. Accès console

Il est permis au moyen d’un câble console DB9 vers RJ45 ou USB.

Usb to Serial

Rj to Serial

Sur Windows, une fois la connexion faite, se rendre dans le gestionnaire de périphérique, on peut trouver le port attribué dans périphériques nommé COMx. On aura ensuite besoin d'une application pour communiquer avec le port du switch. Sur windows, Putty est capable d'effectuer cela, on lancera une connexion en Serial avec le port attribué :

a. Connexion cliente via Putty

Putty Serial

III. Accès Telnet

Telnet pour Terminal Network est un protocole qui utilise les couches TCP/IP pour communiquer sur le réseau. Il fonctionne par l'envoi et la réception de lignes de texte. Ce protocole est assez vieux, il date des débuts d'internet c'est pourquoi il n'est pas du tout sécurisé, on lui préférera le protocole SSH cependant il nécéssite beaucoup moins de configuration. On l'utilisera dans un environnement de test.

a. Vlan d'administration

On doit configurer le switch pour permettre un accès à distance via une adresse IP, on doit absolument configurer un VLAN pour car un switch travaille au niveau 2 de la couche OSI et ne peut pas accepter une adresse IP.

Switch>en 
Switch#conf t 
Enter configuration commands, one per line.  End with CNTL/Z. 
Switch(config)#int vlan 1 
Switch(config-if)#ip address 192.168.1.10 255.255.255.0 
Switch(config-if)#no shut 

Switch(config-if)# 
%LINK-5-CHANGED: Interface Vlan1, changed state to up 

%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up

Bien que l'adresse IP soit configurée, si on tente de se connecter au switch on obtiendra cette erreur :

telnet 192.168.1.10
Trying 192.168.1.10 ...Open
[Connection to 192.168.1.10 closed by foreign host]

b. Création d'un utilisateur

Switch#conf t 
Switch(config)#username alex secret cisco 
Switch(config)#username alex privilege 15

On crée l'utilisateur alex avec un mot de passe chiffré cisco, on lui donne le niveau de privilège maximum. Ensuite, on sélectionne toutes les Virtual Teletype de 0 à 15, on indique qu'elle seront utilisées avec le protocole telnet et devront utiliser l'authentification en local définie précédemment.

Lorsque l'on arrive sur le terminal, nous sommes en User Exec Mode ou l'utilisateur peut taper des commandes de bases mais pour modifier la configuration du commutateur, il est nécessaire d'entrer en Privilege Mode, raison pour laquelle nous avons donner les privilèges maximum à l'utilisateur alex. Sans ce privilège, on resterait bloqué avec le message suivant :

Switch>en 
% No password set
Switch>

Voir la documentation de cisco sur les privilèges

c. Activation du protocole Telnet

Pour autoriser la connexion, on doit utiliser les VTY pour Virtual TeletYpe qui sont des interfaces en ligne de commande virtuelles. On peut autoriser plusieurs connexions simultanément en spécifiant le nombre. On précisera un utilisateur et un mot de passe et enfin le protocole à utiliser pour les connexions entrantes.

Switch#conf t 
Switch(config)#line vty 0 15
Switch(config-line)#transport input telnet
Switch(config-line)#login local
Switch(config-line)#exit

d. Test

On effectue un test depuis un poste connecté sur le même réseau. Sur Windows, il suffit de lancer l'invite de commande via cmd, et de taper le nom du protocole suivi de l'adresse IP du switch que l'on souhaite joindre :

telnet 192.168.1.10 
Trying 192.168.1.10 ...Open 

User Access Verification 

Username: alex 
Password: 
Switch#

IV. Accès SSH

L'accès SSH est celui que l'on privilégira en production pour un accès à distance, il est le plus sécurisé mais nécessite la création d'une paire de clé privée et publique.

A noter qu'il est nécessaire de créer Un utilisateur et un vlan d'administration avec une adresse IP.

Il sera nécessaire de spécifier nom de domaine pour la création des clés ainsi qu'un nom d'hôte.

a. Définir un nom d'hôte

Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#hostname Sw1

b. Définir un nom de domaine

Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#ip domain-name cisco.fr

c. Génération des paires de clés asymétriques

Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Sw1(config)#crypto key generate rsa
The name for the keys will be: Sw1.cisco.fr
Choose the size of the key modulus in the range of 360 to 2048 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.

How many bits in the modulus [512]: 1024
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]

Les clés générés utilisent l'algorythme de chiffrement RSA et sont de taille 1024 bit.

d. Activation du protocole SSH en version 2

Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Sw1(config)#ip ssh version 2
Sw1(config)#line vty 0 15
Sw1(config-line)#transport input ssh
Sw1(config-line)#login local

e. test

On effectue un test de connexion ssh avec notre ordinateur client :

C:\>ssh -l alex 192.168.1.10

Password: 

Sw1#

Ou bien plus moderne :

C:\>ssh alex@192.168.1.10

Password: 

Sw1#

V. Configuration basique

a. Commande de bases CLI

Ceci est l'écran de base d'un CLI Cisco, après avoir taper la touche entrée, on inscrit la commande enable ou en pour rentrer dans le menu principale.

Switch con0 is now available

Press RETURN to get started.

Switch>en
Switch#

Si on ne sait pas quoi taper, on peut rentrer un ? pour afficher les commandes disponibles :

Switch#?
Exec commands:
  clear       Reset functions
  clock       Manage the system clock
  configure   Enter configuration mode
  connect     Open a terminal connection
  copy        Copy from one file to another
  debug       Debugging functions (see also 'undebug')
  delete      Delete a file
  dir         List files on a filesystem
  disable     Turn off privileged commands
  disconnect  Disconnect an existing network connection
  enable      Turn on privileged commands
  erase       Erase a filesystem
  exit        Exit from the EXEC
  logout      Exit from the EXEC
  more        Display the contents of a file
  no          Disable debugging informations
  ping        Send echo messages
  reload      Halt and perform a cold restart
  resume      Resume an active network connection
  setup       Run the SETUP command facility
  show        Show running system information
--More--
Switch#

Puis taper la barre d'espace pour afficher le reste.

b. Désactiver la recherche dns

Lorsque que l'on se trompe dans une commande, l'interface Cisco ne reconnait pas la commande et lance une recherche dans le domaine, cela a pour effet de bloquer l'interface pendant de longues secondes.

Switch#typo
Translating "typo"...domain server (255.255.255.255)
% Unknown command or computer name, or unable to find computer address

Voici comment désactiver la recherche :

Switch1#conf t 
Enter configuration commands, one per line. End with CNTL/Z.
Switch1(config)#no ip domain-lookup

c. Effectuer un ping

Il est possible d'effectuer ping entre des équipements de réseaux Cisco, d'un commutateur à un router par exemple.

d. Adresse de passerelle

Voici comment stipuler une adresse de passerelle, utile pour effectuer des tests de ping entre équipements de réseaux différents.

Sw1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Sw1(config)#ip default-gateway 192.168.1.254

e. Sauvegarder la configuration

On peut sauvegarder notre configuration avec la commande wr en mode enable.

VI. Sécuriser

a. Sécuriser l'accès console

La sécurisation de l’accès au port console se fait avec la commande suivante :

Switch1#conf t
Switch(config)#line console 0 
Switch(config-line)#password cisco
Switch(config-line)#login

b. Sécuriser le mode Enable

L'entrée d'un mot de passe pour l’accès au mode enable. Pour ce faire, on se met en mode conf t et on saisie la commande suivante :

Switch1>en
Switch1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch1  (config)#enable password mdpenclair

Comme laisse supposer le mot de passe choisi, celui-ci s’affichera en clair dans show run.

Switch1>enable
Switch1#show run
Building configuration...

Current configuration : 1072 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Switch1
!
enable password mdpenclair

On va donc rentrer un 2ème de mot de passe chiffré celui-ci avec la commande suivante :

Switch1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#enable secret mdpchiffre

A nouveau dans show run :

Switch1>enable
Switch1#show run
Building configuration...

Current configuration : 1072 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Switch1
!
enable secret 5 $1$mERr$xE2TP0YuuB/G65aIdWeMu.
enable password mdpenclair

On voit bien nos 2 mots de passe password et enable mais c’est le 2ème qui sera pris en compte car il est plus sécurisé.

c. Sécuriser l'accès VTY

Sécurisation de l’accès VTY Virtual Terminal pour une seule connexion en Telnet , mais on pourrait en autoriser plusieurs :

Switch#conf t
Switch(config)#username admin password telnet  
Switch(config)#line vty 0        
Switch(config-line)#login local    
Switch(config-line)#transport input telnet

d. Chiffrement des mots de passe

Pour chiffrés tous les mots de passes dans le mode show run, on fera :

Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#service password-encryption

Dans show run :

Switch1#sh run
Building configuration...

Current configuration : 1290 bytes
!
version 12.2
no service timestamps log datetime msec
no service timestamps debug datetime msec
service password-encryption
!
hostname Switch1
!
enable secret 5 $1$mERr$xE2TP0YuuB/G65aIdWeMu.
enable password 7 082C485E0C17061B13021E
(…)
username admin privilege 1 password 7 08354942071C11
(…)
line con 0
password 7 0822455D0A16
login

Tous nos mots de passe sont bien cryptés.

VII. Mémoires et configuration

Il y différentes mémoires au sein du commutateur :

  • Une mémoire NVRAM est une mémoire RAM non volatile car elle garde ce qui a été enregistrée après extinction.
  • Une mémoire DRAM pour dynamique RAM sert uniquement à l'éxecution et ne retient pas les informations.

La configuration appelée startup-config est la configuration utilisée au démarrage du switch. La configuration dite running-config est la configuration courante utilisée par le switch. Ainsi, au démarrage du switch, les configurations startup-config et running-config sont les mêmes.

Si une modification de configuration est réalisée, la running-config sera modifiée. Par contre, la startup-config ne sera pas modifiée. Pour modifier la configuration de démarrage, il faudra enregistrer la configuration courante (running-config) dans la startup-config. Par conséquent, toute modification effectuée et non enregistrée sera annulée au prochain démarrage du switch.

Cette caractéristique est intéressante en cas de problème grave suite à une modification de configuration (par exemple une perte de lien). Il suffira de redémarrer le switch pour revenir à l'état précédent la modification.*

a. Afficher la configuration startup-config

Switch#show startup-config
Using 783 out of 65536 bytes
!
version 12.2
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Switch
!
boot-start-marker
boot-end-marker
--More--

b. Afficher la configuration running-config

Switch#show running-config
Building configuration...

Current configuration : 783 bytes
!
version 12.2
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Switch
!
boot-start-marker
boot-end-marker
--More--

VIII. Réinitialisation

a. Mode bouton

Il y a un bouton mode en façade du commutateur, on l’utilise pour réinitialiser le switch matériellement :

  • Débrancher le câble d'alimentation.
  • Le rebrancher tout en restant appuyé sur le bouton mode jusqu’à ce que le commutateur réagisse.
  • Initialiser la mémoire flash avec la commande : flash_init
  • On va aller voir ce que contient la mémoire NVRAM avec la commande dir flash: Il ne faut surtout pas toucher au fichier c2960 car il sert pour démarrer le switch.

    • Config.text contient la configuration NVRAM.
    • Vlan.dat contient la config des VLANs.

  • Pour supprimer, on fait : del flash:config.text et del flash:vlan.dat
  • Redémarrer le switch avec la commande : boot
  • On ne veut pas de l’assistant de configuration : Would you like to enter the initial config dialog ? Choisir non car on veut le configurer soit même.

  • Pour vérifier qu’il n’a plus rien sur notre switch :
    • En mode privilégié : show running-config ou sh run affiche la configuration présente sur la DRAM.
    • En mode privilégié : show flash ou sh flash affiche la configuration présente sur la NVRAM. Le fichier config.text devrait être absent.
  • Si on fait wr puis sh flash, le fichier config.text devrait être présent.

b. Mode CLI IOS

  • Pour configurer le switch en plus du mode enable, on passe en mode configuration terminal avec la commande conf t.
  • Supprimer le config.text en CLI IOS avec la commande erase startup-config.
  • Supprimer le vlan.dat avec la commande delete flash:vlan.dat.
  • Rechargé l’IOS avec la commande reload et ne pas sauvegarder la configuration car sinon on retourne en arrière. On ne veut pas sauvegarder la DRAM vers NVRAM, c’est-à-dire la running-config vers la startup-config (config.text).
  • On ne veut toujours pas de l’assistant de config : Would you like to enter the initial config dialog ?
  • Sauvegarder la config en NVRAM avec wr.