User Tools

Site Tools


informatique:cisco

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatique:cisco [2008/11/21 19:06] – GLBP pteuinformatique:cisco [2008/12/15 18:06] (current) – effacée pteu
Line 1: Line 1:
-{{tag>informatique réseaux cisco}} 
  
-====== Commandes Cisco ====== 
- 
-{{ http://www.eecs.berkeley.edu/IPRO/WICSE/images/cisco%20logo.gif}} 
- 
-//à valider et insérer\\ 
-telnet 132.169.103.24 8000 /source-interface vlan181\\ 
-PVID = n° du VLAN non taggué (le VLAN en access sur un port access et le VLAN natif sur un port trunk)\\ 
-bla// 
- 
-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, mais qui me sert d'aide-mémoire bien pratique. 
- 
-Ne travaillant que sous IOS, il n'y aura ici aucune référence aux commandes relatives aux vieux catOS. 
- 
-=====B.A.-BA===== 
- 
-====Les types de mémoire==== 
-  * **DRAM** Dynamic Random-Access Memory ou **RAM** tout court ; mémoire rapide et non permanente (elle s'efface lors d'un reboot ou d'un arrêt) ; elle contient la running-config, la table de routage, les caches, etc... 
-  * **ROM** (Read-Only Memory) 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 
-Ce bref récapitulatif montre la différence entre la running-config et la startup-config : 
-  * **running-config** c'est la conf courante, celle qui est modifiée dynamiquement quand on tape une commande ; elle n'est pas enregistrée automatiquement. C'est la copie de travail de la startup. 
-  * **startup-config** c'est une sauvegarde de la running-config, elle est stockée sur la NVRAM et est donc conservée lors de l'arrêt de l'équipement. Lors d'un reboot, 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 liés à différents privilèges, que l'on peut comparé aux consoles //utilisateur// ($) et //root// (#) sous Unix : 
-  * **mode utilisateur** ''Switch>'' : le mode par défaut quand on accède au switch 
-  * **mode privilégié** ''Switch#'' : on y accède depuis le mode utilisateur par la commande ''enable'' et on le quitte avec ''disable'' 
- 
-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). 
-  Switch> 
-  Switch>en 
-  Password: 
-  Switch#conf t 
-  Enter configuration commands, one per line.  End with CNTL/Z. 
-  Switch(config)# 
-On peut 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 modes 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==== 
-IOS permet : 
-  * 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 (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 du 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 long ou bloqué. 
-Sous les IOS on utilise l'équivalent : ''ctrl+shift+6'' ou ''ctrl+shift+9'' (+ "x" ? à valider.). 
- 
-A valider, sous Linux il paraitrait qu'il faille utiliser ''ctrl+alt'' au lieu de ''ctrl+shift'' 
- 
-===Séquence d'échappement=== 
-C'est une séquence de touches qui, lorsqu'il est envoyé à un équipement Cisco lors du boot, le fait basculer en rommon. Cette séquence dépend du logiciel utilisé ; Cisco liste les plus connus sur cette page : [[http://www.cisco.com/warp/public/701/61.html|Standard Break Key Sequence Combinations During Password Recovery]]. 
- 
-====Commandes filtres==== 
-Quand on fait une commande qui renvoie une grosse sortie, on peut filtrer les résultats avec le caractère ''|'' (pipe) (entouré d'espaces) suivi des mots-clés ''begin'', ''include'' ou ''exclude'', suivi d'un texte. Cela sélectionnera que les lignes qui, respectivement, commencent, contiennent ou ne contiennent pas le texte spécifié. 
- 
- 
-=====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 comme sur un routeur). 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** (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 un 3500 ou un 3700). 
- 
- 
-====Passerelle==== 
-Pour sortir du réseau, on doit spécifier la passerelle du réseau, c'est à dire la machine qui va router les paquets : 
- 
-  (conf t)#ip default-gateway 192.168.0.254 
- 
-Évidemment celle-ci doit être dans le VLAN pour être inaccessible ! 
- 
-====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 d'éviter au routeur de perdre du temps à rechercher un nom de machine qu'il ne connait pas : 
-  Router#sxow 
-  Translating "sxow" ...domain server (255.255.255.255) 
-  % Unknow command or computer name, or unable to find computer address 
- 
-====logging synchronous==== 
-On peut recevoir des messages du routeur qui trouble l'entrée des commandes. Voici une illustration : 
-  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 (**M**essage **O**f **T**he **D**ay) : 
-  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===== 
- 
-Un //Virtual LAN, réseau virtuel, permet de créer plusieurs réseaux sur différents ports du switch.// 
-Cela consiste à tagger les paquets des LANs virtuels et à les échanger via des liens trunk. Ainsi on peut avoir différents VLANs sur plusieurs switchs, avec un domaine de broadcast propre à chaque VLAN. 
-but : segmentation (un domaine de broadcast), flexibilité (possibilité de plusieurs vlan pour un switch), sécurité (lié à la segmentation). 
-Il existe 2 protocoles pour tagguer les vlans : 
-  * **802.1q** : normalisé par l'IEEE, aussi appelé **dot1q**, qui ajoute un champ de 4 octets dans la trame Ethernet pour le tagging : 16 bits pour le champ Ethertype (0x8100), 3 bits pour la priorité de la trame (802.1p), 1 bit pour identifier un réseau token ring, et 12 bits pour le VLAN ID (soit 4096 possibilités). C'est appelé //single tagging// ou //internal tagging//. Ce protocole n'est utilisé que sur des liens point-à-point (point-to-point). 
-  * **ISL** (Inter Switch Link) est le protocole propriétaire CISCO déuet actuellement. Il encapsule la trame Ethernet en lui rajoutant un header de 26 octets et un FCS (CRC) de 4 octets. Le VLAN ID est codé dans un champ de 10 bits, donc ce protocole ne supporte, lui, que 1024 VLANs max. Comme pour le 802.1q, ce protocole n'est utilisé que sur des liens point-à-point (point-to-point). 
- 
-Les différents types de vlan : 
-  * **vlan par défaut** : le VLAN 1, celui dans lequel sont mis tous les ports par défaut. 
-  * **vlan natif** : les trames du VLAN natif ne sont pas tagguées afin d'assurer l'inter-opérabilité avec les matériels ne supportant pas le tagging. C'est par ce VLAN que transitent les protocoles de contrôle tels le CDP, VTP, PAgP et DTP. 
-  * **vlan de management** : VLAN dans lequel est située d'IP de management du commutateur, via laquelle on accède au matériel pour l'administrer. 
-  * **vlan utilisateur** : VLAN "normal" = tout le reste. 
- 
-**Une best-practice concernant les VLANs consiste à isoler le VLAN natif (ni data ni utilisateurs dedans) ainsi que le VLAN d'administration (afin d'y appliquer un contrôle d'accès drastique, sécurité oblige).** 
- 
-Les différents VLANs : 
-  * le VLAN 1 est, comme vu plus haut, le VLAN natif par défaut. 
-  * les VLANs 1 à 1001 sont les **VLANs standards**, enregistrés dans le fichier ''VLAN.dat'' sur la mémoire flash (VLAN database). 
-  * les VLANs 1002 à 1005 sont des **VLANs réservés** pour FDDI et Token Ring ; ils sont créés automatiquement et on ne peut pas les supprimer. 
-  * sur un switch configuré en mode transparent utilisant une version récente d'IOS (version "enhanced") il est possible de créer des **VLANs étendus**, de 1006 à 4094. Cependant ceux-ci ne sont pas sauvegardés dans la VLAN database. 
- 
-====La règle des 80/20==== 
-Vilfredo Paretto était un économiste italien qui avait "découvert" que 80% des richesses d'un pays étaient contrôlées par 20% de la population. 
- 
-La **règle des 80/20** en réseau en est fortement inspirée : "on" a constaté que, généralement, 80% du trafic réseau ne concernait que des flux locaux (serveurs locaux, imprimantes, etc...) alors que seulement 20% des flux étaient distants (fermes de serveurs, internet, etc...). Partant de là on a donc cherché à privilégier les flux intra-VLAN en créant des VLANs par fonction et non géographiques. 
- 
-De nos jours, les coûts liés à la bande-passante ont baissé et on constate l'apparition de fermes de serveur centralisées (data-center, etc...) ce qui a inverser la métrique de cette règle, qui est devenue la règle des 20/80. 
- 
-Ces 2 règles sont essentielles pour choisir le type de VLAN que l'on va mettre en place : 
-  * VLANs locaux si on se rapproche de la règle des 80/20 
-  * VLANs géographiques si on se rapproche de la règle des 20/80 
- 
-====Création d'un vlan==== 
-Pour créer le vlan 5 de nom "vlan cinq" (tiens, c'est original). 
- 
-  Switch(config)#vlan 5 
-  Switch(config-vlan)#name "vlan cinq" 
- 
-Avant il fallait rentrer dans la ''vlan database'' ; c'est désormais déconseillé car c'est une commande en voie de désuétude.  
- 
-La configuration des vlans est contenu dans le fichier ''flash:/vlan.dat'', qu'il faut effacer en plus du fichier de config (startup-config) si on veut nettoyer __complètement__ le switch. 
- 
- 
-====Mode access==== 
-C'est le cas d'un port physiquement relié à une machine. 
- 
-===Configuration statique=== 
-//Caractéristiques : sécurisé, facile à configurer, facile à monitorer.// 
- 
-Il faut maintenant attribuer des ports physiques à ce vlan, par exemple le fast ethernet 0/2 : 
- 
-  Switch(config)#int fa0/2 
-  Switch(config-if)#switchport mode access 
-  Switch(config-if)#switchport access vlan 5 
- 
-===VMPS (configuration dynamique)=== 
-Un **VLAN Management Policy Server** permet d'attribuer des VLANs dynamiquement sur des ports physiques. 
- 
-C'est un switch ou un serveur qui centralise une base de données faisant correspondre à une adresse MAC numéro de VLAN (VLAN ID). Lorsqu'une machine se connecte sur un port, une requête est émise par le switch d'accès au VMPS afin de savoir dans quel VLAN est la machine ; il configurera automatiquement le port : 
-  * dans le bon VLAN 
-  * en mode portfast 
- 
-C'est ce qu'on appelle le **Dynamic VLAN configuration**. Ce mode est incompatible avec le mode %%port-security%% et le mode trunk. 
- 
-Le ports doivent être configurés de cette façon : 
- 
-  switchport access dynamic 
- 
-===VLAN auxiliaire=== 
-Avec l'avènement de la VOIP il existe un mode "batard" entre le mode access et le mode trunk (ce n'est pas très correct de dire cela mais ça permet de bien s'imaginer la chose, je trouve). Il permet de préciser, sur un port en mode access, un VLAN supplémentaire spécifique pour la voix. C'est utilisé dans le cas où la machine est reliée à un téléphone IP, qui relais les datas du PC + ses trames de VOIP vers le switch. Dans ce cas le "VLAN voix" est appelé le **VLAN auxiliaire** ; il sera taggué et uniquement connu du téléphone et du switch, n'étant pas relayé vers le PC. 
- 
-====Mode trunk==== 
-Pour diffuser des VLANs entre 2 switchs (par exemple) par le même lien on doit passer le lien inter-switch en mode trunk : cela consiste à ajouter une information sur chaque paquet Ethernet permettant de définir l'appartenance à un VLAN : c'est ce qu'on appelle le tagging (cf plus haut). 
- 
-Un port trunk doit être configuré en ''switchport'' (de niveau 2) et en ''mode trunk''. Ensuite, on doit spécifier les VLANs qui transitent par ce port avec la syntaxe : ''switchport trunk allowed vlan {all | none | [add | remove | except] <VLANs>}''. Par défaut un port en mode trunk balance tous les VLANs du commutateur. 
- 
-Enfin il faut spécifier le protocole utilisé pour le trunk : ''switchport trunk encapsulation [dot1q | isl | negociate]'' (par défaut, //negociate// utilisera l'ISL). 
- 
-  Switch(config-if)#switchport 
-  Switch(config-if)#switchport mode trunk 
-  Switch(config-if)#switchport trunk encapsulation dot1q 
-  Switch(config-if)#switchport trunk allowed vlan add 2,5 
- 
- 
-Pour modifier le VLAN natif, c'est-à-dire le VLAN non taggué (par défaut c'est le 1 ; ici on le passe à 17) on passe la commande : 
- 
-  Switch(config-if)#switchport trunk native vlan 17 
- 
-===DTP=== 
-**Dynamic Trunking Protocol** permet à un port de dialoguer avec le port d'en face dans le but de passer en mode trunk ou non. 
- 
-  * ''switchport nonegociate'' ne négocie pas le trunk ; il n'est accessible que sur un port configuré en mode access ou trunk. 
-  * ''switchport mode dynamic {auto | desirable}''. Cela permet de laisser le port s'autoconfigurer : 
-    * mode **desirable** : négocie __activement__ pour passer le lien en trunk ; il passe donc en mode trunk face à un port configuré en trunk, desirable ou en auto. C'est le mode par défaut. 
-    * mode **auto** : négocie __passivement__ le lien en trunk ; il passe en trunk face à un port configuré en trunk ou desirable. 
- 
-Si rien n'est spécifié et c'est une __faille potentielle__ quand c'est sur un port relié à un PC (ce dernier peut se faire passer pour un switch, forcer en mode trunk, et faire passer tous les VLANs dessus). 
- 
-==Synthèse des interactions== 
- 
-|                   ^ Dynamic auto ^ Dynamic desirable ^ Trunk        ^ Access       ^ 
-^ Dynamic auto      |  access      |  trunk            |  trunk        access      | 
-^ Dynamic desirable |  trunk        trunk            |  trunk        access      | 
-^ Trunk              trunk        trunk            |  trunk        déconseillé | 
-^ Access            |  access      |  access            déconseillé |  access      | 
- 
- 
-==Vérification== 
- 
-  sh dtp interface 
-   DTP information for GigabitEthernet1/0/1: 
-   TOS/TAS/TNS:                              ACCESS/OFF/ACCESS 
-   TOT/TAT/TNT:                              802.1Q/NEGOTIATE/802.1Q 
-   Neighbor address 1:                       000000000000 
-   Neighbor address 2:                       000000000000 
-   Hello timer expiration (sec/state):       never/STOPPED 
-   Access timer expiration (sec/state):      never/STOPPED 
-   Negotiation timer expiration (sec/state): never/STOPPED 
-   Multidrop timer expiration (sec/state):   never/STOPPED 
-   FSM state:                                S1:OFF 
-   # times multi & trunk                     0 
-   Enabled:                                  no 
-   In STP:                                   no 
-    
-   Statistics 
-   ---------- 
-   203 packets received (0 good) 
-   203 packets dropped 
-       0 nonegotiate, 0 bad version, 0 domain mismatches, 
-       0 bad TLVs, 0 bad TAS, 0 bad TAT, 0 bad TOT, 203 other 
-   0 packets output (0 good) 
-       0 native, 0 software encap isl, 0 isl hardware native 
-   0 output errors 
-   0 trunk timeouts 
-   1 link ups, last link up on Mon Mar 01 1993, 00:01:57 
-   2 link downs, last link down on Wed Mar 10 1993, 23:43:59 
- 
-====Vérification==== 
-  Switch#sh vlan [ brief | id <vlan_id> | name <vlan_name> ] 
-  Switch#sh vlan brief 
-   
-  VLAN Name                             Status    Ports 
-  ---- -------------------------------- --------- ------------------------------- 
-  1    default                          active    Fa0/1,Fa0/2, Fa0/3, Fa0/4, Fa0/5 
-                                                  Fa0/6, Fa0/7, Fa0/8, Fa0/9 
-                                                  Gi0/1 
-  5    vlan cinq                        active 
-  1002 fddi-default                     act/unsup 
-  1003 token-ring-default               act/unsup 
-  1004 fddinet-default                  act/unsup 
-  1005 trnet-default                    act/unsup 
- 
-Les vlans 1, 1002, 1003, 1004 et 1005 sont les vlans par défaut de chaque type d'interface ; on ne peut pas les supprimer.\\ 
-Là on voit qu'aucun port n'a accès au vlan 5 (aucun port n'est en mode access pour le VLAN 5). 
- 
-=====VTP===== 
-Le **Vlan Transport Protocol** permet de propager la configuration des VLANs sur un domaine VTP (un ensemble de switch convenu). Le VTP est propagé __uniquement sur les ports trunk__ ; les conditions suivantes sont requises pour que le VTP fonctionne correctement : 
-  * chaque switch doit appartenir au même domaine VTP 
-  * les switchs doivent être adjacents 
-  * les switchs doivent être reliés entre eux par des liens trunk 
- 
-Chaque switch envoie les information suivantes : 
-  * le nom du domaine VTP 
-  * le numéro de révision 
-  * les VLANs connus ainsi que leurs paramètres spécifiques 
- 
-Chaque switch envoie des //VTP advertisement// par défaut toutes les 5 minutes a ses voisins sur l'adresse MAC multicast ''01-00-0C-CC-CC-CC''. 
- 
- 
-====Les 3 modes de fonctionnement==== 
- 
-Il existe 3 modes de fonctionnement pour le VTP : 
- 
-  * **serveur** : les serveurs centralisent la conf en écriture, et la propagent vers les clients --et serveurs-- du même domaine. Chaque modification de la base des VLAN incrémente la révision du VTP et est transmise à tout le domaine. 
-  * **client** : les clients reçoivent et ré-émettent la conf de leur domaine VTP, qu'ils gardent en lecture seule : impossible de créer un VLAN en mode client. 
-  * **transparent** : le mode transparent permet de garder une base de VLAN indépendante (locale) à l'équipement. Dans ce mode, la révision VTP reste toujours à 0. En revanche, le switch relaie les informations VTP qu'il reçoit (en VTP v2 seulement). 
- 
-Un commutateur ne peut appartenir qu'à un seul domaine VTP ; en revanche il peut y avoir plusieurs domaines VTP dans un même réseau. 
- 
-Les confs envoyées par VTP disposent d'un numéro de version par domaine VTP ; les équipement se synchronisent sur le **dernier numéro de version de ce domaine**. Il faut donc faire attention lorsqu'on rajoute un switch dans un réseau : si ce dernier appartient à un domaine existant et que son numéro de version est > à celui du domaine, tous les équipements du domaine vont se synchroniser sur sa base, et donc perdre leur configuration ! Il faut donc bien nettoyer un équipement qu'on insère dans un réseau : 
-  * soit on supprime le fichier **vlan.dat** qui contient les informations VTP (''delete flash:vlan.dat'') 
-  * soit on change le domaine du switch pour reseter son compteur ; puis on remet le domaine voulu 
-  * (à vérifier) soit on fait un ''delete vtp'' en mode privilégié (uniquement sur les dernières versions d'IOS). 
-  * si le switch est en mode transparent il ne communique pas sa version de sa vlan database donc il est normalement "safe". 
- 
-Pour ce protéger de cela, il est fortement conseillé de définir un mot de passe au domaine VTP. Ainsi un switch connecté par inadvertance sur un réseau de prod ne pourra pas modifier pas les confs des autres équipements sans ce mot de passe. 
- 
- 
-====Les différents types d'advertisement==== 
- 
-  * **Summary Advertisements** envoyés par les clients toutes les 5 minutes ou lors d'un changement de topologie 
-  * **Subset Advertisements** faisant suite à un **summary advertisements**, envoyés par les serveurs VTP après un changement de configuration. Un advertisement est généré par VLAN modifié. 
-  * **Avertisement Requests** est une demande d'information sur un VLAN envoyés par un client (lorqu'on ajoute un switch dans un domaine VTP par exemple). 
- 
-====Configuration==== 
- 
-Comme pour la création de VLAN, elle peut se faire dans le mode de configuration des vlans (en entrant dans la ''vlan database''), mais c'est une façon dépréciée. On doit maintenant configurer le vtp à partir du mode config : 
- 
-  Switch(conf t)#vtp domain <mon_domaine> 
-  Switch(conf t)#vtp mode [serveur | client | transparent] 
-  Switch(conf t)#vtp password <mdp_du_domaine_VTP> 
- 
- 
-====Pruning==== 
-Comme pour le multicast, le **pruning** est l'**élagage** des liens de retransmission des données inutiles. Cela permet à un switch de détecter sur quels ports il n'est pas nécessaire de retransmettre les broadcast, flood ou multicast. Ainsi, il ne les retransmettra que sur les ports reliés aux switchs qui ont des ports en access dans ce VLAN, pas aux autres. 
- 
-Configuration du VTP pruning : 
- 
-  Switch(conf t)#vtp pruning 
- 
-Ou alors : 
- 
-  Switch(conf t)#set vtp pruneeligible {VLAN_list} 
- 
-Pour supprimer le pruning : 
- 
-  Switch(conf t)#clear vtp pruneeligible {VLAN_list} 
- 
-====Vérification==== 
-  Switch#sh vtp status 
-  VTP Version                     : 2 
-  Configuration Revision          : 0 
-  Maximum VLANs supported locally : 128 
-  Number of existing VLANs        : 7 
-  VTP Operating Mode              : Transparent 
-  VTP Domain Name                 : vtp_montage 
-  VTP Pruning Mode                : Disabled 
-  VTP V2 Mode                     : Disabled 
-  VTP Traps Generation            : Disabled 
-  MD5 digest                      : 0x92 0xEF 0xF4 0xB5 0xA8 0xCC 0x3F 0x1A 
-  Configuration last modified by 10.2.1.30 at 3-5-93 00:41:31 
- 
-====Recommandations==== 
-  * utiliser un mot de passe par domaine VTP 
-  * ne pas créer de domaine VTP trop étendu 
-  * ne pas dépasser 1 ou 2 VTP server 
- 
-=====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 : 
- 
-  * ''switchport port-security mac-address <adresse MAC>'' pour limiter l'accès au port à une ou plusieurs adresses MAC particulières (réentrer la commande pour chaque adresse MAC) 
-  * ''switchport port-security mac-address sticky'' pour limiter l'accès à une interface à la prochaine adresse mac qui se connecte 
-On limite le nombre d'adresses mac avec ''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}'' 
- 
-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 parmis 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 replissent la table d'adresse MAC du switch, pouvant aboutir dans le pire des cas à transformer le switch en hub (si sa table d'adresse mac est pleine). 
- 
-Pour vérifier la configuration : 
-  sh port-security [interface fa0/1] 
- 
-====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 
- 
-====troubleshooting==== 
-  Switch#sh interface fa0/0 
- 
-Lancer cette commande et vérifier : 
-  * que l'interface est "up/up" (''<interface> is up, line protocol is up'') 
-  * les ''input errors'' (avec tout ce qui suit : CRC, frame, etc...) 
-  * les ''output errors'' 
-  * les ''collisions'' 
-  * les ''restarts'' (si l'interface a du redémarrer à cause d'erreurs). 
- 
-  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''). 
- 
- 
-=====Gestion des accès===== 
- 
-Différents types d'accès : l'accès série (port console ou auxiliaire) et l'accès distant (telnet ou ssh). 
- 
-Pour la première configuration il faut se connecter au port **console** avec le câble fourni par Cisco. Sous Windows on ouvre l' //Hyper terminal//, on saisit un nom de connexion bidon, on clique sur "default" et on se connecte. Il faut parfois taper "entrée" pour activer l'affichage. Normalement si le switch n'est pas configuré il ne faut pas saisir de mot de passe pour se logguer ni pour passer en mode privilégié. 
-  Switch> en 
-  Switch# 
- 
-====Mode enable==== 
-En mode config on va saisir un nouveau mot de passe pour le mode privilégié. On a le choix entre, respectivement, le garder en clair dans la config ou le hacher : 
-  Switch(config)# enable password <pwd> 
-  Switch(config)# enable secret <pwd> 
-Si les 2 sont configurés, le ''enable secret'' est prioritaire ; c'est donc celui-là qu'il faudra saisir. 
- 
-====Console==== 
-On veut mettre en place un mot de passe pour se connecter sur la ligne console (CTY) : 
-  Switch(config)# line console 0 
-  Switch(config-line)# login 
-  Switch(config-line)# password <pwd> 
-''login'' indique une authentification par mot de passe, ''password'' précise le mot de passe. 
- 
-====Ligne auxiliaire==== 
-La principale différence entre les ports console (CTY) et auxiliaire (AUX) est que le port auxiliaire supporte le contrôle de flux hardware ; le port console non. Le contrôle de flux permet un contrôle des transmissions, idéal pour une connexion "rapide" (historiquement bien sûr !) telle qu'un modem, alors que le port console suffit pour une connexion série @ 9600bps. 
-  Switch(config)# line aux 0 
-  Switch(config-line)# login 
-  Switch(config-line)# password <pwd> 
- 
-====ligne vty==== 
-Elles correspondent à des lignes virtuelles (des connexions non physiques comme le port console ou AUX), celles utilisées quand un utilisateur se connecte en telnet ou ssh. 
- 
-Tant qu'un mot de passe n'est pas spécifié (via la console), les sessions telnet sont interdites pour des problèmes de sécurité. 
-De plus on ne peut y accéder que quand on a spécifié une adresse IP d'administration au switch (c'est logique puisqu'on y accède par le réseau). 
- 
-Souvent les routeurs ne comprennent que 5 lignes vty (''line vty 0 4''), alors que les switchs peuvent en avoir 8 ou 16 lignes (''line vty 0 15''): 
-  P4SW#sh line  
-     Tty Typ     Tx/Rx    A Modem  Roty AccO AccI   Uses   Noise  Overruns   Int 
-  *    0 CTY              -    -      -    -    -      0           0/      - 
-  *    1 VTY              -    -      -    -    -      4           0/      - 
-       2 VTY              -    -      -    -    -      0           0/      - 
-       3 VTY              -    -      -    -    -      0           0/      - 
-       4 VTY              -    -      -    -    -      0           0/      - 
-       5 VTY              -    -      -    -    -      0           0/      - 
-       6 VTY              -    -      -    -    -      0           0/      - 
-       7 VTY              -    -      -    -    -      0           0/      - 
-       8 VTY              -    -      -    -    -      0           0/      - 
-       9 VTY              -    -      -    -    -      0           0/      - 
-      10 VTY              -    -      -    -    -      0           0/      - 
-      11 VTY              -    -      -    -    -      0           0/      - 
-      12 VTY              -    -      -    -    -      0           0/      - 
-      13 VTY              -    -      -    -    -      0           0/      - 
-      14 VTY              -    -      -    -    -      0           0/      - 
-      15 VTY              -    -      -    -    -      0           0/      - 
-      16 VTY              -    -      -    -    -      0           0/      - 
- 
-On veut les configurer tous les vtys ensemble : 
-  Switch(config)# line vty 0 4 
-  Switch(config-line)# login 
-  Switch(config-line)# password <pwd> 
- 
-On peut spécifier le type de protocole qu'on veut utiliser (ici ssh et telnet) : 
-  Switch(config)# line vty 0 4 
-  Switch(config-line)#transport input telnet ssh 
- 
- 
-Dans les 3 cas ci-dessus, on demande un mot de passe pour établir une connexion ; si on veut demander aussi un login, il faut rajouter : 
-  Switch(config)#line vty 0 4 
-  Switch(config-line)login local 
- 
-On spécifie de nom d'utilisateur par la commande : 
-  Switch(config)#username toto password toto 
- 
- 
-====SSH==== 
-//Les lignes vty doivent être copnfigurées (cf § précédent)// 
- 
-Le SSH ne fonctionne qu'avec un hostname et un nom de domaine (à vérif) : 
-  Switch(config)# ip domain-name <nom_de_domaine> 
-  Switch(config)# hostname toto 
- 
-On peut préciser certains paramètres (facultatif) : 
-  toto(config)#ip ssh version 2 
-  toto(config)#ip ssh time-out 120 
-  toto(config)#ip ssh authentication-retries 3 
- 
-Configuration de l'accès SSH : 
-//à valider : le fait de devoir faire un ''toto(config)# aaa new-model''// 
- 
-Génération d'un couple de clés RSA : 
-  toto(config)# crypto key generate rsa [modulus <360-2048>] 
- 
-Les lignes vty doivent être configurées (cf § précédent). 
- 
-On créé ensuite un compte local : 
-  toto(config)# username <login> password <pwd> 
- 
- 
-=====Gestion des sessions===== 
- 
-Pour afficher les sessions courante sur l'équipement : 
-  show sessions 
- 
-Pour afficher la liste des utilisateurs connectés : 
-  show users 
- 
-(Et aussi : ''show line'') 
- 
-Pour déconnecter une session : 
-  disconnect <n°_de_session> 
- 
- 
-=====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 
- 
- 
-=====STP===== 
- 
-Le **Spanning-Tree Protocol** 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). 
- 
-Les communications entre les commutateurs se font par des paquets appelés BPDUs, qui sont notamment composés du "bridge priority" sur 2 octets suivi de la MAC adresse du commutateur qui parle (donc au total 2 + 6 = 8 octets). Ces 8 octets forment le BID (bridge ID) et servent à déterminé qui sera le **root bridge**. **La priorité la plus basse est la meilleure** ; à priorité égale, le switch qui a la plus petite @ MAC devient le root bridge. A partir de son élection, tous les autres switchs du réseau vont déterminer le chemin le plus court vers celui-ci, en additionnant les coûts des liens traversés : 
- 
-  * 100 pour 10Mbps 
-  * 19 pour du 100Mbps 
-  * 4 pour 1Gbps 
-  * 2 pour 10Gbps, etc... 
- 
-On peut influer sur l'algorithme STP en modifiant manuellement le coût d'une interface : en l'augmentant, on "oblige" le commutateur à prendre un chemin moins coûteux (ici le coût du lien sur l'interface fa0/1 du switch passe de 19 à 200) : 
-  Switch(config)#int fa0/1 
-  Switch(config-if)#spanning-tree cost 200 
- 
- 
-====STP BPDU Guard==== 
-Désactive le port sur lequel il reçoit des BPDUs si le portfast est activé sur le port. Il faut réactiver manuellement le port. 
-Pour activer le BPDU guard, on se met en config-if : 
-''spanning-tree bpduguard enable'' 
- 
-NB : on peut activer par défaut sur tous les ports __configurés en portfast__ avec la commande globale ''spanning-tree portfast bpduguard default'' 
- 
-====STP BPDU filter==== 
-''spanning-tree bpdufilter enable'' permet d'ignorer les BPDUs venant de cette interface (drop) sans pour autant la désactiver. 
- 
-NB : on peut activer par défaut sur tous les ports __configurés en portfast__ avec la commande globale ''spanning-tree portfast bpdufilter default''. 
- 
-====STP Root Guard==== 
-Désactive le port si un BPDU de plus faible priorité est reçu (= si le switch de l'autre coté tente de devenir root) ; le port se réactive automatiquement lorsque l'équipement cesse de recevoir des BPDUs supérieurs. 
- 
-Pour activer le root guard, on se met en config-if : 
-''spanning-tree guard root'' 
- 
-http://www.cisco.com/warp/public/473/74.html 
- 
-====Loop guard==== 
-Le **loop guard** est une sécurité supplémentaire pour éviter les boucles ST. Lorsqu'un port "blocking" cesse de recevoir des BPDUs, il passe normalement aux états listening-learning et forwarding. Si le loop guard est activé, ce dernier passera à l'état loop-inconsistent blocking et le message suivant sera écrit dans les logs : 
- 
-  SPANTREE-2-LOOPGUARDBLOCK: No BPDUs were received on port 3/2 in vlan 3. Moved to loop-inconsistent state. 
- 
-Lorsque le port recevra à nouveau des BPDUs, il se débloquera automatiquement. 
- 
-====RST==== 
- 
-Le **Rapid Spanning-Tree** est une modification du ST qui permet une convergence bien plus rapide que le standart initial : on passe de 50 secondes à quelques secondes lors d'une perte d'un lien. C'est devenu un standart lui aussi. 
- 
-C'est actuellement ce mode de fonctionnement qui utilisé partout. Partout vous dis-je. 
- 
-====PVST==== 
- 
-Le **Per VLAN Spanning-Tree** est une amélioration propriétaire de Cisco qui permet de négocier un arbre ST par VLAN (ça permet de faire de la répartition de flux puisqu'on peut ainsi définir un root bridge différent pour chaque VLAN). 
- 
-Cependant son inconvénient est que ce n'est pas un standart (donc concrètement ça ne tourne qu'entre équipements Cisco) et qui cela consomme beaucoup de ressources (CPU et réseau). 
- 
-Comme ce protocole utilise une instance par VLAN, chaque BID doit contenir le numéro de VLAN : la priorité du STP (**bridge priority**, sur 16 bits) a été décomposée en 2 champs pour devenir l'**extented bridge priority** 4+12 bits : 4 pour la priorité du switch et 12 bits pour identifier le VLAN (2^12 = 4096, le compte est bon). Cela permet donc de ne pas changer le format du champs, mais implique d'utiliser une priorité multiple de 4096 (on joue sur les 4 bits de poids fort du BID). 
- 
-=====R-PVSTP===== 
-Rapid-PVST Protocol ou **Rapid Per VLAN Spanning Tree Protocol** permet de combiner le "rapide" et le "par VLAN" ST : 
- 
-  * **Rapid** : de converger plus vite lors d'un changement de topologie (2 secondes au lieu de 50 environs) 
-  * **Per VLAN** : d'utiliser une instance STP par VLAN 
- 
-C'est un protocole propriétaire CISCO à la différence du MSTP (**Multiple STP**, extension du RSTP, qui permet de créer plusieurs instances de STP avec un ou plusieurs VLAN rattaché). 
- 
-Configuration (idem pour le PVSTP activé par défaut) : 
- 
-On active le RPVST : 
-  Switch1(config)#spanning-tree mode rapid-pvst 
-  Switch2(config)#spanning-tree mode rapid-pvst 
- 
-La priorité par défaut est de 32768 : on va déclarer le Switch1 en "root primaire" et le 2 en "root secondaire" backup, ce qui va avoir comme effet de passer la priorité du Switch1 à 24576 et du Switch2 à 28672. 
-  Switch1(config)#spanning-tree vlan 445 root primary 
-  Switch2(config)#spanning-tree vlan 445 root secondary 
- 
-NB : quand on configure un switch en ''root primary'' sur un vlan, il va modifier dynamiquement sa priorité pour devenir root sur ce VLAN ; en revanche la commande ''root secondary'' __fixe__ une priorité statique de 28672 (juste prioritaire à la priorité d'un switch lambda configuré par défaut). 
- 
-On aurait pu gérer les priorités statiques à la main : 
-  Switch1(config)#spanning-tree vlan 445 priority 8192 
-  Switch2(config)#spanning-tree vlan 445 priority 16384 
- 
-Vérification : 
-  Switch1#sh spanning-tree vlan 445 
- 
- 
-=====MSTP===== 
-**Multiple Spanning-tree** permet de créer des groupes (instance) de VLANs qui partageront une seule et même topologie spanning-tree. On diminue ainsi la charge du réseau et des CPUs des commutateurs par rapport au PVST (moins de BPDUs et moins de calculs d'arbres). 
- 
-L'inconvénient est qu'un problème de ST sur une instance impacte tous les VLANs de celle-ci. 
- 
-On associe donc un groupe de VLAN à une instance (numérotées de 1 à 15 max), contenue dans une région ; ces VLANs partageront leur topologie ST (ou plutôt RST car chez Cisco le MST implique de fonctionner en RST). 
- 
-Par défaut l'instance 0 (MST00) contient tous les VLANs. 
- 
-Les switchs appartenant à une même région MST doivent avoir en commun : 
- 
-  * les mêmes numéros d'instance 
-  * le même mapping de VLAN par instance 
-  * le même numéro de révision 
- 
-====Configuration==== 
- 
-On va créer 2 instances dans la région region1 avec un n° de révision de 1 : 
- 
-  Switch(config)#spanning-tree mst configuration 
-  Switch(config-mst)#instance 1 vlan 1-500 
-  Switch(config-mst)#instance 2 vlan 501-1000 
-  Switch(config-mst)#revision 1 
-  Switch(config-mst)#name region1 
-  Switch(config-mst)#exit 
- 
-Puis on active le MST : 
- 
-  Switch(config)#spanning-tree mode mst 
- 
-Chaque commutateur doit avoir la même configuration de région sous peine de ne pas pouvoir communiquer avec les autres commutateurs "régionnaux". 
- 
-Pour réinitialiser la détection des protocoles ST, il faut passer la commande : 
- 
-  clear spanning-tree detected-protocols 
- 
-Dans certains cas (à déterminer) il faut passer la directive suivante sur les interfaces physiques reliées à certains commutateurs : 
- 
-  Switch(config-if)#spanning-tree mst pre-standart 
- 
- 
-====Vérification==== 
- 
-  show spanning-tree mst configuration 
-  show spanning-tree mst 
- 
-=====Etherchannel===== 
- 
-C'est le nom utilisé par CISCO pour désigner du bonding ou channel bonding, c'est à dire un agrégat de ports physiques en un port logique. On peut fusionner jusqu'à 8 interfaces de même nature. Les avantages sont : 
-  * addition globale (pas de machine à machine) de la bande passante de chaque lien (ex : 4 liens physiques à 100 Mbps ~= 1 lien logique à 400 Mbps). 
-  * redondance d'interface 
-On l'utilise souvent pour les interconnexions de gros commutateurs, par exemple sur un backbone. 
- 
-Il 2 principaux protocoles : le LACP (standart IEEE 802.3ad) et le PAgP (propriétaire Cisco). 
- 
-====Configuration==== 
- 
-On créer l'interface logique 
-  Switch(config)#interface PortChannel1 
- 
-On la configure comme une interface normale. 
- 
-Pour chaque interface physique que l'on veut ajouter à l'Etherchannel, on ajoute dans la conf : 
-  Switch(config)#interface Gi0/1 
-  Switch(config-if)#channel-group 1 mode active 
- 
-On peut spécifier le mode par : 
- 
-   active     Enable LACP unconditionally 
-   auto       Enable PAgP only if a PAgP device is detected 
-   desirable  Enable PAgP unconditionally 
-   on         Enable Etherchannel only 
-   passive    Enable LACP only if a LACP device is detected 
- 
-Les ports physiques d'un Etherchannel doivent être de même type et de même vitesse ; ils doivent avoir la même configuration. 
- 
- 
-=====HSRP===== 
- 
-Le HSRP est un protocole propriétaire Cisco semblable au VRRP, qui permet de mettre en place une redondance au niveau du routage (High Availability). On met en place un groupe de plusieurs routeurs, et l'un d'entre eux sera élu afin d'être le master du groupe (celui de plus haute priorité). Il répondra aux requêtes envoyées à un routeur virtuel formé par le groupe HSRP. S'il vient à tomber, l'un des routeurs secondaire prendra sa place pour répondre à son tour aux requêtes émises à destination du routeur virtuel. 
- 
-Du point de vue des utilisateurs il n'y a donc qu'un seul et même routeur qui ne change jamais d'adresse. 
- 
-Le HSRP utilise l'adresse multicast 224.0.0.2 (qui correspond à tous les routeurs du lien local) via UDP sur le port 1985, il faut donc veiller aux ouvertures de flux sur les ACLs. 
- 
-Le routeur master envoie des paquets Hello à tous les routeurs standby toutes les 3 secondes. Quand ces derniers ne reçoivent plus ces paquets pendant 10 secondes d'affilé (Hold time), ils procèdent à une réélection. Le nouveau routeur principal qui sera élu sera celui de plus forte priorité (de 1 à 255, par défaut 100), et à défaut d'adresse IP la plus haute. 
- 
-====Mise en place==== 
-On a 2 routeurs (routeur1 et routeur2) : le 1 sera le principal (master), le 2 (standby) prendra le relais si le 1 tombe en panne. 
- 
-  * ''preempt'' permet au routeur actif qui est tombé de reprendre son rôle une fois remonté 
-  * ''timer X Y'' permet de redéfinir les timers, par défaut X est de 3s et définit le délais des paquets hello (hellotime) ; Y est de 10s et correspond au timeout (holdtime). 
- 
-routeur1 : 
-  Router1(config)#interface Vlan435 
-  Router1(config-if)#description vlan435 test HSRP 
-  Router1(config-if)#ip address 10.3.80.253 255.255.255.0 
-  Router1(config-if)#standby 8 ip 10.3.80.254 
-  Router1(config-if)#standby 8 timers 5 15 
-  Router1(config-if)#standby 8 priority 110 
-  Router1(config-if)#standby 8 preempt 
-  Router1(config-if)#standby 8 authentication blabla435 
- 
-routeur2 : 
-  Router2(config)#interface Vlan435 
-  Router2(config-if)#description vlan435 test HSRP 
-  Router2(config-if)#ip address 10.3.80.252 255.255.255.0 
-  Router2(config-if)#standby 8 ip 10.3.80.254 
-  Router2(config-if)#standby 8 timers 5 15 
-  Router2(config-if)#standby 8 priority 90 
-  Router2(config-if)#standby 8 preempt 
-  Router2(config-if)#standby 8 authentication blabla435 
- 
-====Vérification==== 
-La négociation dure quelques secondes, puis : 
-  router1#**sh standby brief** 
-                       P indicates configured to preempt. 
-                       | 
-  Interface   Grp Prio P State    Active addr     Standby addr    Group addr 
-  Vl5         48  110  P **Standby**  10.0.10.4       local           10.0.10.6 
-  [..] 
- 
-Le routeur **backup** est marqué en standby, le maître est **Active**. 
- 
-  router2#sh standby vlan 5 
-  Vlan5 - Group 48 
-    Local state is Active, priority 90, may preempt 
-    Hellotime 5 sec, holdtime 15 sec 
-    Next hello sent in 1.305 
-    Virtual IP address is 10.0.10.6 configured 
-    Active router is local 
-    Standby router is 10.0.10.5 expires in 11.716 
-    Virtual mac address is 0000.0c07.ac30 
-    Authentication text "blabla5" 
-    1 state changes, last state change 9w0d 
-    IP redundancy name is "hsrp-Vl5-48" (default) 
- 
- 
-=====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 
- 
-====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. 
- 
-====Théorie==== 
-  * protocole de routage à état de liens standardisé par l'IEEE ([[http://www.ietf.org/rfc/rfc2328.txt|RFC 2328]]) 
-  * update seulement sur changement de topologie 
-  * updates périodiques toutes les 30 min 
-  * utilisation d'IP multicast pour dialoguer : 224.0.0.5 pour les routeurs et 224.0.0.6 pour les DR/BDR 
-  * basé sur l'algorithme de Dijkstra (SPF) qui permet de transformer la table de topologie en table de routage 
-  * comme en EIGRP, 3 tables : la table des voisins, la table de topologie et la table de routage qui en découle. 
-  * notion d'aire OSPF = sectorisation qui permet d'alléger les tables de routage en agrégeant les routes ; toutes les aires (//regular area// ou aire ordinaire) sont reliées à l'aire 0 (aire backbone ou aire de transit) par leur ABR (routeur de bordure). Chaque flux entre 2 aires passe forcément par l'aire 0. Chaque routeur ne communique qu'avec des routeurs de la même aire que lui (sauf si c'est un ABR). 
-  * découverte du voisinage par l'échange de paquets Hello ; si les conditions sont requises, 2 voisins deviennent adjacents et peuvent ainsi échanger leurs tables de routage 
-  * la métrique (le coût) OSPF est basé sur la bande passante (BW) du lien inter-routeur (= 10<sup>8</sup> ÷ BW) 
-  * le protocole OSPF est encapsulé dans un paquet IP, mais le protocole OSPF inclut des paquets de type ACK qui permettent d'acquitter la réception de message  
- 
-====Terminologie==== 
-  * **PDU** Protocol Data Units ; les LSAs sont des PDUs 
-  * **LSA** Link-State Advertisement qui sont envoyer à tous les routeurs de l'aire 
-  * **LSU** Link-State Update 
-  * **LSDB** Link-State DataBase qui sont identiques sur tous les routeurs de l'aire 
-  * **DR** Designated Router 
-  * **BDR** Backup Designated Router 
-  * **ABR** Area Border Router 
-  * **ABDR** Autonomous Sytem Boundary Router = tout routeur qui redistribue des routes 
-  * **SPF** Shortest Path First 
-  * **stub area** aire "impasse", qui ne reçoit pas de LSA type 5 
-  * **totally stubby area** est une stub area qui ne reçoit pas non plus les LSAs de type 3 
-  * **NSSA** ou **Not So Stubby Area** est une stub area qui annonce un réseau externe 
- 
-====BR, BDR et relations d'adjacence==== 
-Une relation d'adjacence est permet l'échange d'information de routage entre 2 routeurs voisins ; cela ne peut se faire que si ceux-ci ont les 4 paramètres suivants en commun : 
-  * les intervalles Hello et dead time 
-  * le numéro d'aire 
-  * l'authentification mutuelle (= le même password par exemple) 
-  * le flag stub area qui identifie une //stub area// càd une aire "impasse" (cf plus haut) 
- 
-Selon le type de lien qui relie 2 routeurs, l'OSPF va monter différents types d'ajacence : 
-  * avec les liens point-à-point comme du HDLC : adjacence complète (full adjacency) 
-  * avec des liens LAN comme Ethernet, OSPF procède à l'élection d'un DR et d'un BDR par segment ; ceux-ci centralisent les échanges (un peu à la manière d'un root brige avec le protocol Spanning-Tree) et les retransmettent aux autres routeurs (DROTHERs). Cela permet de limiter les flux inter-routeur. 
-Il y a autant de DR dans une aire que de réseau multi-access. 
- 
-====Mise en place basique==== 
-Les //best pratices// recommandent d'utiliser une loopback pour faire de l'OSPF, car cette interface locale est toujours //up//. On s'en servira comme identifiant du routeur dans l'OSPF. 
-  R1(config)interface loopback 0 
-  R1(config-if)description Lo0 pour OSPF 
-  R1(config-if)ip address 192.168.0.23 255.255.255.255 
- 
-Pour activer le routage : on créer une instance OSPF (ici le processus 111 qui est un ID local), et on spécifie l'identifiant OSPF du routeur (NB : ce n'est __pas forcément__ une adresse IP du routeur, on peut mettre une valeur aléatoire sur 32bits ; cependant il est préférable d'utiliser l'IP de la loopback du routeur) : 
- 
-  R1(config)#router ospf 111 
-  R1(config-router)#router-id 192.168.0.23 
- 
-Puis on annonce les réseaux connus, avec la syntaxe ''network <adresse du réseau> <masque inversé (wildcard)> area <numéro de l'aire>''. Cette commande : 
-  * va activer l'OSPF sur la ou les interfaces qui matchent 
-  * va annoncer dans l'OSPF les réseaux des interfaces qui matchent, avec les masques définis sur ces interfaces. 
-Ce dernier point signifie que si on a ''network 10.0.0.1 0.0.0.0 area 0'' (/32) et une interface en ''ip address 10.0.0.1 255.255.255.0'' (donc un /24), c'est bien le réseau 10.0.0.0 /24 qui va être annoncé. C'est pour ne pas confondre cela qu'il est souvent conseiller de déclarer dans l'OSPF les interfaces de routage (en /32, comme l'exemple que je viens de donner) et non les réseaux. 
- 
-On annonce la loopback 0 ainsi que les réseaux connus que l'on veut injecter dans l'OSPF. 
-  R1(config-router)#network 192.168.0.23 0.0.0.0 area 0 
-  R1(config-router)#network 192.168.1.0 0.0.0.255 area 0 
- 
-Si l'interface de routage du réseau 192.168.1.0/24 est le .254, la dernière lignes peut également s'écrire ainsi : 
-  R1(config-router)#network 192.168.1.254 0.0.0.0 area 0 
- 
-Le routeur Cisco va automatiquement détecter l'interface reliée à ce réseau et activer le routage OSPF dessus. 
-''area 0'' c'est l'aire backbone (dorsale). En effet, afin d'éviter de propager la totalité de la base de données des liens, l'OSPF permet de sectoriser un réseau en différentes aires (~domaines). Les routeurs à la frontière des aires sont appelés **Area Border Router** (ABR). 
- 
-Une autre méthode alternative pour déclarer le réseau 192.168.1.0/24 consiste à activer explicitement l'OSPF sur son interface de routage : 
- 
-  R1(config-if)#ip ospf 111 area 0 
- 
- 
-====Configuration avancée==== 
- 
-===Authentification=== 
-Sur l'interface voulue participant à l'OSPF : 
-  int gi0/0 
-   ip ospf authentication 
-   ip ospf authentication-key san-fran 
- 
-Cela va sans dire qu'il vaut mieux que le routeur d'en face ait les mêmes paramètres pour que ça marche bien. 
- 
-===Passive interface=== 
-Pour désactiver l'OSPF sur une interface de routage, on utilise la commande ''passive-interface'' : 
-  router ospf 111 
-   passive-interface se0/0/0 
- 
-Cette interface ne participera plus à l'OSPF, mais son réseau continuera d'être annoncé/routé (s'il y a bien la ligne ''network <réseau> etc..'') 
- 
-===agrégation de routes=== 
-Ne peut se faire que sur les ABR : 
-  R1(config-router)#area 1 range 10.1.0.0 255.255.0.0 
- 
-Ici on aggrège pour n'annoncer qu'un réseau en /16. 
- 
-===stub area=== 
-Doit se configurer sur chaque router de l'aire (ici l'aire 3) : 
- 
-  R1(config-router)#area 3 stub 
- 
-Cela provoque l'apparition d'une route par défaut : 
-  sh ip route 
-   [..] 
-   O*IA 0.0.0.0/0 [110/2] via 10.3.2.2, 00:01:23, FastEthernet0/0 
- 
-===totally stubby area=== 
-Ne se configure que sur l'ABR de l'aire. 
- 
-  R1(config-router)#area 3 stub no-summary 
- 
-===virtual-link=== 
-Pour connecter une aire à l'aire 0 via une autre aire, on créé un lien virtuel (tunnel) entre l'ABR de l'aire "distante" et l'ABR de l'aire contigüe à l'aire 0. Le vlink se déclare sur les 2 routeurs d'extrémité en pointant vers le routeur-id d'en face : 
- 
-Dans l'exemple suivant, R1 (id=192.168.0.2) est l'ABR situé entre l'aire 33 (qui veut se connecter à l'aire) l'aire 3 (connecté à l'aire 0) et R2 (id=192.168.0.1) l'ABR situé entre l'aire 0 et l'aire 3. Aire 3 ne doit pas être une stub-area. 
- 
-  R1(router-config)#area 3 virtual-link 192.168.0.2 
-  R1(router-config)#network 10.0.10.0 0.0.0.255 area 33 
- 
-  R2(router-config)#area 3 virtual-link 192.168.0.1 
- 
-Vérifs avec ''sh ip ospf virtual-links''. 
- 
-====Vérification==== 
- 
-  debug ip ospf adj 
-  debug ip ospf events 
- 
-(Pour désactiver le debugging : ''undebug all'') 
- 
-  sh ip ospf interface 
-  sh ip ospf neighbor 
-  sh ip protocols 
-  sh ip route ospf 
- 
- 
-=====EIGRP===== 
- 
-**EIGRP** (Enhanced IGRP) est un protocole de routage propriétaire CISCO à vecteur de distance. 
-Ces particularités sont : 
-  * convergence rapide 
-  * VLSM support : le protocole diffuse les réseaux avec leur masque (//classless routing protocol//) mais pas par défaut (''no auto-summary'') 
-  * updates partiels 
-  * support de multiples protocoles tels IP, Appletalk, IPX 
-  * métrique "sophistiquée" (composite metric) : par défaut basée sur la bande passante et le délais de l'interface (256 x la métrique IGRP), mais on peut également prendre en compte la fiabilité, la charge ou la MTU du lien 
-  * utilise une adresse multicast pour dialoguer (224.0.0.10) mais peut aussi utilier de l'unicast en spécifiant les voisins à la main 
-  * RTP (Reliable Transport Protocol) : les paquets d'échanges de tables entre voisins sont acquittés 
-  * basé sur l'algorithme **DUAL** (Diffusing Update ALgorithme) qui lui assure une topologie sans boucle (//100% loop-free// !) 
-  * utilise des paquets Hello pour découvrir ses voisins et connaitre leur état 
- 
-EIGRP maintient 3 tables : 
-  * la table de voisins : contient la liste des routeurs voisins ainsi que l'interface pour les atteindre 
-  * la table de topology : contient tous les réseaux connus avec leur FD/AD/voisin associé 
-  * la table de routage : contient les meilleures routes (= successor route) 
- 
-5 types de paquets : 
-  * Hello 
-  * Update 
-  * Query 
-  * Reply 
-  * ACK : pour acquitter les update, query et reply 
- 
-Par défaut EIGRP est capable de faire du partage de charge entre 2 successeurs de même métrique ; en jouant sur la variance il peut même le faire sur des routes à métrique différente. Par défaut la variance vaut 1 ; si on la passe à 2 cela signifie que le routeur fera du partage de charge sur tous les //feasible successors// ayant une métrique <= à la métrique du successeur. 
- 
-Terminologie : 
-  * **AD** (Advertised Distance) c'est le coût pour atteindre un réseau annoncé par un voisin 
-  * **FD** (Feasible Distance) c'est le coût vers un réseau du point de vue du routeur, donc c'est égal à AD + coût de la liaison vers le routeur voisin. 
-  * **(current) Successor** c'est le "next-hop router" qui a le coût le plus bas et qui est "loop-free" 
-  * **FS** (Feasible Successor, ou successeur éventuel) : c'est le backup du successor vers un réseau donné ; la condition pour cela est que son AD soit inférieur au FD du successeur. C'est cela qui permet de s'assurer à "100%" que EIGRP est sans boucle. Par défaut il peut y avoir 4 successeurs éventuels (de même FD), mais on peut en spécifier jusqu'à 6. C'est aussi cela qui permet à EIGRP de converger très rapidement (plus qu'OSPF ou IS-IS). 
- 
- 
-====Mise en place==== 
-On veut activer l'EIGRP sur l'interface serie 0/0 
-  interface Serial0/0 
-   description se0/0 vers CoreRouter 
-   bandwidth 64000 
-   ip address 10.140.3.2 255.255.255.0 
-   clock rate 64000 
- 
-Notez que le paramètre bandwidth ne joue pas sur la bande passante réelle du lien, il sert uniquement au calcul de la métrique. 
- 
-Création de l'interface loopback 0 pour le routage 
-  interface Loopback0 
-   ip address 192.168.2.65 255.255.255.240 
- 
-Activer l'EIGRP sur le routeur : 
-  Routeur(config)#router eigrp 100 
- 
-Activer l'EIGRP sur les interfaces voulues : on déclare les networks suivant. 
-  Router(config-router)#network 10.0.0.0 
-  Router(config-router)#network 192.168.2.0 
- 
-Le routeur va activer l'EIGRP sur les interface qui correspondent aux réseaux annoncés (donc la loopback 0 et le serial 0/0). 
- 
-Dans certains cas, on doit l'empêcher de //summarizer// pour l'empêcher d'annoncer un réseau avec les masques CIDR : 
-  Router(config-router)#no auto-summarize 
- 
-====Configuration avancée==== 
- 
-===Authentification=== 
-On peut choisir soit un simple mot de passe (qui transite en clair, donc inutilisable) soit par hash MD5 (par clé partagée). Les clés peuvent être au nombre de 5 maximum ; on peut leur spécifier des dates de validité. Dans notre exemple on n'en utilisera qu'une seule (key 1). 
- 
-On configure l'autentification EIGRP : 
-  Router(config)#key chain icndchain 
-  Router(config-keychain)#key 1 
-  Router(config-keychain-key)#key-string san-fran 
- 
-On active l'authentification EIGRP sur chaque interface qui participe au routage : 
-  Router(config)#int se0/0 
-  Router(config-if)#ip authentication mode eigrp 100 md5 
-  Router(config-if)#ip authentication key-chain eigrp 100 icndchain 
- 
-===Routeur d'impasse=== 
-Un routeur d'impasse ou **stub router** est une routeur "feuille". La pluspart du temps ne connait que ses réseaux connected et apprend tout le reste par EIGRP. Ainsi il ne sert à rien de l'interroger pour tout réseau qui ne lui appartient pas. On peut donc déclarer comme stub router afin que les autres routeurs ne le sollicitent pas quand ils perdent une route. 
- 
-  (config-router)#eigrp stub 
- 
-Un routeur stub ne reçoit pas les queries ; il annonce juste ses routes connectées directement. 
- 
-====Vérifications==== 
-  Router#sh ip eigrp neighbors 
-  IP-EIGRP neighbors for process 100 
-  H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq 
-                                              (sec)         (ms)       Cnt Num 
-  0   10.140.3.1              Se0/0             13 00:12:52   22   200  0  175 
- 
-  Router#sh ip protocols 
-  Routing Protocol is "eigrp 100" 
-    Outgoing update filter list for all interfaces is not set 
-    Incoming update filter list for all interfaces is not set 
-    Default networks flagged in outgoing updates 
-    Default networks accepted from incoming updates 
-    EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0 
-    EIGRP maximum hopcount 100 
-    EIGRP maximum metric variance 1 
-    Redistributing: eigrp 100 
-    EIGRP NSF-aware route hold timer is 240s 
-    Automatic network summarization is in effect 
-    Automatic address summarization: 
-      192.168.2.0/24 for FastEthernet0/0, Serial0/0 
-        Summarizing with metric 128256 
-      10.0.0.0/8 for Loopback0 
-        Summarizing with metric 28160 
-    Maximum path: 4 
-    Routing for Networks: 
-      10.0.0.0 
-      192.168.2.0 
-    Routing Information Sources: 
-      Gateway         Distance      Last Update 
-      (this router)         90      00:12:21 
-      10.45.45.2            90      00:03:12 
-      Gateway         Distance      Last Update 
-      10.140.3.1            90      00:01:33 
-    Distance: internal 90 external 170 
- 
-  Router#sh ip route eigrp 
-       172.16.0.0/24 is subnetted, 1 subnets 
-  D       172.16.31.0 [90/643840] via 10.140.3.1, 00:13:00, Serial0/0 
-       10.0.0.0/8 is variably subnetted, 15 subnets, 2 masks 
-  D       10.67.67.0/24 [90/41536000] via 10.140.3.1, 00:03:50, Serial0/0 
-  D       10.23.23.0/24 [90/41536000] via 10.140.3.1, 00:13:00, Serial0/0 
-  D       10.7.7.0/24 [90/41026560] via 10.140.3.1, 00:13:00, Serial0/0 
-  D       10.6.6.0/24 [90/41026560] via 10.140.3.1, 00:12:01, Serial0/0 
-  D       10.5.5.0/24 [90/41026560] via 10.140.3.1, 00:02:31, Serial0/0 
-  D       10.1.1.0/24 [90/540160] via 10.140.3.1, 00:13:00, Serial0/0 
-  D       10.0.0.0/8 is a summary, 00:25:13, Null0 
-  D       10.140.6.0/24 [90/41024000] via 10.140.3.1, 00:13:00, Serial0/0 
-  D       10.140.7.0/24 [90/41024000] via 10.140.3.1, 00:13:00, Serial0/0 
-  D       10.140.4.0/24 [90/41024000] via 10.140.3.1, 00:02:31, Serial0/0 
-  D       10.140.5.0/24 [90/41024000] via 10.140.3.1, 00:13:00, Serial0/0 
-  D       10.140.2.0/24 [90/41024000] via 10.140.3.1, 00:13:00, Serial0/0 
-  D       10.140.1.0/24 [90/41024000] via 10.140.3.1, 00:02:04, Serial0/0 
-       192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks 
-  D       192.168.1.0/24 [90/41152000] via 10.140.3.1, 00:13:00, Serial0/0 
-       192.168.2.0/24 is variably subnetted, 3 subnets, 3 masks 
-  D       192.168.2.0/24 is a summary, 00:13:00, Null0 
-       192.168.3.0/24 is variably subnetted, 3 subnets, 2 masks 
-  D       192.168.3.0/24 [90/41152000] via 10.140.3.1, 00:13:00, Serial0/0 
- 
-  Router#sh ip eigrp interfaces 
-  IP-EIGRP interfaces for process 100 
-   
-                          Xmit Queue   Mean   Pacing Time   Multicast    Pending 
-  Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes 
-  Lo0                0        0/0               0/           0           0 
-  Fa0/0              0        0/0               0/           0           0 
-  Se0/0              1        0/0        22       0/          93           0 
-  Se0/1              0        0/0               0/        1241           0 
- 
-====Debug==== 
-  Router#debug eigrp neighbors 
-  EIGRP Neighbors debugging is on 
- 
- 
-=====IS-IS===== 
- 
-Activation globale : 
- 
-  R1(config)#router isis 
-  R1(config-router)#net 49.0031.2222.2222.2222.00 
- 
-Puis sur chaque interface participant au routage : 
- 
-  R1(config-if)#ip router isis 
- 
-====Configuration avancée==== 
- 
-Par défaut une interface participe aux levels 1 et 2. 
- 
-Forcer une interface à ne participer qu'au routage de niveau 1 : 
-  R1(config-if)#is-type level-1 
- 
-Forcer une interface à ne participer qu'au routage de niveau 2 : 
-  R1(config-if)#circuit-type level-2-only 
- 
-====Vérifications==== 
- 
-  sh isis topology 
-   pod3-P3R2#sh isis topo 
-    
-   IS-IS paths to level-1 routers 
-   System Id            Metric     Next-Hop             Interface   SNPA 
-   P3R1                 ** 
-   pod3-P3R2            -- 
-   pod3-P3R4            10         pod3-P3R4            Fa0/0       0016.4741.6b88 
-    
-   IS-IS paths to level-2 routers 
-   System Id            Metric     Next-Hop             Interface   SNPA 
-   P3R1                 10         P3R1                 Se0/0/    *HDLC* 
-   pod3-P3R2            -- 
-   P3R3                 20         P3R1                 Se0/0/    *HDLC* 
-   pod3-P3R4            ** 
- 
- 
-=====BGP===== 
- 
-Activer le routage avec le numéro d'AS 65001 : 
- 
-  router bgp 65001 
- 
-Déclarer la Loopback0 comme IP source : 
- 
-   (config-router)#neighbor 10.10.10.2 update-source loopback0 
- 
-Déclarer des réseaux : 
- 
-   network 10.10.10.0 mask 255.255.255.0 
-   
-Lister les annonces BGP sur un routeur 
-  sh bgp ipv4 unicast 
- 
-Lister les voisins 
-  sh ip bgp neighbors 
- 
-Pour redémarrer toutes les sessions BGP 
-  clear bgp all 
- 
- 
-=====Redistribution de routes===== 
- 
-  * Redistribuer des routes RIP dans l'OSPF : 
- 
-  router ospf 3 
-   log-adjacency-changes 
-   redistribute rip subnets 
- 
-  * Redistribuer des routes OSPF dans du RIP avec une métrique de 15 
- 
-  router rip 
-   version 2 
-   default-information originate 
-   no auto-summary 
-   redistribute ospf 3 metric 15 
- 
-  * Changer le distance administrative des routes qui matchent l'ACL 64 apprises par la source 10.0.0.1 : 
- 
-  router ospf 3 
-   distance 125 10.0.0.1 255.255.255.255 64 
-   
-  access-list 64 permit 10.200.200.32 
-  access-list 64 permit 10.3.0.0 0.0.255.255 
- 
-  * Changer la métrique des routes injectées dans l'OSPF : on remplace 1 par 1000 et 2 par 2000 (on utilise une route-map): 
- 
-  router ospf 3 
-   redistribute rip subnets route-map CONVERT 
-   
-  route-map CONVERT permit 10 
-   match metric 1 
-   set metric 1000 
-  ! 
-  route-map CONVERT permit 20 
-   match metric 2 
-   set metric 2000 
-  ! 
-  route-map CONVERT permit 30 
- 
-  * Filtrer les réseaux RIP redistribués dans l'OSPF 
- 
-  router ospf 3 
-   distribute-list 61 out rip 
-   
-  access-list 61 deny   10.200.200.0 0.0.0.255 
-  access-list 61 permit any 
- 
- 
-=====ACL===== 
- 
-//Access Control List//, implémenté sur les switchs et routeurs CISCO. 
-Il existe les ACLs standarts (numérotées de 1-99 ou 1300-1999) et les ACLs étendues (numérotées 100-199 ou 2000-2699). 
-  * **ACLs standarts** : elles travaillent au niveau 3 de la pile OSI et **uniquement sur les IP source**. Elles sont de la forme 
-  access-list <numéro entre 1-99> {permit | deny} <ip source> [<wildcard>] 
- 
-  * **ACLs étendues** : elles travaillent au niveau 4 de la pile OSI = on peut tester également les protocles de niveau 4 (tcp, udp) et notamment les numéros de port. Elles sont de la forme : 
- 
-  access-list <numéro> {permit | deny} <procole> <adresse src> <wildcard src> [<port src]] 
-   <adresse dst> <wildcard dst> [<port dst>] [established] [log] 
- 
-ACLs additonnelles : 
-  * **ACLs dynamiques** : l'utilisateur s'authentifie sur un routeur, qui va charger une ACL sur mesure en fonction du profil. 
-  * **Reflexive ACLs** : permet de passer en staful = on permet un traffic de passer uniquement s'il est déjà passé dans l'autre sens sur une autre ligne de l'ACL. C'est plus fin que le mot clé **established** des ACLs étendues. 
-  * **Time-based ACLs** défini des critère de date/time pour l'application d'une ACL. 
- 
-On applique une access-list sur une interface en "in" ou en "out" (entrée ou sortie de l'interface) : 
-  Router(config)#interface fa0/0 
-  Router(config-if)#access-group 1 {in | out} 
- 
-Une ACL est lu de manière séquentielle = ligne 1 puis ligne 2, etc. Si la ligne 1 matche, le routeur applique la règle pour le paquet et sors de l'ACL. Ainsi, si plusieurs lignes conviennent pour un même paquet, seule la première sera appliquée. 
- 
- 
-=====VACL===== 
- 
-Les **VLAN Access-list** ou **VLAN access maps** sont des ACLs de niveau 2, qui s'applique à l'intérieur d'un VLAN (peu utilisé) ; elles __peuvent__ donc filtrer du trafic par adresse MAC. 
- 
-Pour les mettre en place, il faut spécifier une ou plusieurs //map sequence// qui associent une action à une ACL ; si un permit de l'ACL "matche", l'action est appliquée ; si c'est un "deny", les map sequence suivantes sont vérifiées jusqu'à ce que ça matche. **Ici donc, les termes permit et deny ne sont pas à prendre au sens strict mais en fonction du contexte.** 
- 
-  ! déclaration de l'ACL niveau 2 
-  mac access-list extended MAC-ACL 
-   permit host 0050.5611.05b1 any 
-   
-  ! Déclaration de l'access map 1 ; le numéro de séquence (10 ici) est optionnel ; 
-  !   il permet de déterminer un ordre d'application dans le cas de multiples access-map 
-  ! On filtre (match) sur les adresses MAC (|IP|IPX) en spécifiant "mac address", suivi du nom de l'ACL filtrante 
-  ! L'action effectuée en cas de match est de dropper les paquets 
-  vlan access-map 1 10 
-   match mac address MAC-ACL 
-   action drop 
-   
-  ! On associe l'access-map qu'on vient de mettre en place au VLAN 11 et 12 
-  vlan filter 1 vlan-list 11,12 
- 
-Dans l'exemple précédent on filtre les flux des VLANs 11 et 12 pour ne forwarder que les paquets de la machine d'adresse MAC 0050.5611.05b1. 
- 
-=====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 routage et qu'il puisse accèder à internet. On va faire du PAT. 
- 
-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'IP 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 inside : 
-  Router(config)#ip nat inside source list 1 interface fa0/0 overload 
- 
-L'option **overload** indique que l'on veut du PAT ; sans ça on ne ferait que du NAT. 
- 
-====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 
- 
- 
-=====IPv6===== 
- 
-Activer IPv6 sur un routeur CISCO : 
-Router(config)#ipv6 unicast-routing 
- 
-Assigner une addresse IPv6 globale unicast à l'interface se0/1 : 
-  Router(config-if)#ipv6 address 2001:0410:0002:10::/64 eui-64 
- 
-**eui-64** indique l'autocomplétion par le routeur : on ne lui fournit que le masque réseau (les 64 premiers bits de l'addresse) et il calcule son IP par rapport à son adresse MAC. 
- 
-On créer l'interface loopback 2 et on lui assigne une adresse globale unicast : 
-  Router(config-if)#ipv6 address 2001:410:2:3::/64 eui-64 
- 
-  Router#sh ipv6 int | include line protocol 
-  Serial0/1 is up, line protocol is up 
-  Loopback2 is up, line protocol is up 
- 
-====RIPng==== 
-Mise en place du RIP New Generation (RIPv6) 
- 
-On active RIPng avec le //label// (process name) "cisco". 
-  Router(config)#ipv6 router rip cisco 
- 
-Et sur chaque interface qui doit participer au routage "cisco" : 
-  Router(config)#int se0/1 
-Router(config-if)#ipv6 rip cisco enable 
-Router(config)#int loopback 2 
-Router(config-if)#ipv6 rip cisco enable 
- 
-===Vérifications=== 
-  Router#sh ipv6 rip 
-  RIP process "cisco", port 521, multicast-group FF02::9, pid 211 
-       Administrative distance is 120. Maximum paths is 16 
-       Updates every 30 seconds, expire after 180 
-       Holddown lasts 0 seconds, garbage collect after 120 
-       Split horizon is on; poison reverse is off 
-       Default routes are not generated 
-       Periodic updates 13, trigger updates 1 
-    Interfaces: 
-      Loopback2 
-      Serial0/1 
-    Redistribution: 
-      None 
- 
-  Router#sh ipv6 route 
-  IPv6 Routing Table - 7 entries 
-  Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP 
-         U - Per-user Static route 
-         I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary 
-         O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 
-         ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 
-  C   2001:410:2:3::/64 [0/0] 
-       via ::, Loopback2 
-  L   2001:410:2:3:20A:F4FF:FE4C:74E0/128 [0/0] 
-       via ::, Loopback2 
-  C   2001:410:2:10::/64 [0/0] 
-       via ::, Serial0/1 
-  L   2001:410:2:10::/128 [0/0] 
-       via ::, Serial0/1 
-  L   2001:410:2:10:20A:F4FF:FE4C:74E0/128 [0/0] 
-       via ::, Serial0/1 
-  L   FE80::/10 [0/0] 
-       via ::, Null0 
-  L   FF00::/8 [0/0] 
-       via ::, Null0 
- 
- 
-=====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 
-    Unused                    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 
- 
-=====Crypto===== 
- 
-Etat des tunnels : 
- 
-  sh crypto session 
-  Crypto session current status 
-   
-  Interface: Vlan809 
-  Session status: UP-ACTIVE 
-  Peer: 192.168.7.78/500 
-    IKE SA: local 192.168.7.75/500 remote 192.168.7.78/500 Active 
-    IPSEC FLOW: permit 47 host 192.168.7.75 host 192.168.7.78 
-          Active SAs: 2, origin: crypto map 
- 
-Renégocier un tunnel spécifique : 
-  * Trouver le peer (l'IP de l'interface tunnel de l'équipement distant) : 
- 
-  sh ip arp vlan 809 
-  Protocol  Address          Age (min)  Hardware Addr   Type   Interface 
-  Internet  192.168.0.78           21   0013.c37c.b940  ARPA   Vlan809 
-  Internet  192.168.0.75            -   0000.0c07.dc4d  ARPA   Vlan809 
-  Internet  192.168.0.74            -   0007.ec74.d420  ARPA   Vlan809 
- 
-Les "Age" = "-" sont les @ MAC locales, ici une adresse logique (HSRP) et une physique (celle du routeur). Le peer est donc le 192.168.0.78. 
- 
-  * Puis on renégocie le tunnel : 
- 
-  clear crypto session remote 192.168.0.78 
- 
- 
-=====VoIP===== 
- 
-Configuration de la VoIP avec QoS : 
- 
-Sur le port ou est branché un téléphone IP Cisco, avec derrière un PC sur le vlan 11 : 
- 
-  * Sur le switch d'accès 
- 
-sur le port du téléphone IP : 
-  int fa0/3 
-   desc PC + tel 
-   switchport access vlan 11 
-   switchport voice vlan 11 
-   mls qos trust dscp 
- 
-sur le port vers le switch de distribution : 
-  int gi0/1 
-   mls qos trust device cisco-phone 
-   mls qos trust cos 
- 
-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 
- 
- 
-=====Les services===== 
-  service password-encryption 
- 
-permet de crypter tous les mots de passe dans la conf 
- 
- 
-=====Tracking d'interface===== 
-Permet de baisser un coup HSRP en cas de perte d'une route. 
-  ! L’objet tracking est = 1 
-  ! Tracking de la route 10.4.101.8 255.255.255.248 
-  ! Delay down = temps en secondes avant de déclarer la perte de la route. 
-  ! delay up = temps en secondes avant de prendre en compte le retour de la route. 
-   
-  track 1 ip route 10.4.101.8 255.255.255.248 reachability 
-   delay down 5 up 30 ! pour les « 2 » 
-   delay down 3 up 40 ! pour les « 1 » 
-  
-  interface VlanX 
-  ! Récupération de l’objet tracking 1 
-  ! Si l’objet est valide (route inaccessible) alors décrémenter le poids HSRP de 30 
-   standby Y track 1 decrement 30 
- 
- 
-=====Port mirroring===== 
- 
-Permet de répliquer le trafic d'un port vers un autre à l'identique. L'usage classique est pour l'analyse de trafic, en mettant une sonde sur le port. 
- 
-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** 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 donc choisir de ne redirigerque le trafic entrant ou sortant (ou les 2, par défaut) de l'interface source. 
-On peut aussi monitorer le trafic d'un vlan en remplaçant **interface** par **vlan** dans la source. 
- 
- 
-===== 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/                Pair B  Terminated 
-                  3-4  2    +/- 6  m       N/                Pair A  Terminated 
-                  5-6  1    +/- 6  m       N/                Pair D  Terminated 
-                  7-8  2    +/- 6  m       N/                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 : ''sh module'' 
-  * pour les c3825 : ''sh diag'' 
- 
-====show==== 
-  * ''sh ip inter brief'' 
- 
-  Interface                  IP-Address      OK? Method Status                Protocol 
-  Vlan1                      unassigned      YES NVRAM  administratively down down 
-  FastEthernet0/           unassigned      YES unset  up                    up 
- 
-  * ''sh int desc'' 
- 
-  Interface                  IP-Address      OK? Method Status                Protocol 
-  Vlan1                      unassigned      YES NVRAM  administratively down down 
-  FastEthernet0/           unassigned      YES unset  up                    up 
- 
-  * ''sh int status'' 
- 
-  Port      Name               Status       Vlan       Duplex  Speed Type 
-  Fa0/1     S70/346/Sparmania  connected    455          full    100 10/100BaseTX 
- 
-  * ''sh int trunk'' pour afficher toutes les interfaces et les vlan qui y sont trunkées 
-  * ''sh mac-address-table'' sur un switch 
- 
-  Vlan    Mac Address       Type        Ports 
-  All    000b.46a4.f880    STATIC      CPU 
-  457    0000.0cd6.ac05    DYNAMIC     Gi0/2 
- 
-  * ''sh 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 
- 
-  * ''sh platform hardware capacity power'' affiche notamment la consommation instantanée du routeur (que sur des WS-6509) 
-  * ''sh environment connector'' affiche un ersatz de la commande ci-dessus, mais sur des petits modèles 
-  * ''sh aliases'' voir les alias 
-  * ''sh module'' voir la liste des modules installés avec leur nb de ports, le modèle et le numéro de série 
-  * ''sh inventory'' voir la liste des cartes installées et leur numéro de série 
-  * ''sh run'' pour voir la **running-config** 
-  * ''sh start'' pour voir la **startup-config** 
-  * ''sh line'' pour voir les lignes CON/AUX/TTY/VTY 
-  * ''sh proc cpu sorted 1min'' : une espèce de top façon Cisco. 
-  * ''sh proc cpu history'' : des graphes en mode texte sur l'utilisation CPU. 
- 
-  router#sh processes cpu history 
-           11                  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% 
- 
-  * ''sh 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. 
- 
-  * ''sh tech-support'' renvoie pleins d'informations utiles pour le support CISCO 
-  * ''sh 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==== 
-  sh 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#sh 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#sh 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==== 
-GBIC (Gigabit Interface Converter) est un module qui convertit un signal électrique en signal optique. 
- 
-  * 1000BASE-SX multi-mode (jusqu'à 500 m) 
-  * 1000BASE-LX/LH mono-mode (single-mode) mais accepte aussi le multi-mode (jusqu'à 10 km) 
-  * 1000Base-ZX mono-mode (jusqu'à 70 km) 
- 
-  * ST: carré/gros gbic 
-  * LC: mini gbic (sfp) 
-  * SC: rond/quart de tour 
-  * FC: rond à visser 
- 
-Connecteur (terminaison des fibres) : 
-  * plat 
-  * PC et UPC 
-  * APC (bisoté) 
- 
- 
-====ping==== 
-On peut utiliser la commande ''ping <ip>'' ; on peut 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)). 
- 
-====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 time-out'' : défini le temps d'inactivité maximum d'une session avant une déconnexion automatique. 
- 
-''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. 
- 
- 
-=====Liens===== 
- 
-  * http://www.labo-cisco.com 
-  * http://cisco.goffinet.org 
-  * [[http://www.cisco.com/en/US/docs/internetworking/terms_acronyms/ita.html|Internetworking Terms and Acronyms]] sur cisco.com 
informatique/cisco.1227294403.txt.gz · Last modified: 2013/10/14 20:55 (external edit)