User Tools

Site Tools


informatique:cisco:start

informatique réseaux cisco

Cisco

Cisco est un équipementier de matériels réseaux et sécurité, renommé dans le routage et la commutation notamment.

Cette page est un recueil de l'expérience que j'ai acquise en travaillant sur des équipements Cisco. Il s'agit dans la majorité des cas du B.A.-BA assez superficiel qui me sert d'aide-mémoire.

B.A.-BA

Les types de mémoire

  • DRAM (Dynamic Random-Access Memory) ou RAM tout court : mémoire vive, rapide et non permanente (elle s'efface lors d'un arrêt électrique) ; elle contient la running-config, la table de routage, les caches, etc…
  • ROM (Read-Only Memory) : mémoire morte (inverse de vive !) qui contient un IOS minimal et le code, chargé au boot du routeur, qui lance l'IOS présent sur la flash
  • Flash memory (EEPROM ou carte PCMCIA) contient l'IOS, les sauvegardes des confs, le serveur http, etc…
  • NVRAM (Non-Volatile RAM) contient la startup-config ; la flash en fait partie de même que les différents slot de mémoire additionnelle.

Sur les IOS, il existe 2 versions de la configuration : la running-config et la startup-config :

  • running-config c'est la configuration courante ; elle est modifiée dynamiquement et automatiquement quand on tape une commande, mais elle disparait quand on reboot car elle est située dans la mémoire vive de l'équipement (la DRAM). C'est une “copie de travail” de la startup-config.
  • startup-config c'est une sauvegarde pérenne de la running-config ; elle est stockée sur la NVRAM et est donc conservée lors de l'arrêt de l'équipement. Quand on démarre un équipement, cette dernière est copiée dans la RAM, ce qui créer la running-config.

Les 2 niveaux d'accès

Il existe 2 modes associés à différents privilèges, que l'on peut comparer aux consoles utilisateur ($) et root (#) sous Unix :

  • mode utilisateur : le mode auquel on accède quand on se connecte au switch ; le prompt est reconnaissable au symbole “supérieur” : Switch>
  • mode privilégié (ou mode enable) : on y accède depuis le mode utilisateur par la commande enable ; on le quitte avec disable. Ce mode est symbolisé par un prompt avec un dièse : Switch#

Le mode configuration Switch(config)# est une sous-partie du mode privilégié, accessible depuis le mode privilégié par la commande configure terminal (conf t pour les intimes). Comme son nom l'indique, ce mode sert à passer des commandes qui seront inscrite dans la running-config ; le mode enable servant plutôt à passer des commandes de diagnostique (show).

Switch>
Switch>en
 Password:
Switch#conf t
 Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#

