Introduction

La série d’articles “Essentiels Cisco” vise à répertorier toutes les commandes et configurations les plus communément rencontrées lorsque l’on travaille sur un appareil Cisco. L’objectif est de construire un pense-bête complet que l’on puisse consulter dès que l’on a une question ou un oubli au sujet d’une commande.

Plus précisément, cette série se concentre pour l’instant uniquement sur la configuration de routeurs et commutateurs (même si ces appareils partagent de nombreux points communs avec d’autres périphériques).

Feuille de route

Voici la planification des articles :

  1. Essentiels Cisco 1 - Généralités : Définition du vocabulaire, commandes de bases
  2. Essentiels Cisco 2 - Commutateur : Adressage IP et VLSM, VLAN
  3. Essentiels Cisco 3 - Routeur I : Commandes utilitaires, inter-VLAN, RIP et OSPF
  4. Essentiels Cisco 4 - Routeur II : Frame-Relay et VRF
  5. Essentiels Cisco 5 - Routeur III : NAT, PAT, ACL et DHCP
  6. Essentiels Cisco 6 - Sécurisation : Se prémunir des attaques les plus communes

Cette feuille de route peut évidemment être sujette à des modifications au fil du temps.

Généralités

Syntaxe

Les commandes représentées dans cet article requirent pour la plupart des paramètres. Certains sont obligatoires et d’autres sont optionnels. Ils seront représentés comme indiqués ci-après :

  • [paramètre]: Les paramètres obligatoires sont indiqués entre crochets.
  • (paramètre): Les paramètres optionnels sont indiqués entre parenthèses.
  • 1-100: Les plages de nombres sont représentées selon le schéma début-fin.
  • {a,b,c}: Lorsque plusieurs options sont définies pour un paramètre, elles sont représentées entre accolades.

Modes de configuration

