User Tools

Site Tools


informatique:cisco:start

This is an old revision of the document!


informatique réseaux cisco

Index de la rubrique cisco

~~DIR::informatique:cisco?cols=page;date;user;tags~~

à valider et insérer
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.

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

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.
  • startup-config c'est une sauvegarde pérenne de la running-config, elle est stockée sur la NVRAM et est donc conservée lors de l'arrêt de l'équipement. Quand on démarre un équipement, cette dernière est copiée dans la RAM, ce qui créer la running-config.

Les 2 niveaux d'accès

Il existe 2 modes 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 de la ligne de commande (CLI) car ils font gagner pas mal de temps !

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

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

Les signaux

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

Séquence d'échappement

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

Commandes filtres

Quand on fait une commande qui renvoie 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é.

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

Configuration de base

hostname

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

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

IP de management

Dans le cas d'un switch, il n'y a pas de traitement de paquet niveau 3 normalement (hors ACLs, mais disons pas de routage 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 d'administration du switch 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 de désactiver les fonctions de résolution de nom (ça évite au routeur de perdre du temps à rechercher une machine lorsqu'on se trompe en tapant une commande) :

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

logging synchronous

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

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

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

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

Voici l'éventuel résultat :

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

Configuration générale

Bannière

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

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

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

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

Switch#banner login "Bienvenue sur Switch"

Màj IOS par tftp

Pré-requis

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

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

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

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

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

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

puis sauvegarder la config

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

Configurer un VLAN

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.

But :

  • 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

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

Accéder à l'article vtp.

Configurer un port

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

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

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

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

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

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

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

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

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

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

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

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

Switchport

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

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

port-security

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

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

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

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

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

Pour vérifier la configuration :

sh port-security [interface fa0/1]

ou

sh port-security address

port serie

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

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

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

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

Gestion de la file d'attente

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

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

On peut le vérifier avec :

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

troubleshooting

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     0/0       -
*    1 VTY              -    -      -    -    -      4       0     0/0       -
     2 VTY              -    -      -    -    -      0       0     0/0       -
     3 VTY              -    -      -    -    -      0       0     0/0       -
     4 VTY              -    -      -    -    -      0       0     0/0       -
     5 VTY              -    -      -    -    -      0       0     0/0       -
     6 VTY              -    -      -    -    -      0       0     0/0       -
     7 VTY              -    -      -    -    -      0       0     0/0       -
     8 VTY              -    -      -    -    -      0       0     0/0       -
     9 VTY              -    -      -    -    -      0       0     0/0       -
    10 VTY              -    -      -    -    -      0       0     0/0       -
    11 VTY              -    -      -    -    -      0       0     0/0       -
    12 VTY              -    -      -    -    -      0       0     0/0       -
    13 VTY              -    -      -    -    -      0       0     0/0       -
    14 VTY              -    -      -    -    -      0       0     0/0       -
    15 VTY              -    -      -    -    -      0       0     0/0       -
    16 VTY              -    -      -    -    -      0       0     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 configurées (cf § précédent)

Le SSH ne fonctionne qu'après avoir configuré un hostname et un nom de domaine :

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

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 10 Mbps
  • 19 pour du 100 Mbps
  • 4 pour 1 Gbps
  • 2 pour 10 Gbps, 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.

Permet à un switch de basculer rapidement sur un port alternatif vers le root bridge lorsque son root port tombe. Typiquement, les switchs sur lesquels on activera cette option sont les switchs d’accès.

(config-if)#spanning-tree uplinkfast

C'est une fonctionnalité qui est reprise dans le RST.

Backbone fast

En effet lorsqu'un switch perd le lien de son root port, il ne reçoit plus de BPDU et se prend pour le root bridge, envoyant des BPDUs à ses voisins en indiquant qu'il est root. En temps normal ceux-ci l'ignorent car qui reçoivent toujours les BPDUs supérieurs envoyés par le vrai root bridge.

Cette fonctionnalité Cisco au switch de détecter la perte du root port de son voisin quand il reçoit des BPDUs inférieurs de sa part, ceci avant le Max age (qui est de 20 secondes) et de provoquer une renégociation ST immédiate.

(config-if)#spanning-tree backbonefast

RST

Le Rapid Spanning-Tree (normalisé 802.1w) 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.

Par rapport au simple ST, le RST apporte un état supplémentaire :

  • discarding (équivalent de blocking en ST)

Cependant les IOS actuels affichent l'état blocking et non discarding :

Po22                Altn BLK 1         128.1676 P2p

… ainsi que des rôles de ports supplémentaires :

  • alternative : c'est un port qui offre un chemin alternatif vers le root bridge ; il est à l'état discarding en temps normal. Il n'est présent que sur les switchs non-désignés.
  • backup : c'est un port additionnel présent sur un switch désigné qui possède un lien redondant vers le segment sur le lequel il est désigné. C'est donc le cas quand un switch a 2 ports sur le même segment : si l'un devient le port désigné du segment, l'autre deviendra le backup. Son état, dans une topologie stable, est discarding.

Récapitulatif des états des ports

état opérationnel rôles états ST états RST
disabled disabled disabled discarding
enabled ? listening discarding
enabled ? learning learning
enabled root forwarding forwarding
enabled designated forwarding forwarding
enabled discarding blocking discarding
enabled alternate / discarding
enabled backup / discarding

États des ports (schémas trouvés chez Cisco) :

C'est actuellement cette version de ST qui est utilisée partout. Partout vous dis-je.

PVST

