This is an old revision of the document!
Table of Contents
informatique réseaux cisco
Commandes Cisco
à valider et insérer
telnet 132.169.103.24 8000 /source-interface vlan181
PVID = n° du VLAN non taggué (le VLAN en access sur un port access et le VLAN natif sur un port trunk)
bla
Cette page est un recueil de l'expérience que j'ai acquise en travaillant sur des équipements Cisco. Il s'agit dans la majorité des cas du B.A.-BA assez superficiel, mais qui me sert d'aide-mémoire bien pratique.
Ne travaillant que sous IOS, il n'y aura ici aucune référence aux commandes relatives aux vieux catOS.
B.A.-BA
Les types de mémoire
- DRAM Dynamic Random-Access Memory ou RAM tout court ; mémoire rapide et non permanente (elle s'efface lors d'un reboot ou d'un arrêt) ; elle contient la running-config, la table de routage, les caches, etc…
- ROM (Read-Only Memory) contient un IOS minimal et le code, chargé au boot du routeur, qui lance l'IOS présent sur la flash
- Flash memory (EEPROM ou carte PCMCIA) contient l'IOS, les sauvegardes des confs, le serveur http, etc…
- NVRAM (Non-Volatile RAM) contient la startup-config
Ce bref récapitulatif montre la différence entre la running-config et la startup-config :
- running-config c'est la conf courante, celle qui est modifiée dynamiquement quand on tape une commande ; elle n'est pas enregistrée automatiquement. C'est la copie de travail de la startup.
- startup-config c'est une sauvegarde de la running-config, elle est stockée sur la NVRAM et est donc conservée lors de l'arrêt de l'équipement. Lors d'un reboot, cette dernière est copiée dans la RAM, ce qui créer la running-config.
Les 2 niveaux d'accès
Il existe 2 modes liés à différents privilèges, que l'on peut comparé aux consoles utilisateur ($) et root (#) sous Unix :
- mode utilisateur
Switch>
: le mode par défaut quand on accède au switch - mode privilégié
Switch#
: on y accède depuis le mode utilisateur par la commandeenable
et on le quitte avecdisable
Le mode configuration Switch(config)#
est une sous-partie du mode privilégié, accessible depuis le mode privilégié par la commande configure terminal
(conf t
pour les intimes).
Switch> Switch>en Password: Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch(config)#
On peut protéger l'accès à chaque mode de privilège (utilisateur et privilégié).
Depuis le mode configuration global (conf t) on peut accéder aux modes de configuration :
- d'une interface
Router(config-if)#
- d'une sous-interface
Router(config-subif)#
- d'un contrôleur
Router(config-controller)#
- d'une ligne
Router(config-line)#
- du router
Router(config-router)#
Commandes de base
IOS permet :
- la complétion automatique (comme les UNIX) avec la touche
<tab>
Mais à la différence d'UNIX, on peut ne taper que le début d'une commande pour qu'elle soit interprétée (s'il n'y a pas de conflit) : par exemple conf t
pour configure terminal
.
- une aide pour connaitre les paramètres attendus par une commande, ou pour lister les commandes :
?
- un modèle en couches successives (cf ci-dessus) de privilèges : pour accéder à un mode privilégié on doit passer par tous les autres modes :
utilisateur (prompt Router>
) > privilégié (prompt Router#
) > configuration (prompt Router(config)#
)
On quitte un mode avec la commande exit
ou avec la combinaison de touches ctrl+z
do
permet de lancer des commandes privilégiées (réservées au mode privilégié donc) lorsqu'on est en mode configuration- la plupart du temps, pour annuler une commande, on utilise le mot
no
suivit de la commande à supprimer (ex :no ip address
pour supprimer l'adresse IP d'une interface).
Raccourcis clavier
Ils ressemblent aux raccourcis clavier que l'on trouve sous Unix/Linux, et il est préférable de les connaitre quand on se sert souvent du CLI car ils font gagner pas mal de temps !
ctrl+z
quitter le mode configurationctrl+a
déplace le curseur en début de lignectrl+e
déplace le curseur en fin de ligneesc+b
déplace le curseur d'un mot à gauche du curseuresc+f
déplace le curseur d'un mot à droite du curseur
ctrl+u
supprime tous les caractères avant le curseurctrl+k
supprime tous les caractères après le curseurctrl+w
supprime le mot avant le curseurctrl+d
supprime un caractère à gauche du curseur (équivalent dubackspace
)
Le rappel des dernières commandes passées peut se faire avec les flèches haut
et bas
ou avec ctrl+p
et ctrl+n
. De même pour déplacer le curseur à gauche ou à droite on peut se servir des flèches ou des combinaisons ctrl+b
et ctrl+f
.
Les signaux
Sous Linux on peut utiliser le raccourcis clavier ctrl+C pour envoyer un SIGINT qui provoque l'interruption d'un processus long ou bloqué.
Sous les IOS on utilise l'équivalent : ctrl+shift+6
ou ctrl+shift+9
(+ “x” ? à valider.).
A valider, sous Linux il paraitrait qu'il faille utiliser ctrl+alt
au lieu de ctrl+shift
Séquence d'échappement
C'est une séquence de touches qui, lorsqu'il est envoyé à un équipement Cisco lors du boot, le fait basculer en rommon. Cette séquence dépend du logiciel utilisé ; Cisco liste les plus connus sur cette page : Standard Break Key Sequence Combinations During Password Recovery.
Commandes filtres
Quand on fait une commande qui renvoie une grosse sortie, on peut filtrer les résultats avec le caractère |
(pipe) (entouré d'espaces) suivi des mots-clés begin
, include
ou exclude
, suivi d'un texte. Cela sélectionnera que les lignes qui, respectivement, commencent, contiennent ou ne contiennent pas le texte spécifié.
Configuration de base
hostname
C'est le nom de l'équipement. Il est indiqué dans le prompt :
Switch(config)# hostname toto Toto(config)#
IP de management
Dans le cas d'un switch, il n'y a pas de traitement de paquet niveau 3 normalement (hors ACLs, mais disons pas de routage comme sur un routeur). Pourtant, on a besoin d'attribuer une adresse IP à ce dernier pour pouvoir l'administrer : c'est ce qu'on appelle l'IP de management. On spécifie l'IP d'administration du switch en configurant l'IP de l'interface du vlan d'administration (par défaut le vlan 1) :
Switch(conf t)#int vlan 1 Switch(conf-if)#ip address 10.0.0.1 255.255.255.0
Un switch ne peut avoir qu'une seule adresse IP de management (sauf s'il s'agit d'un switch multilayer comme un 3500 ou un 3700).
Passerelle
Pour sortir du réseau, on doit spécifier la passerelle du réseau, c'est à dire la machine qui va router les paquets :
(conf t)#ip default-gateway 192.168.0.254
Évidemment celle-ci doit être dans le VLAN pour être inaccessible !
subnet zero
ip subnet-zero
est une commande qui permet l'utilisation du premier subnet d'un ensemble de sous réseau. Il faut le préciser explicitement à cause de la confusion qu'il cause, puisqu'il a la même adresse réseau que le réseau majeur.
exemple : on a la plage 172.16.0.0 /16 que l'on veut découper en sous-réseaux, le premier sous-réseau 172.16.0.0 /16+x a la même adresse que le réseau majeur.
no ip domain-lookup
no ip domain-lookup
permet d'éviter au routeur de perdre du temps à rechercher un nom de machine qu'il ne connait pas :
Router#sxow Translating "sxow" ...domain server (255.255.255.255) % Unknow command or computer name, or unable to find computer address
logging synchronous
On peut recevoir des messages du routeur qui trouble l'entrée des commandes. Voici une illustration :
Router#confi %SYS-5-CONFIG_I : Configured from console by console Enter configuration commands, one per line. End with CNTL/Z.
Pour retrouver sa ligne de commande on peut faire un ctrl+r
qui ré affiche notre ligne. Mais pour éviter ce problème, on peut demander un logging synchronous sur la console :
Router(config)#line con 0 Router(config-line)#logging synchronous
Voici l'éventuel résultat :
Router#confi %SYS-5-CONFIG_I : Configured from console by console Router#configure
Configuration générale
Bannière
Quelque soit le type de bannière, il faut indiquer un délimiter de fin de bannière lors de l'invocation de la commande idoine, par exemple un %
dans notre cas.
On peut spécifier une chaine de caractère qui s'affichera lors de la connexion sur l'équipement (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 VLANs sur plusieurs switchs, avec un domaine de broadcast propre à chaque VLAN. but : segmentation (un domaine de broadcast), flexibilité (possibilité de plusieurs vlan pour un switch), sécurité (lié à la segmentation). Il existe 2 protocoles pour tagguer les vlans :
- 802.1q : normalisé par l'IEEE, aussi appelé dot1q, qui ajoute un champ de 4 octets dans la trame Ethernet pour le tagging : 16 bits pour le champ Ethertype (0x8100), 3 bits pour la priorité de la trame (802.1p), 1 bit pour identifier un réseau token ring, et 12 bits pour le VLAN ID (soit 4096 possibilités). C'est appelé single tagging ou internal tagging. Ce protocole n'est utilisé que sur des liens point-à-point (point-to-point).
- ISL (Inter Switch Link) est le protocole propriétaire CISCO déuet actuellement. Il encapsule la trame Ethernet en lui rajoutant un header de 26 octets et un FCS (CRC) de 4 octets. Le VLAN ID est codé dans un champ de 10 bits, donc ce protocole ne supporte, lui, que 1024 VLANs max. Comme pour le 802.1q, ce protocole n'est utilisé que sur des liens point-à-point (point-to-point).
Les différents types de vlan :
- vlan par défaut : le VLAN 1, celui dans lequel sont mis tous les ports par défaut.
- vlan natif : les trames du VLAN natif ne sont pas tagguées afin d'assurer l'inter-opérabilité avec les matériels ne supportant pas le tagging. C'est par ce VLAN que transitent les protocoles de contrôle tels le CDP, VTP, PAgP et DTP.
- vlan de management : VLAN dans lequel est située d'IP de management du commutateur, via laquelle on accède au matériel pour l'administrer.
- vlan utilisateur : VLAN “normal” = tout le reste.
Une best-practice concernant les VLANs consiste à isoler le VLAN natif (ni data ni utilisateurs dedans) ainsi que le VLAN d'administration (afin d'y appliquer un contrôle d'accès drastique, sécurité oblige).
Les différents VLANs :
- le VLAN 1 est, comme vu plus haut, le VLAN natif par défaut.
- les VLANs 1 à 1001 sont les VLANs standards, enregistrés dans le fichier
VLAN.dat
sur la mémoire flash (VLAN database). - les VLANs 1002 à 1005 sont des VLANs réservés pour FDDI et Token Ring ; ils sont créés automatiquement et on ne peut pas les supprimer.
- sur un switch configuré en mode transparent utilisant une version récente d'IOS (version “enhanced”) il est possible de créer des VLANs étendus, de 1006 à 4094. Cependant ceux-ci ne sont pas sauvegardés dans la VLAN database.
La règle des 80/20
Vilfredo Paretto était un économiste italien qui avait “découvert” que 80% des richesses d'un pays étaient contrôlées par 20% de la population.
La règle des 80/20 en réseau en est fortement inspirée : “on” a constaté que, généralement, 80% du trafic réseau ne concernait que des flux locaux (serveurs locaux, imprimantes, etc…) alors que seulement 20% des flux étaient distants (fermes de serveurs, internet, etc…). Partant de là on a donc cherché à privilégier les flux intra-VLAN en créant des VLANs par fonction et non géographiques.
De nos jours, les coûts liés à la bande-passante ont baissé et on constate l'apparition de fermes de serveur centralisées (data-center, etc…) ce qui a inverser la métrique de cette règle, qui est devenue la règle des 20/80.
Ces 2 règles sont essentielles pour choisir le type de VLAN que l'on va mettre en place :
- VLANs locaux si on se rapproche de la règle des 80/20
- VLANs géographiques si on se rapproche de la règle des 20/80
Création d'un vlan
Pour créer le vlan 5 de nom “vlan cinq” (tiens, c'est original).
Switch(config)#vlan 5 Switch(config-vlan)#name "vlan cinq"
Avant il fallait rentrer dans la vlan database
; c'est désormais déconseillé car c'est une commande en voie de désuétude.
La configuration des vlans est contenu dans le fichier flash:/vlan.dat
, qu'il faut effacer en plus du fichier de config (startup-config) si on veut nettoyer complètement le switch.
Mode access
C'est le cas d'un port physiquement relié à une machine.
Configuration statique
Caractéristiques : sécurisé, facile à configurer, facile à monitorer.
Il faut maintenant attribuer des ports physiques à ce vlan, par exemple le fast ethernet 0/2 :
Switch(config)#int fa0/2 Switch(config-if)#switchport mode access Switch(config-if)#switchport access vlan 5
VMPS (configuration dynamique)
Un VLAN Management Policy Server permet d'attribuer des VLANs dynamiquement sur des ports physiques.
C'est un switch ou un serveur qui centralise une base de données faisant correspondre à une adresse MAC numéro de VLAN (VLAN ID). Lorsqu'une machine se connecte sur un port, une requête est émise par le switch d'accès au VMPS afin de savoir dans quel VLAN est la machine ; il configurera automatiquement le port :
- dans le bon VLAN
- en mode portfast
C'est ce qu'on appelle le Dynamic VLAN configuration. Ce mode est incompatible avec le mode port-security et le mode trunk.
Le ports doivent être configurés de cette façon :
switchport access dynamic
VLAN auxiliaire
Avec l'avènement de la VOIP il existe un mode “batard” entre le mode access et le mode trunk (ce n'est pas très correct de dire cela mais ça permet de bien s'imaginer la chose, je trouve). Il permet de préciser, sur un port en mode access, un VLAN supplémentaire spécifique pour la voix. C'est utilisé dans le cas où la machine est reliée à un téléphone IP, qui relais les datas du PC + ses trames de VOIP vers le switch. Dans ce cas le “VLAN voix” est appelé le VLAN auxiliaire ; il sera taggué et uniquement connu du téléphone et du switch, n'étant pas relayé vers le PC.
Mode trunk
Pour diffuser des VLANs entre 2 switchs (par exemple) par le même lien on doit passer le lien inter-switch en mode trunk : cela consiste à ajouter une information sur chaque paquet Ethernet permettant de définir l'appartenance à un VLAN : c'est ce qu'on appelle le tagging (cf plus haut).
Un port trunk doit être configuré en switchport
(de niveau 2) et en mode trunk
. Ensuite, on doit spécifier les VLANs qui transitent par ce port avec la syntaxe : switchport trunk allowed vlan {all | none | [add | remove | except] <VLANs>}
. Par défaut un port en mode trunk balance tous les VLANs du commutateur.
Enfin il faut spécifier le protocole utilisé pour le trunk : switchport trunk encapsulation [dot1q | isl | negociate]
(par défaut, negociate utilisera l'ISL).
Switch(config-if)#switchport Switch(config-if)#switchport mode trunk Switch(config-if)#switchport trunk encapsulation dot1q Switch(config-if)#switchport trunk allowed vlan add 2,5
Pour modifier le VLAN natif, c'est-à-dire le VLAN non taggué (par défaut c'est le 1 ; ici on le passe à 17) on passe la commande :
Switch(config-if)#switchport trunk native vlan 17
DTP
Dynamic Trunking Protocol permet à un port de dialoguer avec le port d'en face dans le but de passer en mode trunk ou non.
switchport nonegociate
ne négocie pas le trunk ; il n'est accessible que sur un port configuré en mode access ou trunk.switchport mode dynamic {auto | desirable}
. Cela permet de laisser le port s'autoconfigurer :- mode desirable : négocie activement pour passer le lien en trunk ; il passe donc en mode trunk face à un port configuré en trunk, desirable ou en auto. C'est le mode par défaut.
- mode auto : négocie passivement le lien en trunk ; il passe en trunk face à un port configuré en trunk ou desirable.
Si rien n'est spécifié et c'est une faille potentielle quand c'est sur un port relié à un PC (ce dernier peut se faire passer pour un switch, forcer en mode trunk, et faire passer tous les VLANs dessus).
Synthèse des interactions
Dynamic auto | Dynamic desirable | Trunk | Access | |
---|---|---|---|---|
Dynamic auto | access | trunk | trunk | access |
Dynamic desirable | trunk | trunk | trunk | access |
Trunk | trunk | trunk | trunk | déconseillé |
Access | access | access | déconseillé | access |
Vérification
sh dtp interface DTP information for GigabitEthernet1/0/1: TOS/TAS/TNS: ACCESS/OFF/ACCESS TOT/TAT/TNT: 802.1Q/NEGOTIATE/802.1Q Neighbor address 1: 000000000000 Neighbor address 2: 000000000000 Hello timer expiration (sec/state): never/STOPPED Access timer expiration (sec/state): never/STOPPED Negotiation timer expiration (sec/state): never/STOPPED Multidrop timer expiration (sec/state): never/STOPPED FSM state: S1:OFF # times multi & trunk 0 Enabled: no In STP: no Statistics ---------- 203 packets received (0 good) 203 packets dropped 0 nonegotiate, 0 bad version, 0 domain mismatches, 0 bad TLVs, 0 bad TAS, 0 bad TAT, 0 bad TOT, 203 other 0 packets output (0 good) 0 native, 0 software encap isl, 0 isl hardware native 0 output errors 0 trunk timeouts 1 link ups, last link up on Mon Mar 01 1993, 00:01:57 2 link downs, last link down on Wed Mar 10 1993, 23:43:59
Vérification
Switch#sh vlan [ brief | id <vlan_id> | name <vlan_name> ] Switch#sh vlan brief VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/1,Fa0/2, Fa0/3, Fa0/4, Fa0/5 Fa0/6, Fa0/7, Fa0/8, Fa0/9 Gi0/1 5 vlan cinq active 1002 fddi-default act/unsup 1003 token-ring-default act/unsup 1004 fddinet-default act/unsup 1005 trnet-default act/unsup
Les vlans 1, 1002, 1003, 1004 et 1005 sont les vlans par défaut de chaque type d'interface ; on ne peut pas les supprimer.
Là on voit qu'aucun port n'a accès au vlan 5 (aucun port n'est en mode access pour le VLAN 5).
VTP
Le Vlan Transport Protocol permet de propager la configuration des VLANs sur un domaine VTP (un ensemble de switch convenu). Le VTP est propagé uniquement sur les ports trunk ; les conditions suivantes sont requises pour que le VTP fonctionne correctement :
- chaque switch doit appartenir au même domaine VTP
- les switchs doivent être adjacents
- les switchs doivent être reliés entre eux par des liens trunk
Chaque switch envoie les information suivantes :
- le nom du domaine VTP
- le numéro de révision
- les VLANs connus ainsi que leurs paramètres spécifiques
Chaque switch envoie des VTP advertisement par défaut toutes les 5 minutes a ses voisins sur l'adresse MAC multicast 01-00-0C-CC-CC-CC
.
Les 3 modes de fonctionnement
Il existe 3 modes de fonctionnement pour le VTP :
- serveur : les serveurs centralisent la conf en écriture, et la propagent vers les clients –et serveurs– du même domaine. Chaque modification de la base des VLAN incrémente la révision du VTP et est transmise à tout le domaine.
- client : les clients reçoivent et ré-émettent la conf de leur domaine VTP, qu'ils gardent en lecture seule : impossible de créer un VLAN en mode client.
- transparent : le mode transparent permet de garder une base de VLAN indépendante (locale) à l'équipement. Dans ce mode, la révision VTP reste toujours à 0. En revanche, le switch relaie les informations VTP qu'il reçoit (en VTP v2 seulement).
Un commutateur ne peut appartenir qu'à un seul domaine VTP ; en revanche il peut y avoir plusieurs domaines VTP dans un même réseau.
Les confs envoyées par VTP disposent d'un numéro de version par domaine VTP ; les équipement se synchronisent sur le dernier numéro de version de ce domaine. Il faut donc faire attention lorsqu'on rajoute un switch dans un réseau : si ce dernier appartient à un domaine existant et que son numéro de version est > à celui du domaine, tous les équipements du domaine vont se synchroniser sur sa base, et donc perdre leur configuration ! Il faut donc bien nettoyer un équipement qu'on insère dans un réseau :
- soit on supprime le fichier vlan.dat qui contient les informations VTP (
delete flash:vlan.dat
) - soit on change le domaine du switch pour reseter son compteur ; puis on remet le domaine voulu
- (à vérifier) soit on fait un
delete vtp
en mode privilégié (uniquement sur les dernières versions d'IOS). - si le switch est en mode transparent il ne communique pas sa version de sa vlan database donc il est normalement “safe”.
Pour ce protéger de cela, il est fortement conseillé de définir un mot de passe au domaine VTP. Ainsi un switch connecté par inadvertance sur un réseau de prod ne pourra pas modifier pas les confs des autres équipements sans ce mot de passe.
Les différents types d'advertisement
- Summary Advertisements envoyés par les clients toutes les 5 minutes ou lors d'un changement de topologie
- Subset Advertisements faisant suite à un summary advertisements, envoyés par les serveurs VTP après un changement de configuration. Un advertisement est généré par VLAN modifié.
- Avertisement Requests est une demande d'information sur un VLAN envoyés par un client (lorqu'on ajoute un switch dans un domaine VTP par exemple).
Configuration
Comme pour la création de VLAN, elle peut se faire dans le mode de configuration des vlans (en entrant dans la vlan database
), mais c'est une façon dépréciée. On doit maintenant configurer le vtp à partir du mode config :
Switch(conf t)#vtp domain <mon_domaine> Switch(conf t)#vtp mode [serveur | client | transparent] Switch(conf t)#vtp password <mdp_du_domaine_VTP>
Pruning
Comme pour le multicast, le pruning est l'élagage des liens de retransmission des données inutiles. Cela permet à un switch de détecter sur quels ports il n'est pas nécessaire de retransmettre les broadcast, flood ou multicast. Ainsi, il ne les retransmettra que sur les ports reliés aux switchs qui ont des ports en access dans ce VLAN, pas aux autres.
Configuration du VTP pruning :
Switch(conf t)#vtp pruning
Ou alors :
Switch(conf t)#set vtp pruneeligible {VLAN_list}
Pour supprimer le pruning :
Switch(conf t)#clear vtp pruneeligible {VLAN_list}
Vérification
Switch#sh vtp status VTP Version : 2 Configuration Revision : 0 Maximum VLANs supported locally : 128 Number of existing VLANs : 7 VTP Operating Mode : Transparent VTP Domain Name : vtp_montage VTP Pruning Mode : Disabled VTP V2 Mode : Disabled VTP Traps Generation : Disabled MD5 digest : 0x92 0xEF 0xF4 0xB5 0xA8 0xCC 0x3F 0x1A Configuration last modified by 10.2.1.30 at 3-5-93 00:41:31
Recommandations
- utiliser un mot de passe par domaine VTP
- ne pas créer de domaine VTP trop étendu
- ne pas dépasser 1 ou 2 VTP server
Configurer un port
Il faut passer en mode configuration du port (config-if)
Switch>en Switch#conf t Switch(config)#int Fa0/1 Switch(config-if)#
Dans l'exemple si dessus on passe à l'interface de configuration du port FastEthernet n°1 du module (carte) 0 du switch.
Voici les paramètres classiques qu'on peut retrouver configurés sur un port :
description <desc de l'interf>
description de l'interfaceduplex full
forcer le mode full-duplexspeed 100
forcer la vitesse à 100Mbpsspanning-tree portfast
pour les ports utilisateur, permet de réduire le temps de négociation du SPT. A noter qu'on peut passer la commande globalespanning-tree portfast default
pour passer en portfast tous les ports qui ne sont pas en mode trunk. C'est une sécurité pour le bon fonctionnement du STP de votre réseau (il ne faut pas qu'un utilisateur puisse émettre des bpdu) ; de plus ça permet à l'interface de monter plus vite.
Autre vraie sécurité du STP : activer le bpduguard sur les ports utilisateurs Switch(conf-if)#spanning-tree bpduguard enable
.
no cdp enable
pour désactiver le protocole Cisco Discovery Protocol sur ce port
A ceux-là s'ajoute la commande shutdown
qui permet de couper administrativement le port. On le verra avec un sh interface description
en état “administratively down”. Pour réactiver le port, il suffit de faire un no shutdown
sur le port.
Cela est bien pratique pour préconfigurer un nouveau switch : on peut configurer un “range” de port c'est à dire une suite de ports qui se suivent. Par exemple, pour configurer les ports Fa0/1 jusqu'au Fa0/24 :
Switch(config)#int range Fa0/1 - 24
Les ports d'un même “range” doivent être de même type et contigus ; si on veut rajouter des ports gigas, on devra écrire :
Switch(config)#int range Fa0/1 - 24, Gi0/1 - 2
Switchport
Pour configurer le niveau 2 d'un port on utilise la commande switchport, généralement soit en mode access (vers une machine) soit en mode trunk (vers un autre switch ou un routeur) :
- soit en mode access (vers un PC) :
switchport switchport mode access switchport access vlan x
- soit en mode trunk (vers un autre switch)
switchport switchport mode trunk switchport trunk encapsulation dot1q switchport trunk allowed vlan x,y
port-security
On peut ajouter une sécurité par vérification d'adresse MAC source :
switchport port-security mac-address <adresse MAC>
pour limiter l'accès au port à seulement cette adresse MAC (on peut en spécifier plusieurs en repassant la commande pour chaque adresse MAC)switchport port-security mac-address sticky
permet au switch d'apprendre la ou les prochaines adresses MAC qui se connectent au port (il les ajoutent dynamiquement dans sa conf) ; pour limiter le nombre des adresses apprises :switchport port-security maximum <nombre max>
.
Pour déterminer le comportement du switch s'il rencontre une mauvaise adresse MAC :
switchport port-security violation {protect | restrict | shutdown}
- protect drop les trames incorrectes mais ne log pas l'incident
- restrict comme protect mais log une alerte et envoie un trap SNMP
- shutdown une alerte est émise (log + SNMP) et l'interface passe en errdisabled (elle est désactivée) jusqu'à ce qu'un administrateur vienne réactiver
Pour info, l'adresse MAC est codée en hardware sur la carte réseau de la machine, elle est attribuée de manière unique parmi tous les périphériques réseaux sortant des usines. Cependant elle n'est en aucun cas sécurisée puisqu'on peut changer cette adresse de manière software (sous Linux ou Windows XP par exemple). Cette sécurité est donc juste une corde anti script-kiddies ;).
Cela permet aussi d'éviter les flood de trames d'adresse source différentes qui remplissent la table d'adresse MAC du switch (CAM), pouvant aboutir dans le pire des cas à transformer le switch en hub (si sa CAM est pleine).
Pour vérifier la configuration :
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
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 copnfigurées (cf § précédent)
Le SSH ne fonctionne qu'avec un hostname et un nom de domaine (à vérif) :
Switch(config)# ip domain-name <nom_de_domaine> Switch(config)# hostname toto
On peut préciser certains paramètres (facultatif) :
toto(config)#ip ssh version 2 toto(config)#ip ssh time-out 120 toto(config)#ip ssh authentication-retries 3
Configuration de l'accès SSH :
à valider : le fait de devoir faire un toto(config)# aaa new-model
Génération d'un couple de clés RSA :
toto(config)# crypto key generate rsa [modulus <360-2048>]
Les lignes vty doivent être configurées (cf § précédent).
On créé ensuite un compte local :
toto(config)# username <login> password <pwd>
Gestion des sessions
Pour afficher les sessions courante sur l'équipement :
show sessions
Pour afficher la liste des utilisateurs connectés :
show users
(Et aussi : show line
)
Pour déconnecter une session :
disconnect <n°_de_session>
Mot de passe oublié
Testé avec un Catalyst 2940
Mode opératoire pour récupérer l'accès à un switch dont on a oublier le mot de passe d'accès.
- Débrancher le switch
- Le rebrancher en maintenant le bouton “mode” enfoncé, jusqu'à ce que le menu de boot apparaisse
C2940 Boot Loader (C2940-HBOOT-M) Version 12.1(13r)AY1, RELEASE SOFTWARE (fc1) Compiled Mon 30-Jun-03 15:16 by antonino WS-C2940-8TF-S starting... Base ethernet MAC Address: 00:12:80:81:42:c0 Xmodem file system is available. The password-recovery mechanism is enabled. The system has been interrupted prior to initializing the flash filesystem. The following commands will initialize the flash filesystem, and finish loading the operating system software: flash_init load_helper boot
(la complétion automatique ne fonctionne pas)
flash_init
load_helper
- Sauvegarder la config :
rename flash:config.text flash:config.old
- Démarrer :
boot
- Passer en mode enable :
enable
- Restaurer la config :
copy flash:config.old flash:config.text
- Sauver la conf :
copy flash:config.text system:running-config
- Changer le mot de passe :
(config)# enable secret <pwd>
- Sauvegarder la conf sur la flash :
write memory
MAJ IOS via Rommon
merci les gars j'ai enfin réussi http://www.cisco.com/en/US/products/hw/routers/ps380/products_configuration_guide_chapter09186a008007c98d.html#xtocid9025 voici ma soluce
rommon 1 > flash_init rommon 2 > set IP_ADDRESS=10.10.10.1 IP_SUBNET_MASK=255.0.0.0 DEFAULT_GATEWAY=10.10.10.1 TFTP_SERVER=10.10.10.2 TFTP_FILE=temp/c820.bin
si pb de checksum : TFTP_CHECKSUM=0
You must use the sync command to save ROMmon environment variables to nonvolatile RAM (NVRAM).
rommon 3 > sync rommon 4 > tftpdnld
The variables to set for tftpdnld are shown here: usage: tftpdnld [-ur]
Si on avait modifié les registres
confreg 0x2101
STP
Le Spanning-Tree Protocol est un protocole de niveau 2 normalisé par l'IEEE en tant que 802.1D. Il permet de découvrir la topologie du réseau, d'en détecter les changements et d'éviter les boucles en établissant un chemin unique d'un point à un autre du réseau grâce à un algorithme d'arbre recouvrant (spanning tree).
Les communications entre les commutateurs se font par des paquets appelés BPDUs, qui sont notamment composés du “bridge priority” sur 2 octets suivi de la MAC adresse du commutateur qui parle (donc au total 2 + 6 = 8 octets). Ces 8 octets forment le BID (bridge ID) et servent à déterminé qui sera le root bridge. La priorité la plus basse est la meilleure ; à priorité égale, le switch qui a la plus petite @ MAC devient le root bridge. A partir de son élection, tous les autres switchs du réseau vont déterminer le chemin le plus court vers celui-ci, en additionnant les coûts des liens traversés :
- 100 pour 10Mbps
- 19 pour du 100Mbps
- 4 pour 1Gbps
- 2 pour 10Gbps, etc…
On peut influer sur l'algorithme STP en modifiant manuellement le coût d'une interface : en l'augmentant, on “oblige” le commutateur à prendre un chemin moins coûteux (ici le coût du lien sur l'interface fa0/1 du switch passe de 19 à 200) :
Switch(config)#int fa0/1 Switch(config-if)#spanning-tree cost 200
STP BPDU Guard
Désactive le port sur lequel il reçoit des BPDUs si le portfast est activé sur le port. Il faut réactiver manuellement le port.
Pour activer le BPDU guard, on se met en config-if :
spanning-tree bpduguard enable
NB : on peut activer par défaut sur tous les ports configurés en portfast avec la commande globale spanning-tree portfast bpduguard default
STP BPDU filter
spanning-tree bpdufilter enable
permet d'ignorer les BPDUs venant de cette interface (drop) sans pour autant la désactiver.
NB : on peut activer par défaut sur tous les ports configurés en portfast avec la commande globale spanning-tree portfast bpdufilter default
.
STP Root Guard
Désactive le port si un BPDU de plus faible priorité est reçu (= si le switch de l'autre coté tente de devenir root) ; le port se réactive automatiquement lorsque l'équipement cesse de recevoir des BPDUs supérieurs.
Pour activer le root guard, on se met en config-if :
spanning-tree guard root
Loop guard
Le loop guard est une sécurité supplémentaire pour éviter les boucles ST. Lorsqu'un port “blocking” cesse de recevoir des BPDUs, il passe normalement aux états listening-learning et forwarding. Si le loop guard est activé, ce dernier passera à l'état loop-inconsistent blocking et le message suivant sera écrit dans les logs :
SPANTREE-2-LOOPGUARDBLOCK: No BPDUs were received on port 3/2 in vlan 3. Moved to loop-inconsistent state.
Lorsque le port recevra à nouveau des BPDUs, il se débloquera automatiquement.
RST
Le Rapid Spanning-Tree est une modification du ST qui permet une convergence bien plus rapide que le standart initial : on passe de 50 secondes à quelques secondes lors d'une perte d'un lien. C'est devenu un standart lui aussi.
C'est actuellement ce mode de fonctionnement qui utilisé partout. Partout vous dis-je.
PVST
Le Per VLAN Spanning-Tree est une amélioration propriétaire de Cisco qui permet de négocier un arbre ST par VLAN (ça permet de faire de la répartition de flux puisqu'on peut ainsi définir un root bridge différent pour chaque VLAN).
Cependant son inconvénient est que ce n'est pas un standart (donc concrètement ça ne tourne qu'entre équipements Cisco) et qui cela consomme beaucoup de ressources (CPU et réseau).
Comme ce protocole utilise une instance par VLAN, chaque BID doit contenir le numéro de VLAN : la priorité du STP (bridge priority, sur 16 bits) a été décomposée en 2 champs pour devenir l'extented bridge priority 4+12 bits : 4 pour la priorité du switch et 12 bits pour identifier le VLAN (2^12 = 4096, le compte est bon). Cela permet donc de ne pas changer le format du champs, mais implique d'utiliser une priorité multiple de 4096 (on joue sur les 4 bits de poids fort du BID).
R-PVSTP
Rapid-PVST Protocol ou Rapid Per VLAN Spanning Tree Protocol permet de combiner le “rapide” et le “par VLAN” ST :
- Rapid : de converger plus vite lors d'un changement de topologie (2 secondes au lieu de 50 environs)
- Per VLAN : d'utiliser une instance STP par VLAN
C'est un protocole propriétaire CISCO à la différence du MSTP (Multiple STP, extension du RSTP, qui permet de créer plusieurs instances de STP avec un ou plusieurs VLAN rattaché).
Configuration (idem pour le PVSTP activé par défaut) :
On active le RPVST :
Switch1(config)#spanning-tree mode rapid-pvst Switch2(config)#spanning-tree mode rapid-pvst
La priorité par défaut est de 32768 : on va déclarer le Switch1 en “root primaire” et le 2 en “root secondaire” backup, ce qui va avoir comme effet de passer la priorité du Switch1 à 24576 et du Switch2 à 28672.
Switch1(config)#spanning-tree vlan 445 root primary Switch2(config)#spanning-tree vlan 445 root secondary
NB : quand on configure un switch en root primary
sur un vlan, il va modifier dynamiquement sa priorité pour devenir root sur ce VLAN ; en revanche la commande root secondary
fixe une priorité statique de 28672 (juste prioritaire à la priorité d'un switch lambda configuré par défaut).
On aurait pu gérer les priorités statiques à la main :
Switch1(config)#spanning-tree vlan 445 priority 8192 Switch2(config)#spanning-tree vlan 445 priority 16384
Vérification :
Switch1#sh spanning-tree vlan 445
MSTP
Multiple Spanning-tree permet de créer des groupes (instance) de VLANs qui partageront une seule et même topologie spanning-tree. On diminue ainsi la charge du réseau et des CPUs des commutateurs par rapport au PVST (moins de BPDUs et moins de calculs d'arbres).
L'inconvénient est qu'un problème de ST sur une instance impacte tous les VLANs de celle-ci.
On associe donc un groupe de VLAN à une instance (numérotées de 1 à 15 max), contenue dans une région ; ces VLANs partageront leur topologie ST (ou plutôt RST car chez Cisco le MST implique de fonctionner en RST).
Par défaut l'instance 0 (MST00) contient tous les VLANs.
Les switchs appartenant à une même région MST doivent avoir en commun :
- les mêmes numéros d'instance
- le même mapping de VLAN par instance
- le même numéro de révision
Configuration
On va créer 2 instances dans la région region1 avec un n° de révision de 1 :
Switch(config)#spanning-tree mst configuration Switch(config-mst)#instance 1 vlan 1-500 Switch(config-mst)#instance 2 vlan 501-1000 Switch(config-mst)#revision 1 Switch(config-mst)#name region1 Switch(config-mst)#exit
Puis on active le MST :
Switch(config)#spanning-tree mode mst
Chaque commutateur doit avoir la même configuration de région sous peine de ne pas pouvoir communiquer avec les autres commutateurs “régionnaux”.
Pour réinitialiser la détection des protocoles ST, il faut passer la commande :
clear spanning-tree detected-protocols
Dans certains cas (à déterminer) il faut passer la directive suivante sur les interfaces physiques reliées à certains commutateurs :
Switch(config-if)#spanning-tree mst pre-standart
Vérification
show spanning-tree mst configuration show spanning-tree mst
Etherchannel
C'est le nom utilisé par CISCO pour désigner du bonding ou channel bonding, c'est à dire un agrégat de ports physiques en un port logique. On peut fusionner jusqu'à 8 interfaces de même nature. Les avantages sont :
- addition globale (pas de machine à machine) de la bande passante de chaque lien (ex : 4 liens physiques à 100 Mbps ~= 1 lien logique à 400 Mbps).
- redondance d'interface
On l'utilise souvent pour les interconnexions de gros commutateurs, par exemple sur un backbone.
Il 2 principaux protocoles : le LACP (standart IEEE 802.3ad) et le PAgP (propriétaire Cisco).
Configuration
On créer l'interface logique
Switch(config)#interface PortChannel1
On la configure comme une interface normale.
Pour chaque interface physique que l'on veut ajouter à l'Etherchannel, on ajoute dans la conf :
Switch(config)#interface Gi0/1 Switch(config-if)#channel-group 1 mode active
On peut spécifier le mode par :
active Enable LACP unconditionally auto Enable PAgP only if a PAgP device is detected desirable Enable PAgP unconditionally on Enable Etherchannel only passive Enable LACP only if a LACP device is detected
Les ports physiques d'un Etherchannel doivent être de même type et de même vitesse ; ils doivent avoir la même configuration.
HSRP
Le HSRP est un protocole propriétaire Cisco semblable au VRRP, qui permet de mettre en place une redondance au niveau du routage (High Availability). On met en place un groupe de plusieurs routeurs, qui élisent entre eux un “master” du groupe (celui de plus haute priorité). Ce dernier passera à l'état “Active” (et les autres en “Standby”) : il répondra aux requêtes envoyées à l'IP virtuelle du groupe HSRP. S'il vient à tomber, l'un des routeurs Standby passera actif pour prendre sa place et répondre à l'IP virtuelle. Du point de vue des utilisateurs il n'y a donc qu'un seul et même routeur qui ne change jamais d'adresse.
Le HSRP utilise l'adresse multicast 224.0.0.2 (qui correspond à tous les routeurs du lien local) via UDP sur le port 1985, il faut donc veiller aux ouvertures de flux sur les ACLs.
Le routeur master envoie des paquets Hello à tous les routeurs standby toutes les 3 secondes. Quand ces derniers ne reçoivent plus ces paquets pendant 10 secondes d'affilé (Hold time), ils procèdent à une réélection. Le nouveau routeur principal qui est élu est celui de plus forte priorité (de 1 à 255, par défaut 100), et à priorité égale, de plus haute adresse IP sur son interface.
Mise en place
On a 2 routeurs (routeur1 et routeur2) : le 1 sera le principal (master), le 2 (standby) prendra le relais si le 1 tombe en panne.
preempt
permet à un routeur de plus haute priorité de destituer un routeur de plus faible priorité (par exemple quand un routeur actif tombe puis repasse up) ; par défaut “preempt” est immédiat mais on peut lui fixer un délais- le HSRP ne peut se configurer que sur les interfaces de type Port-channel (Po), SVI (int vlan) et port routé (no switchport)
routeur1 :
R1(config)#interface Vlan435 R1(config-if)#ip address 10.0.0.1 255.255.255.0 R1(config-if)#standby 8 ip 10.0.0.254 R1(config-if)#standby 8 priority 110 R1(config-if)#standby 8 preempt
routeur2 :
R2(config)#interface Vlan435 R2(config-if)#ip address 10.0.0.2 255.255.255.0 R2(config-if)#standby 8 ip 10.0.0.254 R2(config-if)#standby 8 priority 90 R2(config-if)#standby 8 preempt
Configuration avancée
Modification des timers
Le premier est le Hello time (par défaut de 3s) et le second est le Hold time (par défaut de 10s).
RX(config-if)#standby 8 timers 5 15
Authentification
A mettre sur tous les routeurs d'un groupe :
RX(config-if)#standby 8 authentication blabla435
Tracking d'interface
Le tracking d'interface permet à un routeur de vérifier l'état d'une de ses interfaces (typiquement son interface WAN) et, si elle est down, de décrémenter sa priorité HRSP (par défaut 10) afin de céder la place à un routeur backup.
- on peut “traquer” plusieurs interfaces
- lorsque l'interface redevient up, le routeur retroure sa priorité HSRP initiale
Dans le cas suivant, le routeur R1 baissera sa priorité HSRP de 50 (110-50 = 60) quand l'interface gi0/1 tombera :
R1(config-if)#standby 8 track gi0/1 50
HSRP sur ip secondaire
On peut mettre en place de l'HSRP sur une IP secondaire avec la commande :
R1(config-if)#standby 8 ip 10.0.1.254 secondary
Vérification
La négociation dure quelques secondes, puis :
router1#**sh standby brief** P indicates configured to preempt. | Interface Grp Prio P State Active addr Standby addr Group addr Vl5 48 110 P **Standby** 10.0.10.4 local 10.0.10.6 [..]
Le routeur backup est marqué en standby, le maître est Active.
router2#sh standby vlan 5 Vlan5 - Group 48 Local state is Active, priority 90, may preempt Hellotime 5 sec, holdtime 15 sec Next hello sent in 1.305 Virtual IP address is 10.0.10.6 configured Active router is local Standby router is 10.0.10.5 expires in 11.716 Virtual mac address is 0000.0c07.ac30 Authentication text "blabla5" 1 state changes, last state change 9w0d IP redundancy name is "hsrp-Vl5-48" (default)
VRRP
GLBP
C'est un protocole apportant de la haute disponibilité comme le HSRP ou le VRRP, mais qui permet en plus une répartition de charge entre les routeurs d'une groupe.
Un groupe de routeurs apparait comme un seul et permet la répartition de charge. Chaque routeur appartenant à un même groupe est appelé AVF (Active Virtual Forwarder) et possède une adresse MAC virtuelle. L'un d'eux est désigné pour être également répartiteur de charge (Active Virtual Gateway) = il va répondre aux requêtes ARP sur l'IP virtuelle du groupe par une des adresses MAC d'un AVF. La façon dont il distribue les MACs aux client définit la façon dont sera répartie la charge (par poids, par host, ou Round Robin). Si l'AVG tombe, une nouvelle élection a lieu parmi les AVF.
- la priorité la plus grande est la meilleure ; elles vont de 1 à 255, celle par défaut étant 100.
- les groupes GLBP peuvent aller de 0 à 1023
- le GLBP permet de faire du tracking d'interface
- 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.
Théorie
- protocole de routage à état de liens standardisé par l'IEEE (RFC 2328)
- update seulement sur changement de topologie
- updates périodiques toutes les 30 min
- utilisation d'IP multicast pour dialoguer : 224.0.0.5 pour les routeurs et 224.0.0.6 pour les DR/BDR
- basé sur l'algorithme de Dijkstra (SPF) qui permet de transformer la table de topologie en table de routage
- comme en EIGRP, 3 tables : la table des voisins, la table de topologie et la table de routage qui en découle.
- notion d'aire OSPF = sectorisation qui permet d'alléger les tables de routage en agrégeant les routes ; toutes les aires (regular area ou aire ordinaire) sont reliées à l'aire 0 (aire backbone ou aire de transit) par leur ABR (routeur de bordure). Chaque flux entre 2 aires passe forcément par l'aire 0. Chaque routeur ne communique qu'avec des routeurs de la même aire que lui (sauf si c'est un ABR).
- découverte du voisinage par l'échange de paquets Hello ; si les conditions sont requises, 2 voisins deviennent adjacents et peuvent ainsi échanger leurs tables de routage
- la métrique (le coût) OSPF est basé sur la bande passante (BW) du lien inter-routeur (= 108 ÷ BW)
- le protocole OSPF est encapsulé dans un paquet IP, mais le protocole OSPF inclut des paquets de type ACK qui permettent d'acquitter la réception de message
Terminologie
- PDU Protocol Data Units ; les LSAs sont des PDUs
- LSA Link-State Advertisement qui sont envoyer à tous les routeurs de l'aire
- LSU Link-State Update
- LSDB Link-State DataBase qui sont identiques sur tous les routeurs de l'aire
- DR Designated Router
- BDR Backup Designated Router
- ABR Area Border Router
- ABDR Autonomous Sytem Boundary Router = tout routeur qui redistribue des routes
- SPF Shortest Path First
- stub area aire “impasse”, qui ne reçoit pas de LSA type 5
- totally stubby area est une stub area qui ne reçoit pas non plus les LSAs de type 3
- NSSA ou Not So Stubby Area est une stub area qui annonce un réseau externe
BR, BDR et relations d'adjacence
Une relation d'adjacence est permet l'échange d'information de routage entre 2 routeurs voisins ; cela ne peut se faire que si ceux-ci ont les 4 paramètres suivants en commun :
- les intervalles Hello et dead time
- le numéro d'aire
- l'authentification mutuelle (= le même password par exemple)
- le flag stub area qui identifie une stub area càd une aire “impasse” (cf plus haut)
Selon le type de lien qui relie 2 routeurs, l'OSPF va monter différents types d'ajacence :
- avec les liens point-à-point comme du HDLC : adjacence complète (full adjacency)
- avec des liens LAN comme Ethernet, OSPF procède à l'élection d'un DR et d'un BDR par segment ; ceux-ci centralisent les échanges (un peu à la manière d'un root brige avec le protocol Spanning-Tree) et les retransmettent aux autres routeurs (DROTHERs). Cela permet de limiter les flux inter-routeur.
Il y a autant de DR dans une aire que de réseau multi-access.
Mise en place basique
Les best pratices recommandent d'utiliser une loopback pour faire de l'OSPF, car cette interface locale est toujours up. On s'en servira comme identifiant du routeur dans l'OSPF.
R1(config)interface loopback 0 R1(config-if)description Lo0 pour OSPF R1(config-if)ip address 192.168.0.23 255.255.255.255
Pour activer le routage : on créer une instance OSPF (ici le processus 111 qui est un ID local), et on spécifie l'identifiant OSPF du routeur (NB : ce n'est pas forcément une adresse IP du routeur, on peut mettre une valeur aléatoire sur 32bits ; cependant il est préférable d'utiliser l'IP de la loopback du routeur) :
R1(config)#router ospf 111 R1(config-router)#router-id 192.168.0.23
Puis on annonce les réseaux connus, avec la syntaxe network <adresse du réseau> <masque inversé (wildcard)> area <numéro de l'aire>
. Cette commande :
- va activer l'OSPF sur la ou les interfaces qui matchent
- va annoncer dans l'OSPF les réseaux des interfaces qui matchent, avec les masques définis sur ces interfaces.
Ce dernier point signifie que si on a network 10.0.0.1 0.0.0.0 area 0
(/32) et une interface en ip address 10.0.0.1 255.255.255.0
(donc un /24), c'est bien le réseau 10.0.0.0 /24 qui va être annoncé. C'est pour ne pas confondre cela qu'il est souvent conseiller de déclarer dans l'OSPF les interfaces de routage (en /32, comme l'exemple que je viens de donner) et non les réseaux.
On annonce la loopback 0 ainsi que les réseaux connus que l'on veut injecter dans l'OSPF.
R1(config-router)#network 192.168.0.23 0.0.0.0 area 0 R1(config-router)#network 192.168.1.0 0.0.0.255 area 0
Si l'interface de routage du réseau 192.168.1.0/24 est le .254, la dernière lignes peut également s'écrire ainsi :
R1(config-router)#network 192.168.1.254 0.0.0.0 area 0
Le routeur Cisco va automatiquement détecter l'interface reliée à ce réseau et activer le routage OSPF dessus.
area 0
c'est l'aire backbone (dorsale). En effet, afin d'éviter de propager la totalité de la base de données des liens, l'OSPF permet de sectoriser un réseau en différentes aires (~domaines). Les routeurs à la frontière des aires sont appelés Area Border Router (ABR).
Une autre méthode alternative pour déclarer le réseau 192.168.1.0/24 consiste à activer explicitement l'OSPF sur son interface de routage :
R1(config-if)#ip ospf 111 area 0
Configuration avancée
Authentification
Sur l'interface voulue participant à l'OSPF :
int gi0/0 ip ospf authentication ip ospf authentication-key san-fran
Cela va sans dire qu'il vaut mieux que le routeur d'en face ait les mêmes paramètres pour que ça marche bien.
Passive interface
Pour désactiver l'OSPF sur une interface de routage, on utilise la commande passive-interface
:
router ospf 111 passive-interface se0/0/0
Cette interface ne participera plus à l'OSPF, mais son réseau continuera d'être annoncé/routé (s'il y a bien la ligne network <réseau> etc..
)
agrégation de routes
Ne peut se faire que sur les ABR :
R1(config-router)#area 1 range 10.1.0.0 255.255.0.0
Ici on aggrège pour n'annoncer qu'un réseau en /16.
stub area
Doit se configurer sur chaque router de l'aire (ici l'aire 3) :
R1(config-router)#area 3 stub
Cela provoque l'apparition d'une route par défaut :
sh ip route [..] O*IA 0.0.0.0/0 [110/2] via 10.3.2.2, 00:01:23, FastEthernet0/0
totally stubby area
Ne se configure que sur l'ABR de l'aire.
R1(config-router)#area 3 stub no-summary
virtual-link
Pour connecter une aire à l'aire 0 via une autre aire, on créé un lien virtuel (tunnel) entre l'ABR de l'aire “distante” et l'ABR de l'aire contigüe à l'aire 0. Le vlink se déclare sur les 2 routeurs d'extrémité en pointant vers le routeur-id d'en face :
Dans l'exemple suivant, R1 (id=192.168.0.2) est l'ABR situé entre l'aire 33 (qui veut se connecter à l'aire) l'aire 3 (connecté à l'aire 0) et R2 (id=192.168.0.1) l'ABR situé entre l'aire 0 et l'aire 3. Aire 3 ne doit pas être une stub-area.
R1(router-config)#area 3 virtual-link 192.168.0.2 R1(router-config)#network 10.0.10.0 0.0.0.255 area 33
R2(router-config)#area 3 virtual-link 192.168.0.1
Vérifs avec sh ip ospf virtual-links
.
Vérification
debug ip ospf adj debug ip ospf events
(Pour désactiver le debugging : undebug all
)
sh ip ospf interface sh ip ospf neighbor sh ip protocols sh ip route ospf
EIGRP
EIGRP (Enhanced IGRP) est un protocole de routage propriétaire CISCO à vecteur de distance. Ces particularités sont :
- convergence rapide
- VLSM support : le protocole diffuse les réseaux avec leur masque (classless routing protocol) mais pas par défaut (
no auto-summary
) - updates partiels
- support de multiples protocoles tels IP, Appletalk, IPX
- métrique “sophistiquée” (composite metric) : par défaut basée sur la bande passante et le délais de l'interface (256 x la métrique IGRP), mais on peut également prendre en compte la fiabilité, la charge ou la MTU du lien
- utilise une adresse multicast pour dialoguer (224.0.0.10) mais peut aussi utilier de l'unicast en spécifiant les voisins à la main
- RTP (Reliable Transport Protocol) : les paquets d'échanges de tables entre voisins sont acquittés
- basé sur l'algorithme DUAL (Diffusing Update ALgorithme) qui lui assure une topologie sans boucle (100% loop-free !)
- utilise des paquets Hello pour découvrir ses voisins et connaitre leur état
EIGRP maintient 3 tables :
- la table de voisins : contient la liste des routeurs voisins ainsi que l'interface pour les atteindre
- la table de topology : contient tous les réseaux connus avec leur FD/AD/voisin associé
- la table de routage : contient les meilleures routes (= successor route)
5 types de paquets :
- Hello
- Update
- Query
- Reply
- ACK : pour acquitter les update, query et reply
Par défaut EIGRP est capable de faire du partage de charge entre 2 successeurs de même métrique ; en jouant sur la variance il peut même le faire sur des routes à métrique différente. Par défaut la variance vaut 1 ; si on la passe à 2 cela signifie que le routeur fera du partage de charge sur tous les feasible successors ayant une métrique ⇐ à la métrique du successeur.
Terminologie :
- AD (Advertised Distance) c'est le coût pour atteindre un réseau annoncé par un voisin
- FD (Feasible Distance) c'est le coût vers un réseau du point de vue du routeur, donc c'est égal à AD + coût de la liaison vers le routeur voisin.
- (current) Successor c'est le “next-hop router” qui a le coût le plus bas et qui est “loop-free”
- FS (Feasible Successor, ou successeur éventuel) : c'est le backup du successor vers un réseau donné ; la condition pour cela est que son AD soit inférieur au FD du successeur. C'est cela qui permet de s'assurer à “100%” que EIGRP est sans boucle. Par défaut il peut y avoir 4 successeurs éventuels (de même FD), mais on peut en spécifier jusqu'à 6. C'est aussi cela qui permet à EIGRP de converger très rapidement (plus qu'OSPF ou IS-IS).
Mise en place
On veut activer l'EIGRP sur l'interface serie 0/0
interface Serial0/0 description se0/0 vers CoreRouter bandwidth 64000 ip address 10.140.3.2 255.255.255.0 clock rate 64000
Notez que le paramètre bandwidth ne joue pas sur la bande passante réelle du lien, il sert uniquement au calcul de la métrique.
Création de l'interface loopback 0 pour le routage
interface Loopback0 ip address 192.168.2.65 255.255.255.240
Activer l'EIGRP sur le routeur :
Routeur(config)#router eigrp 100
Activer l'EIGRP sur les interfaces voulues : on déclare les networks suivant.
Router(config-router)#network 10.0.0.0 Router(config-router)#network 192.168.2.0
Le routeur va activer l'EIGRP sur les interface qui correspondent aux réseaux annoncés (donc la loopback 0 et le serial 0/0).
Dans certains cas, on doit l'empêcher de summarizer pour l'empêcher d'annoncer un réseau avec les masques CIDR :
Router(config-router)#no auto-summarize
Configuration avancée
Authentification
On peut choisir soit un simple mot de passe (qui transite en clair, donc inutilisable) soit par hash MD5 (par clé partagée). Les clés peuvent être au nombre de 5 maximum ; on peut leur spécifier des dates de validité. Dans notre exemple on n'en utilisera qu'une seule (key 1).
On configure l'autentification EIGRP :
Router(config)#key chain icndchain Router(config-keychain)#key 1 Router(config-keychain-key)#key-string san-fran
On active l'authentification EIGRP sur chaque interface qui participe au routage :
Router(config)#int se0/0 Router(config-if)#ip authentication mode eigrp 100 md5 Router(config-if)#ip authentication key-chain eigrp 100 icndchain
Routeur d'impasse
Un routeur d'impasse ou stub router est une routeur “feuille”. La pluspart du temps ne connait que ses réseaux connected et apprend tout le reste par EIGRP. Ainsi il ne sert à rien de l'interroger pour tout réseau qui ne lui appartient pas. On peut donc déclarer comme stub router afin que les autres routeurs ne le sollicitent pas quand ils perdent une route.
(config-router)#eigrp stub
Un routeur stub ne reçoit pas les queries ; il annonce juste ses routes connectées directement.
Vérifications
Router#sh ip eigrp neighbors IP-EIGRP neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 10.140.3.1 Se0/0 13 00:12:52 22 200 0 175
Router#sh ip protocols Routing Protocol is "eigrp 100" Outgoing update filter list for all interfaces is not set Incoming update filter list for all interfaces is not set Default networks flagged in outgoing updates Default networks accepted from incoming updates EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0 EIGRP maximum hopcount 100 EIGRP maximum metric variance 1 Redistributing: eigrp 100 EIGRP NSF-aware route hold timer is 240s Automatic network summarization is in effect Automatic address summarization: 192.168.2.0/24 for FastEthernet0/0, Serial0/0 Summarizing with metric 128256 10.0.0.0/8 for Loopback0 Summarizing with metric 28160 Maximum path: 4 Routing for Networks: 10.0.0.0 192.168.2.0 Routing Information Sources: Gateway Distance Last Update (this router) 90 00:12:21 10.45.45.2 90 00:03:12 Gateway Distance Last Update 10.140.3.1 90 00:01:33 Distance: internal 90 external 170
Router#sh ip route eigrp 172.16.0.0/24 is subnetted, 1 subnets D 172.16.31.0 [90/643840] via 10.140.3.1, 00:13:00, Serial0/0 10.0.0.0/8 is variably subnetted, 15 subnets, 2 masks D 10.67.67.0/24 [90/41536000] via 10.140.3.1, 00:03:50, Serial0/0 D 10.23.23.0/24 [90/41536000] via 10.140.3.1, 00:13:00, Serial0/0 D 10.7.7.0/24 [90/41026560] via 10.140.3.1, 00:13:00, Serial0/0 D 10.6.6.0/24 [90/41026560] via 10.140.3.1, 00:12:01, Serial0/0 D 10.5.5.0/24 [90/41026560] via 10.140.3.1, 00:02:31, Serial0/0 D 10.1.1.0/24 [90/540160] via 10.140.3.1, 00:13:00, Serial0/0 D 10.0.0.0/8 is a summary, 00:25:13, Null0 D 10.140.6.0/24 [90/41024000] via 10.140.3.1, 00:13:00, Serial0/0 D 10.140.7.0/24 [90/41024000] via 10.140.3.1, 00:13:00, Serial0/0 D 10.140.4.0/24 [90/41024000] via 10.140.3.1, 00:02:31, Serial0/0 D 10.140.5.0/24 [90/41024000] via 10.140.3.1, 00:13:00, Serial0/0 D 10.140.2.0/24 [90/41024000] via 10.140.3.1, 00:13:00, Serial0/0 D 10.140.1.0/24 [90/41024000] via 10.140.3.1, 00:02:04, Serial0/0 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks D 192.168.1.0/24 [90/41152000] via 10.140.3.1, 00:13:00, Serial0/0 192.168.2.0/24 is variably subnetted, 3 subnets, 3 masks D 192.168.2.0/24 is a summary, 00:13:00, Null0 192.168.3.0/24 is variably subnetted, 3 subnets, 2 masks D 192.168.3.0/24 [90/41152000] via 10.140.3.1, 00:13:00, Serial0/0
Router#sh ip eigrp interfaces IP-EIGRP interfaces for process 100 Xmit Queue Mean Pacing Time Multicast Pending Interface Peers Un/Reliable SRTT Un/Reliable Flow Timer Routes Lo0 0 0/0 0 0/1 0 0 Fa0/0 0 0/0 0 0/1 0 0 Se0/0 1 0/0 22 0/1 93 0 Se0/1 0 0/0 0 0/1 1241 0
Debug
Router#debug eigrp neighbors EIGRP Neighbors debugging is on
IS-IS
Activation globale :
R1(config)#router isis R1(config-router)#net 49.0031.2222.2222.2222.00
Puis sur chaque interface participant au routage :
R1(config-if)#ip router isis
Configuration avancée
Par défaut une interface participe aux levels 1 et 2.
Forcer une interface à ne participer qu'au routage de niveau 1 :
R1(config-if)#is-type level-1
Forcer une interface à ne participer qu'au routage de niveau 2 :
R1(config-if)#circuit-type level-2-only
Vérifications
sh isis topology pod3-P3R2#sh isis topo IS-IS paths to level-1 routers System Id Metric Next-Hop Interface SNPA P3R1 ** pod3-P3R2 -- pod3-P3R4 10 pod3-P3R4 Fa0/0 0016.4741.6b88 IS-IS paths to level-2 routers System Id Metric Next-Hop Interface SNPA P3R1 10 P3R1 Se0/0/1 *HDLC* pod3-P3R2 -- P3R3 20 P3R1 Se0/0/1 *HDLC* pod3-P3R4 **
BGP
Activer le routage avec le numéro d'AS 65001 :
router bgp 65001
Déclarer la Loopback0 comme IP source :
(config-router)#neighbor 10.10.10.2 update-source loopback0
Déclarer des réseaux :
network 10.10.10.0 mask 255.255.255.0
Lister les annonces BGP sur un routeur
sh bgp ipv4 unicast
Lister les voisins
sh ip bgp neighbors
Pour redémarrer toutes les sessions BGP
clear bgp all
Redistribution de routes
- Redistribuer des routes RIP dans l'OSPF :
router ospf 3 log-adjacency-changes redistribute rip subnets
- Redistribuer des routes OSPF dans du RIP avec une métrique de 15
router rip version 2 default-information originate no auto-summary redistribute ospf 3 metric 15
- Changer le distance administrative des routes qui matchent l'ACL 64 apprises par la source 10.0.0.1 :
router ospf 3 distance 125 10.0.0.1 255.255.255.255 64 access-list 64 permit 10.200.200.32 access-list 64 permit 10.3.0.0 0.0.255.255
- Changer la métrique des routes injectées dans l'OSPF : on remplace 1 par 1000 et 2 par 2000 (on utilise une route-map):
router ospf 3 redistribute rip subnets route-map CONVERT route-map CONVERT permit 10 match metric 1 set metric 1000 ! route-map CONVERT permit 20 match metric 2 set metric 2000 ! route-map CONVERT permit 30
- Filtrer les réseaux RIP redistribués dans l'OSPF
router ospf 3 distribute-list 61 out rip access-list 61 deny 10.200.200.0 0.0.0.255 access-list 61 permit any
ACL
Access Control List, implémenté sur les switchs et routeurs CISCO. Il existe les ACLs standarts (numérotées de 1-99 ou 1300-1999) et les ACLs étendues (numérotées 100-199 ou 2000-2699).
- ACLs standarts : elles travaillent au niveau 3 de la pile OSI et uniquement sur les IP source. Elles sont de la forme
access-list <numéro entre 1-99> {permit | deny} <ip source> [<wildcard>]
- ACLs étendues : elles travaillent au niveau 4 de la pile OSI = on peut tester également les protocles de niveau 4 (tcp, udp) et notamment les numéros de port. Elles sont de la forme :
access-list <numéro> {permit | deny} <procole> <adresse src> <wildcard src> [<port src]] <adresse dst> <wildcard dst> [<port dst>] [established] [log]
ACLs additonnelles :
- ACLs dynamiques : l'utilisateur s'authentifie sur un routeur, qui va charger une ACL sur mesure en fonction du profil.
- Reflexive ACLs : permet de passer en staful = on permet un traffic de passer uniquement s'il est déjà passé dans l'autre sens sur une autre ligne de l'ACL. C'est plus fin que le mot clé established des ACLs étendues.
- Time-based ACLs défini des critère de date/time pour l'application d'une ACL.
On applique une access-list sur une interface en “in” ou en “out” (entrée ou sortie de l'interface) :
Router(config)#interface fa0/0 Router(config-if)#access-group 1 {in | out}
Une ACL est lu de manière séquentielle = ligne 1 puis ligne 2, etc. Si la ligne 1 matche, le routeur applique la règle pour le paquet et sors de l'ACL. Ainsi, si plusieurs lignes conviennent pour un même paquet, seule la première sera appliquée.
VACL
Les VLAN Access-list ou VLAN access maps sont des ACLs de niveau 2, qui s'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 routage et qu'il puisse accèder à internet. On va faire du PAT.
Soit fa0/0 l'interface inside et se0/0 l'interface outside.
Router(config)#interface fa0/0 Router(config-if)#ip nat inside
Router(config)#interface se0/0 Router(config-if)#ip nat outside
On créé une ACL pour définir quelle est la plage d'IP source qui va être nattée (c'est l'adressage privé) :
Router(config)#access-lit 1 permit 10.4.4.0 0.0.0.255
Et on l'applique sur l'interface inside :
Router(config)#ip nat inside source list 1 interface fa0/0 overload
L'option overload indique que l'on veut du PAT ; sans ça on ne ferait que du NAT.
Vérification
On vient de faire 5 pings de 10.4.4.11 vers 10.1.1.1. Attention : la table de translation a un timeout ce qui fait que si personne n'a été natté récemment, les commandes suivantes renverront un résultat “vide”.
Router#sh ip nat statistics Total active translations: 5 (0 static, 5 dynamic; 5 extended) Outside interfaces: Serial0/0 Inside interfaces: FastEthernet0/0 Hits: 920 Misses: 920 CEF Translated packets: 1840, CEF Punted packets: 0 Expired translations: 915 Dynamic mappings: -- Inside Source [Id: 2] access-list 1 interface FastEthernet0/0 refcount 5 Queued Packets: 0
Router#sh ip nat translations Pro Inside global Inside local Outside local Outside global icmp 10.4.4.3:5198 10.4.4.11:5198 10.1.1.1:5198 10.1.1.1:5198 icmp 10.4.4.3:5199 10.4.4.11:5199 10.1.1.1:5199 10.1.1.1:5199 icmp 10.4.4.3:5200 10.4.4.11:5200 10.1.1.1:5200 10.1.1.1:5200 icmp 10.4.4.3:5201 10.4.4.11:5201 10.1.1.1:5201 10.1.1.1:5201 icmp 10.4.4.3:5202 10.4.4.11:5202 10.1.1.1:5202 10.1.1.1:5202
IPv6
Activer IPv6 sur un routeur CISCO : Router(config)#ipv6 unicast-routing
Assigner une addresse IPv6 globale unicast à l'interface se0/1 :
Router(config-if)#ipv6 address 2001:0410:0002:10::/64 eui-64
eui-64 indique l'autocomplétion par le routeur : on ne lui fournit que le masque réseau (les 64 premiers bits de l'addresse) et il calcule son IP par rapport à son adresse MAC.
On créer l'interface loopback 2 et on lui assigne une adresse globale unicast :
Router(config-if)#ipv6 address 2001:410:2:3::/64 eui-64
Router#sh ipv6 int | include line protocol Serial0/1 is up, line protocol is up Loopback2 is up, line protocol is up
RIPng
Mise en place du RIP New Generation (RIPv6)
On active RIPng avec le label (process name) “cisco”.
Router(config)#ipv6 router rip cisco
Et sur chaque interface qui doit participer au routage “cisco” :
Router(config)#int se0/1
Router(config-if)#ipv6 rip cisco enable Router(config)#int loopback 2 Router(config-if)#ipv6 rip cisco enable
Vérifications
Router#sh ipv6 rip RIP process "cisco", port 521, multicast-group FF02::9, pid 211 Administrative distance is 120. Maximum paths is 16 Updates every 30 seconds, expire after 180 Holddown lasts 0 seconds, garbage collect after 120 Split horizon is on; poison reverse is off Default routes are not generated Periodic updates 13, trigger updates 1 Interfaces: Loopback2 Serial0/1 Redistribution: None
Router#sh ipv6 route IPv6 Routing Table - 7 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP U - Per-user Static route I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary O - OSPF intra, OI - OSPF inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 C 2001:410:2:3::/64 [0/0] via ::, Loopback2 L 2001:410:2:3:20A:F4FF:FE4C:74E0/128 [0/0] via ::, Loopback2 C 2001:410:2:10::/64 [0/0] via ::, Serial0/1 L 2001:410:2:10::/128 [0/0] via ::, Serial0/1 L 2001:410:2:10:20A:F4FF:FE4C:74E0/128 [0/0] via ::, Serial0/1 L FE80::/10 [0/0] via ::, Null0 L FF00::/8 [0/0] via ::, Null0
Frame Relay
Pour la suite, on configure une interface série en frame-relay, et on va créer 2 sous-interfaces : l'une pour une liaison point à point et l'autre pour une liaison multipoint. Grâce à l'IARP (Inverse ARP), le routeur doit être capable de récupérer l'adresse IP du ou des routeurs d'en face. En le désactivant on va tout configurer à la main avec des frame-relay map.
Configuration de l'interface physique :
interface Serial0/0/0 no ip address encapsulation frame-relay no frame-relay inverse-arp
point-to-multipoint
interface Serial0/0/0.1 multipoint ip address 172.31.33.2 255.255.255.0 ip ospf network point-to-multipoint frame-relay map ip 172.31.33.4 232 broadcast
broadcast pour activer le broadcast nécessaire aux protocoles de routage (normalement FR ne le supporte pas) ; avec l'IARP il aurait été activé par défaut.
point-to-point
interface Serial0/0/0.2 point-to-point ip address 10.33.0.2 255.255.255.0 frame-relay interface-dlci 221
Il semble qu'on ne puisse pas faire de frame-relay map sur une subinterface point-to-point.
Vérifications
Router#sh run int se0/0 interface Serial0/0 description se0/0 vers CoreRouteur ip address 10.140.3.2 255.255.255.0 encapsulation frame-relay frame-relay map ip 10.140.3.1 120 broadcast
Router#sh int se0/0 | include Encapsulation Encapsulation FRAME-RELAY, loopback not set
Router#sh frame-relay lmi LMI Statistics for interface Serial0/0 (Frame Relay DTE) LMI TYPE = CISCO Invalid Unnumbered info 0 Invalid Prot Disc 0 Invalid dummy Call Ref 0 Invalid Msg Type 0 Invalid Status Message 0 Invalid Lock Shift 0 Invalid Information ID 0 Invalid Report IE Len 0 Invalid Report Request 0 Invalid Keep IE Len 0 Num Status Enq. Sent 94 Num Status msgs Rcvd 96 Num Update Status Rcvd 0 Num Status Timeouts 0 Last Full Status Req 00:00:11 Last Full Status Rcvd 00:00:11
Router#sh frame-relay pvc PVC Statistics for interface Serial0/0 (Frame Relay DTE) Active Inactive Deleted Static Local 1 0 0 0 Switched 0 0 0 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
Crypto
Etat des tunnels :
sh crypto session Crypto session current status Interface: Vlan809 Session status: UP-ACTIVE Peer: 192.168.7.78/500 IKE SA: local 192.168.7.75/500 remote 192.168.7.78/500 Active IPSEC FLOW: permit 47 host 192.168.7.75 host 192.168.7.78 Active SAs: 2, origin: crypto map
Renégocier un tunnel spécifique :
- Trouver le peer (l'IP de l'interface tunnel de l'équipement distant) :
sh ip arp vlan 809 Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.0.78 21 0013.c37c.b940 ARPA Vlan809 Internet 192.168.0.75 - 0000.0c07.dc4d ARPA Vlan809 Internet 192.168.0.74 - 0007.ec74.d420 ARPA Vlan809
Les “Age” = “-” sont les @ MAC locales, ici une adresse logique (HSRP) et une physique (celle du routeur). Le peer est donc le 192.168.0.78.
- Puis on renégocie le tunnel :
clear crypto session remote 192.168.0.78
VoIP
Configuration de la VoIP avec QoS : 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
sur le port du téléphone IP :
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 donc 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
Les services
service password-encryption
permet de crypter tous les mots de passe dans la conf
Tracking d'interface
Permet de baisser un coup HSRP en cas de perte d'une route.
! L’objet tracking est = 1 ! Tracking de la route 10.4.101.8 255.255.255.248 ! Delay down = temps en secondes avant de déclarer la perte de la route. ! delay up = temps en secondes avant de prendre en compte le retour de la route. track 1 ip route 10.4.101.8 255.255.255.248 reachability delay down 5 up 30 ! pour les « 2 » delay down 3 up 40 ! pour les « 1 »
interface VlanX
! Récupération de l’objet tracking 1 ! Si l’objet est valide (route inaccessible) alors décrémenter le poids HSRP de 30 standby Y track 1 decrement 30
Port mirroring
Permet de répliquer le trafic d'un port vers un autre à l'identique. L'usage classique est pour l'analyse de trafic, en mettant une sonde sur le port.
Voir les sessions de mirroring existantes :
show monitor session all Session 1 --------- Type : Local Session Source Ports :
Both : Gi1/0/2 Destination Ports : Gi2/0/1 Encapsulation : Native Ingress : Disabled
La mention Both indique que la redirection se fait sur le trafic entrant et sortant de l'interface Gi1/0/2 vers l'interface Gi2/0/1.
Mise en place de la session de monitoring :
monitor session 1 source interface Gi1/0/2 [both | rx | tx] monitor session 1 destination interface Gi2/0/1
On peut donc choisir de ne redirigerque le trafic entrant ou sortant (ou les 2, par défaut) de l'interface source. On peut aussi monitorer le trafic d'un vlan en remplaçant interface par vlan dans la source.
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éfini une insterface de ce VLAN comme “trust” :
(config-if)#ip arp inspection trust
Tester la longueur d'un cable
Les dernières version de matériel peuvent calculer la longueur d'un câble relié à un de leur port (il doit être UP). C'est possible notamment sur des 3750-E ou des cartes 67xx (pour les châssis 65xx). Pour cela :
router#test cable-diagnostics tdr interface gigabitethernet1/2 TDR test started on interface Gi1/2 A TDR test can take a few seconds to run on an interface Use 'show cable-diagnostics tdr' to read the TDR results.
Puis, comme indiqué :
router#sh cable-diagnostics tdr interface Gi1/2 TDR test last run on: September 02 09:39:51 Interface Speed Pair Cable length Distance to fault Channel Pair status --------- ----- ---- ------------------- ------------------- ------- ------------ Gi1/2 1000 1-2 1 +/- 6 m N/A Pair B Terminated 3-4 2 +/- 6 m N/A Pair A Terminated 5-6 1 +/- 6 m N/A Pair D Terminated 7-8 2 +/- 6 m N/A Pair C Terminated
Le modèle d'infrastructure Campus
C'est un modèle de conception d'infrastructure réseau faisant parti des best-practices de Cisco, aussi appelé le “modèle réseau hiérarchique à 3 couches” ou Enterprise Composite Network Model ou encore ECNM. Il s'agit comme son nom l'indique de définir 3 couches d'équipements réseau ayant des fonctions bien spécifiques :
- switchs d'accès : du pur niveau 2 ; le niveau le plus proche des utilisateurs d'où une haute densité de port (typiquement des c2950)
- switchs de distribution : des switchs multilayers (niveau 2/3) qui gèrent le routage inter-vlan, la haute disponibilité, la “définition des limites”, la sécurité (ACLs) etc…
- backbone ou réseau de cœur désigne de gros switch qui assurent le transport ultra-rapide inter-site.
Divers
Numéros de série
Pour récupérer le serial number d'un équipement sans avoir un accès physique pour regarder l'étiquette :
- pour les c65XX :
sh module
- pour les c3825 :
sh diag
show
sh ip inter brief
Interface IP-Address OK? Method Status Protocol Vlan1 unassigned YES NVRAM administratively down down FastEthernet0/1 unassigned YES unset up up
sh int desc
Interface IP-Address OK? Method Status Protocol Vlan1 unassigned YES NVRAM administratively down down FastEthernet0/1 unassigned YES unset up up
sh int status
Port Name Status Vlan Duplex Speed Type Fa0/1 S70/346/Sparmania connected 455 full 100 10/100BaseTX
sh int trunk
pour afficher toutes les interfaces et les vlan qui y sont trunkéessh mac-address-table
sur un switch
Vlan Mac Address Type Ports All 000b.46a4.f880 STATIC CPU 457 0000.0cd6.ac05 DYNAMIC Gi0/2
sh ip arp [<IP>]
pour voir l'association @<IP>/@MAC sur le switch
Protocol Address Age (min) Hardware Addr Type Interface Internet 192.168.99.87 - 000b.46a4.f880 ARPA Vlan99 Internet 192.168.99.254 97 0000.0cd6.ac30 ARPA Vlan99
sh platform hardware capacity power
affiche notamment la consommation instantanée du routeur (que sur des WS-6509)sh environment connector
affiche un ersatz de la commande ci-dessus, mais sur des petits modèlessh aliases
voir les aliassh module
voir la liste des modules installés avec leur nb de ports, le modèle et le numéro de sériesh inventory
voir la liste des cartes installées et leur numéro de sériesh run
pour voir la running-configsh start
pour voir la startup-configsh line
pour voir les lignes CON/AUX/TTY/VTYsh proc cpu sorted 1min
: une espèce de top façon Cisco.sh proc cpu history
: des graphes en mode texte sur l'utilisation CPU.
router#sh processes cpu history 11 1 1 1 2 8856005765467446644854744606447757404835696583568537644884 100 90 80 70 60 50 40 30 * 20 * * 10 ********** ** ** ** * *** **** * * *#**** **** ** ** 0....5....1....1....2....2....3....3....4....4....5....5.... 0 5 0 5 0 5 0 5 0 5 CPU% per minute (last 60 minutes) * = maximum CPU% # = average CPU%
sh ver
pour voir le version de l'IOS et d'autres informations
router#sh ver Cisco Internetwork Operating System Software IOS (tm) c6sup2_rp Software (c6sup2_rp-PK9SV-M), Version 12.2(18)SXD5, RELEASE SOFTWARE (fc3)
Technical Support: http://www.cisco.com/techsupport Copyright (c) 1986-2005 by cisco Systems, Inc. Compiled Fri 13-May-05 22:43 by ssearch Image text-base: 0x4002100C, data-base: 0x422F0000 ROM: System Bootstrap, Version 12.1(11r)E1, RELEASE SOFTWARE (fc1) BOOTLDR: c6sup2_rp Software (c6sup2_rp-PK9SV-M), Version 12.2(18)SXD5, RELEASE SOFTWARE (fc3) router uptime is 31 weeks, 7 hours, 20 minutes Time since routeur switched to active is 31 weeks, 7 hours, 21 minutes System returned to ROM by power-on (SP by power-on) System restarted at 07:41:26 MET Wed Aug 23 2006 System image file is "disk0:c6k222-pk9sv-mz.122-18.SXD5.bin" This product contains cryptographic features and is subject to United States and local country laws governing import, export, transfer and use. Delivery of Cisco cryptographic products does not imply third-party authority to import, export, distribute or use encryption. Importers, exporters, distributors and users are responsible for compliance with U.S. and local country laws. By using this product you agree to comply with applicable laws and regulations. If you are unable to comply with U.S. and local laws, return this product immediately. A summary of U.S. laws governing Cisco cryptographic products may be found at: http://www.cisco.com/wwl/export/crypto/tool/stqrg.html If you require further assistance please contact us by sending email to export@cisco.com. cisco WS-C6506 (R7000) processor (revision 3.0) with 227328K/34816K bytes of memory. Processor board ID SAL0738LMUH R7000 CPU at 300Mhz, Implementation 0x27, Rev 3.3, 256KB L2, 1024KB L3 Cache Last reset from power-on X.25 software, Version 3.0.0. Bridging software. 9 Virtual Ethernet/IEEE 802.3 interface(s) 48 FastEthernet/IEEE 802.3 interface(s) 20 Gigabit Ethernet/IEEE 802.3 interface(s) 381K bytes of non-volatile configuration memory. 32768K bytes of Flash internal SIMM (Sector size 512K). Configuration register is 0x2102
On peut notamment remarquer les informations suivantes :
sur un switch : Base ethernet MAC Address: 00:0A:F4:80:A5:00
qui indique l'adresse MAC à partir de laquelle sont tirées celles de chaque port.
sh tech-support
renvoie pleins d'informations utiles pour le support CISCOsh cdp neighbor [detail]
pour voir les voisins du switch via le CDP (on peut désactiver le CDP sur l'équipement parno cdp run
). A voir aussi :sh cdp {interfaces | traffic | entry <pattern>}
. A noter : le CDP est un protocole très utile pour connaitre son environnement réseau ; il est de ce fait une manne inespérée d'information pour tout coquin se greffant sur votre réseau. A n'activer qu'avec modération et sur des interfaces sûres.
clear
La commande clear sert dans beaucoup de cas pour “reseter” certaines fonctions :
clear counter int X
permet de remettre à zéro les compteurs de l'interface Xclear mac-address-table dynamic int X
permet de reseter les @ MAC apprises dynamiquement sur l'interface Xclear port-security sticky int X
supprime l'@ MAC enregistrée pour l'accès à cette interface X
Gestion de la mémoire
sh file systems File Systems: Size(b) Free(b) Type Flags Prefixes * 7741440 2430976 flash rw flash: - - opaque ro bs: 32768 9297 nvram rw nvram: - - opaque rw null: - - opaque rw system: - - network rw tftp: - - opaque ro xmodem: - - opaque ro ymodem: - - network rw rcp: - - network rw ftp: - - opaque ro cns:
On peut utiliser les commandes cd
et pwd
.
dir all
affiche l'état de toutes les mémoires (NVRAM, flash, system)copy run start
copie la running-config (située en RAM) dans la startup-config NVRAM afin de retrouver sa configuration lors du prochain reboot. Ca équivaut à unwrite memory
(wr
pour les intimes), commande qui tombe en désuétude (mais qui est bien parce qu'elle est moins longue à taper).erase flash:
Effacer la mémoire flashdelete
pour supprimer un fichier ; on peut ajouter les paramètres/force
et/ou/recursive
.more flash:<fichier>
permet d'afficher le contenu du fichier- sauvegarder la config
copy flash:config.text tftp:
Créer une archive
Pour compresser le fichier flash:/new-configs et l'envoyer par tftp :
archive tar /create tftp:172.20.10.30/saved.tar flash:/new-configs
FTP
Pour utiliser le FTP il faut configurer un username et password en mode conf t
:
Switch(config)#ip ftp username <login> Switch(config)#ip ftp password <pwd>
Puis on procède comme pour le tftp, par exemple :
Switch#copy ftp: flash
boot
router#sh bootvar BOOT variable = disk0:c6k222-pk9sv-mz.122-18.SXD5.bin,1;slot0:c6k222-pk9sv-mz.122-18.SXD5.bin,1 CONFIG_FILE variable does not exist BOOTLDR variable = bootflash:c6msfc2-boot-mz.121-8a.EX Configuration register is 0x2102 Standby is not up.
router#sh bootflash: -#- ED ----type---- --crc--- -seek-- nlen -length- ---------date/time--------- name 1 .. image B597155E 21D670 25 1693168 Dec 3 2003 05:54:45 +01:00 c6msfc2-boot-mz.121-8a.EX 2 .. image DEF2AA44 1B6417C 30 26503820 Aug 10 2004 15:41:48 +02:00 c6sup22-jk2sv-mz.121-20.E3.bin 3784324 bytes available (28197244 bytes used)
Pour changer le mode de démarrage :
router(config)#config-register 0x2102
En sachant que 0x2102 c'est le mode normal, 0x2101 c'est pour booter sur le bootstrap, 0x2100 pour booter sur le Rommon (IOS minimal) et 0x2402 pour booter en mode normal sans charger de config (pour récupérer un mot de passe oublié par exemple).
On peut spécifier le système de fichier où l'équipement ira chercher son IOS :
router(config)#boot system {flash | tftp | disk0 | n'importe quoi d'autre, que sais-je !}
Pour lui préciser l'image à utiliser, s'il y en a plusieurs par exemple :
router(config)#boot system disk0:c6k222-pk9sv-mz.122-18.SXD5.bin
On peut lui en spécifier plusieurs, par ordre croissant de priorité, en les séparant par des virgules.
Pour changer le bootloader par défaut :
router(config)#boot bootldr bootflash:c6msfc2-boot-mz.121-8a.EX
GBIC
GBIC (Gigabit Interface Converter) est un module qui convertit un signal électrique en signal optique.
- 1000BASE-SX multi-mode (jusqu'à 500 m)
- 1000BASE-LX/LH mono-mode (single-mode) mais accepte aussi le multi-mode (jusqu'à 10 km)
- 1000Base-ZX mono-mode (jusqu'à 70 km)
- ST: carré/gros gbic
- LC: mini gbic (sfp)
- SC: rond/quart de tour
- FC: rond à visser
Connecteur (terminaison des fibres) :
- plat
- PC et UPC
- APC (bisoté)
ping
On peut utiliser la commande ping <ip>
; on peut faire un ping étendu en tapant juste ping
et en répondant aux questions qui s'affichent (notamment pinguer à partir d'une autre IP que celle d'administration (par défaut)).
Historique
On peut voir la liste des dernières commandes passées sur l'équipement en tapant sh history
. Ces commandes peuvent également être rappelées une par une au moyen des flèches haut
et bas
(voir aussi les raccoucis clavier).
On peut paramétrer la taille de max de l'historique (en nombre de ligne) avec la commande terminal history size <nb ligne>
.
Régler l'heure
Pour ajuster l'heure du Switch, on utilise la commande clock set
. Cependant vu le niveau de criticité des équipements réseau il est conseillé d'utiliser le protocole NTP qui permet une mise à l'heure automatique et très précise.
Commandes en vrac
setup
: lance le menu d'aide à la configuration
exec time-out
: défini le temps d'inactivité maximum d'une session avant une déconnexion automatique.
terminal length <nb_ligne>
: détermine le nombre de ligne à l'écran. Historiquement c'est 25 (80 colonnes et 25 lignes) mais “de nos jours” on sait faire mieux. Si le résultat d'une commande dépasse cette valeur, on verra s'afficher “–more–” qui mettra en pause l'affichage jusqu'à une frappe clavier.
Si on veut récupérer l'intégralité d'une longue commande sans voir apparaître ces pauses, on pourra spécifier une longueur infinie : terminal length 0
. Très utile si on loggue la session, pour récupérer un show run
par exemple.
resume
basculer sur une autre session telnet ou ssh précédemment ouverte.