Aide, autocomplétion, supervision, raccourcis
Publié le 11 min de lecture
Mis à jour le
Dans cette série41 min de lecture au total
Le CLI Cisco n’a ni souris, ni menu, ni message d’aide contextuelle. Tout se joue sur une invite de commande et quelques conventions, les mêmes depuis des décennies. Les connaître transforme une session pénible en travail rapide.
Cet article suit le déroulé d’une session réelle : d’abord savoir où l’on se trouve, puis taper vite et juste, rendre la console supportable, lire ce que l’équipement a dans le ventre, et enfin modifier puis sauvegarder.
Se repérer : les modes du CLI
Tout commence par l’invite. Elle indique deux choses en permanence : le nom de l’équipement, et le mode dans lequel vous vous trouvez. Ce mode détermine quelles commandes sont acceptées, et c’est la première cause de « commande invalide » chez les débutants.
| Invite | Mode | Ce qu’on y fait | Comment y entrer |
|---|---|---|---|
Switch> | utilisateur | consultation très limitée | mode d’arrivée par défaut |
Switch# | privilégié | tous les show, redémarrage, sauvegarde | enable |
Switch(config)# | configuration globale | réglages de l’équipement entier | configure terminal |
Switch(config-if)# | configuration d’interface | réglages d’un port précis | interface FastEthernet0/1 |
Switch(config-line)# | configuration de ligne | console, VTY, accès distant | line console 0 |
On descend dans la hiérarchie en nommant ce que l’on veut configurer, et on remonte avec exit, d’un cran à la fois. CTRL + Z ramène directement au mode privilégié depuis n’importe quelle profondeur.
enableSwitch#configure terminalSwitch(config)#interface FastEthernet0/1Switch(config-if)#exitSwitch(config)#Une fois le mode identifié, reste à taper la commande, et l’équipement offre plusieurs aides pour cela.
Taper moins et se tromper moins
Le point d’interrogation
? affiche les options disponibles à l’endroit où vous êtes dans la commande.
show ? aaa Show AAA values access-lists List access lists arp Arp table cdp CDP information class-map Show QoS Class Map clock Display the system clock controllers Interface controllers status crypto Encryption module debugging State of each debugging option dhcp Dynamic Host Configuration Protocol status dot11 IEEE 802.11 show information file Show filesystem information flash: display information about flash: file system flow Flow information frame-relay Frame-Relay information history Display the session command history hosts IP domain-name, lookup style, nameservers, and host table interfaces Interface status and configuration ip IP information ipv6 IPv6 information license Show license information line TTY line information--More--Le --More-- signale que la liste dépasse la hauteur de la fenêtre. Entrée fait défiler ligne par ligne, Espace écran par écran, et Q interrompt l’affichage.
L’autocomplétion
La touche TAB complète une commande dès qu’elle n’est plus ambiguë : sh devient show, int devient interface. Tant que plusieurs commandes partagent le même début, il faut taper une lettre de plus pour lever l’ambiguïté.
Les abréviations
Il n’est même pas nécessaire de compléter : le CLI accepte toute abréviation non ambiguë telle quelle.
| Abréviation | Commande complète |
|---|---|
conf t | configure terminal |
sh run | show running-config |
sh ip int b | show ip interface brief |
wr | write memory |
int g0/0 | interface GigabitEthernet0/0 |
no shut | no shutdown |
Le rapport d’erreur
Quand une commande est refusée, l’équipement pointe l’endroit exact du problème avec un accent circonflexe.
sh ip routte ^% Invalid input detected at '^' marker.Le marqueur indique le premier caractère que l’analyseur n’a pas su interpréter. Ici, tout ce qui précède est valide, la faute est bien sur routte.
Les raccourcis clavier
| Séquence | Description |
|---|---|
| CTRL + A | Début de ligne |
| CTRL + E | Fin de ligne |
| CTRL + P ou ↑ | Commande précédente |
| CTRL + N ou ↓ | Commande suivante |
| CTRL + F ou → | Curseur à droite |
| CTRL + B ou ← | Curseur à gauche |
| ESC + f | Avancer d’un mot |
| ESC + b | Reculer d’un mot |
| CTRL + W | Effacer le mot précédent |
| CTRL + U | Effacer la ligne entière |
| CTRL + R | Réafficher la ligne en cours |
| CTRL + Z | Retour au mode privilégié |
| CTRL + C | Interrompre la commande |
| CTRL + SHIFT + 6 | Interruption forcée, pour un ping ou un traceroute bloqué |
| TAB | Compléter la commande |
Ces aides suffisent à taper vite. Encore faut-il que la console ne travaille pas contre vous.
Rendre la console utilisable
Trois comportements par défaut d’IOS gênent en permanence. Chacun se désactive en une commande.
La résolution DNS des fautes de frappe
En mode privilégié, une commande inconnue est interprétée comme un nom d’hôte à joindre. L’équipement tente alors une résolution DNS et bloque la console plusieurs dizaines de secondes.
showeTranslating "showe"...domain server (255.255.255.255)no ip domain-lookupLes messages qui coupent la saisie
Chaque changement d’état d’interface écrit un message sur la console, en plein milieu de ce que vous êtes en train de taper.
%LINK-1-CHANGED: Interface FastEthernet0/1, changed state to upDeux réponses possibles, et la seconde est presque toujours la bonne.
line console 0logging synchronousLes messages continuent de s’afficher, mais l’équipement réaffiche votre ligne en cours juste en dessous. Vous gardez l’information sans perdre votre saisie. C’est le réglage à appliquer par défaut sur toute console.
no logging consoleLes messages ne s’affichent plus du tout. Confortable pendant une longue configuration, mais vous perdez aussi les alertes utiles, comme une interface qui refuse de monter. À réserver aux cas où le bruit est vraiment ingérable, et à réactiver ensuite.
La pagination
Le --More-- oblige à appuyer sur une touche à chaque écran, ce qui empêche de copier une configuration entière d’un seul bloc.
terminal length 0La valeur 0 supprime la pagination pour la session en cours uniquement. Elle revient à la normale à la reconnexion, ce qui en fait un réglage sans risque.
La console est maintenant docile. On peut lire l’équipement.
Lire la configuration de l’équipement
La configuration générale
show running-configBuilding configuration...
Current configuration : 1080 bytes!version 15.0no service timestamps log datetime msecno service timestamps debug datetime msecno service password-encryption!hostname Switch!!!!!!spanning-tree mode pvstspanning-tree extend system-id!interface FastEthernet0/1!interface FastEthernet0/2--More--Cette commande affiche la configuration active en mémoire : hostname, services, interfaces, spanning-tree, mots de passe. C’est le point de départ de tout diagnostic.
La configuration VLAN
show vlan
VLAN Name Status Ports---- -------------------------------- --------- -------------------------------1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4 Fa0/5, Fa0/6, Fa0/7, Fa0/8 Fa0/9, Fa0/10, Fa0/11, Fa0/12 Fa0/13, Fa0/14, Fa0/15, Fa0/16 Fa0/17, Fa0/18, Fa0/19, Fa0/20 Fa0/21, Fa0/22, Fa0/23, Fa0/24 Gig0/1, Gig0/21002 fddi-default active1003 token-ring-default active1004 fddinet-default active1005 trnet-default active
VLAN Type SAID MTU Parent RingNo BridgeNo Stp BrdgMode Trans1 Trans2---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------1 enet 100001 1500 - - - - - 0 01002 fddi 101002 1500 - - - - - 0 01003 tr 101003 1500 - - - - - 0 01004 fdnet 101004 1500 - - - ieee - 0 01005 trnet 101005 1500 - - - ibm - 0 0--More--Toutes les interfaces Fa0/1 à Fa0/24 et Gig0/1 à Gig0/2 appartiennent au VLAN 1, celui par défaut.
Filtrer les résultats
Une configuration de plusieurs centaines de lignes est illisible telle quelle. Le caractère | filtre la sortie de n’importe quelle commande show.
sh run | include interfaceinterface GigabitEthernet0/0/0interface GigabitEthernet0/0/1interface GigabitEthernet0/0/2interface Vlan1Quatre filtres couvrent la quasi-totalité des besoins :
| Filtre | Effet | Exemple |
|---|---|---|
include | ne garde que les lignes contenant le motif | sh run | include hostname |
exclude | retire les lignes contenant le motif | sh run | exclude ! |
begin | démarre l’affichage à la première ligne correspondante | sh run | begin interface |
section | affiche le bloc de configuration complet | sh run | section interface Fa0/1 |
La lecture faite, passons aux modifications.
Modifier, annuler et sauvegarder
Renommer l’équipement
hostname MON_SWITCHLe changement est immédiat et visible dans l’invite, ce qui évite de configurer le mauvais équipement dans une salle qui en compte dix.
Protéger le mode privilégié
enable secret MON_MOT_DE_PASSEAnnuler avec no
Le préfixe no supprime, désactive ou efface toute commande précédemment saisie. C’est le mécanisme d’annulation universel d’IOS.
no ip address 192.168.1.1 255.255.255.0Retire l’adresse IP attribuée à l’interface.
no router ospf 1Désactive OSPF et supprime toute sa configuration.
Exécuter une commande d’un autre mode avec do
Les commandes show appartiennent au mode privilégié et sont refusées en configuration. Le préfixe do les exécute sans quitter le mode courant.
show run ^% Invalid input detected at '^' marker.
Switch(config)#do show runBuilding configuration...Cela évite de faire l’aller-retour exit puis configure terminal, et donc de perdre le contexte d’interface dans lequel on travaillait.
Sauvegarder, l’étape que tout le monde oublie
Un équipement Cisco maintient deux configurations distinctes, et c’est la source d’erreur la plus coûteuse du CLI.
| Configuration | Où elle vit | Ce qui lui arrive au redémarrage |
|---|---|---|
running-config | en mémoire vive | perdue |
startup-config | en mémoire non volatile | rechargée telle quelle |
Toutes les commandes de cet article modifient la running-config, et prennent effet immédiatement. Aucune ne survit à une coupure de courant tant qu’elle n’a pas été recopiée.
copy running-config startup-configwrite memoryLes deux commandes font la même chose, la seconde étant l’abréviation historique, d’où le wr du tableau des abréviations. Pour vérifier ce qui sera réellement rechargé :
show startup-configCes réflexes, modes, aide intégrée, filtres et sauvegarde, se retrouvent tels quels dans les autres articles de la série, qui les appliquent à la configuration des VLANs, du routage et des accès distants.