En Une :

Prise en main d'un commutateur Cisco

Connexion à un commutateur Cisco de type C2960 ou C3850. Password Recovery. Méthode Cisco CLI. Exercice de configuration de base avec activation de SSHv2. Tâches administratives.

1. Connexion à un commutateur Cisco

1.1. Connexion série / console

  • Câble inversé (roll-over) du port COM1 du PC au routeur sur le port console.
  • Lancer un logiciel d'émulation de terminal (putty/hyperterminal) 9600 bauds, 8, n, 1.

1.2. Password Recovery

À vrai dire, la procédure "password recovery", "recouvrement de mot de passe", ne permet pas de retrouver un mot de passe d'un routeur Cisco.

Tout au plus, elle permet de reprendre la main sur un routeur dont l'accès est limité par un mot de passe, de le changer ou de le lire si celui-ci n’est pas chiffré.

En laboratoire, cette procédure nous permettra de travailler sur des machines dont la configuration est vierge.

La procédure est bien distincte d'un commutateur à un routeur Cisco car il s'agit de plateformes différentes sur le plan matériel.

On peut reprendre la main sur un commutateur déjà configuré en interrompant son démarrage et en renommant le fichier de configuration initiale.

La procédure est bien documentée : http://www.cisco.com/c/en/us/support/docs/ios-nx-os-software/ios-software-releases-121-mainline/6130-index.html#t2

Password recovery sur un C2960

Source : http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst2960/software/release/15-0_2_se/configuration/guide/scg2960/swtrbl.html#53335

Etape 1 Connecter son PC à un logiciel d'émulation de terminal sur le port console du commutateur.

Etape 2 Fixer la vitesse à 9600 baud.

Etape 3 Eteindre le commutateur

Etape 4 Rallumer le commutateur en maintenant son doigt sur le bouton Mode jusqu'au moment où la LED System restera clignotante verte et puis deviendra brusquement ambre et puis verte de manière permanente.

Un message apparait sur la console du commutateur :

The system has been interrupted prior to initializing the flash file system. The following commands will initialize the flash file system, and finish loading the operating system software:

flash_init
load_helper
boot

Etape 5 Initialiser la mémoire Flash :

switch: flash_init

Etape 6 Chargement de l'environnement :

switch: load_helper

Etape 7 Contenu de la Flash :

switch: dir flash:

Le système de fichiers apparaît :

Directory of flash:
13 drwx 192 Mar 01 1993 22:30:48 c2960-lanbase-mz.122-25.FX
11 -rwx 5825 Mar 01 1993 22:31:59 config.text
18 -rwx 720 Mar 01 1993 02:21:30 vlan.dat

16128000 bytes total (10003456 bytes free)

Etape 8 Renommer le fichier de configuration en config.text.old. Ce fichier contient le mot de passe.

switch: rename flash:config.text flash:config.text.old

Etape 9 Redémarrage du système

switch: boot

Etape 10 La console vous invite à entrer dans le mode setup. Répondez N :

Continue with the configuration dialog? [yes/no]: N

Etape 11 Entrer en mode privilège :

Switch> enable

Etape 12 Renommer le fichier de configuration en son nom original

Switch# rename flash:config.text.old flash:config.text

Etape 13 Charger le fichier en mémoire vivie :

Switch# copy flash:config.text system:running-config
Source filename [config.text]?
Destination filename [running-config]?

Etape 14 Frapper "Entrée", valider, pour confirmer.

Etape 15 On peut alors changer le mot de passe.

Switch# configure terminal
Switch (config)# enable secret password
Switch (config)# exit
Switch#
Switch# copy running-config startup-config
Switch# reload

2. Méthode Cisco CLI

2.1. Introduction