Le Per VLAN Spanning-Tree est une amélioration propriétaire de Cisco qui permet d'avoir une instance 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

Le Multiple Spanning-tree (IEEE 802.1s) permet de créer des groupes (instances) de VLANs qui partageront une 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). Cela permet par exemple de faire du partage de charge en déterminant des chemins différents pour différentes instances.

L'inconvénient est qu'un problème de ST sur une instance impacte tous les VLANs de celle-ci ; de plus le MST doit se configurer sur chaque switch d'une instance.

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 apparaissent comme un seul “gros” switch par rapport aux autres ; ils 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

Le BID (Bridge ID) du MST a le même format qu'en PVST, à ceci prêt que l'extended system ID contient le numéro de l'instance à la place du numéro de VLAN.

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

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

voir l'article : HSRP

VRRP

GLBP

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

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

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

Mise en place

Sur le routeur destiné à être AVG :

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

Sur un routeur AVF :

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

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

 glbp 1 timers msec 200 msec 700

OSPF

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

voir l'article : OSPF

EIGRP

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

voir l'article : EIGRP

IS-IS

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

voir l'article : IS-IS

BGP

voir l'article : BGP

Redistribution de routes

voir l'article : Redistribution de route

ACL

Les ACLs pour Access Control List sont implémentées sur les switchs et routeurs CISCO. Il existe 3 types d'ACLs :

  • 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.

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

Translation d'adresse et/ou de port.

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

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

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

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

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

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

Et on l'applique sur l'interface :

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

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

Vérification

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

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

DHCP

Exemple :

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

Vérifs :

show ip dhcp binding

PPP

Point to Point Protocol basé sur :

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

Avantages :

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

Authentication :

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

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

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

IPv6

voir l'article : IPv6

Frame Relay

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

Configuration de l'interface physique :

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

point-to-multipoint

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

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

point-to-point

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

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

Vérifications

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

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

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

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

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

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

IPSec

voir l'article ipsec

VoIP

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

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

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

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

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

 switchport priority extend cos 0

Sur le switch de distribution, on active la QoS :

mls qos

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

int gi1/0/1
 mls qos trust cos

Notes

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

Les services

service password-encryption

permet de crypter tous les mots de passe dans la conf

Tracking d'interface

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.
! Sur le routeur maitre (2)
track 1 ip route 10.4.101.8 255.255.255.248 reachability
 delay down 5 up 30

! Sur le routeur backup (1)
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

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.

DHCP Snooping

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

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

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

Mise en place globale :

(config)#ip dhcp snooping

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

(config-if)#ip dhcp snooping trust

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

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

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

(config)#ip dhcp snooping vlan 11

Vérifications

show ip dhcp snooping

IP source guard

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

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

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

DAI

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

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

Mise en place du DAI sur le VLAN 11 :

(config)#ip arp inspection vlan 11

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

(config-if)#ip arp inspection trust

Shaping

Le shaping c'est l'application du concept du leaky-bucket (saut troué), qui consiste à limiter le flux d'une interface à un certain débit (c'est la taille du trou du saut) ; on peut lui permettre quelques dépassement en allouant un buffer de dépassement (c'est la contenance du saut).

Création de la class-map qui sélectionne le flux que l'on veut limiter :

class-map match-all Classmap_shaping
  match access-group name ACL_Selection_flux

Mise en place de la limitation de débit (50Mbps) ainsi que de la taille du buffer de dépassement (8Kbps ici) ; tout ce qui dépasse sera droppé.

policy-map Policy_limit_50Mbps
  class Classmap_shaping
    police 50000000 8000 exceed-action drop

Création de l'access-list qui matche (permit) le flux à limiter (elle est appelée par la class-map) :

ip access-list extended ACL_Selection_flux
 permit ip any 192.168.1.0 0.0.0.255

On applique la politique sur une interface en entrée (on peut aussi l'appliquer en sortie → output) ; on ne peut l'appliquer que sur une interface physique :

int Gi1/0/1
 service-policy input Policy_limit_50Mbps

Tester la longueur d'un cable

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

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

Puis, comme indiqué :

router#sh cable-diagnostics tdr interface Gi1/2

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

Le modèle d'infrastructure Campus

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

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

Divers

Numéros de série

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

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

show

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

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

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

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


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

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

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

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

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

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

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

clear

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

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

Gestion de la mémoire

show file systems
File Systems:

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

On peut utiliser les commandes cd et pwd.

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

Créer une archive

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

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

FTP

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

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

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

Switch#copy ftp: flash

boot

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

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

3784324 bytes available (28197244 bytes used)

Pour changer le mode de démarrage :

router(config)#config-register 0x2102

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

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

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

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

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

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

Pour changer le bootloader par défaut :

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

GBIC

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

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

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

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

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

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

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

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

interface Port-channel1
  backup interface Port-channel2
show interfaces description
 Interface                      Status         Protocol Description
 Po1                            up             up       Po actif
 Po2                            standby mode   down     Po standby

Pour activer la préemption :

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

Liens :

UDLD

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

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

Pour fonctionné, le protocole doit être activé sur les équipements des 2 cotés du lien.

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 :

(config)# udld {enable | aggressive}

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

(config-if)#udld port [aggressive]

Vérifs :

show udld
show udld neighbor

Liens :

storm-control

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

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

storm-control broadcast level 1.00

Vérifications

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

MTU

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

Notes

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

Standards IEEE

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

Liens

informatique/cisco/start.1254165820.txt.gz · Last modified: 2013/10/14 20:52 (external edit)