On peut (c'est même recommandé) protéger l'accès à chaque mode de privilège (utilisateur et privilégié).

Depuis le mode configuration global (conf t) on peut accéder aux sous-menus de configuration :

  • d'une interface Router(config-if)#
  • d'une sous-interface Router(config-subif)#
  • d'un contrôleur Router(config-controller)#
  • d'une ligne Router(config-line)#
  • du router Router(config-router)#

Commandes de base

Les fonctionnalités de base d'IOS sont :

  • la complétion automatique (comme les UNIX) avec la touche <tab>

Mais à la différence d'UNIX, on peut ne taper que le début d'une commande pour qu'elle soit interprétée (s'il n'y a pas de conflit) : par exemple conf t pour configure terminal.

  • une aide pour connaitre les paramètres attendus par une commande, ou pour lister les commandes : ?
  • un modèle en couches successives (cf ci-dessus) de privilèges : pour accéder à un mode privilégié on doit passer par tous les autres modes :

utilisateur (prompt Router>) > privilégié (prompt Router#) > configuration (prompt Router(config)#)

On quitte un mode avec la commande exit ou avec la combinaison de touches ctrl+z

  • do permet de lancer des commandes privilégiées (réservées au mode privilégié donc) lorsqu'on est en mode configuration
  • la plupart du temps, pour annuler une commande, on utilise le mot no suivit de la commande à supprimer (par ex : no ip address pour supprimer l'adresse IP d'une interface).

Raccourcis clavier

Ils ressemblent aux raccourcis clavier que l'on trouve sous Unix/Linux, et il est préférable de les connaitre quand on se sert souvent de la ligne de commande (CLI) car ils font gagner pas mal de temps !

  • ctrl+z quitter le mode configuration
  • ctrl+a déplace le curseur en début de ligne
  • ctrl+e déplace le curseur en fin de ligne
  • esc+b déplace le curseur d'un mot à gauche du curseur
  • esc+f déplace le curseur d'un mot à droite du curseur
  • ctrl+u supprime tous les caractères avant le curseur
  • ctrl+k supprime tous les caractères après le curseur
  • ctrl+w supprime le mot avant le curseur
  • ctrl+d supprime un caractère à gauche du curseur (équivalent du backspace)

Le rappel des dernières commandes passées peut se faire avec les flèches haut et bas ou avec ctrl+p et ctrl+n. De même, pour déplacer le curseur à gauche ou à droite on peut se servir des flèches ou des combinaisons ctrl+b et ctrl+f.

Les signaux

Sous Linux on peut utiliser le raccourcis clavier ctrl+c pour envoyer un SIGINT qui provoque l'interruption d'un processus. Sous IOS, on utilise l'équivalent : ctrl+shift+6 ou ctrl+shift+9 + “x”.

Séquence d'échappement

C'est une séquence de touches qui, lorsqu'elle est envoyée à un équipement Cisco lors du boot, le fait basculer en rommon (l'IOS minimal). Cette séquence dépend du terminal utilisé ; Cisco liste les plus connues sur cette page : Standard Break Key Sequence Combinations During Password Recovery.

Avec Putty, on peut faire juste un clic droit sur le titre de la fenêtre, puis Special Command > Break.

Commandes filtres

Quand on fait une commande qui renvoie un résultats sur de nombreuses lignes, on peut les filtrer avec le caractère | (pipe) (entouré d'espaces, c'est obligatoire à la différence de Linux) suivi des mots-clés include ou exclude, suivi d'un texte. Cela ne sélectionnera que les lignes qui, respectivement, contiennent ou ne contiennent pas le texte spécifié.

Le mot-clé begin permet de positionner le fenêtre de lecture sur la première occurrence de la chaîne qui le suit (ex : show run | begin router ospf pour voir le résultat à partir de la configuration de l'OSPF - pour un routeur bien sur.)

Configuration de base

hostname

C'est le nom de l'équipement. Il est indiqué dans le prompt :

Switch(config)# hostname toto
Toto(config)#

IP de management

Dans le cas d'un switch, il n'y a pas de traitement de paquet niveau 3 normalement (hors ACLs, mais disons pas de routage). Pourtant, on a besoin d'attribuer une adresse IP à ce dernier pour pouvoir l'administrer : c'est ce qu'on appelle l'IP de management. On spécifie l'IP d'administration du switch en configurant l'IP de l'interface du vlan d'administration (qui est par défaut le vlan 1) :

Switch(conf t)#int vlan 1
Switch(conf-if)#ip address 10.0.0.1 255.255.255.0

Un switch ne peut avoir qu'une seule adresse IP de management (sauf s'il s'agit d'un switch multilayer comme les séries Catalyst (c3500, c3700, c6500, etc…).

Passerelle

Toujours dans le cas d'un switch, et à l’instar d'un PC, pour sortir du réseau on doit spécifier la passerelle (ou le routeur) du réseau :

(conf t)#ip default-gateway 10.0.0.254

Évidemment celle-ci doit être dans le VLAN d'administration du switch pour être inaccessible.

Pour les routeurs, on définit la route par défaut ; voir les commandes ip default-network et ip route 0.0.0.0 0.0.0.0 (plus d'info sur cisco.com : Configuring a Gateway of Last Resort Using IP Commands

subnet zero

ip subnet-zero est une commande qui permet l'utilisation du premier subnet d'un ensemble de sous réseau. Il faut le préciser explicitement à cause de la confusion qu'il cause, puisqu'il a la même adresse réseau que le réseau majeur. exemple : on a la plage 172.16.0.0 /16 que l'on veut découper en sous-réseaux, le premier sous-réseau 172.16.0.0 /16+x a la même adresse que le réseau majeur.

no ip domain-lookup

no ip domain-lookup permet de désactiver les fonctions de résolution de nom (ça évite au routeur de perdre du temps à rechercher une machine lorsqu'on se trompe en tapant une commande) :

Router#sxow
 Translating "sxow" ...domain server (255.255.255.255)
 % Unknow command or computer name, or unable to find computer address

logging synchronous

Par défaut on reçoit des messages du routeur, qui troublent la saisie des commandes, par exemple :

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

Pour retrouver sa ligne de commande on peut faire un ctrl+r qui ré affiche notre ligne. Mais pour éviter ce problème, on peut demander un logging synchronous sur la console :

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

Voici l'éventuel résultat :

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

Configuration générale

Bannière

Quelque soit le type de bannière, il faut indiquer un délimiter de fin de bannière lors de l'invocation de la commande idoine, par exemple un % dans notre cas.

On peut spécifier une chaine de caractère qui s'affichera lors de la connexion sur l'équipement (Message Of The Day) :

Switch(config)#banner motd %
 Enter TEXT message.  End with the character '%'.
 Salut mecbon ; t'es sur le bon !
 %
Switch(config)#

On peut spécifier une bannière spécifique pour un utilisateur lambda :

Switch#banner login "Bienvenue sur Switch"

Màj IOS par tftp

Pré-requis

  • l'image de l'IOS ne doit pas dépasser 16 Mo. Sinon il faut le faire en FTP.
  • se connecter au switch par le réseau (telnet ou ssh), pas par le port série (trop lent)

On a une version sur un serveur tftp (192.168.0.100) dans ./logiciel/c2940-i6k2l2q4-mz.121-22.EA8a.bin.

  • téléchargement d'IOS
Switch#copy tftp:logiciel/c2940-i6k2l2q4-mz.121-22.EA8a.bin flash:
Address or name of remote host []? 192.168.0.100
Destination filename [c2940-i6k2l2q4-mz.121-22.EA8a.bin]?
Accessing tftp://192.168.0.100/logiciel/c2940-i6k2l2q4-mz.121-22.EA8a.bin...
Loading logiciel/c2940-i6k2l2q4-mz.121-22.EA8a.bin from 192.168.0.100 (via Vlan
288): !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!
[OK - 3737506 bytes]

3737506 bytes copied in 65.352 secs (57190 bytes/sec)
  • changement des paramètres de démarrage
Switch#sh boot
BOOT path-list:       flash:/c2940-i6k2l2q4-mz.121-22.EA8a.bin
Config file:          flash:/config.text
Private Config file:  flash:/private-config.text
Enable Break:         no
Manual Boot:          no
HELPER path-list:
NVRAM/Config file
      buffer size:    32768
Timeout for Config
          Download:    0 seconds
Config Download
       via DHCP:       disabled (next boot: disabled)

Ici, l'image chargée au démarrage est la bonne ; sinon il aurait fallut spécifier l'image qu'on vient de télécharger (en mode config)

Switch#conf t
Switch(config)#boot system flash:/c2940-i6k2l2q4-mz.121-22.EA8a.bin

puis sauvegarder la config

Switch(config)#exit
Switch#wr mem
Building configuration...
[OK]
  • on peut enfin redémarrer
Switch#reload

Configurer un VLAN

L'utilisation de VLANs (Virtual LAN, ou réseau virtuel) sur un commutateur, permet de créer plusieurs réseaux sur un même commutateur physique.

Accéder à l'article configurer_un_vlan.

VTP

Le VTP (Vlan Transport Protocol) permet de propager la configuration des VLANs entre plusieurs commutateurs appartenant au même domaine VTP.

Accéder à l'article vtp.

Configurer un port

Il faut passer en mode configuration du port (config-if)

Switch>en
Switch#conf t
Switch(config)#int Fa0/1
Switch(config-if)#

Dans l'exemple si dessus on passe à l'interface de configuration du port FastEthernet n°1 du module (carte) 0 du switch.

Voici les paramètres classiques qu'on peut retrouver configurés sur un port :

  • description <desc de l'interf> description de l'interface
  • duplex full forcer le mode full-duplex
  • speed 100 forcer la vitesse à 100Mbps
  • spanning-tree portfast pour les ports utilisateur, permet de réduire le temps de négociation du SPT. A noter qu'on peut passer la commande globale spanning-tree portfast default pour passer en portfast tous les ports qui ne sont pas en mode trunk. C'est une sécurité pour le bon fonctionnement du STP de votre réseau (il ne faut pas qu'un utilisateur puisse émettre des bpdu) ; de plus ça permet à l'interface de monter plus vite.

Autre vraie sécurité du STP : activer le bpduguard sur les ports utilisateurs Switch(conf-if)#spanning-tree bpduguard enable.

  • no cdp enable pour désactiver le protocole Cisco Discovery Protocol sur ce port

A ceux-là s'ajoute la commande shutdown qui permet de couper administrativement le port. On le verra avec un sh interface description en état “administratively down”. Pour réactiver le port, il suffit de faire un no shutdown sur le port.

Cela est bien pratique pour préconfigurer un nouveau switch : on peut configurer un “range” de port c'est à dire une suite de ports qui se suivent. Par exemple, pour configurer les ports Fa0/1 jusqu'au Fa0/24 :

Switch(config)#int range Fa0/1 - 24

Les ports d'un même “range” doivent être de même type et contigus ; si on veut rajouter des ports gigas, on devra écrire :

Switch(config)#int range Fa0/1 - 24, Gi0/1 - 2

Switchport

Pour configurer le niveau 2 d'un port on utilise la commande switchport, généralement soit en mode access (vers une machine) soit en mode trunk (vers un autre switch ou un routeur) :

  • soit en mode access (vers un PC) :
switchport
switchport mode access
switchport access vlan x
  • soit en mode trunk (vers un autre switch)
switchport
switchport mode trunk
switchport trunk encapsulation dot1q
switchport trunk allowed vlan x,y

port-security

On peut ajouter une sécurité par vérification d'adresse MAC source :

  • switchport port-security mac-address <adresse MAC> pour limiter l'accès au port à seulement cette adresse MAC (on peut en spécifier plusieurs en repassant la commande pour chaque adresse MAC)
  • switchport port-security mac-address sticky permet au switch d'apprendre la ou les prochaines adresses MAC qui se connectent au port (il les ajoutent dynamiquement dans sa conf) ; pour limiter le nombre des adresses apprises : switchport port-security maximum <nombre max>.

Pour déterminer le comportement du switch s'il rencontre une mauvaise adresse MAC :

  • switchport port-security violation {protect | restrict | shutdown}
    • protect drop les trames incorrectes mais ne log pas l'incident
    • restrict comme protect mais log une alerte et envoie un trap SNMP
    • shutdown une alerte est émise (log + SNMP) et l'interface passe en errdisabled (elle est désactivée) jusqu'à ce qu'un administrateur vienne réactiver

Pour info, l'adresse MAC est codée en hardware sur la carte réseau de la machine, elle est attribuée de manière unique parmi tous les périphériques réseaux sortant des usines. Cependant elle n'est en aucun cas sécurisée puisqu'on peut changer cette adresse de manière software (sous Linux ou Windows XP par exemple). Cette sécurité est donc juste une corde anti script-kiddies ;).
Cela permet aussi d'éviter les flood de trames d'adresse source différentes qui remplissent la table d'adresse MAC du switch (CAM), pouvant aboutir dans le pire des cas à transformer le switch en hub (si sa CAM est pleine).

Pour vérifier la configuration :

show port-security [interface fa0/1 [address]]

ou

show port-security address

Pour réactiver toutes les interfaces bloquées en err-disabled : passer en mode conf-t :

errdisable recovery cause psecure-violation

Pour changer une adresse MAC sticky :

int GiX/Y
 no switchport port-security mac-address sticky
 switchport port-security mac-address sticky

Il peut être utile, si cela ne fonctionne pas :

  • de désactiver également le port-security sur l'interface
int GiX/Y
 no switchport port-security mac-address sticky
 no switchport port-security
 switchport port-security
 switchport port-security mac-address sticky
  • de relancer l'interface
 shut
 no shut
  • de vérifier que l'adresse MAC n'est pas assignée à un autre port dans la configuration
show run | i XXXX.YYYY.ZZZZ
 switchport port-security mac-address sticky XXXX.YYYY.ZZZZ

(tiens, elle était en sticky sur un autre port ! → duplicate address)

Pour supprimer le cache d'adresses MAC apprises dynamiquement :

clear port-security dynamic [address XXXX.YYYY.ZZZZ] | [interface GiX/Y]

port serie

Vérifier si le port est en DCE ou DTE :

Router#sh controller serial 0/0 | include DCE
 DCE V.35, clock rate 64000

Là il est DCE, c'est à dire que c'est lui qui a la vitesse d'horloge du lien. Il faut la configurer (nb : là elle l'est déjà) :

Router(config)#int se0/0
Router(config-if)#clock rate 64000

Gestion de la file d'attente

Il est possible de configurer la file d'attente d'une interface en précisant le mode de gestion : FIFO par défaut (tail drop), faire-queue :

(config-if)#fair-queue [<CDT> <max-q> <RSVP>]

On peut le vérifier avec :

show int se0/1/0 | i Queueing strategy
 Queueing strategy: weighted fair

Troubleshooting de port

Switch#show interface GigabitEthernet7/13
GigabitEthernet7/13 is up, line protocol is up (connected)
  Hardware is C6k 1000Mb 802.3, address is 0011.93XX.XXXX (bia 0011.93XX.XXXX)
  Description: Gi7/13 - attention pb
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  Full-duplex, 1000Mb/s, media type is 10/100/1000BaseT
  input flow-control is off, output flow-control is on
  Clock mode is auto
  ARP type: ARPA, ARP Timeout 04:00:00
  Last input 40w5d, output 40w5d, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 173510
  Queueing strategy: fifo
  Output queue: 0/40 (size/max)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 4000 bits/sec, 8 packets/sec
     11805518907 packets input, 5433554007048 bytes, 0 no buffer
     Received 4863341 broadcasts (4421997 multicasts)
     0 runts, 0 giants, 0 throttles
     26 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
     0 watchdog, 0 multicast, 0 pause input
     0 input packets with dribble condition detected
     18374938262 packets output, 23940953868607 bytes, 0 underruns
     147 output errors, 0 collisions, 8 interface resets
     0 babbles, 0 late collision, 0 deferred
     0 lost carrier, 0 no carrier, 0 PAUSE output
     0 output buffer failures, 0 output buffers swapped out

Lancer cette commande et vérifier :

  • que l'interface est “up/up” (<interface> is up, line protocol is up). Le premier “up” indique que la couche 1 OSI (couche physique) est montée elle peut être “disabled” si trop d'erreurs ont été reçues dans un intervalle de keepalive (+ de 5000 erreurs en moins de 10s, par défaut) ; le second, line protocol, indique que la couche 2 (liaison de données) est montée. Si le port est configuré comme destination d'une “monitor session”, il apparait en up/down.
  • la MTU de l'interface (Maximum Transmission Unit) qui doit être de 1500 par défaut.
  • BW : bandwidth (bande passante de l'interface)
  • reliability 255/255, txload 1/255, rxload 1/255 indique la disponibilité et la charge de l'interface.
  • les input errors (avec tout ce qui suit : CRC (problème de bruit ou de transmission), frame, overrun, ignored, etc…)
  • les output errors : s'il y en a, c'est à cause du buffer de sortie de l'interface qui est full. Souvent, cela apparait quand on a un lien de forte capacité (1 giga) et un autre de plus faible capacité (100 méga). Dans ce cas le lien 100 méga risque d'être surchargé en cas de burst sur le lien giga.
  • les collisions : il est normal d'en voir apparaitre sur des interfaces en half duplex, mais il ne devrait pas y en avoir sur celles en full duplex ; auquel cas il peut y avoir un problème de configuration de duplex.
  • les restarts (si l'interface a du redémarrer à cause d'erreurs).
  • runts/giants : paquets resp. trop petits/grands pour le medium
  • CRC : problème d'intégrité du Contrôle de Redondance Cyclique (Cyclic Redundancy Checksum) du paquet. Cela indique une altération du paquet reçu par rapport à celui envoyé (et dont l'émetteur a calculé et envoyé un hash). Cela est souvent provoqué par des collisions ou une mauvaise émission du paquet (interface réseau, GBIC ou transciever défectueux).
  • frame : erreur de réception d'un paquet (CRC + nombre d'octets incohérent).
  • overrun : nombre de fois ou l'interface a reçu trop de paquets par rapport à sa capacité de réception = dépassement du buffer de réception de l'interface
  • underrun : nombre de fois ou l'émetteur à fonctionner plus rapidement que la vitesse de traitement de l'équipement.
  • ignored : nombre de paquets ignorés pour cause de quasi-saturation des buffers internes. Souvent lié à des tempêtes de broadcast ou des burst de paquets altérés (burst of noise).
  • interface resets : nombre de reset des compteurs d'interface (clear counter).
  • lost carrier : nombre de perte de signal pendant émission
  • no carrier : nombre de fois ou le signal n'était pas présent pendant l'émission

5 minute input/output rate : cela indique la moyenne du trafic en input et output, sur 5 minutes. On peut baisser la période de récupération de ces données avec la commande :

int gi0/1
 load-interval <seconds>
Switch#sh interface ethernet

Vérifier que les collisions ne dépassent pas 0.1 % des paquets émis

Vérifier le speed et le duplex du port, ainsi que la protection par adresse MAC (port-protection).

source : Interface Commands (show interfaces -- show interfaces vg-anylan)

Gestion des accès

Mot de passe oublié

avec un switch Catalyst

Testé avec un Catalyst 2940 et c3750

password recovery : Mode opératoire pour récupérer l'accès à un switch dont on a oublier le mot de passe d'accès ou enable.

  • Débrancher le switch
  • S'y connecter sur le port console
  • Le rebrancher en maintenant le bouton “mode” enfoncé, jusqu'à ce que le menu de boot apparaisse (switch:)
C2940 Boot Loader (C2940-HBOOT-M) Version 12.1(13r)AY1, RELEASE SOFTWARE (fc1)
Compiled Mon 30-Jun-03 15:16 by antonino
WS-C2940-8TF-S starting...
Base ethernet MAC Address: 00:12:80:81:42:c0
Xmodem file system is available.
The password-recovery mechanism is enabled.
 
The system has been interrupted prior to initializing the
flash filesystem.  The following commands will initialize
the flash filesystem, and finish loading the operating
system software:
 
    flash_init
    load_helper
    boot

Taper ensuite ces commandes (la complétion automatique ne fonctionne pas) :

flash_init
load_helper
rename flash:config.text flash:config.old      # renommer la config
boot                                           # redémarrer
# un fois redémarré :
enable
copy flash:config.old flash:config.text        # restaurer la config
copy flash:config.text system:running-config   # réinjecter la conf
 
config t
 
# remplacer le mot de passe perdu :
enable secret <NEW_PWD>
line con 0
   password <NEW_PWD_CON>
line vty 0 15
   password <NEW_PWD_SSH-TELNET>
   login
 
write memory                                   # sauvegarder les modifications
reload                                         # redémarrer

source : Password Recovery Procedures sur cisco.com

avec un routeur c888

src : https://www.cisco.com/c/en/us/support/docs/routers/800-series-routers/12065-pswdrec-827.html

  • redémarrer le routeur en se connectant sur la console
  • dans les 60s suivant le boot, envoyer un Break (avec putty, ouvrir le menu puis “Special Command” > Break)
  • cela coupe la séquence de boot et charge la console de Rommon ; y saisir
rommon 1 > confreg 0x2142
rommon 2 > reset
  • un fois que l'équipement a rebooté avec sa configuration par défaut, se logguer dessus sans mot de passe, puis :
Router>enable
 
# charger la configuration pour pouvoir la modifier
Routeur#copy startup-config running-config
 
# changer le mot de passe enable
Routeur#config t
Routeur(config)#enable secret cisco
 
# modifier les registres pour booter sur cette conf au prochain démarrage
Routeur(config)#config-register 0x2102
Routeur(config)#exit
 
# sauvegarder la configuration
Routeur#write mem
Routeur#reload

MAJ IOS via Rommon

merci les gars j'ai enfin réussi http://www.cisco.com/en/US/products/hw/routers/ps380/products_configuration_guide_chapter09186a008007c98d.html#xtocid9025 voici ma soluce

rommon 1 > flash_init
rommon 2 > set
 IP_ADDRESS=10.10.10.1
 IP_SUBNET_MASK=255.0.0.0
 DEFAULT_GATEWAY=10.10.10.1
 TFTP_SERVER=10.10.10.2
 TFTP_FILE=temp/c820.bin

si pb de checksum : TFTP_CHECKSUM=0

You must use the sync command to save ROMmon environment variables to nonvolatile RAM (NVRAM).

rommon 3 > sync
rommon 4 > tftpdnld
The variables to set for tftpdnld are shown here:
usage: tftpdnld [-ur]

Si on avait modifié les registres

confreg 0x2101

Spanning-Tree

Le Spanning-Tree Protocol ou CST (Common Spanning-Tree) est un protocole de niveau 2 normalisé par l'IEEE en tant que 802.1D. Il permet de découvrir la topologie du réseau, d'en détecter les changements et d'éviter les boucles en établissant un chemin unique d'un point à un autre du réseau grâce à un algorithme d'arbre recouvrant (spanning tree).

Voir la page dédiée aux différents types de STP (CSTP, RSTP, PVSTP, MSTP) : stp

Etherchannel

C'est le nom utilisé par Cisco pour désigner du bonding, channel bonding ou encore portchannel, c'est à dire un agrégat de plusieurs ports physiques en un port logique.

voir la page dédiée : etherchannel

HSRP

Hot Standby Router Protocol est un protocole propriétaire Cisco semblable au VRRP, qui permet de mettre en place une redondance au niveau 3 entre plusieurs routeurs en créant une IP virtuelle.

voir l'article : HSRP

VRRP

GLBP

C'est un protocole apportant de la haute disponibilité comme le HSRP ou le VRRP, mais qui permet en plus une répartition de charge entre les routeurs d'une groupe.

Un groupe de routeurs apparait comme un seul et permet la répartition de charge. Chaque routeur appartenant à un même groupe est appelé AVF (Active Virtual Forwarder) et possède une adresse MAC virtuelle. L'un d'eux est désigné pour être également répartiteur de charge (Active Virtual Gateway) = il va répondre aux requêtes ARP sur l'IP virtuelle du groupe par une des adresses MAC d'un AVF. La façon dont il distribue les MACs aux client définit la façon dont sera répartie la charge (par poids, par host, ou Round Robin). Si l'AVG tombe, une nouvelle élection a lieu parmi les AVF.

  • la priorité la plus grande est la meilleure ; elles vont de 1 à 255, celle par défaut étant 100.
  • les groupes GLBP peuvent aller de 0 à 1023
  • le GLBP permet de faire du tracking d'interface
  • par défaut les routeurs utilisent l'adresse multicast 224.0.0.102 pour envoyer les Hello packets à leurs pairs toutes les 3s sur le port udp/3222.

Mise en place

Sur le routeur destiné à être AVG :

ip address 10.0.0.2 255.255.255.0
glbp 1 ip 10.0.0.1
glbp 1 priority 150

Sur un routeur AVF :

ip address 10.0.0.3 255.255.255.0
glbp 1 ip 10.0.0.1
glbp 1 priority 100

On peut redéfinir les timers (resp. Hello et Hold timers) :

 glbp 1 timers msec 200 msec 700

OSPF

Open Shortest Path First est un protocole de routage à état de lien non propriétaire ; c'est le protocole de routage intra-domaine (IGP) le plus utilisé de nos jours.

voir l'article : OSPF

EIGRP

EIGRP (Enhanced Interior Gateway Routing Protocol) est un protocole de routage propriétaire CISCO à vecteur de distance.

voir l'article : EIGRP

IS-IS

Intermediate System to Intermediate System possède beaucoup de particularités communes avec OSPF : protocole de routage standardisé à état de liens, scalable (IS-IS l'est plus qu'OSPF), convergence rapide, support des masques de sous-réseaux (VLSM). C'est un protocole OSI basé sur le service de niveau 3 CLNS.

voir l'article : IS-IS

BGP

voir l'article : BGP

Redistribution de routes

voir l'article : Redistribution de route

ACL

Les ACLs pour Access Control List sont implémentées sur les switchs et routeurs CISCO ; c'est un mécanisme de filtrage de paquets.

ACL

NAT/PAT

Translation d'adresse et/ou de port.

On considère l'interface du coté réseau privé comme inside et l'interface du coté public (internet par exemple) comme outside. On veut donc translater l'adressage privé du réseau inside pour le rendre routable et qu'il puisse accéder à internet. On va faire du PAT (Port Adresse Translation, ou NAT overload chez Cisco) qui correpond à une translation d'adresse (une ou plusieurs IPs) et de port.

inside/ouside local/global
inside = vue de l'intérieur du LAN
outside = vue de l'extérieur (internet)
local = adressage privée, IP réelle de la machine
globale : IP NATtée, routable

Soit fa0/0 l'interface inside et se0/0 l'interface outside :

Router(config)#interface fa0/0
Router(config-if)#ip nat inside
Router(config)#interface se0/0
Router(config-if)#ip nat outside

On créé une ACL pour définir quelle est la plage d'IPs source qui va être nattée (c'est l'adressage privé) :

Router(config)#access-lit 1 permit 10.4.4.0 0.0.0.255

Et on l'applique sur l'interface :

Router(config)#ip nat inside source list 1 interface se0/0 overload

L'option overload indique que l'on veut du PAT ; sans ça on ne ferait que du NAT sur l'adresse IP de l'interface se0/0.

Vérification

On vient de faire 5 pings de 10.4.4.11 vers 10.1.1.1. Attention : la table de translation a un timeout ce qui fait que si personne n'a été natté récemment, les commandes suivantes renverront un résultat “vide”.

Router#sh ip nat statistics
Total active translations: 5 (0 static, 5 dynamic; 5 extended)
Outside interfaces:
  Serial0/0
Inside interfaces:
  FastEthernet0/0
Hits: 920  Misses: 920
CEF Translated packets: 1840, CEF Punted packets: 0
Expired translations: 915
Dynamic mappings:
-- Inside Source
[Id: 2] access-list 1 interface FastEthernet0/0 refcount 5
Queued Packets: 0
Router#sh ip nat translations
Pro Inside global      Inside local       Outside local      Outside global
icmp 10.4.4.3:5198     10.4.4.11:5198     10.1.1.1:5198      10.1.1.1:5198
icmp 10.4.4.3:5199     10.4.4.11:5199     10.1.1.1:5199      10.1.1.1:5199
icmp 10.4.4.3:5200     10.4.4.11:5200     10.1.1.1:5200      10.1.1.1:5200
icmp 10.4.4.3:5201     10.4.4.11:5201     10.1.1.1:5201      10.1.1.1:5201
icmp 10.4.4.3:5202     10.4.4.11:5202     10.1.1.1:5202      10.1.1.1:5202

DHCP

Exemple :

(config)#service dhcp
(config)#ip dhcp excluded-address 10.0.0.1
(config)#ip dhcp pool TOTO
(dhcp-config)#network 10.0.0.0 255.255.255.0
(dhcp-config)#default-router 10.0.0.1
(dhcp-config)#dns-server 192.168.0.1

Vérifs :

show ip dhcp binding

PPP

Point to Point Protocol basé sur :

  • LCP (Link Control Protocol) pour le contrôle de la liaison
  • NCP (Network Control Protocol) pour le contrôle de la couche réseau

Avantages :

  • standard multi-protocol : il peut encapsuler de l'IP, ISDN, IPX, Apple Talk
  • permet l'authentification avec PAP ou CHAP
  • permet la correction d'erreur
  • multiplexage

Authentication :

  • PAP (Password Authentication Protocol)
  • CHAP (Challenge Handshake Authentication Protocol)
username <routeur_distant> password <pwd_partagé>
int se0/0
 ip address 10.0.0.1 255.255.255.0
 encapsulation ppp
 ppp authentication chap

Une autre façon d'utiliser l'authentification CHAP est de passer les lignes de commande suivantes :

interface dialer0
 ppp authentication chap callin
 ppp chap password <mdp_secret>

IPv6

voir l'article : IPv6

Frame Relay

Pour la suite, on configure une interface série en frame-relay, et on va créer 2 sous-interfaces : l'une pour une liaison point à point et l'autre pour une liaison multipoint. Grâce à l'IARP (Inverse ARP), le routeur doit être capable de récupérer l'adresse IP du ou des routeurs d'en face. En le désactivant on va tout configurer à la main avec des frame-relay map.

Configuration de l'interface physique :

interface Serial0/0/0
 no ip address
 encapsulation frame-relay
 no frame-relay inverse-arp

point-to-multipoint

interface Serial0/0/0.1 multipoint
 ip address 172.31.33.2 255.255.255.0
 ip ospf network point-to-multipoint
 frame-relay map ip 172.31.33.4 232 broadcast

broadcast pour activer le broadcast nécessaire aux protocoles de routage (normalement FR ne le supporte pas) ; avec l'IARP il aurait été activé par défaut.

point-to-point

interface Serial0/0/0.2 point-to-point
 ip address 10.33.0.2 255.255.255.0
 frame-relay interface-dlci 221

Il semble qu'on ne puisse pas faire de frame-relay map sur une subinterface point-to-point.

Vérifications

Router#sh run int se0/0
interface Serial0/0
 description se0/0 vers CoreRouteur
 ip address 10.140.3.2 255.255.255.0
 encapsulation frame-relay
 frame-relay map ip 10.140.3.1 120 broadcast
Router#sh int se0/0 | include Encapsulation
  Encapsulation FRAME-RELAY, loopback not set
Router#sh frame-relay lmi

LMI Statistics for interface Serial0/0 (Frame Relay DTE) LMI TYPE = CISCO
  Invalid Unnumbered info 0             Invalid Prot Disc 0
  Invalid dummy Call Ref 0              Invalid Msg Type 0
  Invalid Status Message 0              Invalid Lock Shift 0
  Invalid Information ID 0              Invalid Report IE Len 0
  Invalid Report Request 0              Invalid Keep IE Len 0
  Num Status Enq. Sent 94               Num Status msgs Rcvd 96
  Num Update Status Rcvd 0              Num Status Timeouts 0
  Last Full Status Req 00:00:11         Last Full Status Rcvd 00:00:11
Router#sh frame-relay pvc

PVC Statistics for interface Serial0/0 (Frame Relay DTE)

              Active     Inactive      Deleted       Static
  Local          1            0            0            0
  Switched       0            0            0            0
  Unused         0            0            0            0

DLCI = 120, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0

  input pkts 349           output pkts 124          in bytes 38990
  out bytes 12742          dropped pkts 0           in pkts dropped 0
  out pkts dropped 0                out bytes dropped 0
  in FECN pkts 0           in BECN pkts 0           out FECN pkts 0
  out BECN pkts 0          in DE pkts 0             out DE pkts 0
  out bcast pkts 105       out bcast bytes 10920
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
  pvc create time 00:16:09, last time pvc status changed 00:09:22
Router#sh frame-relay map
Serial0/0 (up): ip 0.0.0.0 dlci 120(0x78,0x1C80)
              broadcast,
              CISCO, status defined, active

IPSec

voir l'article ipsec

VoIP

Configuration de la VoIP avec QoS : on utilise le champ CoS (802.1p) dans du 802.1q.

Dans cet exemple le VLAN voix est le 10 et le VLAN data est le 11.

Sur le port où est branché un téléphone IP Cisco, avec derrière un PC sur le vlan 11 :

  • Sur le switch d'accès
int fa0/3
 desc PC + tel
 switchport access vlan 11
 switchport voice vlan 10
 mls qos trust device cisco-phone
 mls qos trust cos
! ou "mls qos trust dscp"

On peut réécrire le CoS venant du PC utilisateur à 0 si on ne lui fait pas confiance (ce traitement sera fait au niveau de l'IP phone) :

 switchport priority extend cos 0

Sur le switch de distribution, on active la QoS :

mls qos

Puis on trust le champ COS venant du switch d'accès :

int gi1/0/1
 mls qos trust cos

Notes

Cisco AVVID Architecture for Voice, Video and Integrated Data est basé sur ces 5 préoccupations :
	haute disponibilité
	QoS
	sécurité
	mobilité
	extensibilité (passage à l'échelle quoi)
débit garanti fourni grâce à l'implémentation du WFQ
contrôle de charge grâce au WRED
réservation de ressources grâce au RSVP

Les services

service password-encryption

permet de crypter tous les mots de passe dans la conf

Tracking d'interface

Mécanisme qui permet de baisser une priorité HSRP si une condition n'est pas remplie ; plus de détails sur la page HSRP.

Port mirroring

Local SPAN

Ou “span de port” : cela permet de répliquer le trafic d'un port vers une destination à l'identique. L'usage classique est pour l'analyse de trafic (snif), en mettant une sonde sur le port destination.

Voir les sessions de mirroring existantes :

show monitor session all
Session 1
---------
Type                   : Local Session
Source Ports           :
 
 
    Both               : Gi1/0/2
Destination Ports      : Gi2/0/1
    Encapsulation      : Native
          Ingress      : Disabled

La mention Both (par défaut) indique que la redirection se fait sur le trafic entrant et sortant de l'interface Gi1/0/2 vers l'interface Gi2/0/1.

Mise en place de la session de monitoring :

monitor session 1 source interface Gi1/0/2 [both | rx | tx]
monitor session 1 destination interface Gi2/0/1

On peut choisir de ne rediriger que le trafic entrant (rx) ou sortant (tx) de l'interface source. On peut aussi monitorer le trafic d'un vlan en remplaçant interface par vlan dans la source.

Remote SPAN

On peut aussi faire du RSPAN c'est à dire du remote SPAN. Cela consiste à créer un vlan spécifique de type remote-span et a le distribuer du commutateur source au commutateur destination. Le premier redirige le trafic dessus, et le commutateur destination le prend en source.

Exemple : C1 et C2 sont 2 commutateur interconnectés par un lien trunk sur leur interface fa0/24. C1 le commutateur source. Il a le port fa0/1 que je désire sniffer sur un sonde connectée sur le port fa0/2 du commutateur C2.

Configuration de C1 :

! création du vlan de type RSPAN
vlan 100
 name v100-RSPAN
 remote-span
!
! on définit la capture
monitor session 1 source interface fa0/1
monitor session 1 destination remote vlan 100
!
! propagation du remote vlan vers C2
interface fa0/24
 description fa0/24 - vers C2 fa0/24
 switchport trunk allowed vlan add 100

Configuration de C2 :

! création du vlan de type RSPAN
vlan 100
 name v100-RSPAN
 remote-span
!
! on définit la capture
monitor session 1 destination interface fa0/2
monitor session 1 source remote vlan 100
!
! propagation du remote vlan vers C2
interface fa0/24
 description fa0/24 - vers C1 fa0/24
 switchport trunk allowed vlan add 100

Ce vlan 100 doit bien être déclaré comme remote-vlan ; il peut être propagé sur n'importe quel commutateur, peut utiliser le spanning-tree pour gérer les boucle (comme n'importe quel autre vlan), et peut être sniffé sur tous les commutateurs sur lequel il est propagé. En revanche il ne faut qu'une seule source sur un seul commutateur.

source : Configuring Local and Remote SPAN sur cisco.com

DHCP Snooping

C'est une fonctionnalité qui permet de se prémunir contre les attaques de type :

  • DHCP snooping (serveur DHCP illicite)
  • DHCP starvation (de multiples requêtes DHCP qui réduisent le nombre d'adresses restantes)

Elle permet au switch d'accès de retenir certaines informations sur les ports configurés “untrust”.

Mise en place globale :

(config)#ip dhcp snooping

Définir une interface “trust” (resp. untrust) (ex : un port relié à un serveur DHCP légitime, ou un port trunk vers un switch de distribution)

(config-if)#ip dhcp snooping trust

On peut limiter le nombre de paquets DHCP par seconde émis sur un port :

(config-if)#ip dhcp snooping limit rate 10

Enfin, on peut activer la fonctionnalité sur tout un VLAN :

(config)#ip dhcp snooping vlan 11

Vérifications

show ip dhcp snooping

IP source guard

Permet au switch de vérifier que les paquets émis depuis un port on bien toujours la même adresse MAC et IP.

Pour activer l'IP source guard par rapport à l'adresse MAC et IP :

(config-if)#ip verify source vlan dhcp-snooping port-security

DAI

Deep ARP Inspection est un mécanisme qui permet d'interception les requêtes et réponses ARP en entrée d'un port, afin de vérifier la validité des adresses (MAC et IP). Cela permet de se prémunir des attaques de type ARP spoofing (ou ARP poisonning). La validité d'un paquet ARP se fait par comparaison à une correspondance ARP-IP créée par le service DHCP snooping ; si un paquet est invalide, il est droppé et/ou loggué.

Cette fonctionnalité peut être activée sur les ports de type access, trunk, port-channel et private vlan.

Mise en place du DAI sur le VLAN 11 :

(config)#ip arp inspection vlan 11

On définit une interface de ce VLAN comme “trust” :

(config-if)#ip arp inspection trust

Tester la longueur d'un cable

Les dernières version de matériel peuvent calculer la longueur d'un câble relié à un de leur port (il doit être UP). C'est possible notamment sur des 3750-E ou des cartes 67xx (pour les châssis 65xx). Pour cela :

router#test cable-diagnostics tdr interface gigabitethernet1/2
TDR test started on interface Gi1/2
A TDR test can take a few seconds to run on an interface
Use 'show cable-diagnostics tdr' to read the TDR results.

Puis, comme indiqué :

router#sh cable-diagnostics tdr interface Gi1/2

TDR test last run on: September 02 09:39:51
Interface Speed Pair Cable length        Distance to fault   Channel Pair status
--------- ----- ---- ------------------- ------------------- ------- ------------
Gi1/2     1000  1-2  1    +/- 6  m       N/A                 Pair B  Terminated
                3-4  2    +/- 6  m       N/A                 Pair A  Terminated
                5-6  1    +/- 6  m       N/A                 Pair D  Terminated
                7-8  2    +/- 6  m       N/A                 Pair C  Terminated

Le modèle d'infrastructure Campus

C'est un modèle de conception d'infrastructure réseau faisant parti des best-practices de Cisco, aussi appelé le “modèle réseau hiérarchique à 3 couches” ou Enterprise Composite Network Model ou encore ECNM. Il s'agit comme son nom l'indique de définir 3 couches d'équipements réseau ayant des fonctions bien spécifiques :

  • switchs d'accès : du pur niveau 2 ; le niveau le plus proche des utilisateurs d'où une haute densité de port (typiquement des c2950)
  • switchs de distribution : des switchs multilayers (niveau 2/3) qui gèrent le routage inter-vlan, la haute disponibilité, la “définition des limites”, la sécurité (ACLs) etc…
  • backbone ou réseau de cœur désigne de gros switch qui assurent le transport ultra-rapide inter-site.

Divers

Numéros de série

Pour récupérer le serial number d'un équipement sans avoir un accès physique pour regarder l'étiquette :

  • pour les c65XX : show module
  • pour les c3825 : show diagnostic

On peut récupérer les SNs des GBICs, alimentations, carte FAN, châssis… avec la commande show inventory.

show

  • show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
Vlan1                      unassigned      YES NVRAM  administratively down down
FastEthernet0/1            unassigned      YES unset  up                    up
  • show interface description
Interface                  IP-Address      OK? Method Status                Protocol
Vlan1                      unassigned      YES NVRAM  administratively down down
FastEthernet0/1            unassigned      YES unset  up                    up
  • show interface status
Port      Name               Status       Vlan       Duplex  Speed Type
Fa0/1     S70/346/Sparmania  connected    455          full    100 10/100BaseTX
  • show interfaces trunk pour afficher toutes les interfaces et les vlan qui y sont trunkées
  • show mac-address-table sur un switch
Vlan    Mac Address       Type        Ports
All    000b.46a4.f880    STATIC      CPU
457    0000.0cd6.ac05    DYNAMIC     Gi0/2
  • show ip arp [<IP>] pour voir l'association @<IP>/@MAC sur le switch
Protocol  Address          Age (min)  Hardware Addr   Type   Interface
Internet  192.168.99.87           -   000b.46a4.f880  ARPA   Vlan99
Internet  192.168.99.254         97   0000.0cd6.ac30  ARPA   Vlan99
  • show platform hardware capacity power affiche notamment la consommation instantanée du routeur (que sur des WS-6509)
  • show platform health permet d'obtenir la consommation de ressources par ports, processus, etc…
  • show platform cpu packet statistics : show CPU packet statistics
  • show platform tcam utilization : voir un résumé de l'utilisation de la TCAM
  • show environment connector affiche un ersatz de la commande ci-dessus, mais sur des petits modèles
  • show environment temperature all affiche toutes les sondes de températures du châssis 6500
  • show aliases voir les alias
  • show module voir la liste des modules installés avec leur nb de ports, le modèle et le numéro de série
  • show inventory voir la liste des cartes installées et leur numéro de série
  • show run pour voir la running-config
  • show start pour voir la startup-config
  • show line pour voir les lignes CON/AUX/TTY/VTY
  • show proc cpu sorted 1min : une espèce de top façon Cisco.
  • show proc cpu history : des graphes en mode texte sur l'utilisation CPU.
router#sh processes cpu history
         11             1      1        1    2
     8856005765467446644854744606447757404835696583568537644884
100
 90
 80
 70
 60
 50
 40
 30                                          *
 20                     *                    *
 10  ********** **  **  ** *  ***  **** * * *#**** **** **  **
  0....5....1....1....2....2....3....3....4....4....5....5....
            0    5    0    5    0    5    0    5    0    5

               CPU% per minute (last 60 minutes)
              * = maximum CPU%   # = average CPU%
  • show ver pour voir le version de l'IOS et d'autres informations
router#sh ver
Cisco Internetwork Operating System Software
IOS (tm) c6sup2_rp Software (c6sup2_rp-PK9SV-M), Version 12.2(18)SXD5, RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2005 by cisco Systems, Inc.
Compiled Fri 13-May-05 22:43 by ssearch
Image text-base: 0x4002100C, data-base: 0x422F0000

ROM: System Bootstrap, Version 12.1(11r)E1, RELEASE SOFTWARE (fc1)
BOOTLDR: c6sup2_rp Software (c6sup2_rp-PK9SV-M), Version 12.2(18)SXD5, RELEASE SOFTWARE (fc3)

router uptime is 31 weeks, 7 hours, 20 minutes
Time since routeur switched to active is 31 weeks, 7 hours, 21 minutes
System returned to ROM by power-on (SP by power-on)
System restarted at 07:41:26 MET Wed Aug 23 2006
System image file is "disk0:c6k222-pk9sv-mz.122-18.SXD5.bin"


This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.

A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html

If you require further assistance please contact us by sending email to
export@cisco.com.

cisco WS-C6506 (R7000) processor (revision 3.0) with 227328K/34816K bytes of memory.
Processor board ID SAL0738LMUH
R7000 CPU at 300Mhz, Implementation 0x27, Rev 3.3, 256KB L2, 1024KB L3 Cache
Last reset from power-on
X.25 software, Version 3.0.0.
Bridging software.
9 Virtual Ethernet/IEEE 802.3  interface(s)
48 FastEthernet/IEEE 802.3 interface(s)
20 Gigabit Ethernet/IEEE 802.3 interface(s)
381K bytes of non-volatile configuration memory.

32768K bytes of Flash internal SIMM (Sector size 512K).
Configuration register is 0x2102

On peut notamment remarquer les informations suivantes : sur un switch : Base ethernet MAC Address: 00:0A:F4:80:A5:00 qui indique l'adresse MAC à partir de laquelle sont tirées celles de chaque port.

  • show tech-support renvoie pleins d'informations utiles pour le support CISCO
  • show cdp neighbor [detail] pour voir les voisins du switch via le CDP (on peut désactiver le CDP sur l'équipement par no cdp run). A voir aussi : sh cdp {interfaces | traffic | entry <pattern>}. A noter : le CDP est un protocole très utile pour connaitre son environnement réseau ; il est de ce fait une manne inespérée d'information pour tout coquin se greffant sur votre réseau. A n'activer qu'avec modération et sur des interfaces sûres.

clear

La commande clear sert dans beaucoup de cas pour “reseter” certaines fonctions :

  • clear counter int X permet de remettre à zéro les compteurs de l'interface X
  • clear mac-address-table dynamic int X permet de reseter les @ MAC apprises dynamiquement sur l'interface X
  • clear port-security sticky int X supprime l'@ MAC enregistrée pour l'accès à cette interface X

Gestion de la mémoire

show file systems
File Systems:

     Size(b)     Free(b)      Type  Flags  Prefixes
*    7741440     2430976     flash     rw   flash:
           -           -    opaque     ro   bs:
       32768        9297     nvram     rw   nvram:
           -           -    opaque     rw   null:
           -           -    opaque     rw   system:
           -           -   network     rw   tftp:
           -           -    opaque     ro   xmodem:
           -           -    opaque     ro   ymodem:
           -           -   network     rw   rcp:
           -           -   network     rw   ftp:
           -           -    opaque     ro   cns:

On peut utiliser les commandes cd et pwd.

  • dir all affiche l'état de toutes les mémoires (NVRAM, flash, system)
  • copy run start copie la running-config (située en RAM) dans la startup-config NVRAM afin de retrouver sa configuration lors du prochain reboot. Ca équivaut à un write memory (wr pour les intimes), commande qui tombe en désuétude (mais qui est bien parce qu'elle est moins longue à taper).
  • erase flash: Effacer la mémoire flash
  • delete pour supprimer un fichier ; on peut ajouter les paramètres /force et/ou /recursive.
  • more flash:<fichier> permet d'afficher le contenu du fichier
  • sauvegarder la config copy flash:config.text tftp:

Créer une archive

Pour compresser le fichier flash:/new-configs et l'envoyer par tftp :

archive tar /create tftp:172.20.10.30/saved.tar flash:/new-configs

FTP

Pour utiliser le FTP il faut configurer un username et password en mode conf t :

Switch(config)#ip ftp username <login>
Switch(config)#ip ftp password <pwd>

Puis on procède comme pour le tftp, par exemple :

Switch#copy ftp: flash

boot

router#show bootvar
BOOT variable = disk0:c6k222-pk9sv-mz.122-18.SXD5.bin,1;slot0:c6k222-pk9sv-mz.122-18.SXD5.bin,1
CONFIG_FILE variable does not exist
BOOTLDR variable = bootflash:c6msfc2-boot-mz.121-8a.EX
Configuration register is 0x2102

Standby is not up.
router#show bootflash:
-#- ED ----type---- --crc--- -seek-- nlen -length- ---------date/time--------- name
1   .. image        B597155E  21D670   25  1693168 Dec 3 2003 05:54:45 +01:00 c6msfc2-boot-mz.121-8a.EX
2   .. image        DEF2AA44 1B6417C   30 26503820 Aug 10 2004 15:41:48 +02:00 c6sup22-jk2sv-mz.121-20.E3.bin

3784324 bytes available (28197244 bytes used)

Pour changer le mode de démarrage :

router(config)#config-register 0x2102

En sachant que 0x2102 c'est le mode normal, 0x2101 c'est pour booter sur le bootstrap, 0x2100 pour booter sur le Rommon (IOS minimal) et 0x2402 pour booter en mode normal sans charger de config (pour récupérer un mot de passe oublié par exemple).

On peut spécifier le système de fichier où l'équipement ira chercher son IOS :

router(config)#boot system {flash | tftp | disk0 | n'importe quoi d'autre, que sais-je !}

Pour lui préciser l'image à utiliser, s'il y en a plusieurs par exemple :

router(config)#boot system disk0:c6k222-pk9sv-mz.122-18.SXD5.bin

On peut lui en spécifier plusieurs, par ordre croissant de priorité, en les séparant par des virgules.

Pour changer le bootloader par défaut :

router(config)#boot bootldr bootflash:c6msfc2-boot-mz.121-8a.EX

GBIC / types de fibres optiques

Voir la page dédiée : GBIC.

ping

On peut utiliser la commande ping <ip> ; on peut aussi faire un ping étendu en tapant juste ping et en répondant aux questions qui s'affichent (notamment pinguer à partir d'une autre IP que celle d'administration (par défaut)).

router#ping
 Protocol [ip]:
 Target IP address: 1.2.3.4
 Repeat count [5]:
 Datagram size [100]:
 Timeout in seconds [2]:
 Extended commands [n]: y
 Source address or interface:
 Type of service [0]:
 Set DF bit in IP header? [no]:
 Validate reply data? [no]:
 Data pattern [0xABCD]:
 Loose, Strict, Record, Timestamp, Verbose[none]:
 Sweep range of sizes [n]:
 Type escape sequence to abort.
 Sending 5, 100-byte ICMP Echos to 1.2.3.4, timeout is 2 seconds:

On peut forcer un ping à partir d'une interface particulière (celle ayant l'IP 192.168.0.1) directement avec la commande :

ping 1.2.3.4 source 192.168.0.1

… ou directement en spécifiant l'interface source :

ping 1.2.3.4 source Gi0/0.3

Telnet

telnet 192.168.103.24 8000 /source-interface vlan8

Historique

On peut voir la liste des dernières commandes passées sur l'équipement en tapant sh history. Ces commandes peuvent également être rappelées une par une au moyen des flèches haut et bas (voir aussi les raccoucis clavier).

On peut paramétrer la taille de max de l'historique (en nombre de ligne) avec la commande terminal history size <nb ligne>.

Régler l'heure

Pour ajuster l'heure du Switch, on utilise la commande clock set (en mode enable), par exemple :

clock set 14:03:40 12 february 2016

Cependant vu le niveau de criticité des équipements réseau, il est fortement conseillé d'utiliser le protocole NTP qui permet une mise à l'heure automatique et très précise : en mode config :

# configuration de la zone de temps (Paris, UTC+1) :
clock timezone UTC 1
 
ntp server 10.0.0.1 prefer
ntp server 10.0.0.2
 
# vérifications
show ntp status
show ntp associations

source : cisco

Commandes en vrac

setup : lance le menu d'aide à la configuration

exec-timeout X [Y] : défini le temps d'inactivité maximum d'une session avant une déconnexion automatique (X minutes et Y secondes, Y étant facultatif). Cette commande se passe en mode configuration de ligne (config-line#), par exemple pour le port console ou vty.

terminal length <nb_ligne> : détermine le nombre de ligne à l'écran. Historiquement c'est 25 (80 colonnes et 25 lignes) mais “de nos jours” on sait faire mieux. Si le résultat d'une commande dépasse cette valeur, on verra s'afficher “–more–” qui mettra en pause l'affichage jusqu'à une frappe clavier.
Si on veut récupérer l'intégralité d'une longue commande sans voir apparaître ces pauses, on pourra spécifier une longueur infinie : terminal length 0. Très utile si on loggue la session, pour récupérer un show run par exemple.

resume basculer sur une autre session telnet ou ssh précédemment ouverte.

hw-module module 8 reset pour procéder à un “soft reset” du module 8.

Les flex links sont une paire de ports de niveau 2 (switchport ou port-channel) parmi lesquels l'un est backup de l'autre. Cela permet de mettre en place une redondance dans un environnement sans ST.

Lorsque le lien actif tombe (→ down), le lien backup passe de l'état “standby” à l'état “up” / forwarding. Si le lien principal repasse “up”, il passe à l'état “standby” car par défaut il n'y a pas de préemption.

  • le ST est désactivé sur les port “flex links”

Le flex links est configuré sur l'interface qui sera active en lui attribuant une interface backup :

interface Port-channel1
 backup interface Port-channel2
 
show interfaces description
 Interface                      Status         Protocol Description
 Po1                            up             up       Po actif
 Po2                            standby mode   down     Po standby
! NB : il se peut que l'interface backup soit "up"
 
show interfaces switchport backup detail
Switch Backup Interface Pairs:
 
Active Interface        Backup Interface        State
------------------------------------------------------------------------
 
GigabitEthernet0/11 	GigabitEthernet0/12 	Active Up/Backup Standby

Pour activer la préemption :

switchport backup interface po2 preemption mode bandwidth
switchport backup interface po2 preemption delay 60

Liens :

UDLD

L'UDLD (UniDirectional Link Detection) est un protocole Cisco qui s'appuie sur le niveau 1 de la couche OSI pour détecter les problèmes de liens unidirectionnel (par exemple une fibre optique qui casse alors que l'autre fonctionne correctement). L'UDLD détecte également l'inversion de fibre.

Si la fonction est activée et qu'un lien unidirectionnel est détecté, le port associé passera à l'état err. disabled (down).

UDLD permet d'éviter (je cite) :

  • Spanning tree topology loops caused by unidirectional links
  • Incorrect cabling of unbundled fiber strands
  • Transceiver or link hardware malfunction
  • Incorrect or excessive flooding of packets
  • Loss of traffic without notice (also known as black holing)

Pour fonctionner, le protocole doit être activé sur les équipements des 2 cotés du lien, et dans le même mode (normal ou agressif). Le mode agressif ne doit être activé que sur des liens point-à-point ; ce mode permet de tenter de réétablir un connexion avec un voisin qui a disparu, puis shut le port après 8 tentatives. Le mode normal a un temps de réaction de 15 secondes avant blocage du port.

Il est possible de configurer l'UDLD en mode global (conf t), ce qui activera l'UDLD sur toutes les interfaces fibres ; on peut également le désactiver en mode global (par défaut c'est le cas) et l'activer interface par interface. Pour l'activer ou le désactiver globalement sur toutes les interfaces fibre :

(config)# udld {enable | aggressive}

Pour l'activer interface par interface (cette configuration outrepasse la commande globale) :

(config-if)#udld port [aggressive]

Vérifs

show udld neighbor
show udld te6/3
 
Interface Te6/3
---
Port enable administrative configuration setting: Enabled
Port enable operational state: Enabled
Current bidirectional state: Unknown
Current operational state: Advertisement
Message interval: 7
Time out interval: 5
No neighbor cache information stored

Liens :

storm-control

Le storm-control permet de filtrer (dropper) les paquets broadcast, multicast ou unicast s'ils dépassent le pourcentage spécifié par rapport au débit total.

Sur une interface niveau 2 (ici cela bloque les paquets broadcast qui dépassent 1% du trafic)

storm-control broadcast level 1.00

Vérifications

  • sur un 6500
show interface counter storm-control
  • sur un 3750
show storm-control

MTU

Configurer la MTU (Maximum Transmission Unit) permet de passer en “jumbo frame” afin de réduire l'overhead. C'est utile sur les liaisons rapides (gigabit et sup.) afin d'obtenir de meilleurs débits applicatifs.

verify

Après avoir téléchargé une image IOS, il faut vérifier qu'elle est intègre : il peut y avoir eu un problème lors du téléchargement, ou l'image a pu être altérée par une personne malintentionnée. Peut probable mais possible, ça ne sert à rien de prendre le risque car cela prend 30 secondes à vérifier.

Il existe une commande Cisco qui permet de vérifier l'intégrité du hash MD5 d'une image : verify.

Exemple :

verify /md5 bootflash:cat4500-entservicesk9-mz.122-50.SG2.bin
 [..].......Done!
 verify /md5 (bootflash:cat4500-entservicesk9-mz.122-50.SG2.bin) = f0f8a446a7827760561c609b2f9f8890

La commande renvoie la hash MD5 du binaire ; on doit ensuite le comparer au hash fournit sur le site de Cisco.

Pour vérifier directement si le hash est bon on peut le fournir en paramètre de la commande :

verify /md5 bootflash:cat4500-entservicesk9-mz.122-50.SG2.bin f0f8a446a7827760561c609b2f9f8890
 [..].......Done!
 Verified (bootflash:cat4500-entservicesk9-mz.122-50.SG2.bin) = f0f8a446a7827760561c609b2f9f8890

Voir aussi les best-practices de Cisco pour vérifier une image IOS.

IP SLA

IP SLA (Service Level Agreement) est un mécanisme permettant de tester le réseau et d'en tirer les indicateurs suivants :

  • connectivité
  • Timeout
  • RTT (Round-trip time)
  • gigue (aller-retour et one-way)
  • pertes de paquets
  • latence
  • Mean opinion score (MOS)

Pour cela on configure un routeur en initiateur et un en répondeur ; le premier envoie à intervalles réguliers des paquets (grossièrement des PING) et calcule les mesures précédemment listées. Ces valeurs sont récupérables par SNMP.

source : cisco.com

Forwarding / routing

Le forwarding c'est routage effectif des paquets. Tous les routeurs le font par défaut.
Le routing implique construction de tables de routage ; un routeur IP fait toujours du forwarding ; mais s'il n'a pas de routage dynamique (OSPF, EIGRP) il ne fait pas de routing.

Changer d'adresse MAC

Sur les châssis Catalyst, qui font du routage et de la commutation, les SVIs utilisent toutes la même adresse MAC. Normalement cela ne pose pas de problème pour les commutateurs intermédiaires car ces adresses sont vues dans des VLANs différents. En revanche si on utilise des technologies bizarres comme du QinQ, qui consiste à encapsuler des VLANs dans un autre, cela peut poser des problèmes d'adresse MAC duplicate ou flapping :

Feb 28 13:49:17 switch1 425287: Feb 28 13:49:16: %SW_MATM-4-MACFLAP_NOTIF: Host 0023.eaXX.XXX0 in vlan 873 is flapping between port Po1 and port Te2/0/1

Bref, la solution est d'identifier la machine à qui appartient cette adresse MAC :

router1#sh int vlan 724 | i address
  Hardware is EtherSVI, address is 0023.eaXX.XXX0 (bia 0023.eaXX.XXX0)
!
router1#sh int vlan 725 | i address
  Hardware is EtherSVI, address is 0023.eaXX.XXX0 (bia 0023.eaXX.XXX0)

Puis de trouver une adresse MAC libre (par exemple lister la plage d'adresses MAC réservées au châssis (dans notre cas un c6500)) :

router1#show catalyst6000 chassis-mac-addresses
  chassis MAC addresses: 1024 addresses from 0023.eaXX.XXX0 to 0023.eaXX.XXXf

On voit que l’adresse MAC attribuée par défaut à toute les SVIs est la première de la plage. Il faut donc en prendre d'autre non utilisées :

interface vlan724
 mac-address 0023.eaXX.XXX1
!
interface vlan725
 mac-address 0023.eaXX.XXX2
!
! etc...

Notes

routeur   DTE (Data Terminal Equipement)
           |
           |
CSU/DSU   DCE (Data Communication Equipement ; ex : modem ; c'est lui qui gère la vitesse d'horloge)
CSU/DSU (Channel/Data Service Unit) : Equipement de bout de LAN/WAN
DSU : fourni un signal d'horloge à l'équipement de bout du consommateur
CSU : termine le signal de transport multiplexé ; permet de faire des tests de diagnostic
ETTD/ETCD (Equipement Terminal de Traitement/Circuit de Données) == DTE/DCE en anglais
AUI pour se connecter à un transsiver externe pour conversion vers un type de média spécifique
BRI port pour les connexion ISDN

Standards IEEE

802.3z = 1000BASE-SX
802.3ab = 1000BASE-T
802.5 = token ring
802.3ae = 10 Giga Ethernet
802.3u = 100BASE-TX

Troubleshot

Liens

informatique/cisco/start.txt · Last modified: 2019/02/27 16:26 by pteu