User Tools

Site Tools


informatique:cisco:start

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:start [2010/03/30 14:07] – déplacement shaping vers page de QoS pteuinformatique:cisco:start [2019/02/27 16:26] (current) – [password recovery avec un c888] pteu
Line 1: Line 1:
 {{tag>informatique réseaux cisco}} {{tag>informatique réseaux cisco}}
  
-====== Index de la rubrique cisco ====== +======Cisco======
- +
-~~DIR::informatique:cisco?cols=page;date;user;tags~~ +
  
 {{ http://www.eecs.berkeley.edu/IPRO/WICSE/images/cisco%20logo.gif}} {{ http://www.eecs.berkeley.edu/IPRO/WICSE/images/cisco%20logo.gif}}
  
-//à valider et insérer\\ +Cisco est un équipementier de matériels réseaux et sécurité, renommé dans le routage et la commutation notamment.
-telnet 192.168.103.24 8000 /source-interface vlan8\\ +
-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 qui me sert d'aide-mémoire. Cette page est un recueil de l'expérience que j'ai acquise en travaillant sur des équipements Cisco. Il s'agit dans la majorité des cas du B.A.-BA assez superficiel qui me sert d'aide-mémoire.
Line 19: Line 13:
  
 ====Les types de mémoire==== ====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... +  * **DRAM** (Dynamic Random-Access Memoryou **RAM** tout court mémoire vive, rapide et non permanente (elle s'efface lors d'un arrêt électrique) ; elle contient la running-config, la table de routage, les caches, etc... 
-  * **ROM** (Read-Only Memory) contient un IOS minimal et le code, chargé au boot du routeur, qui lance l'IOS présent sur la flash+  * **ROM** (Read-Only Memory) : mémoire morte (inverse de vive !) qui contient un IOS minimal et le code, chargé au boot du routeur, qui lance l'IOS présent sur la flash
   * **Flash memory** (EEPROM ou carte PCMCIA) contient l'IOS, les sauvegardes des confs, le serveur http, etc...   * **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+  * **NVRAM** (Non-Volatile RAM) contient la startup-config ; la flash en fait partie de même que les différents slot de mémoire additionnelle.
  
 Sur les IOS, il existe 2 versions de la configuration : la running-config et la startup-config : Sur les IOS, il existe 2 versions de la configuration : la running-config et la startup-config :
-  * **running-config** c'est la configuration courante ; elle est modifiée dynamiquement/automatiquement quand on tape une commande, mais on la perd quand on reboot car elle est située dans la mémoire vive de l'équipement. C'est la "copie de travail" de la startup. +  * **running-config** c'est la configuration courante ; elle est modifiée dynamiquement et automatiquement quand on tape une commande, mais elle disparait quand on reboot car elle est située dans la mémoire vive de l'équipement (la DRAM). C'est une "copie de travail" de la startup-config
-  * **startup-config** c'est une sauvegarde pérenne de la running-configelle est stockée sur la NVRAM et est donc conservée lors de l'arrêt de l'équipement. Quand on démarre un équipement, cette dernière est copiée dans la RAM, ce qui créer la running-config.+  * **startup-config** c'est une sauvegarde pérenne de la running-config elle est stockée sur la NVRAM et est donc conservée lors de l'arrêt de l'équipement. Quand on démarre un équipement, cette dernière est copiée dans la RAM, ce qui créer la running-config.
  
 ====Les 2 niveaux d'accès==== ====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 : +Il existe 2 modes associés à différents privilèges, que l'on peut comparer aux consoles //utilisateur// ($) et //root// (#) sous Unix : 
-  * **mode utilisateur** ''Switch>'' : le mode par défaut quand on accède au switch +  * **mode utilisateur** : le mode auquel on accède quand on se connecte au switch ; le prompt est reconnaissable au symbole "supérieur" : ''Switch>'' 
-  * **mode privilégié** ''Switch#'' : on y accède depuis le mode utilisateur par la commande ''enable'' et on le quitte avec ''disable''+  * **mode privilégié** (ou mode enable) : on y accède depuis le mode utilisateur par la commande ''enable'' on le quitte avec ''disable''. Ce mode est symbolisé par un prompt avec un dièse : ''Switch#''
  
-Le **mode configuration** ''Switch(config)#'' est une sous-partie du mode privilégié, accessible depuis le mode privilégié par la commande ''configure terminal'' (''conf t'' pour les intimes). +Le **mode configuration** ''Switch(config)#'' est une sous-partie du mode privilégié, accessible depuis le mode privilégié par la commande ''configure terminal'' (''conf t'' pour les intimes). Comme son nom l'indique, ce mode sert à passer des commandes qui seront inscrite dans la running-config ; le mode enable servant plutôt à passer des commandes de diagnostique (show). 
-  Switch> +<code bash> 
-  Switch>en +Switch> 
-  Password: +Switch>en 
-  Switch#conf t + Password: 
-  Enter configuration commands, one per line.  End with CNTL/Z. +Switch#conf t 
-  Switch(config)# + Enter configuration commands, one per line.  End with CNTL/Z. 
-On peut protéger l'accès à chaque mode de privilège (utilisateur et privilégié).+Switch(config)# 
 +</code> 
 + 
 +On peut (c'est même recommandé) protéger l'accès à chaque mode de privilège (utilisateur et privilégié).
  
-Depuis le mode configuration global (conf t) on peut accéder aux modes de configuration :+Depuis le mode configuration global (conf t) on peut accéder aux sous-menus de configuration :
   * d'une interface ''Router(config-if)#''   * d'une interface ''Router(config-if)#''
   * d'une sous-interface ''Router(config-subif)#''   * d'une sous-interface ''Router(config-subif)#''
Line 48: Line 45:
   * d'une ligne ''Router(config-line)#''   * d'une ligne ''Router(config-line)#''
   * du router ''Router(config-router)#''   * du router ''Router(config-router)#''
 +
  
 ====Commandes de base==== ====Commandes de base====
-IOS permet :+ 
 +Les fonctionnalités de base d'IOS sont :
   * la complétion automatique (comme les UNIX) avec la touche ''<tab>''   * 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''. 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''.
Line 59: Line 58:
 On quitte un mode avec la commande ''exit'' ou avec la combinaison de touches ''ctrl+z'' 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   * ''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).+  * la plupart du temps, pour annuler une commande, on utilise le mot ''no'' suivit de la commande à supprimer (par ex : ''no ip address'' pour supprimer l'adresse IP d'une interface).
  
 ====Raccourcis clavier==== ====Raccourcis clavier====
Line 74: Line 73:
   * ''ctrl+d'' supprime un caractère à gauche du curseur (équivalent du ''backspace'')   * ''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''.+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êmepour déplacer le curseur à gauche ou à droite on peut se servir des flèches ou des combinaisons ''ctrl+b'' et ''ctrl+f''.
  
 ===Les signaux=== ===Les signaux===
-Sous Linux on peut utiliser le raccourcis clavier ctrl+pour envoyer un SIGINT qui provoque l'interruption d'un processus long ou bloqué. +Sous Linux on peut utiliser le raccourcis clavier ctrl+pour envoyer un SIGINT qui provoque l'interruption d'un processus. Sous IOSon utilise l'équivalent : ''ctrl+shift+6'' ou ''ctrl+shift+9'' + "x".
-Sous les IOS on utilise l'équivalent : ''ctrl+shift+6'' ou ''ctrl+shift+9'' + "x".+
  
 ===Séquence d'échappement=== ===Séquence d'échappement===
-C'est une séquence de touches qui, lorsqu'elle est envoyée à un équipement Cisco lors du boot, le fait basculer en rommon. Cette séquence dépend du logiciel utilisé ; Cisco liste les plus connues sur cette page : [[http://www.cisco.com/warp/public/701/61.html|Standard Break Key Sequence Combinations During Password Recovery]].+C'est une séquence de touches qui, lorsqu'elle est envoyée à un équipement Cisco lors du boot, le fait basculer en rommon (l'IOS minimal). Cette séquence dépend du terminal utilisé ; Cisco liste les plus connues sur cette page : [[http://www.cisco.com/warp/public/701/61.html|Standard Break Key Sequence Combinations During Password Recovery]].
  
 +Avec Putty, on peut faire juste un clic droit sur le titre de la fenêtre, puis Special Command > Break.
 ====Commandes filtres==== ====Commandes filtres====
  
-Quand on fait une commande qui renvoie une grosse sortie, on peut le filtrer le résultat avec le caractère ''|'' (pipe) (entouré d'espaces, c'est obligatoire à la différence de Linux) suivi les mots-clés ''include'' ou ''exclude'', suivi d'un texte. Cela ne sélectionnera que les lignes qui, respectivement, contiennent ou ne contiennent pas le texte spécifié.+Quand on fait une commande qui renvoie un résultats sur de nombreuses lignes, on peut les filtrer avec le caractère ''|'' (pipe) (entouré d'espaces, c'est obligatoire à la différence de Linux) suivi des mots-clés ''include'' ou ''exclude'', suivi d'un texte. Cela ne sélectionnera que les lignes qui, respectivement, contiennent ou ne contiennent pas le texte spécifié.
  
 Le mot-clé ''begin'' permet de positionner le fenêtre de lecture sur la première occurrence de la chaîne qui le suit (ex : ''show run | begin router ospf'' pour voir le résultat à partir de la configuration de l'OSPF - pour un routeur bien sur.) Le mot-clé ''begin'' permet de positionner le fenêtre de lecture sur la première occurrence de la chaîne qui le suit (ex : ''show run | begin router ospf'' pour voir le résultat à partir de la configuration de l'OSPF - pour un routeur bien sur.)
Line 98: Line 97:
  
 ====IP de management==== ====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. +Dans le cas d'un switch, il n'y a pas de traitement de paquet niveau 3 normalement (hors ACLs, mais disons pas de routage). Pourtant, on a besoin d'attribuer une adresse IP à ce dernier pour pouvoir l'administrer : c'est ce qu'on appelle l'IP de management. 
-On spécifie l'IP d'administration du switch en configurant l'IP de l'interface du **vlan d'administration** (par défaut le vlan 1) : +On spécifie l'IP d'administration du switch en configurant l'IP de l'interface du **vlan d'administration** (qui est par défaut le vlan 1) : 
-  Switch(conf t)#int vlan 1 +<code bash> 
-  Switch(conf-if)#ip address 10.0.0.1 255.255.255.0+Switch(conf t)#int vlan 1 
 +Switch(conf-if)#ip address 10.0.0.1 255.255.255.0 
 +</code>
  
-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).+Un switch ne peut avoir qu'une seule adresse IP de management (sauf s'il s'agit d'un switch multilayer comme les séries Catalyst (c3500, c3700, c6500, etc...).
  
  
 ====Passerelle==== ====Passerelle====
-Pour sortir du réseauon doit spécifier la passerelle du réseau, c'est à dire la machine qui va router les paquets :+Toujours dans le cas d'un switch, et à l’instar d'un PC, pour sortir du réseau on doit spécifier la passerelle (ou le routeur) du réseau :
  
-  (conf t)#ip default-gateway 192.168.0.254+<code bash> 
 +(conf t)#ip default-gateway 10.0.0.254 
 +</code>
  
 Évidemment celle-ci doit être dans le VLAN d'administration du switch pour être inaccessible. Évidemment celle-ci doit être dans le VLAN d'administration du switch pour être inaccessible.
 +
 +Pour les routeurs, on définit la route par défaut ; voir les commandes ''ip default-network'' et ''ip route 0.0.0.0 0.0.0.0'' (plus d'info sur cisco.com : [[http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094374.shtml|Configuring a Gateway of Last Resort Using IP Commands]]
  
 ====subnet zero==== ====subnet zero====
Line 121: Line 126:
  
 ''no ip domain-lookup'' permet de désactiver les fonctions de résolution de nom (ça évite au routeur de perdre du temps à rechercher une machine lorsqu'on se trompe en tapant une commande) : ''no ip domain-lookup'' permet de désactiver les fonctions de résolution de nom (ça évite au routeur de perdre du temps à rechercher une machine lorsqu'on se trompe en tapant une commande) :
-  Router#sxow +<code bash> 
-  Translating "sxow" ...domain server (255.255.255.255) +Router#sxow 
-  % Unknow command or computer name, or unable to find computer address+ Translating "sxow" ...domain server (255.255.255.255) 
 + % Unknow command or computer name, or unable to find computer address 
 +</code>
  
 ====logging synchronous==== ====logging synchronous====
 +
 Par défaut on reçoit des messages du routeur, qui troublent la saisie des commandes, par exemple : Par défaut on reçoit des messages du routeur, qui troublent la saisie des commandes, par exemple :
-  Router#confi +<code bash> 
-  %SYS-5-CONFIG_I : Configured from console by console +Router#confi 
-  Enter configuration commands, one per line. End with CNTL/Z.+ %SYS-5-CONFIG_I : Configured from console by console 
 + Enter configuration commands, one per line. End with CNTL/Z. 
 +</code>
  
 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 : 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 +<code bash> 
-  Router(config-line)#logging synchronous+Router(config)#line con 0 
 +Router(config-line)#logging synchronous 
 +</code>
  
 Voici l'éventuel résultat : Voici l'éventuel résultat :
-  Router#confi +<code bash> 
-  %SYS-5-CONFIG_I : Configured from console by console +Router#confi 
-  Router#configure + %SYS-5-CONFIG_I : Configured from console by console 
 +Router#configure 
 +</code>
  
 =====Configuration générale===== =====Configuration générale=====
Line 218: Line 231:
 =====Configurer un VLAN===== =====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 réseaux virtuels sur un ou plusieurs switchs, avec un domaine de broadcast propre à chaque VLAN.+L'utilisation de VLANs (Virtual LAN, ou réseau virtuel) sur un commutateur, permet de créer plusieurs réseaux sur un même commutateur physique.
  
-But : +Accéder à l'article [[informatique:cisco:configurer_un_vlan]].
-  * segmentation (un domaine de broadcast) +
-  * flexibilité (possibilité de plusieurs vlan pour un switch) +
-  * sécurité (lié à la segmentation)+
  
-Il existe 2 protocoles pour tagger 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ésuet 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érentes dénominations (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 en 802.1q 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. Par défaut c'est le VLAN 1. 
-  * **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** : VLANs classiques = tous les autres. 
- 
-**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" 
- 
-//Jadis// il fallait rentrer dans la ''vlan database'' pour créer un VLAN ; c'est désormais déconseillé car cette commande est en voie de désuétude.  
- 
-La configuration des VLANs est contenue dans le fichier ''flash:/vlan.dat'', qu'il faut effacer en plus du fichier de configuration (startup-config) si on veut nettoyer __complètement__ le switch. 
- 
- 
-====Mode access==== 
-C'est le cas d'un port physiquement relié à une machine (utilisateur, serveur, ...). 
- 
-===Configuration statique=== 
-//Caractéristiques : sécurisé, facile à configurer, facile à monitorer.// 
- 
-Pour attribuer un port physique à 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 
- 
-Il pourra discuter avec toutes les autres machines connectées sur d'autres ports dans le même VLAN. Pour communiquer avec d'autres machines qui ne sont pas dans le VLAN 5, il faut passer par un **routeur** (un équipement de niveau 3). 
- 
-===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 un numéro de VLAN (VLAN ID) à une adresse MAC. Lorsqu'une machine se connecte sur un port, une requête est émise par le switch d'accès à destination du VMPS afin de savoir dans quel VLAN est la machine ; il configurera automatiquement le port : 
-  * dans le bon VLAN 
-  * en mode portfast (voir plus bas) 
- 
-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 "bâtard" 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). 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 données du PC + ses trames de VOIP vers le switch. Dans ce cas le "VLAN voix" est appelé le **VLAN auxiliaire** ; il sera taggué par le téléphone, et se sera totalement transparent pour la machine connectée derrière. 
- 
-====Mode trunk==== 
-Pour diffuser des VLANs entre 2 switchs (par exemple) par le même lien physique on doit passer ce lien inter-switch en **mode trunk** : cela consiste à ajouter une information (un tag) sur chaque paquet Ethernet permettant de définir l'appartenance à un VLAN : c'est ce qu'on appelle le tagging. 
- 
-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 relaie 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 ; la commande n'est accessible que sur un port configuré en mode access ou trunk. 
-  * ''switchport mode dynamic {auto | desirable}''. Active l'auto configuration du port : 
-    * 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 répond juste aux sollicitations qu'il reçoit); il passe en trunk uniquement face à un port configuré en mode trunk ou desirable. 
- 
-Si rien n'est spécifié c'est une __faille potentielle__ (VLAN hopping) quand c'est sur un port relié à une machine utilisateur (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===== =====VTP=====
Line 445: Line 300:
  
 Pour vérifier la configuration : Pour vérifier la configuration :
-  sh port-security [interface fa0/1]+<code bash> 
 +show port-security [interface fa0/1 [address]
 +</code>
 ou ou
-  sh port-security address+<code bash> 
 +show port-security address 
 +</code> 
 + 
 +Pour réactiver toutes les interfaces bloquées en err-disabled : passer en mode conf-t : 
 +<code bash> 
 +errdisable recovery cause psecure-violation 
 +</code> 
 + 
 +Pour changer une adresse MAC sticky : 
 +<code bash> 
 +int GiX/Y 
 + no switchport port-security mac-address sticky 
 + switchport port-security mac-address sticky 
 +</code> 
 + 
 +Il peut être utile, si cela ne fonctionne pas :  
 +  * de désactiver également le port-security sur l'interface 
 +<code bash> 
 +int GiX/Y 
 + no switchport port-security mac-address sticky 
 + no switchport port-security 
 + switchport port-security 
 + switchport port-security mac-address sticky 
 +</code> 
 +  * de relancer l'interface 
 +<code bash> 
 + shut 
 + no shut 
 +</code> 
 +  * de vérifier que l'adresse MAC n'est pas assignée à un autre port dans la configuration 
 +<code bash> 
 +show run | i XXXX.YYYY.ZZZZ 
 + switchport port-security mac-address sticky XXXX.YYYY.ZZZZ 
 +</code> 
 +//(tiens, elle était en sticky sur un autre port ! -> duplicate address)// 
 + 
 +Pour supprimer le cache d'adresses MAC apprises dynamiquement : 
 +<code bash> 
 +clear port-security dynamic [address XXXX.YYYY.ZZZZ] | [interface GiX/Y] 
 +</code>
  
 ====port serie==== ====port serie====
Line 469: Line 366:
  
  
-====troubleshooting==== +====Troubleshooting de port==== 
-  Switch#sh interface fa0/0+ 
 +<code bash> 
 +Switch#show interface GigabitEthernet7/13 
 +GigabitEthernet7/13 is up, line protocol is up (connected) 
 +  Hardware is C6k 1000Mb 802.3, address is 0011.93XX.XXXX (bia 0011.93XX.XXXX) 
 +  Description: Gi7/13 - attention pb 
 +  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, 
 +     reliability 255/255, txload 1/255, rxload 1/255 
 +  Encapsulation ARPA, loopback not set 
 +  Keepalive set (10 sec) 
 +  Full-duplex, 1000Mb/s, media type is 10/100/1000BaseT 
 +  input flow-control is off, output flow-control is on 
 +  Clock mode is auto 
 +  ARP type: ARPA, ARP Timeout 04:00:00 
 +  Last input 40w5d, output 40w5d, output hang never 
 +  Last clearing of "show interface" counters never 
 +  Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 173510 
 +  Queueing strategy: fifo 
 +  Output queue: 0/40 (size/max) 
 +  5 minute input rate 0 bits/sec, 0 packets/sec 
 +  5 minute output rate 4000 bits/sec, 8 packets/sec 
 +     11805518907 packets input, 5433554007048 bytes, 0 no buffer 
 +     Received 4863341 broadcasts (4421997 multicasts) 
 +     0 runts, 0 giants, 0 throttles 
 +     26 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 
 +     0 watchdog, 0 multicast, 0 pause input 
 +     0 input packets with dribble condition detected 
 +     18374938262 packets output, 23940953868607 bytes, 0 underruns 
 +     147 output errors, 0 collisions, 8 interface resets 
 +     0 babbles, 0 late collision, 0 deferred 
 +     0 lost carrier, 0 no carrier, 0 PAUSE output 
 +     0 output buffer failures, 0 output buffers swapped out 
 +</code>
  
 Lancer cette commande et vérifier : Lancer cette commande et vérifier :
-  * que l'interface est "up/up" (''<interface> is up, line protocol is up''+  * que l'interface est "up/up" (''<interface> is up, line protocol is up''). Le premier "up" indique que la couche 1 OSI (couche physique) est montée elle peut être "disabled" si trop d'erreurs ont été reçues dans un intervalle de keepalive (+ de 5000 erreurs en moins de 10s, par défaut) ; le second, //line protocol//, indique que la couche 2 (liaison de données) est montée. Si le port est configuré comme destination d'une "monitor session", il apparait en ''up/down''
-  * les ''input errors'' (avec tout ce qui suit : CRC, frame, etc...) +  * la MTU de l'interface (Maximum Transmission Unit) qui doit être de 1500 par défaut. 
-  * les ''output errors'' +  * BW : bandwidth (bande passante de l'interface) 
-  * les ''collisions''+  * ''reliability 255/255, txload 1/255, rxload 1/255'' indique la disponibilité et la charge de l'interface. 
 +  * les ''input errors'' (avec tout ce qui suit : CRC (problème de bruit ou de transmission), frame, overrun, ignored, etc...) 
 +  * les ''output errors'' : s'il y en a, c'est à cause du buffer de sortie de l'interface qui est full. Souvent, cela apparait quand on a un lien de forte capacité (1 giga) et un autre de plus faible capacité (100 méga). Dans ce cas le lien 100 méga risque d'être surchargé en cas de burst sur le lien giga. 
 +  * les ''collisions'' : il est normal d'en voir apparaitre sur des interfaces en half duplex, mais il ne devrait pas y en avoir sur celles en full duplex ; auquel cas il peut y avoir un problème de configuration de duplex.
   * les ''restarts'' (si l'interface a du redémarrer à cause d'erreurs).   * les ''restarts'' (si l'interface a du redémarrer à cause d'erreurs).
 +  * runts/giants : paquets resp. trop petits/grands pour le medium
 +  * CRC : problème d'intégrité du Contrôle de Redondance Cyclique (Cyclic Redundancy Checksum) du paquet. Cela indique une altération du paquet reçu par rapport à celui envoyé (et dont l'émetteur a calculé et envoyé un hash). Cela est souvent provoqué par des collisions ou une mauvaise émission du paquet (interface réseau, GBIC ou transciever défectueux).
 +  * frame : erreur de réception d'un paquet (CRC + nombre d'octets incohérent).
 +  * overrun : nombre de fois ou l'interface a reçu trop de paquets par rapport à sa capacité de réception = dépassement du buffer de réception de l'interface
 +  * underrun : nombre de fois ou l'émetteur à fonctionner plus rapidement que la vitesse de traitement de l'équipement.
 +  * ignored : nombre de paquets ignorés pour cause de quasi-saturation des buffers internes. Souvent lié à des tempêtes de broadcast ou des burst de paquets altérés (//burst of noise//).
 +  * interface resets : nombre de reset des compteurs d'interface (''clear counter'').
 +  * lost carrier : nombre de perte de signal pendant émission
 +  * no carrier : nombre de fois ou le signal n'était pas présent pendant l'émission
  
-  Switch#sh interface ethernet+''5 minute input/output rate'' : cela indique la moyenne du trafic en input et output, sur 5 minutes. On peut baisser la période de récupération de ces données avec la commande : 
 +<code bash> 
 +int gi0/1 
 + load-interval <seconds> 
 +</code> 
 + 
 +<code bash> 
 +Switch#sh interface ethernet 
 +</code>
 Vérifier que les collisions ne dépassent pas 0.1 % des paquets émis 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''). 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 auxiliaireet l'accès distant (telnet ou ssh).+source [[http://www.cisco.com/en/US/docs/ios/12_0/interface/command/reference/irshowin.html#wp1018148|Interface Commands (show interfaces -- show interfaces vg-anylan)]]
  
-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é. +=====Gestion des accès=====
-  Switch> en +
-  Switch#+
  
-====Mode enable==== +[[informatique:cisco:gestion_des_acces|Gestion_des_acces]]
-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==== +=====Mot de passe oublié=====
-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==== +====avec un switch Catalyst====
-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é. +//Testé avec un Catalyst 2940 et c3750//
-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''): +**password recovery** : Mode opératoire pour récupérer l'accès à un switch dont on a oublier le mot de passe d'accès ou enable.
-  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 : +  * Débrancher le switch 
-  Switch(config)# line vty 0 4 +  * S'y connecter sur le port console 
-  Switch(config-line)# login +  * Le rebrancher en maintenant le bouton "mode" enfoncé, jusqu'à ce que le menu de boot apparaisse (''switch:'')
-  Switch(config-line)# password <pwd>+
  
-On peut spécifier le type de protocole qu'on veut utiliser (ici ssh et telnet+<code bash> 
-  Switch(config)# line vty 0 4 +C2940 Boot Loader (C2940-HBOOT-MVersion 12.1(13r)AY1, RELEASE SOFTWARE (fc1) 
-  Switch(config-line)#transport input telnet ssh+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:
  
-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 : +    flash_init 
-  Switch(config)#line vty 0 4 +    load_helper 
-  Switch(config-line)login local+    boot 
 +</code>
  
-On spécifie de nom d'utilisateur par la commande +Taper ensuite ces commandes (la complétion automatique ne fonctionne pas) 
-  Switch(config)#username toto password toto+<code bash> 
 +flash_init 
 +load_helper 
 +rename flash:config.text flash:config.old      renommer la config 
 +boot                                           # redémarrer 
 +# un fois redémarré : 
 +enable 
 +copy flash:config.old flash:config.text        # restaurer la config 
 +copy flash:config.text system:running-config   # réinjecter la conf
  
 +config t
  
-====SSH==== +# remplacer le mot de passe perdu : 
-//Les lignes vty doivent être configurées (cf § précédent)//+enable secret <NEW_PWD> 
 +line con 0 
 +   password <NEW_PWD_CON> 
 +line vty 0 15 
 +   password <NEW_PWD_SSH-TELNET> 
 +   login
  
-Le SSH ne fonctionne qu'après avoir configuré un hostname et un nom de domaine : +write memory                                   # sauvegarder les modifications 
-  Switch(config)ip domain-name <nom_de_domaine> +reload                                         redémarrer 
-  Switch(config)# hostname toto+</code>
  
-On peut préciser certains paramètres (facultatif) : +source [[http://www.cisco.com/en/US/products/sw/iosswrel/ps1831/products_tech_note09186a00801746e6.shtml|Password Recovery Procedures]] sur cisco.com
-  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 : +====avec un routeur c888==== 
-//à valider : le fait de devoir faire un ''toto(config)# aaa new-model''//+src :  https://www.cisco.com/c/en/us/support/docs/routers/800-series-routers/12065-pswdrec-827.html
  
-Génération d'un couple de clés RSA : +  * redémarrer le routeur en se connectant sur la console 
-  toto(config)# crypto key generate rsa [modulus <360-2048>]+  * dans les 60s suivant le boot, envoyer un Break (avec putty, ouvrir le menu puis "Special Command" > Break) 
 +  * cela coupe la séquence de boot et charge la console de Rommon ; y saisir 
 +<code bash> 
 +rommon 1 > confreg 0x2142 
 +rommon 2 > reset 
 +</code> 
 +  * un fois que l'équipement a rebooté avec sa configuration par défaut, se logguer dessus sans mot de passe, puis : 
 +<code bash> 
 +Router>enable
  
-Les lignes vty doivent être configurées (cf § précédent).+# charger la configuration pour pouvoir la modifier 
 +Routeur#copy startup-config running-config
  
-On créé ensuite un compte local : +changer le mot de passe enable 
-  toto(config)username <login> password <pwd> +Routeur#config t 
- +Routeur(config)#enable secret cisco
- +
-=====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''+
  
 +# modifier les registres pour booter sur cette conf au prochain démarrage
 +Routeur(config)#config-register 0x2102
 +Routeur(config)#exit
  
 +# sauvegarder la configuration
 +Routeur#write mem
 +Routeur#reload
 +</code>
 =====MAJ IOS via Rommon===== =====MAJ IOS via Rommon=====
 //merci les gars j'ai enfin réussi //merci les gars j'ai enfin réussi
Line 665: Line 562:
 =====Etherchannel===== =====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 : +C'est le nom utilisé par Cisco pour désigner du bondingchannel bonding ou encore portchannel, c'est à dire un agrégat de plusieurs ports physiques en un port logique.
-  * 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.+voir la page dédiée : [[informatique:Cisco:etherchannel]]
  
  
Line 761: Line 634:
 =====ACL===== =====ACL=====
  
-Les ACLs pour **Access Control List** sont implémentées sur les switchs et routeurs CISCO. Il existe 3 types d'ACLs : +Les ACLs pour **Access Control List** sont implémentées sur les switchs et routeurs CISCO ; c'est un mécanisme de filtrage de paquets.
-  * **RACL** (Routed ACL) : s'applique en "in" ou en "out" sur une interface de routage (niveau 3). +
-  * **VACL** (Vlan ACL) : s'applique dans ou en dehors d'un VLAN ; n'a pas de sens. +
-  * **PACL** (Port ACL) : filtre le trafic L2 sur un port de type "switchport" (niveau 2) via une MAC ACL.+
  
-{{http://www.cisco.com/image/gif/paws/66978/tcam_cat_4500b.gif}}+[[informatique:Cisco:ACL]]
  
-Par convention ou par abus de langage, on appelle souvent ACLs les RACLs (se sont de loin les plus utilisées). Dans la suite de cet article nous utiliserons cette contraction. 
- 
-Il existe les ACLs standards (numérotées de 1-99 ou 1300-1999) et les ACLs étendues (numérotées 100-199 ou 2000-2699). 
-  * **ACLs standards** : elles travaillent au niveau 3 de la pile OSI et **uniquement sur les adresses IPs source**. Chaque ligne s'empile à la suite des précédentes ; pour supprimer une ligne il faut supprimer l'ACL entière et la réécrire sans ladite ligne. 
- 
-  (config)#ip access-list <numéro entre 1-99> {permit | deny} <ip source> [<wildcard>] 
- 
-  * **ACLs étendues** : elles travaillent au niveau 3/4 de la pile OSI = on peut tester également les protocoles de niveau 4 (tcp, udp) et notamment les numéros de port. Elles sont de la forme : 
- 
-  (config)#access-list <numéro> {permit | deny} <procole> <adresse src> <wildcard src> [<port src]] 
-   <adresse dst> <wildcard dst> [<port dst>] [established] [log] 
- 
-  * **ACLs nommées** : elle peuvent être de type standard ou étendues ; on peut supprimer les lignes indépendamment. 
- 
-  (config)#ip access-list <standard | extended> <nom_de_l'ACL> 
-  (config-std-nacl)#permit ip host 10.0.0.1 host 10.0.1.1 log 
- 
-**Les ACLs standards doivent être placées au plus près de la destination, alors que les ACLs étendues doivent être placées au plus près de source.** 
- 
-  * 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 lue 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 sort de l'ACL. Ainsi, si plusieurs lignes conviennent pour un même paquet, seule la première sera appliquée. 
- 
-====ip access-list resequence==== 
- 
-Voici une manière habile de modifier une ACL "proprement", c'est-à-dire de la façon la plus efficiente. Soit l'ACL étendue suivante : 
-  #show access-lists 
-   Extended IP access list 101 
-     1 permit ip host 10.0.0.1 host 10.0.1.1 
-     2 permit ip host 10.0.0.1 host 10.1.1.1 
-     3 deny tcp host 10.2.1.1 host 10.3.1.1 eq www 
- 
-On veut ajouter la ligne ''deny tcp ip host 10.0.0.1 host 10.1.1.1 eq www'' en #2. La façon "classique" est de supprimer l'ACL et de la réécrire en insérant la ligne supplémentaire. 
- 
-La façon la plus classe est de faire comme ceci : 
-  (config)#ip access-list resequence 101 10 10 
-  (config)#ip access-list extended 101 
-  (config-ext-nacl)#11 deny tcp ip host 10.0.0.1 host 10.1.1.1 eq www 
-  (config)#ip access-list resequence 101 10 10 
- 
-Dans l'ordre, on renumérote les lignes de l'ACL de 10 en 10 (10, 20, 30) ; puis on édite l'ACL pour insérer notre ligne entre les lignes 10 et 20 (exclues) ; enfin, pour avoir une numérotation "propre", on renumérote l'ACL pour avoir un incrément de 10 entre chaque numéro de ligne. 
- 
-=====VACL===== 
- 
-Les **VLAN Access-list** ou **VLAN access maps** sont des ACLs de niveau 2, qui s'appliquent à l'intérieur d'un VLAN ; elles __peuvent__ donc filtrer du trafic par adresse MAC, mais sont assez peu utilisées. 
- 
-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. Si un paquet ne match aucune ligne et qu'au moins une ACL de son type est configurée, par défaut le paquet sera droppé. 
- 
-**Ici donc, comme dans les route-map, 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 forwarder les paquets 
-  vlan access-map 1 10 
-   match mac address MAC-ACL 
-   action forward 
- 
-  ! Pour dropper le reste on doit créer un second statement (20) 
-  vlan access-map 1 20 
-   action drop 
- 
-  ! On associe l'access-map qu'on vient de mettre en place aux 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===== =====NAT/PAT=====
Line 1072: Line 865:
  
 =====Tracking d'interface===== =====Tracking d'interface=====
-Permet de baisser une priorité HSRP en cas de : 
-  * perte d'une route 
-<code> 
-! 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. 
  
-! Sur le routeur maitre (2) +Mécanisme qui permet de baisser une priorité HSRP si une condition n'est pas remplie plus de détails sur la page [[informatique:cisco:hsrp|HSRP]].
-track 1 ip route 10.4.101.8 255.255.255.248 reachability +
- delay down 5 up 30 +
-   +
-! Sur le routeur backup (1) ; les timers doivent être différents du master pour basculer proprement +
-track 1 ip route 10.4.101.8 255.255.255.248 reachability +
- delay down 3 up 40 +
-  +
-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 +
-</code> +
- +
-  * modification de métrique d'une route : la métrique jugée normale est 163 elle est considérée comme "down" à partir de 164 +
-<code> +
-track 2 ip route 10.0.0.0 255.255.255.0 metric threshold +
- threshold metric up 163 down 164 +
- delay down 10 up 30 +
- +
-<comme dans l'exemple précédent, il faut utiliser des timers différents sur  +
-les routeurs master/backup HSRP et ajouter la directive "standby" sur l'interface idoine> +
-</code>+
  
 =====Port mirroring===== =====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.+====Local SPAN==== 
 + 
 +Ou "span de port" : cela permet de répliquer le trafic d'un port vers une destination à l'identique. L'usage classique est pour l'analyse de trafic (snif), en mettant une sonde sur le port destination.
  
 Voir les sessions de mirroring existantes : Voir les sessions de mirroring existantes :
-  show monitor session all +<code bash> 
-  Session 1 +show monitor session all 
-  --------- +Session 1 
-  Type                   : Local Session +--------- 
-  Source Ports           :+Type                   : Local Session 
 +Source Ports           :
  
  
-      Both               : Gi1/0/2 +    Both               : Gi1/0/2 
-  Destination Ports      : Gi2/0/1 +Destination Ports      : Gi2/0/1 
-      Encapsulation      : Native +    Encapsulation      : Native 
-            Ingress      : Disabled+          Ingress      : Disabled 
 +</code>
  
-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.+La mention **Both** (par défaut) indique que la redirection se fait sur le trafic entrant et sortant de l'interface Gi1/0/2 vers l'interface Gi2/0/1.
  
 Mise en place de la session de monitoring : Mise en place de la session de monitoring :
-  monitor session 1 source interface Gi1/0/2 [both | rx | tx] +<code bash> 
-  monitor session 1 destination interface Gi2/0/1+monitor session 1 source interface Gi1/0/2 [both | rx | tx] 
 +monitor session 1 destination interface Gi2/0/1 
 +</code>
  
-On peut donc choisir de ne redirigerque le trafic entrant ou sortant (ou les 2, par défaut) de l'interface source.+On peut choisir de ne rediriger que le trafic entrant (rx) ou sortant (tx) de l'interface source.
 On peut aussi monitorer le trafic d'un vlan en remplaçant **interface** par **vlan** dans la source. On peut aussi monitorer le trafic d'un vlan en remplaçant **interface** par **vlan** dans la source.
  
 +====Remote SPAN====
 +
 +On peut aussi faire du RSPAN c'est à dire du remote SPAN. Cela consiste à créer un vlan spécifique de type remote-span et a le distribuer du commutateur source au commutateur destination. Le premier redirige le trafic dessus, et le commutateur destination le prend en source.
 +
 +Exemple : C1 et C2 sont 2 commutateur interconnectés par un lien trunk sur leur interface fa0/24. C1 le commutateur source. Il a le port fa0/1 que je désire sniffer sur un sonde connectée sur le port fa0/2 du commutateur C2.
 +
 +Configuration de C1 :
 +<code bash>
 +! création du vlan de type RSPAN
 +vlan 100
 + name v100-RSPAN
 + remote-span
 +!
 +! on définit la capture
 +monitor session 1 source interface fa0/1
 +monitor session 1 destination remote vlan 100
 +!
 +! propagation du remote vlan vers C2
 +interface fa0/24
 + description fa0/24 - vers C2 fa0/24
 + switchport trunk allowed vlan add 100
 +</code>
 +
 +
 +Configuration de C2 :
 +<code bash>
 +! création du vlan de type RSPAN
 +vlan 100
 + name v100-RSPAN
 + remote-span
 +!
 +! on définit la capture
 +monitor session 1 destination interface fa0/2
 +monitor session 1 source remote vlan 100
 +!
 +! propagation du remote vlan vers C2
 +interface fa0/24
 + description fa0/24 - vers C1 fa0/24
 + switchport trunk allowed vlan add 100
 +</code>
 +
 +Ce vlan 100 doit bien être déclaré comme remote-vlan ; il peut être propagé sur n'importe quel commutateur, peut utiliser le spanning-tree pour gérer les boucle (comme n'importe quel autre vlan), et peut être sniffé sur tous les commutateurs sur lequel il est propagé. En revanche il ne faut qu'une seule source sur un seul commutateur.
 +
 +source : [[http://www.cisco.com/en/US/docs/switches/lan/catalyst6500/ios/12.1E/native/configuration/guide/span.html#wp1045542|Configuring Local and Remote SPAN]] sur cisco.com
  
 =====DHCP Snooping===== =====DHCP Snooping=====
Line 1209: Line 1023:
  
 ====Numéros de série==== ====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 récupérer le //serial number// d'un équipement sans avoir un accès physique pour regarder l'étiquette :
  
   * pour les c65XX : ''show module''   * pour les c65XX : ''show module''
-  * pour les c3825 : ''show diag''+  * pour les c3825 : ''show diagnostic''
  
 +On peut récupérer les SNs des GBICs, alimentations, carte FAN, châssis... avec la commande ''show inventory''.
 ====show==== ====show====
  
Line 1249: Line 1065:
   * ''show platform health'' permet d'obtenir la consommation de ressources par ports, processus, etc...   * ''show platform health'' permet d'obtenir la consommation de ressources par ports, processus, etc...
   * ''show platform cpu packet statistics'' : //show CPU packet statistics//   * ''show platform cpu packet statistics'' : //show CPU packet statistics//
 +  * ''show platform tcam utilization'' : voir un résumé de l'utilisation de la TCAM
   * ''show environment connector'' affiche un ersatz de la commande ci-dessus, mais sur des petits modèles   * ''show environment connector'' affiche un ersatz de la commande ci-dessus, mais sur des petits modèles
   * ''show environment temperature all'' affiche toutes les sondes de températures du châssis 6500   * ''show environment temperature all'' affiche toutes les sondes de températures du châssis 6500
Line 1414: Line 1231:
  
  
-====GBIC====+====GBIC / types de fibres optiques====
  
-GBIC (GigaBit Interface Converter) est un module qui convertit un signal électrique en signal optique.+Voir la page dédiée : [[informatique:cisco:gbic|GBIC]].
  
-  * 1000BASE-SX : multi-mode (jusqu'à 500 m) +====ping====
-  * 1000BASE-LX/LH : mono-mode (single-mode) mais accepte aussi le multi-mode (jusqu'à 10 km) +
-  * 1000Base-ZX : mono-mode (jusqu'à 70 km)+
  
-  STcarré/gros gbic +On peut utiliser la commande ''ping <ip>'' ; on peut aussi faire un **ping étendu** en tapant juste ''ping'' et en répondant aux questions qui s'affichent (notamment pinguer à partir d'une autre IP que celle d'administration (par défaut)). 
-  * LCmini gbic (SFP Small Form-Factor Pluggable) +<code bash> 
-  * SCrond/quart de tour +router#ping 
-  * FCrond à visser+ Protocol [ip]
 + Target IP address1.2.3.4 
 + Repeat count [5]
 + Datagram size [100]
 + Timeout in seconds [2]: 
 + Extended commands [n]: y 
 + Source address or interface: 
 + Type of service [0]: 
 + Set DF bit in IP header? [no]: 
 + Validate reply data? [no]: 
 + Data pattern [0xABCD]: 
 + Loose, Strict, Record, Timestamp, Verbose[none]: 
 + Sweep range of sizes [n]: 
 + Type escape sequence to abort. 
 + Sending 5, 100-byte ICMP Echos to 1.2.3.4, timeout is 2 seconds: 
 +</code>
  
-Connecteur (terminaison des fibres) : +On peut forcer un ping à partir d'une interface particulière (celle ayant l'IP 192.168.0.1directement avec la commande 
-  * plat +<code>ping 1.2.3.4 source 192.168.0.1</code>
-  * PC et UPC +
-  * APC (bisoté)+
  
-Normalement les équipement Cisco ne supportent que les GBICs SFP de la même marque ; cependant il est possible d'outrepasser cette limitation en appliquant la commande cachée suivante +... ou directement en spécifiant l'interface source 
-<code> +<code>ping 1.2.3.4 source Gi0/0.3</code>
-service unsupported-transceiver +
-</code>+
  
-====ping==== +====Telnet==== 
-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)).+ 
 +<code bash> 
 +telnet 192.168.103.24 8000 /source-interface vlan8 
 +</code>
  
 ====Historique==== ====Historique====
Line 1446: Line 1275:
  
 ====Régler l'heure==== ====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.+Pour ajuster l'heure du Switch, on utilise la commande ''clock set'' (en mode enable), par exemple : 
 +<code bash> 
 +clock set 14:03:40 12 february 2016 
 +</code> 
 + 
 +Cependant vu le niveau de criticité des équipements réseauil est fortement conseillé d'utiliser le protocole NTP qui permet une mise à l'heure automatique et très précise : en mode config : 
 +<code bash> 
 +# configuration de la zone de temps (Paris, UTC+1) : 
 +clock timezone UTC 1 
 + 
 +ntp server 10.0.0.1 prefer 
 +ntp server 10.0.0.2 
 + 
 +# vérifications 
 +show ntp status 
 +show ntp associations 
 +</code> 
 +source : [[http://www.cisco.com/c/en/us/td/docs/ios/12_2/configfun/command/reference/ffun_r/frf012.html#wp1018092|cisco]]
  
 ====Commandes en vrac==== ====Commandes en vrac====
Line 1469: Line 1315:
 Le flex links est configuré sur l'interface qui sera active en lui attribuant une interface backup : Le flex links est configuré sur l'interface qui sera active en lui attribuant une interface backup :
  
-  interface Port-channel1 +<code bash> 
-    backup interface Port-channel2+interface Port-channel1 
 + backup interface Port-channel2
  
-  show interfaces description +show interfaces description 
-   Interface                      Status         Protocol Description + Interface                      Status         Protocol Description 
-   Po1                            up             up       Po actif + Po1                            up             up       Po actif 
-   Po2                            standby mode   down     Po standby+ Po2                            standby mode   down     Po standby 
 +! NB : il se peut que l'interface backup soit "up" 
 + 
 +show interfaces switchport backup detail 
 +Switch Backup Interface Pairs: 
 + 
 +Active Interface        Backup Interface        State 
 +------------------------------------------------------------------------ 
 + 
 +GigabitEthernet0/11 GigabitEthernet0/12 Active Up/Backup Standby 
 +</code>
  
 Pour activer la préemption : Pour activer la préemption :
  
-  switchport backup interface po2 preemption mode bandwidth +<code bash> 
-  switchport backup interface po2 preemption delay 60+switchport backup interface po2 preemption mode bandwidth 
 +switchport backup interface po2 preemption delay 60 
 +</code>
  
 Liens : Liens :
Line 1491: Line 1350:
 L'**UDLD** (UniDirectional Link Detection) est un protocole Cisco qui s'appuie sur le niveau 1 de la couche OSI pour détecter les problèmes de liens unidirectionnel (par exemple une fibre optique qui casse alors que l'autre fonctionne correctement). L'UDLD détecte également l'inversion de fibre. L'**UDLD** (UniDirectional Link Detection) est un protocole Cisco qui s'appuie sur le niveau 1 de la couche OSI pour détecter les problèmes de liens unidirectionnel (par exemple une fibre optique qui casse alors que l'autre fonctionne correctement). L'UDLD détecte également l'inversion de fibre.
  
-Si la fonction est activée et qu'un lien unidirectionnel est détecté, le port associé passera à l'état ''err. disabled'' (down).+__Si la fonction est activée et qu'un lien unidirectionnel est détecté, le port associé passera à l'état ''err. disabled'' (down).__
  
-Pour fonctionné, le protocole doit être activé sur les équipements des 2 cotés du lien.+UDLD permet d'éviter (je cite) : 
 +  * Spanning tree topology loops caused by unidirectional links 
 +  * Incorrect cabling of unbundled fiber strands 
 +  * Transceiver or link hardware malfunction 
 +  * Incorrect or excessive flooding of packets 
 +  * Loss of traffic without notice (also known as black holing) 
  
-Par défaut il n'est activé que sur les interfaces ethernet fibre (non vérifié). Pour l'activer ou le désactiver globalement sur toutes les interfaces fibre :+Pour fonctionner, le protocole doit être activé sur les équipements des 2 cotés du lien, et dans le même mode (normal ou agressif). Le **mode agressif** ne doit être activé que sur des liens point-à-point ; ce mode permet de tenter de réétablir un connexion avec un voisin qui a disparu, puis shut le port après 8 tentatives. Le mode normal a un temps de réaction de 15 secondes avant blocage du port. 
 + 
 +Il est possible de configurer l'UDLD en mode global (''conf t''), ce qui activera l'UDLD sur toutes les interfaces fibres ; on peut également le désactiver en mode global (par défaut c'est le caset l'activer interface par interface. Pour l'activer ou le désactiver globalement sur toutes les interfaces fibre :
   (config)# udld {enable | aggressive}   (config)# udld {enable | aggressive}
  
Line 1501: Line 1367:
   (config-if)#udld port [aggressive]   (config-if)#udld port [aggressive]
  
-Vérifs : +===Vérifs=== 
-  show udld + 
-  show udld neighbor+<code bash> 
 +show udld neighbor 
 +</code> 
 + 
 +<code bash> 
 +show udld te6/3 
 + 
 +Interface Te6/3 
 +--- 
 +Port enable administrative configuration setting: Enabled 
 +Port enable operational state: Enabled 
 +Current bidirectional state: Unknown 
 +Current operational state: Advertisement 
 +Message interval: 7 
 +Time out interval: 5 
 +No neighbor cache information stored 
 +</code>
  
 Liens : Liens :
Line 1532: Line 1414:
   * Sur les switchs catalyst : [[http://www.cisco.com/en/US/products/hw/switches/ps700/products_configuration_example09186a008010edab.shtml|Jumbo/Giant Frame Support on Catalyst Switches Configuration Example]] sur cisco.com   * Sur les switchs catalyst : [[http://www.cisco.com/en/US/products/hw/switches/ps700/products_configuration_example09186a008010edab.shtml|Jumbo/Giant Frame Support on Catalyst Switches Configuration Example]] sur cisco.com
  
 +  * [[http://www.cisco.com/en/US/tech/tk827/tk369/technologies_white_paper09186a00800d6979.shtml#t3|Resolve IP Fragmentation, MTU, MSS, and PMTUD Issues with GRE and IPSEC]]
 ====verify==== ====verify====
  
Line 1551: Line 1434:
 Voir aussi les [[http://www.cisco.com/en/US/docs/ios/fundamentals/configuration/guide/cf_md5_ps6350_TSD_Products_Configuration_Guide_Chapter.html|best-practices de Cisco pour vérifier une image IOS]]. Voir aussi les [[http://www.cisco.com/en/US/docs/ios/fundamentals/configuration/guide/cf_md5_ps6350_TSD_Products_Configuration_Guide_Chapter.html|best-practices de Cisco pour vérifier une image IOS]].
  
 +====IP SLA====
 +
 +**IP SLA** (Service Level Agreement) est un mécanisme permettant de tester le réseau et d'en tirer les indicateurs suivants :
 +  * connectivité
 +  * Timeout
 +  * RTT (Round-trip time)
 +  * gigue (aller-retour et one-way)
 +  * pertes de paquets
 +  * latence
 +  * Mean opinion score (MOS)
 +
 +Pour cela on configure un routeur en //initiateur// et un en //répondeur// ; le premier envoie à intervalles réguliers des paquets (grossièrement des PING) et calcule les mesures précédemment listées. Ces valeurs sont récupérables par SNMP.
 +
 +source : [[http://www.cisco.com/en/US/docs/switches/lan/catalyst4500/12.2/44sg/configuration/guide/swipsla.html|cisco.com]]
 +
 +====Forwarding / routing====
 +
 +Le **forwarding** c'est routage effectif des paquets. Tous les routeurs le font par défaut.\\
 +Le **routing** implique construction de tables de routage ; un routeur IP fait toujours du forwarding ; mais s'il n'a pas de routage dynamique (OSPF, EIGRP) il ne fait pas de routing.
 +
 +====Changer d'adresse MAC====
 +
 +Sur les châssis Catalyst, qui font du routage et de la commutation, les SVIs utilisent toutes la même adresse MAC. Normalement cela ne pose pas de problème pour les commutateurs intermédiaires car ces adresses sont vues dans des VLANs différents. En revanche si on utilise des technologies bizarres comme du QinQ, qui consiste à encapsuler des VLANs dans un autre, cela peut poser des problèmes d'adresse MAC //duplicate// ou //flapping// :
 +<code bash>
 +Feb 28 13:49:17 switch1 425287: Feb 28 13:49:16: %SW_MATM-4-MACFLAP_NOTIF: Host 0023.eaXX.XXX0 in vlan 873 is flapping between port Po1 and port Te2/0/1
 +</code>
 +
 +Bref, la solution est d'identifier la machine à qui appartient cette adresse MAC :
 +<code bash>
 +router1#sh int vlan 724 | i address
 +  Hardware is EtherSVI, address is 0023.eaXX.XXX0 (bia 0023.eaXX.XXX0)
 +!
 +router1#sh int vlan 725 | i address
 +  Hardware is EtherSVI, address is 0023.eaXX.XXX0 (bia 0023.eaXX.XXX0)
 +</code>
 +
 +Puis de trouver une adresse MAC libre (par exemple lister la plage d'adresses MAC réservées au châssis (dans notre cas un c6500)) :
 +<code bash>
 +router1#show catalyst6000 chassis-mac-addresses
 +  chassis MAC addresses: 1024 addresses from 0023.eaXX.XXX0 to 0023.eaXX.XXXf
 +</code>
 +
 +On voit que l’adresse MAC attribuée par défaut à toute les SVIs est la première de la plage. Il faut donc en prendre d'autre non utilisées :
 +<code bash>
 +interface vlan724
 + mac-address 0023.eaXX.XXX1
 +!
 +interface vlan725
 + mac-address 0023.eaXX.XXX2
 +!
 +! etc...
 +</code>
 =====Notes===== =====Notes=====
  
Line 1573: Line 1508:
   802.3u = 100BASE-TX   802.3u = 100BASE-TX
  
 +=====Troubleshot=====
 +
 +  * [[http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a008072c406.shtml#sup_sub_5|Catalyst 6000/6500 System Crashes Troubleshooting]]
 +  * [[http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09186a00804916e0.shtml|Catalyst 6500/6000 Switch High CPU Utilization]]
 =====Liens===== =====Liens=====
  
Line 1583: Line 1522:
   * http://packetlife.net/   * http://packetlife.net/
   * http://www.nemako.net/   * http://www.nemako.net/
 +  * http://www.iplogos.fr/diagnostic-ladjacence-ospf-ne-monte-pas/
  
informatique/cisco/start.1269958030.txt.gz · Last modified: 2013/10/14 20:52 (external edit)