This is an old revision of the document!
Table of Contents
informatique réseaux cisco
Index de la rubrique cisco
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 avecdisable
. 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 configurationctrl+a
déplace le curseur en début de lignectrl+e
déplace le curseur en fin de ligneesc+b
déplace le curseur d'un mot à gauche du curseuresc+f
déplace le curseur d'un mot à droite du curseur
ctrl+u
supprime tous les caractères avant le curseurctrl+k
supprime tous les caractères après le curseurctrl+w
supprime le mot avant le curseurctrl+d
supprime un caractère à gauche du curseur (équivalent dubackspace
)
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.
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'interfaceduplex full
forcer le mode full-duplexspeed 100
forcer la vitesse à 100Mbpsspanning-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 globalespanning-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 enup/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é
Testé avec un Catalyst 2940
Mode opératoire pour récupérer l'accès à un switch dont on a oublier le mot de passe d'accès.
- Débrancher le switch
- Le rebrancher en maintenant le bouton “mode” enfoncé, jusqu'à ce que le menu de boot apparaisse
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
(la complétion automatique ne fonctionne pas)
flash_init
load_helper
- Sauvegarder la config :
rename flash:config.text flash:config.old
- Démarrer :
boot
- Passer en mode enable :
enable
- Restaurer la config :
copy flash:config.old flash:config.text
- Sauver la conf :
copy flash:config.text system:running-config
- Changer le mot de passe :
(config)# enable secret <pwd>
- Sauvegarder la conf sur la flash :
write memory
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.
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 diag
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éesshow 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 statisticsshow environment connector
affiche un ersatz de la commande ci-dessus, mais sur des petits modèlesshow environment temperature all
affiche toutes les sondes de températures du châssis 6500show aliases
voir les aliasshow module
voir la liste des modules installés avec leur nb de ports, le modèle et le numéro de sérieshow inventory
voir la liste des cartes installées et leur numéro de sérieshow run
pour voir la running-configshow start
pour voir la startup-configshow line
pour voir les lignes CON/AUX/TTY/VTYshow 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 CISCOshow cdp neighbor [detail]
pour voir les voisins du switch via le CDP (on peut désactiver le CDP sur l'équipement parno 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 Xclear mac-address-table dynamic int X
permet de reseter les @ MAC apprises dynamiquement sur l'interface Xclear 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 à unwrite 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 flashdelete
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
. Cependant vu le niveau de criticité des équipements réseau il est conseillé d'utiliser le protocole NTP qui permet une mise à l'heure automatique et très précise.
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.
Flex links
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
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.
- Sur les switchs catalyst : Jumbo/Giant Frame Support on Catalyst Switches Configuration Example sur cisco.com
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