Objectifs de certification

CCNA 200-301

  • 5.3 Configurer l’accès aux périphériques avec des mots de passe


Méthode Cisco IOS CLI

Ce document est une initiation à la méthode de configuration des commutateurs et des routeurs Cisco. On y évoque la hiérarchie des modes de configuration utilisateur, privilégié et de configuration. On y énonce les facilités de configuration, d’aide, de raccourcis clavier et différentes astuces.

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. Le document “Cisco IOS Internetwork Operating System” évoque les différentes variantes du système d’exploitation Cisco Systems.

Quels sont les points à remarquer en tant qu’utilisateur d’un périphérique qui fonctionne en Cisco 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 Cisco Security Device Manager (SDM). Mais ces facilités 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 grâce à un logiciel client et pour 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. Hiérarchie 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
Hiérarchie Command Line Interface (CLI) Cisco IOS

2.1. Passage en mode privilège

Switch>enable
Switch#

C’est le mode “root” du commutateur qui donne au plus au niveau de privilège sur le périphérique Cisco (level 15).

Dans ce mode aucune commande de configuration n’est admise.

Il supporte uniquement des commandes :

  • d’information : debug, show, telnet, ssh, …
  • de diagnostic : ping, …
  • de gestion : telnet, ssh, erase, copy, …

2.2. 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.3. Configuration d’une interface

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

2.4. Passage aux modes inférieurs

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

3. Aide, autocomplétion, historique, raccourcis, confort

3.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


3.2. Autocomplétion

Les commandes s’autocomplètent avec la touche de tabulation.

#sh <tabulation> devient #show

switch#sh
switch#show

3.3. Signalement d’erreurs

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

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


3.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

3.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

3.6. Raccourcis clavier

Raccourcis clavier (Emacs) : 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équenceDescription
CTRL-ADébut de ligne
CTRL-EFin de ligne
CTRL-P ou basCommande précédente
CTRL-N ou hautCommande suivante
CTRL-F ou droiteCurseur vers la droite
CTRL-B ou gaucheCurseur vers la gauche
CTRL-ZRetour au mode privilège
CRTL-CInterruption
CTRL-SHIFT-6 / CTRL-SHIFT§Interruption forcée
TABComplète un commande
BackspaceEfface un caractère vers la gauche
CTRL-RRéaffichage de la ligne
CTRL-UEfface la ligne
CTRL-WEfface un mot
ESC-brecule d’un mot
ESC-fAvance d’un mot

4. Facilités à configurer

4.1. 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...


4.2. 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

4.3. 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

4.4. 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

4.5. Filtrer les sorties des commandes show et more

La commande show offre énormément d’informations sur un système Cisco. La commande more permet d’afficher un fichier à la manière de la commande Unix.

A condition de bien connaître les sorties et de savoir ce que l’on cherche précisément, Cisco IOS propose une fonctionnalité de traitement des sorties à la manière des redirections (pipe) Bash ou PowerShell. Le tube (pipe) redirige la sortie pour être traitée par un programme begin, include ou encore count parmi d’autres.

#show running-config | ?
  append    Append redirected output to URL (URLs supporting append operation
            only)
  begin     Begin with the line that matches
  count     Count number of lines which match regexp
  exclude   Exclude lines that match
  format    Format the output using the specified spec file
  include   Include lines that match
  redirect  Redirect output to URL
  section   Filter a section of output
  tee       Copy output to URL

Ces programmes ressemblent fort à des programmes Unix qui attendent un motif comme critère de filtrage. Ce motif est exprimé sous forme d’expression rationnelle (RegExp, Regular Expression).

#show running-config | begin ?
  LINE  Regular Expression

Par exemple, pour afficher le statut des interfaces uniquement sur GigabitEthernet0/0

#show ip interface brief | include GigabitEthernet0/0
GigabitEthernet0/0     unassigned      YES unset  up                    up

Par exemple, pour commencer une sortie sur un motif.

#show running-config | begin interface GigabitEthernet1/0
interface GigabitEthernet1/0
 media-type rj45
 negotiation auto
 spanning-tree portfast edge
!
interface GigabitEthernet1/1
 media-type rj45
 negotiation auto
 spanning-tree portfast edge
!
interface GigabitEthernet1/2
 media-type rj45
 negotiation auto
 spanning-tree portfast edge
!
interface GigabitEthernet1/3
 media-type rj45
 negotiation auto
 spanning-tree portfast edge
!
interface GigabitEthernet2/0
 media-type rj45
 negotiation auto
 --More--