Un grand nombre de produits Cisco (routeurs, commutateurs, point d'accès, pare-feux, etc.) sont hautement configurables en ligne de commande (CLI) IOS.

Une commande validée est immédiatement exécutée en mémoire vive. Les commandes répondent à une certaine logique qui généralement suit celle des protocoles mis en oeuvre.

Les tâches de diagnostic sont simples et explicites.

Une aide performante accompagne ce mode de configuration.

Certaines configurations peuvent comporter un grand nombre de lignes mais sont susceptibles de subir des automations (exécution de scripts, traitement du texte, copier/coller en console, téléchargement de configuration en FTP ou TFTP, etc.). L'IOS évolue avec les besoins des clients qui demandent de configurations robustes et lisibles. Par exemple, les valeurs par défaut n'apparaissent pas explicitement dans la configuration. La lecture est simplifiée mais la connaissance des protocoles et du produit devient cruciale. Il s'agit d'un très bon exercice des professionnels du domaine car ce type d'environnement est souvent rencontré.

Il existe d'autres modes de configuration que la ligne de commande tels que par un navigateur Web ou un logiciel JAVA exécuté en local ou à distance tel que SDM. Mais ces modes nécessitent la plupart du temps une configuration TCP/IP préalable qu'il faudra exécuter en ligne de commande. Ces modes de configuration établissent un tunnel TCP/IP sécurisé pour exécuter les commandes à distance à travers un logiciel client et transférer des fichiers.

Ces méthodes de configuration et de gestion en ligne de commande sont identiques sur un routeur ou un commutateur faisant fonctionner l'IOS Cisco. On peut considérer que l'on est proche d'un environnement de type "shell" proche d'autres systèmes d'exploitation bien connus. On peut aussi considérer que le CLI Cisco IOS est une compétence encore très recherchée aujourd'hui.

2.2. Hiérachie CLI

On se base sur l’invite pour se situer dans un mode. Il faut les droits d’administration (mode privilège) pour exécuter des tâches de diagnostic ou de gestion. Toutes les commandes de configuration de la machine s’exécutent en mode de configuration globale. Toutes les commandes spécifiques pour les interfaces, le routage, des services (dhcp, nat, firewall, ...) ont leur mode configuration particulier.

On trouve au moins trois niveaux hiérarchiques CLI principaux :

  1. Mode utilisateur (User EXEC mode) : session, diagnostic
  • Mode privilège (Priviliged EXEC mode) : Administration et gestion (commandes show, debug, copy, erase, ...)
    • Mode configuration globale (Global Configuration mode)
    • Modes de configuration spécifiques

2.3. Passage en mode privilège

Switch>enable
Switch#

C'est le mode "root" du comutateur. Dans ce mode aucune commande de configuration n'est admise.

Il supporte uniqument des commandes :

  • d'information : debug, show, telnet, ssh, ...
  • de diagnostic : ping, ...
  • de gestion : telnet, ssh, erase, copy, ...

2.4. Passage en mode de configuration globale

Pour configurer le commutateur, il est nécessaire de passer en configuration globale. Ce mode ne supporte aucunes des commandes du mode privilège.

Switch#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#

2.5. Configuration d’une interface

Switch(config)#interface G0/0
Switch(config-if)#

2.6. Passage aux modes inférieurs

Switch(config-if)#exit
Switch(config)#exit
Switch#

2.7. Aide, auto-complétion, historique, raccourcis, confort

1. Aide

Une aide est accessible via le point d’interrogation ?.

Switch#show ?
  aaa                Show AAA values
  access-expression  List access expression
  access-lists       List access lists
  acircuit           Access circuit info
  adjacency          Adjacent nodes
  aliases            Display alias commands
  alps               Alps information
  ancp               ANCP information
  apollo             Apollo network information
  appletalk          AppleTalk information
  application        Application Routing
  arap               Show Appletalk Remote Access statistics
  archive            Archive functions
  arp                ARP table
  async              Information on terminal lines used as router interfaces
  authentication     Shows Auth Manager stats, registrations or sessions
  auto               Show Automation Template
  backup             Backup status
  banner             Display banner information
  beep               Show BEEP information
  bfd                BFD protocol info
  bgp                BGP information
 --More--

Switch#show vlan ?
  access-log    VACL Logging
  access-map    Vlan access-map
  brief         VTP all VLAN status in brief
  dot1q         Display dot1q parameters
  filter        VLAN filter information
  group         VLAN group(s) information
  id            VTP VLAN status by VLAN id
  ifindex       SNMP ifIndex
  internal      VLAN internal usage
  mtu           VLAN MTU information
  name          VTP VLAN status by VLAN name
  private-vlan  Private VLAN information
  remote-span   Remote SPAN VLANs
  summary       VLAN summary information
  |             Output modifiers
  <cr>


Switch#show vlan name ?
  WORD  A VTP VLAN name


2. Autocomplétion

  • Les commandes s’auto-complètent avec la touche de tabulation.

#sh <tabulation> devient #show

3. Signalement d'erreurs

L’environnement indique l’endroit d’une erreur.

Switch#show cown      
              ^
% Invalid input detected at '^' marker.


4. Commandes abrégées

Les commandes s’abrègent s’il n’y a pas d’ambiguïté.

Switch#conf t

au lieu de #configure terminal

Switch#sh ip int b

au lieu de show ip interface brief

Switch#copy r s

au lieu de copy run start ou copy running-config startup-config

Sans confirmation :

Switch#wr

au lieu de write memory

Dernier exemple sur les interfaces

Switch(config)#int g0/0

au lieu de (config)#interface GigabitEthernet 0/0

5. Ambiguïté

  • En cas d’ambiguïté, l’environnement propose les choix.
Switch#con t
% Ambiguous command:  "con t"
Switch#con
Switch#con
Switch#con?
configure  connect  

Switch#con

6. Raccourcis clavier

Raccourcis clavier : on peut faire défiler l’historique des commandes avec les flèches du haut et du bas, on peut revenir au mode privilège directement (CTRL-Z), etc.

Séquence Description
CTRL-A Début de ligne
CTRL-E Fin de ligne
CTRL-P ou bas Commande précédente
CTRL-N ou haut Commande suivante
CTRL-F ou droite Curseur vers la droite
CTRL-B ou gauche Curseur vers la gauche
CTRL-Z Retour au mode privilège
CRTL-C Interruption
CTRL-SHIFT-6 / CTRL-SHIFT§ Interruption forcée
TAB Complète un commande
Backspace Efface un caractère vers la gauche
CTRL-R Réaffichage de la ligne
CTRL-U Efface la ligne
CTRL-W Efface un mot
ESC-B Ecarte un mot
ESC-F Avance un mot

7. Commande do

La commande do permet d’exécuter une commande du mode privilège dans un autre mode.

Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#show run
                 ^
% Invalid input detected at '^' marker.

Switch(config)#do show run
Building configuration...


8. Apparition des logs

Par défaut les logs apparaissent dans la console, mais pas en terminal distant.

Dans une session Telnet ou SSH, les logs apparaissent suite à la commande :

Switch#terminal monitor

9. Messages synchronisés de la console

On peut recevoir des messages du routeur qui trouble l'entrée des commandes. Voici une illustration :

Switch#confi
%SYS-5-CONFIG_I : Configured from console by consolegure
Enter configuration commands, one per line. End with CNTL/Z.
Switch#

Pour éviter ce problème, on peut demander un logging synchronous sur la console :

Switch(config)#line con 0
Switch(config-line)#logging synchronous

Voici l'éventuel résultat :

Switch#confi
%SYS-5-CONFIG_I : Configured from console by console
Switch#configure

10. Désactivation des recherches DNS

Sans résolution DNS, une frappe erronée ne correspondant pas à une commande peut être interprétée en mode privilège comme une tentative de connexion distante SSH et bloquer un certain temps la console :

Switch#zozo

On désactive la recherche DNS avec la commande :

Switch(config)# no ip domain-lookup

ou

Switch(config)# no ip domain lookup

3. Exercice de configuration de base

3.1. Topologie de base

3.2. Configuration globale

Toutes les commandes de configuration s’exécutent ici en mode de configuration globale (config)#.

1. Configuration du nom du périphérique

Switch(config)#hostname SW0

2. Configuration du mot de passe privilège

SW0(config)#enable secret testtest

Vérification du mot de passe dans la configuration courante.

SW0(config)#do sh run | include enable secret
enable secret 5 $1$VRPj$Zedd82KU72UbV8qaJ4/Ut0

Par défaut le mot de passe "enable" est chiffré en MD5.

Quels sont les autres algorithmes de chiffrement disponibles dans cette version d'IOS ?

SW0(config)#enable algorithm-type ?
  md5     Encode the password using the MD5 algorithm
  scrypt  Encode the password using the SCRYPT hashing algorithm
  sha256  Encode the password using the PBKDF2 hashing algorithm

Finalement, on peut chiffrer le mot de passe en SHA256.

SW0(config)#enable algorithm-type sha256 secret testtest
SW0(config)#do sh run | include enable secret           
enable secret 8 $8$VFFgMwf75tN03c$1dkzDKckXIkMYjRDx.r3u4DFYqLX6L0R7IajwPaOkTw

3. Chiffrement automatique de tous les mots de passe

Applique automatiquement l'algorithme de Vigenere à des fins de discrétion pour cacher des mots de passes en clair dans une configuration. Il s'agit d'une première mesure de protection quand les algorithmes de chiffrement étaient moins disponibles sur les plateformes Cisco (plus de 10 ans).

SW0(config)#service password-encryption

4. Créer un compte d’administration

SW0(config)#username root secret testtest
SW0(config)#do sh run | include user
username root secret 5 $1$cHUp$RUQIE4IFCfLtVldLXFemI1

SW0(config)#username root algorithm-type sha256 secret testtest
SW0(config)#do sh run | include user                           
username root secret 8 $8$HdW.W3ndcTWqRM$tPiGLKwz/YnOlSXlru3dJtpR31f.T0Uei702NyWumlw

3.3. Configurer et sécuriser SSH

1. Donner un nom de domaine au périphérique

SW0(config)#ip domain-name entreprise.lan

2. Générer une clé RSA d’une certaine longueur

SW0(config)#crypto key generate rsa
The name for the keys will be: SW0.entreprise.lan
Choose the size of the key modulus in the range of 360 to 4096 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.
  How many bits in the modulus [512]: 2048
  % Generating 2048 bit RSA keys, keys will be non-exportable...
  [OK] (elapsed time was 3 seconds)

(config)#
  *Apr 25 21:36:46.315: %SSH-5-ENABLED: SSH 1.99 has been enabled

3. Configuration de la console distante

Activer le protocole SSH version 2 dans les lignes virtuelles (VTY) et indiquer la base de donnée locale pour l’authentification

SW0(config)#ip ssh version 2
SW0(config)#line vty 0 4
SW0(config-line)#transport input ssh
SW0(config-line)#login local

4. Configuration d'une bannière d'accueil (MOTD Banner)

On peut configurer une bannière d'accueil dès que l'on accède au routeur. On l'appelle la Message Of The Day (MOTD) Banner. Voici la procédure.

SW0(config)#banner motd #
Enter TEXT message End with the character '#'.
Toute entrée non autorisée est interdite.
#
SW0(config)#
Le message doit se terminer par le dièse.

5.4. Configuration statique de l’interface de gestion

L’interface de gestion du commutateur est attribuée au VLAN 1 par défaut. Il est déconseillé dans tous les cas d'utiliser le VLAN autrement qu'à des fins pédagogiques.

(config)#interface vlan 1
(config-if)#

Configuration de l’adresse IP

ip address 192.168.122.10 255.255.255.0

On prend garde de monter l’interface

no shutdown

Sortir de la configuration d’interface VLAN 1

(config-if)#exit
(config)#

Configuration de la passerelle :

ip default-gateway 192.168.122.1

3.5. Configurer une plage d'interfaces

(config)#interface range G0/0-3
(config-if-range)#duplex auto
(config-if-range)#speed auto
(config-if-range)#mdix auto
(config-if-range)#switchport mode access
(config-if-range)#switchport access vlan 1
(config-if-range)#spanning-tree portfast
(config-if-range)#exit

3.6. Diagnostic sur un commutateur

Table de commutation :

#show mac address-table

Interfaces :

#show interface G0/0

Interface de gestion VLAN 1 :

#show vlan
#show interface vlan 1
#show ip interface vlan 1

Passerelle de l’interface de gestion :

#show ip route

4. Tâches administratives

4.1 Enregistrement de la configuration

SW0#copy running-config startup-config

4.2. Vérification de la configuration en mémoire vive

SW0#show running-config

4.3. Vérification de l'état des interfaces

  • show interface g0/0 → diagnostic avancé sur les erreurs couche 2
  • show interface trunk
  • show interface status
  • show interface switchport
  • show vlan
  • show spanning-tree

4.4. Vérification des paramètres IPv4

  • show ip interface brief → diagnostic bref interface/line protocol
  • show ip interface vlan 1 → diagnostic sur ICMP/ARP
  • show ip route
Author image
Francois Goffinet est formateur Cisco Systems depuis 2002. Passionné des technologies des réseaux, de virtualisation et en nuage, Web et de cybersécurité souvent en Open Source ou Unix-Like, devops.