La configuration d’un appareil Cisco se fait par le biais de plusieurs modes de configurations, qui ont des portées et des besoins de privilèges différents. Entrer dans un des modes de configuration ajoutera un suffixe au nom de l’appareil dans l’invité de commande afin d’indiquer le mode courant (par exemple : Router(config)# pour le mode global). Les modes les plus courants sont les suivants :

  1. Mode d’exécution utilisateur (EXEC) >: Peu de commandes disponibles, ne permettant qu’un accès minime à l’appareil.
  2. Mode d’exécution privilégiée (Privileged EXEC) #: Des commandes génériques sont disponibles.
  3. Configuration globale (config)# : Les modifications effectuées depuis ce mode affectent le fonctionnement de l’appareil. Il est nécessaire de passer par ce mode pour accéder à certaines fonctionnalités (par exemple : configuration d’interfaces).
    1. Configuration d’interfaces (config-if)# : Permet de modifier les configurations des interfaces physiques de l’appareil
    2. Configuration des lignes virtuelles (config-line)# : Permet de modifier les configurations des accès au périphérique : SSH, ligne console, Telnet…

Liste des raccourcis utilisés dans cet article

Raccourci Terme Initial
int interface
add address
run running-config
start starting-config
Fa FastEthernet
Gi GigabitEthernet
Se Serial
en enable
cons console
conf configure
t terminal

Configuration Globale

Astuces générales

Dans le mode de configuration globale (conf t), les commandes doivent être précédées par le mot do :

switch#copy running-config starting-config
switch(config)#do copy running-config starting-config

Pour supprimer une ligne de configuration, il faut la taper précédée de no. Voici un exemple pour supprimer l’adresse IP attribuée à une interface :

switch(config-if)#no ip address 192.168.0.1 255.255.255.0

Note : Dans certains cas, il est possible de supprimer la configuration sans réécrire complètement la commande initiale.

Les raccourcis suivants permettent de quitter le mode de configuration courant, mais ils ne mènent pas tous au même mode :

  • Ctrl + Z: Retour au mode d’exécution privilégiée (#)
  • Ctrl + C: Retour au mode d’exécution privilégiée (#)
  • end: Retour au mode d’exécution privilégiée (#)
  • exit: Retour un rang plus haut dans la hiérarchie (par exemple : (config)#exit renvoie à #)

Note : Ces raccourcis ne sont pas tous disponibles dans chaque mode de configuration (par exemple : impossible d’utiliser Ctrl + Z dans le mode d’exécution privilégiée).

Voici un scénario possible pour entrer puis quitter le mode de configuration globale :

Switch#conf t
Switch(config)#end
Switch#

Les adresses IP attribuées à des VLAN ne doivent pas être des adresses réseaux. Par exemple, l’adresse 192.168.0.0/24 n’est pas valide pour un VLAN. Il en est de même pour une adresse de diffusion :

Switch(config)#int vlan 10
Switch(config-if)#ip add 192.168.0.0 255.255.255.0
Bad mask /24 for address 192.168.0.0

Mot de passe Console, Telnet, SSH…

Le mot de passe console peut être défini avec l’instruction password [password] in the console line 0:

Switch(config)#line console 0
Switch(config-line)#password my_password
Switch(config-line)#login

La série de commandes précédente définie un mot de passe (“my_password”) et force l’identification avec l’instruction login.

Pour une identification avec un couple Nom d’utilisateur/ Mot de passe, il est nécessaire de créer un utilisateur puis d’utiliser l’instruction login local pour forcer l’utilisation d’un compte de l’appareil :

Switch(config)#username alice password bob
Switch(config)#line console 0
Switch(config-line)#login local

Remarque : Cette commande (password) n’est accessible que depuis le mode de configuration globale.

Remarque : L’utilisation de l’instruction password n’est pas recommandée pour des raisons de sécurité. Les mots de passe configurés avec cette commande sont visibles en clair dans la configuration.

Remarque : Créer un utilisateur pour l’identification sur une ligne SSH, Telnet ou AUX se fait de la même façon.

Mot de passe enable

Le mot de passe du mode d’exécution privilégié (aussi appelé enable) peut être défini de la sorte :

Switch(config)#enable password [password]

Cette commande, bien que pratique, n’est pas sécurisée, car le mot de passe choisi est affiché en clair dans la configuration. Il est préférable d’utiliser enable secret [password] qui permet de configurer un mot de passe qui est stocké sous la forme d’un hash MD5 :

Switch(config)#enable secret [password]

Cet article détaille le fonctionnement du chiffrement de mot de passe sous Cisco IOS.

Nom d’appareil

Par défaut, un appareil est nommé d’après nom commun : Switch pour un commutateur, Router pour un routeur… Il est cependant possible de choisir un nom personnalisé avec la commande hostname [nom] comme montré ci-après :

Router(config)#hostname RouterMain
RouterMain(config)#

Il est important de noter qu’il n’est pas possible d’utiliser tous les caractères pour un nom. Il faut en effet suivre les conventions de nommage suivantes :

  • Les majuscules et minuscules sont autorisées
  • Le tiret - est autorisé
  • Les chiffres sont autorisés
  • Tous les autres caractères sont interdits (dont l’espace et le trait d’union _)

Remarque : Cette commande n’est accessible que depuis le mode de configuration globale.

Bannière

Une bannière est un message qui s’affiche lors de la connexion de l’utilisateur à l’invité de commande. Une bannière peut être affichée sous différentes conditions :

  • motd : Message affiché lors de l’accès à l’appareil

Une bannière est configurée avec la commande banner motd [message].

Switch(config)#banner motd $Accès restreint au personnel uniquement$

Remarque : Le message doit être indiqué entre deux $. Il est possible de créer un message de plusieurs lignes en précisant le premier $ uniquement, puis en n’indiquant le second qu’après quelques lignes :

Switch(config)#banner motd $
Enter TEXT message.  End with the character '$'.
--- Avertissement ---
Acces restreint a ce materiel
--- Avertissement ---$

Remarque : Cette commande n’est accessible que depuis le mode de configuration globale.

Les bannières ne supportent pas tous les caractères, il est possible d’utiliser :

  • Alphabet, sans accent
  • Guillemets, simple et double
  • Chiffres

Il est important de configurer une bannière pour des raisons légales. Si aucun message n’avertit l’utilisateur qu’il se trouve sur un matériel auquel l’accès est restreint, il ne risque rien légalement en s’y introduisant.

Désactiver la recherche DNS

Lorsqu’une entrée utilisateur n’est pas reconnue comme une commande par l’appareil, le comportement par défaut est d’effectuer une recherche DNS afin de déterminer si le mot entré par l’utilisateur est associé à une adresse IP. Cette fonctionnalité est souvent désactivée, car elle bloque l’utilisateur pour le temps de la résolution et est souvent déclenchée uniquement par une inattention de l’utilisateur.

Ici, on peut constater une erreur. L’utilisateur a voulu sortir du mode d’exécution privilégiée avec le raccourci end. Or ce dernier n’est pas disponible dans ce mode, le périphérique procède donc à une tentative de résolution qui va durer plusieurs minutes sans aboutir et sans possibilité d’interruption :

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

Pour désactiver cette fonction, la commande est la suivante : no ip domain-lookup.

Switch(config)#no ip domain-lookup

Remarque : Cette commande n’est accessible que depuis le mode de configuration globale.

Remarque : Selon l’appareil, la commande sans tiret (no ip domain lookup) peut fonctionner également.

Configurer un nom de domaine

Il est possible de définir un nom de domaine pour l’appareil à l’aide de la commande ip domain-name [domaine]. Ce dernier est utilisé par exemple lors de la configuration d’un accès SSH .

Switch(config)#ip domain-name gabhas.fr

Remarque : Cette commande n’est accessible que depuis le mode de configuration globale.

Remarque : Selon l’appareil, la commande sans tiret (ip domain name) peut fonctionner également.

Configurer la vitesse des ports série

Dans certains contextes, comme celui d’un réseau reposant sur le Frame-Relay, il est important que toutes les communications en séries s’effectuent à la même vitesse. Il est possible de configurer la vitesse de transmission d’une interface série avec la commande clock rate [speed] :

Router(config-if)#clock rate 9600

Remarque : Cette commande n’est accessible que depuis le mode de configuration d’une interface série.

Remarque : La vitesse choisie doit appartenir à la liste suivante :

Router(config-if)#clock rate ?
Speed (bits per second)
  1200
  2400
  4800
  9600
  19200
  38400
  56000
  64000
  72000
  125000
  128000
  148000
  250000
  500000
  800000
  1000000
  1300000
  2000000
  4000000
  <300-4000000>  Choose clockrate from list above

Configurer l’horloge

L’horloge interne d’un appareil est configurable avec la commande clock set [hh:mm:ss] [month] [day] [year] :

Router#clock set 18:30:00 Dece 25 2024

Les informations fournies doivent correspondent aux critères suivants :

  • L’heure est indiquée sur 24 heures
  • Le mois doit être indiqué par ses 4 premiers caractères (de la traduction anglaise du mois)

Remarque : Cette commande n’est accessible que depuis le mode d’exécution privilégiée.

Il est également possible de configurer le fuseau horaire du périphérique avec la commande clock timezone [name] [offset]. La commande prend en entrée les paramètres suivants :

  • name: Le nom du fuseau à ajouter. Il est limité à 7 caractères
  • offset: Le décalage par rapport au fuseau UTC (de -23 à 23)
Router(config)#clock timezone NewYork -5

Remarque : Cette commande n’est accessible que depuis le mode de configuration globale.

Configurer une connexion SSH

La configuration d’un accès SSH à un appareil se fait en plusieurs étapes que j’ai eues l’occasion de décrire dans cet article : Configurer une connexion SSH sur un appareil Cisco .

Activer ou désactiver une interface

Principalement pour des raisons de sécurité, il est possible de désactiver une interface physique d’un périphérique si elle n’est pas destinée à être utilisée. L’idée est de prévenir la connexion d’hôtes malveillants au réseau.

Une interface peut être désactivée avec la commande shutdown (souvent raccourcie en sh):

Switch(config)#int FastEthernet0/1
Switch(config-if)#shutdown

%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to administratively down

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down

Pour activer une interface :

Switch(config-if)#int FastEthernet0/1
Switch(config-if)#no sh

%LINK-5-CHANGED: Interface FastEthernet0/1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up

Remarque : Cette commande n’est accessible que depuis le mode de configuration d’une interface série.

L’état des interfaces de l’appareil est visible à l’aide de la commande show ip interface brief:

Switch(config)#do sh ip int br
Interface              IP-Address      OK? Method Status                Protocol 
FastEthernet0/1        unassigned      YES manual down                  down 
FastEthernet0/2        unassigned      YES manual down                  down 
FastEthernet0/3        unassigned      YES manual down                  down 
...
FastEthernet0/10       unassigned      YES manual down                  down 

Gestion des configurations

Un appareil Cisco fonctionne avec 2 fichiers pour stocker ses configurations :

  • Configuration d’exécution (“running config”) : La configuration en cours d’exécution sur le périphérique (fichier running-config)
  • Configuration de démarrage (“startup config”) : La configuration chargée au démarrage du périphérique (fichier startup-config)

La configuration de démarrage est stockée dans la mémoire RAM non-volatile (NVRAM), et est persistante d’un redémarrage à l’autre. La configuration en cours quant à elle, est conservée dans la mémoire vive (RAM) et est, par conséquent, perdue lors de la mise hors tension du périphérique.

Il est donc important de sauvegarder les modifications de configuration effectuées dans la configuration de démarrage. Cela s’effectue avec la commande copy [source] [destination]:

Switch#copy running-config startup-config

Remarque : Cette commande est accessible depuis le mode d’exécution privilégiée ainsi que le mode de configuration globale.

Remarque : Il est possible d’utiliser des raccourcis pour les noms des fichiers de configuration, par exemple
copy run start

De la même manière, il est possible de restaurer la configuration de démarrage avec :

Switch#copy startup-config running-config

Remarque : Au démarrage de l’appareil, la configuration de démarrage est copiée dans la configuration d’exécution. C’est l’équivalent de copy startup-config running-config

Mode “ROMmon” pour se sauver la mise

Imaginons un cas désastreux, vous avez forcé l’identification pour pouvoir accéder à l’appareil, mais n’avez pas créé d’identifiants au préalable. Vous avez sauvegardé cette configuration et vous êtes déconnecté du périphérique. Vous êtes dorénavant bloqué et ne pouvez plus utiliser votre matériel.

Ce genre de situation n’est pas sans espoir, en effet, il existe le mode “ROMmon” pour accéder à un niveau de configuration antérieur au logiciel Cisco initial. Ce mode permet notamment de démarrer en choisissant une nouvelle image OS spécifique afin de redémarrer avec un appareil à l’état d’usine.

Accéder au mode ROMmon

Afin d’accéder au mode ROMmon, il est nécessaire d’interrompre la séquence de démarrage du périphérique avec Ctrl + C.

program load complete, entry point: 0x81000000, size: 0x2bb1c58
Self decompressing the image :
######
monitor: command "boot" aborted due to user interrupt
rommon 1 > 

Une fois en mode ROMmon, la commande dir flash: permet de lister les images disponibles :

rommon 1 > dir flash:
         File size           Checksum   File name
  33591768 bytes (0x20091d8)  0x93d8    c1900-universalk9-mz.SPA.151-4.M4.bin
     28282 bytes (0x6e7a)     0x6e7a    sigdef-category.xml
    227537 bytes (0x378d1)    0x78d4    sigdef-default.xml

Une séquence de démarrage logicielle (boot) peut être initialisée avec boot [image] :

rommon 1 > boot c1900-universalk9-mz.SPA.151-4.M4.bin
System Bootstrap, Version 15.1(4)M4, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 2010 by cisco Systems, Inc.
...
Self decompressing the image :
########################################################################## [OK]
...
         --- System Configuration Dialog ---

Would you like to enter the initial configuration dialog? [yes/no]: 

D’autres fonctionnalités sont accessibles en ROMmon, telles que décrites dans cet article de Cisco .

Conclusion

Ainsi s’achève ce premier article sur les commandes de bases des appareils Cisco. Vous pouvez approfondir ces notions à l’aide des ressources suivantes :