informatique:cisco:start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
informatique:cisco:start [2009/11/27 06:54] – Liens pteu | informatique:cisco:start [2018/01/15 11:30] – [Liens] pteu | ||
---|---|---|---|
Line 1: | Line 1: | ||
{{tag> | {{tag> | ||
- | ====== | + | ======Cisco====== |
- | + | ||
- | ~~DIR:: | + | |
{{ http:// | {{ http:// | ||
- | //à valider | + | Cisco est un équipementier de matériels réseaux |
- | telnet 192.168.103.24 8000 / | + | |
- | PVID = n° du VLAN non taggué (le VLAN en access sur un port access | + | |
- | bla// | + | |
Cette page est un recueil de l' | Cette page est un recueil de l' | ||
Line 19: | Line 13: | ||
====Les types de mémoire==== | ====Les types de mémoire==== | ||
- | * **DRAM** Dynamic Random-Access Memory ou **RAM** tout court ; mémoire rapide et non permanente (elle s' | + | * **DRAM** |
- | * **ROM** (Read-Only Memory) contient un IOS minimal et le code, chargé au boot du routeur, qui lance l'IOS présent sur la flash | + | * **ROM** (Read-Only Memory) |
* **Flash memory** (EEPROM ou carte PCMCIA) contient l'IOS, les sauvegardes des confs, le serveur http, etc... | * **Flash memory** (EEPROM ou carte PCMCIA) contient l'IOS, les sauvegardes des confs, le serveur http, etc... | ||
- | * **NVRAM** (Non-Volatile RAM) contient la startup-config | + | * **NVRAM** (Non-Volatile RAM) contient la startup-config |
Sur les IOS, il existe 2 versions de la configuration : la running-config et la startup-config : | Sur les IOS, il existe 2 versions de la configuration : la running-config et la startup-config : | ||
- | * **running-config** c'est la configuration courante ; elle est modifiée dynamiquement/automatiquement quand on tape une commande, mais on la perd quand on reboot car elle est située dans la mémoire vive de l' | + | * **running-config** c'est la configuration courante ; elle est modifiée dynamiquement |
- | * **startup-config** c'est une sauvegarde pérenne de la running-config, elle est stockée sur la NVRAM et est donc conservée lors de l' | + | * **startup-config** c'est une sauvegarde pérenne de la running-config |
====Les 2 niveaux d' | ====Les 2 niveaux d' | ||
- | Il existe 2 modes liés à différents privilèges, | + | Il existe 2 modes associés |
- | * **mode utilisateur** | + | * **mode utilisateur** : le mode auquel |
- | * **mode privilégié** | + | * **mode privilégié** |
- | Le **mode configuration** '' | + | Le **mode configuration** '' |
- | Switch> | + | <code bash> |
- | Switch> | + | Switch> |
- | Password: | + | Switch> |
- | Switch#conf t | + | |
- | Enter configuration commands, one per line. End with CNTL/Z. | + | Switch#conf t |
- | Switch(config)# | + | Enter configuration commands, one per line. End with CNTL/Z. |
- | On peut protéger l' | + | Switch(config)# |
+ | </ | ||
+ | |||
+ | On peut (c'est même recommandé) | ||
- | Depuis le mode configuration global (conf t) on peut accéder aux modes de configuration : | + | Depuis le mode configuration global (conf t) on peut accéder aux sous-menus |
* d'une interface '' | * d'une interface '' | ||
* d'une sous-interface '' | * d'une sous-interface '' | ||
Line 48: | Line 45: | ||
* d'une ligne '' | * d'une ligne '' | ||
* du router '' | * du router '' | ||
+ | |||
====Commandes de base==== | ====Commandes de base==== | ||
- | IOS permet | + | |
+ | Les fonctionnalités de base d'IOS sont : | ||
* la complétion automatique (comme les UNIX) avec la touche ''< | * la complétion automatique (comme les UNIX) avec la touche ''< | ||
Mais à la différence d' | Mais à la différence d' | ||
Line 59: | Line 58: | ||
On quitte un mode avec la commande '' | On quitte un mode avec la commande '' | ||
* '' | * '' | ||
- | * la plupart du temps, pour annuler une commande, on utilise le mot '' | + | * la plupart du temps, pour annuler une commande, on utilise le mot '' |
====Raccourcis clavier==== | ====Raccourcis clavier==== | ||
Line 74: | Line 73: | ||
* '' | * '' | ||
- | Le rappel des dernières commandes passées peut se faire avec les flèches '' | + | Le rappel des dernières commandes passées peut se faire avec les flèches '' |
===Les signaux=== | ===Les signaux=== | ||
- | Sous Linux on peut utiliser le raccourcis clavier ctrl+C pour envoyer un SIGINT qui provoque l' | + | Sous Linux on peut utiliser le raccourcis clavier ctrl+c pour envoyer un SIGINT qui provoque l' |
- | Sous les IOS on utilise l' | + | |
===Séquence d' | ===Séquence d' | ||
- | C'est une séquence de touches qui, lorsqu' | + | C'est une séquence de touches qui, lorsqu' |
+ | Avec Putty, on peut faire juste un clic droit sur le titre de la fenêtre, puis Special Command > Break. | ||
====Commandes filtres==== | ====Commandes filtres==== | ||
- | Quand on fait une commande qui renvoie | + | Quand on fait une commande qui renvoie |
Le mot-clé '' | Le mot-clé '' | ||
Line 98: | Line 97: | ||
====IP de management==== | ====IP de management==== | ||
- | Dans le cas d'un switch, il n'y a pas de traitement de paquet niveau 3 normalement (hors ACLs, mais disons pas de routage | + | Dans le cas d'un switch, il n'y a pas de traitement de paquet niveau 3 normalement (hors ACLs, mais disons pas de routage). Pourtant, on a besoin d' |
- | On spécifie l'IP d' | + | On spécifie l'IP d' |
- | Switch(conf t)#int vlan 1 | + | <code bash> |
- | Switch(conf-if)# | + | Switch(conf t)#int vlan 1 |
+ | Switch(conf-if)# | ||
+ | </ | ||
- | Un switch ne peut avoir qu'une seule adresse IP de management (sauf s'il s'agit d'un switch multilayer comme un 3500 ou un 3700). | + | Un switch ne peut avoir qu'une seule adresse IP de management (sauf s'il s'agit d'un switch multilayer comme les séries Catalyst (c3500, c3700, c6500, etc...). |
====Passerelle==== | ====Passerelle==== | ||
- | Pour sortir du réseau, on doit spécifier la passerelle du réseau, c'est à dire la machine qui va router les paquets | + | Toujours dans le cas d'un switch, et à l’instar d'un PC, pour sortir du réseau on doit spécifier la passerelle |
- | | + | <code bash> |
+ | (conf t)#ip default-gateway | ||
+ | </ | ||
Évidemment celle-ci doit être dans le VLAN d' | Évidemment celle-ci doit être dans le VLAN d' | ||
+ | |||
+ | Pour les routeurs, on définit la route par défaut ; voir les commandes '' | ||
====subnet zero==== | ====subnet zero==== | ||
Line 121: | Line 126: | ||
'' | '' | ||
- | | + | <code bash> |
- | Translating " | + | Router# |
- | % Unknow command or computer name, or unable to find computer address | + | |
+ | % Unknow command or computer name, or unable to find computer address | ||
+ | </ | ||
====logging synchronous==== | ====logging synchronous==== | ||
+ | |||
Par défaut on reçoit des messages du routeur, qui troublent la saisie des commandes, par exemple : | Par défaut on reçoit des messages du routeur, qui troublent la saisie des commandes, par exemple : | ||
- | | + | <code bash> |
- | %SYS-5-CONFIG_I : Configured from console by console | + | Router# |
- | Enter configuration commands, one per line. End with CNTL/Z. | + | |
+ | Enter configuration commands, one per line. End with CNTL/Z. | ||
+ | </ | ||
Pour retrouver sa ligne de commande on peut faire un '' | Pour retrouver sa ligne de commande on peut faire un '' | ||
- | | + | <code bash> |
- | Router(config-line)# | + | Router(config)# |
+ | Router(config-line)# | ||
+ | </ | ||
Voici l' | Voici l' | ||
- | | + | <code bash> |
- | %SYS-5-CONFIG_I : Configured from console by console | + | Router# |
- | Router# | + | |
+ | Router# | ||
+ | </ | ||
=====Configuration générale===== | =====Configuration générale===== | ||
Line 218: | Line 231: | ||
=====Configurer un VLAN===== | =====Configurer un VLAN===== | ||
- | Un //Virtual LAN, réseau virtuel, permet de créer plusieurs réseaux | + | L' |
- | But : | + | Accéder |
- | * segmentation (un domaine de broadcast) | + | |
- | * flexibilité (possibilité de plusieurs vlan pour un switch) | + | |
- | * sécurité (lié à la segmentation) | + | |
- | Il existe 2 protocoles pour tagger les VLANs : | ||
- | |||
- | * **802.1q** : normalisé par l' | ||
- | * **ISL** (Inter Switch Link) est le protocole propriétaire CISCO désuet actuellement. Il encapsule la trame Ethernet en lui rajoutant un header de 26 octets et un FCS (CRC) de 4 octets. Le VLAN ID est codé dans un champ de 10 bits, donc ce protocole ne supporte, lui, que 1024 VLANs max. Comme pour le 802.1q, ce protocole n'est utilisé que sur des liens point-à-point (point-to-point). | ||
- | |||
- | Les différentes dénominations (types) de VLAN : | ||
- | * **VLAN par défaut** : le VLAN 1, celui dans lequel sont mis tous les ports par défaut. | ||
- | * **VLAN natif** : les trames du VLAN natif ne sont pas tagguées en 802.1q afin d' | ||
- | * **VLAN de management** : VLAN dans lequel est située d'IP de management du commutateur, | ||
- | * **VLAN utilisateur** : VLANs classiques = tous les autres. | ||
- | |||
- | **Une best-practice concernant les VLANs consiste à isoler le VLAN natif (ni data ni utilisateurs dedans) ainsi que le VLAN d' | ||
- | |||
- | 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**, | ||
- | * 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 " | ||
- | |||
- | ====La règle des 80/20==== | ||
- | Vilfredo Paretto était un économiste italien qui avait " | ||
- | |||
- | La **règle des 80/20** en réseau en est fortement inspirée : " | ||
- | |||
- | De nos jours, les coûts liés à la bande-passante ont baissé et on constate l' | ||
- | |||
- | 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)# | ||
- | Switch(config-vlan)# | ||
- | |||
- | //Jadis// il fallait rentrer dans la '' | ||
- | |||
- | La configuration des VLANs est contenue dans le fichier '' | ||
- | |||
- | |||
- | ====Mode access==== | ||
- | C'est le cas d'un port physiquement relié à une machine (utilisateur, | ||
- | |||
- | ===Configuration statique=== | ||
- | // | ||
- | |||
- | Pour attribuer un port physique à ce vlan, par exemple le fast ethernet 0/2 : | ||
- | |||
- | Switch(config)# | ||
- | Switch(config-if)# | ||
- | |||
- | Switch(config-if)# | ||
- | |||
- | Il pourra discuter avec toutes les autres machines connectées sur d' | ||
- | |||
- | ===VMPS (configuration dynamique)=== | ||
- | Un **VLAN Management Policy Server** permet d' | ||
- | |||
- | C'est un switch ou un serveur qui centralise une base de données faisant correspondre un numéro de VLAN (VLAN ID) à une adresse MAC. Lorsqu' | ||
- | * dans le bon VLAN | ||
- | * en mode portfast (voir plus bas) | ||
- | |||
- | C'est ce qu'on appelle le **Dynamic VLAN configuration**. Ce mode est incompatible avec le mode %%port-security%% et le mode trunk. | ||
- | |||
- | Le ports doivent être configurés de cette façon : | ||
- | |||
- | switchport access dynamic | ||
- | |||
- | ===VLAN auxiliaire=== | ||
- | Avec l' | ||
- | |||
- | ====Mode trunk==== | ||
- | Pour diffuser des VLANs entre 2 switchs (par exemple) par le même lien physique on doit passer ce lien inter-switch en **mode trunk** : cela consiste à ajouter une information (un tag) sur chaque paquet Ethernet permettant de définir l' | ||
- | |||
- | Un port trunk doit être configuré en '' | ||
- | |||
- | Enfin il faut spécifier le protocole utilisé pour le trunk : '' | ||
- | |||
- | Switch(config-if)# | ||
- | Switch(config-if)# | ||
- | Switch(config-if)# | ||
- | Switch(config-if)# | ||
- | |||
- | |||
- | Pour modifier le VLAN natif, c' | ||
- | |||
- | Switch(config-if)# | ||
- | |||
- | ===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. | ||
- | |||
- | * '' | ||
- | * '' | ||
- | * mode **desirable** : négocie __activement__ pour passer le lien en trunk ; il passe donc en mode trunk face à un port configuré en trunk, desirable ou en auto. C'est le mode par défaut. | ||
- | * mode **auto** : négocie __passivement__ le lien en trunk (= il répond juste aux sollicitations qu'il reçoit); il passe en trunk uniquement face à un port configuré en mode trunk ou desirable. | ||
- | |||
- | Si rien n'est spécifié c'est une __faille potentielle__ (VLAN hopping) quand c'est sur un port relié à une machine utilisateur (ce dernier peut se faire passer pour un switch, forcer en mode trunk, et faire passer tous les VLANs dessus). | ||
- | |||
- | ==Synthèse des interactions== | ||
- | |||
- | | ^ Dynamic auto ^ Dynamic desirable ^ Trunk ^ Access | ||
- | ^ Dynamic auto | access | ||
- | ^ Dynamic desirable | trunk | ||
- | ^ Trunk | ||
- | ^ Access | ||
- | |||
- | |||
- | ==Vérification== | ||
- | |||
- | sh dtp interface | ||
- | DTP information for GigabitEthernet1/ | ||
- | | ||
- | | ||
- | | ||
- | | ||
- | Hello timer expiration (sec/ | ||
- | | ||
- | | ||
- | | ||
- | FSM state: | ||
- | # times multi & trunk 0 | ||
- | | ||
- | In STP: no | ||
- | |||
- | | ||
- | | ||
- | 203 packets received (0 good) | ||
- | 203 packets dropped | ||
- | 0 nonegotiate, | ||
- | 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 < | ||
- | Switch#sh vlan brief | ||
- | | ||
- | VLAN Name | ||
- | ---- -------------------------------- --------- ------------------------------- | ||
- | 1 default | ||
- | Fa0/6, Fa0/7, Fa0/8, Fa0/9 | ||
- | Gi0/1 | ||
- | 5 vlan cinq active | ||
- | 1002 fddi-default | ||
- | 1003 token-ring-default | ||
- | 1004 fddinet-default | ||
- | 1005 trnet-default | ||
- | |||
- | Les vlans 1, 1002, 1003, 1004 et 1005 sont les vlans par défaut de chaque type d' | ||
- | Là on voit qu' | ||
=====VTP===== | =====VTP===== | ||
Line 445: | Line 300: | ||
Pour vérifier la configuration : | Pour vérifier la configuration : | ||
- | sh port-security [interface fa0/1] | + | <code bash> |
+ | show port-security [interface fa0/1 [address]] | ||
+ | </ | ||
ou | ou | ||
- | sh port-security address | + | <code bash> |
+ | show port-security address | ||
+ | </ | ||
+ | |||
+ | Pour réactiver toutes les interfaces bloquées en err-disabled : passer en mode conf-t : | ||
+ | <code bash> | ||
+ | errdisable recovery cause psecure-violation | ||
+ | </ | ||
+ | |||
+ | Pour changer une adresse MAC sticky : | ||
+ | <code bash> | ||
+ | int GiX/Y | ||
+ | no switchport port-security mac-address sticky | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Il peut être utile, si cela ne fonctionne pas : | ||
+ | * de désactiver également le port-security sur l' | ||
+ | <code bash> | ||
+ | int GiX/Y | ||
+ | no switchport port-security mac-address sticky | ||
+ | no switchport port-security | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | * de relancer l' | ||
+ | <code bash> | ||
+ | | ||
+ | no shut | ||
+ | </ | ||
+ | * de vérifier que l' | ||
+ | <code bash> | ||
+ | show run | i XXXX.YYYY.ZZZZ | ||
+ | | ||
+ | </ | ||
+ | //(tiens, elle était en sticky sur un autre port ! -> duplicate address)// | ||
+ | |||
+ | Pour supprimer le cache d' | ||
+ | <code bash> | ||
+ | clear port-security dynamic [address XXXX.YYYY.ZZZZ] | [interface GiX/Y] | ||
+ | </ | ||
====port serie==== | ====port serie==== | ||
Line 469: | Line 366: | ||
- | ====troubleshooting==== | + | ====Troubleshooting de port==== |
- | Switch#sh interface | + | |
+ | <code bash> | ||
+ | Switch#show interface | ||
+ | GigabitEthernet7/ | ||
+ | Hardware is C6k 1000Mb 802.3, address is 0011.93XX.XXXX (bia 0011.93XX.XXXX) | ||
+ | Description: | ||
+ | MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, | ||
+ | | ||
+ | Encapsulation ARPA, loopback not set | ||
+ | Keepalive set (10 sec) | ||
+ | Full-duplex, | ||
+ | input flow-control is off, output flow-control is on | ||
+ | Clock mode is auto | ||
+ | ARP type: ARPA, ARP Timeout 04:00:00 | ||
+ | Last input 40w5d, output 40w5d, output hang never | ||
+ | Last clearing of "show interface" | ||
+ | Input queue: | ||
+ | Queueing strategy: fifo | ||
+ | Output queue: 0/40 (size/ | ||
+ | 5 minute input rate 0 bits/sec, 0 packets/ | ||
+ | 5 minute output rate 4000 bits/sec, 8 packets/ | ||
+ | | ||
+ | | ||
+ | 0 runts, 0 giants, 0 throttles | ||
+ | 26 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored | ||
+ | 0 watchdog, 0 multicast, 0 pause input | ||
+ | 0 input packets with dribble condition detected | ||
+ | | ||
+ | 147 output errors, 0 collisions, 8 interface resets | ||
+ | 0 babbles, 0 late collision, 0 deferred | ||
+ | 0 lost carrier, 0 no carrier, 0 PAUSE output | ||
+ | 0 output buffer failures, 0 output buffers swapped out | ||
+ | </ | ||
Lancer cette commande et vérifier : | Lancer cette commande et vérifier : | ||
- | * que l' | + | * que l' |
- | * les '' | + | * la MTU de l' |
- | * les '' | + | * BW : bandwidth (bande passante de l' |
- | * les '' | + | * '' |
+ | * les '' | ||
+ | * les '' | ||
+ | * les '' | ||
* les '' | * les '' | ||
+ | * runts/ | ||
+ | * CRC : problème d' | ||
+ | * frame : erreur de réception d'un paquet (CRC + nombre d' | ||
+ | * overrun : nombre de fois ou l' | ||
+ | * underrun : nombre de fois ou l' | ||
+ | * ignored : nombre de paquets ignorés pour cause de quasi-saturation des buffers internes. Souvent lié à des tempêtes de broadcast ou des burst de paquets altérés (//burst of noise//). | ||
+ | * interface resets : nombre de reset des compteurs d' | ||
+ | * lost carrier : nombre de perte de signal pendant émission | ||
+ | * no carrier : nombre de fois ou le signal n' | ||
- | | + | '' |
+ | <code bash> | ||
+ | int gi0/1 | ||
+ | | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | Switch#sh interface ethernet | ||
+ | </ | ||
Vérifier que les collisions ne dépassent pas 0.1 % des paquets émis | Vérifier que les collisions ne dépassent pas 0.1 % des paquets émis | ||
Vérifier le '' | Vérifier le '' | ||
- | =====Gestion des accès===== | ||
- | Différents types d' | + | source |
- | 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 " | + | =====Gestion des accès===== |
- | Switch> en | + | |
- | Switch# | + | |
- | ====Mode enable==== | + | [[informatique:cisco: |
- | En mode config on va saisir un nouveau mot de passe pour le mode privilégié. On a le choix entre, respectivement, | + | |
- | Switch(config)# | + | |
- | Switch(config)# | + | |
- | Si les 2 sont configurés, | + | |
- | ====Console==== | ||
- | On veut mettre en place un mot de passe pour se connecter sur la ligne console (CTY) : | ||
- | Switch(config)# | ||
- | Switch(config-line)# | ||
- | Switch(config-line)# | ||
- | '' | ||
- | ====Ligne auxiliaire==== | + | =====Mot de passe oublié===== |
- | La principale différence entre les ports console (CTY) et auxiliaire (AUX) est que le port auxiliaire supporte le contrôle de flux hardware ; le port console non. Le contrôle de flux permet un contrôle des transmissions, | + | //Testé avec un Catalyst 2940 et c3750// |
- | Switch(config)# | + | |
- | Switch(config-line)# | + | |
- | Switch(config-line)# | + | |
- | ====ligne vty==== | + | **password recovery** : Mode opératoire pour récupérer l' |
- | Elles correspondent | + | |
- | 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é. | + | * Débrancher le switch |
- | De plus on ne peut y accéder | + | * S'y connecter sur le port console |
+ | * Le rebrancher en maintenant le bouton " | ||
- | Souvent les routeurs ne comprennent que 5 lignes vty ('' | + | <code bash> |
- | | + | C2940 Boot Loader |
- | Tty Typ | + | Compiled Mon 30-Jun-03 15:16 by antonino |
- | * 0 CTY | + | WS-C2940-8TF-S starting... |
- | | + | Base ethernet MAC Address: 00:12: |
- | 2 VTY - - - - - 0 | + | Xmodem file system is available. |
- | 3 VTY - - - - - 0 | + | The password-recovery mechanism is enabled. |
- | 4 VTY - - - - - 0 | + | |
- | 5 VTY - - - - - 0 | + | |
- | 6 VTY - - - - - 0 | + | |
- | 7 VTY - - - - - 0 | + | |
- | 8 VTY - - - - - 0 | + | |
- | 9 VTY - - - - - 0 | + | |
- | 10 VTY - - - - - 0 | + | |
- | 11 VTY - - - - - 0 | + | |
- | | + | |
- | 13 VTY - - - - - 0 | + | |
- | 14 VTY - - - - - 0 | + | |
- | 15 VTY - - - - - 0 | + | |
- | 16 VTY - - - - - 0 | + | |
- | On veut les configurer tous les vtys ensemble : | + | The system has been interrupted prior to initializing the |
- | | + | flash filesystem. |
- | | + | the flash filesystem, and finish loading the operating |
- | | + | system software: |
- | On peut spécifier le type de protocole qu'on veut utiliser (ici ssh et telnet) : | + | flash_init |
- | | + | |
- | | + | |
+ | </ | ||
+ | Taper ensuite ces commandes (la complétion automatique ne fonctionne pas) : | ||
+ | <code bash> | ||
+ | flash_init | ||
+ | load_helper | ||
+ | rename flash: | ||
+ | boot # redémarrer | ||
+ | # un fois redémarré : | ||
+ | enable | ||
+ | copy flash: | ||
+ | copy flash: | ||
- | 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 : | + | config |
- | Switch(config)#line vty 0 4 | + | |
- | Switch(config-line)login local | + | |
- | On spécifie | + | # remplacer le mot de passe perdu : |
- | | + | enable secret < |
+ | line con 0 | ||
+ | password | ||
+ | line vty 0 15 | ||
+ | | ||
+ | login | ||
+ | write memory | ||
+ | reload | ||
+ | </ | ||
- | ====SSH==== | + | source |
- | //Les lignes vty doivent être configurées (cf § précédent)// | + | |
- | + | ||
- | Le SSH ne fonctionne qu' | + | |
- | Switch(config)# | + | |
- | Switch(config)# | + | |
- | + | ||
- | On peut préciser certains paramètres (facultatif) | + | |
- | toto(config)# | + | |
- | toto(config)# | + | |
- | toto(config)# | + | |
- | + | ||
- | Configuration de l' | + | |
- | //à valider : le fait de devoir faire un '' | + | |
- | + | ||
- | Génération d'un couple de clés RSA : | + | |
- | toto(config)# | + | |
- | + | ||
- | Les lignes vty doivent être configurées (cf § précédent). | + | |
- | + | ||
- | On créé ensuite un compte local : | + | |
- | toto(config)# | + | |
- | + | ||
- | + | ||
- | =====Gestion des sessions===== | + | |
- | + | ||
- | Pour afficher les sessions courante sur l' | + | |
- | show sessions | + | |
- | + | ||
- | Pour afficher la liste des utilisateurs connectés : | + | |
- | show users | + | |
- | + | ||
- | (Et aussi : '' | + | |
- | + | ||
- | Pour déconnecter une session : | + | |
- | disconnect < | + | |
- | + | ||
- | + | ||
- | =====Mot de passe oublié===== | + | |
- | //Testé avec un Catalyst 2940// | + | |
- | + | ||
- | Mode opératoire pour récupérer l' | + | |
- | + | ||
- | * Débrancher le switch | + | |
- | * Le rebrancher en maintenant le bouton " | + | |
- | + | ||
- | C2940 Boot Loader (C2940-HBOOT-M) Version 12.1(13r)AY1, | + | |
- | Compiled Mon 30-Jun-03 15:16 by antonino | + | |
- | WS-C2940-8TF-S starting... | + | |
- | Base ethernet MAC Address: 00: | + | |
- | Xmodem file system is available. | + | |
- | The password-recovery mechanism is enabled. | + | |
- | + | ||
- | The system has been interrupted prior to initializing the | + | |
- | flash filesystem. | + | |
- | the flash filesystem, and finish loading the operating | + | |
- | system software: | + | |
- | + | ||
- | flash_init | + | |
- | load_helper | + | |
- | boot | + | |
- | + | ||
- | (la complétion automatique ne fonctionne pas) | + | |
- | * '' | + | |
- | * '' | + | |
- | * Sauvegarder la config : '' | + | |
- | * Démarrer : '' | + | |
- | * Passer en mode //enable// : '' | + | |
- | * Restaurer la config : '' | + | |
- | * Sauver la conf : '' | + | |
- | * Changer le mot de passe : '' | + | |
- | * Sauvegarder la conf sur la flash : '' | + | |
=====MAJ IOS via Rommon===== | =====MAJ IOS via Rommon===== | ||
Line 665: | Line 530: | ||
=====Etherchannel===== | =====Etherchannel===== | ||
- | C'est le nom utilisé par CISCO pour désigner du bonding | + | C'est le nom utilisé par Cisco pour désigner du bonding, channel bonding |
- | * 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' | + | |
- | On l' | + | |
- | + | ||
- | Il 2 principaux protocoles : le LACP (standart IEEE 802.3ad) et le PAgP (propriétaire Cisco). | + | |
- | + | ||
- | ====Configuration==== | + | |
- | + | ||
- | On créer l' | + | |
- | Switch(config)# | + | |
- | + | ||
- | On la configure comme une interface normale. | + | |
- | + | ||
- | Pour chaque interface physique que l'on veut ajouter à l' | + | |
- | Switch(config)# | + | |
- | Switch(config-if)# | + | |
- | + | ||
- | On peut spécifier le mode par : | + | |
- | + | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | Les ports physiques d'un Etherchannel doivent être de même type et de même vitesse ; ils doivent avoir la même configuration. | + | voir la page dédiée : [[informatique: |
Line 761: | Line 602: | ||
=====ACL===== | =====ACL===== | ||
- | Les ACLs pour **Access Control List** sont implémentées sur les switchs et routeurs CISCO. Il existe 3 types d'ACLs : | + | Les ACLs pour **Access Control List** sont implémentées sur les switchs et routeurs CISCO ; c'est un mécanisme |
- | * **RACL** (Routed ACL) : s' | + | |
- | * **VACL** (Vlan ACL) : s' | + | |
- | * **PACL** (Port ACL) : filtre le trafic L2 sur un port de type " | + | |
- | {{http:// | + | [[informatique:Cisco:ACL]] |
- | Par convention ou par abus de langage, on appelle souvent ACLs les RACLs (se sont de loin les plus utilisées). Dans la suite de cet article nous utiliserons cette contraction. | ||
- | |||
- | Il existe les ACLs standards (numérotées de 1-99 ou 1300-1999) et les ACLs étendues (numérotées 100-199 ou 2000-2699). | ||
- | * **ACLs standards** : elles travaillent au niveau 3 de la pile OSI et **uniquement sur les adresses IPs source**. Chaque ligne s' | ||
- | |||
- | (config)#ip access-list <numéro entre 1-99> {permit | deny} <ip source> [< | ||
- | |||
- | * **ACLs étendues** : elles travaillent au niveau 3/4 de la pile OSI = on peut tester également les protocoles de niveau 4 (tcp, udp) et notamment les numéros de port. Elles sont de la forme : | ||
- | |||
- | (config)# | ||
- | < | ||
- | |||
- | * **ACLs nommées** : elle peuvent être de type standard ou étendues ; on peut supprimer les lignes indépendamment. | ||
- | |||
- | (config)#ip access-list < | ||
- | (config-std-nacl)# | ||
- | |||
- | **Les ACLs standards doivent être placées au plus près de la destination, | ||
- | |||
- | * ACLs additonnelles : | ||
- | * **ACLs dynamiques** : l' | ||
- | * **Reflexive ACLs** : permet de passer en staful = on permet un traffic de passer uniquement s'il est déjà passé dans l' | ||
- | * **Time-based ACLs** défini des critère de date/time pour l' | ||
- | |||
- | On applique une access-list sur une interface en " | ||
- | Router(config)# | ||
- | Router(config-if)# | ||
- | |||
- | Une ACL est lue de manière séquentielle = ligne 1 puis ligne 2, etc. Si la ligne 1 matche, le routeur applique la règle pour le paquet et sort de l'ACL. Ainsi, si plusieurs lignes conviennent pour un même paquet, seule la première sera appliquée. | ||
- | |||
- | ====ip access-list resequence==== | ||
- | |||
- | Voici une manière habile de modifier une ACL " | ||
- | #show access-lists | ||
- | | ||
- | 1 permit ip host 10.0.0.1 host 10.0.1.1 | ||
- | 2 permit ip host 10.0.0.1 host 10.1.1.1 | ||
- | 3 deny tcp host 10.2.1.1 host 10.3.1.1 eq www | ||
- | |||
- | On veut ajouter la ligne '' | ||
- | |||
- | La façon la plus classe est de faire comme ceci : | ||
- | (config)#ip access-list resequence 101 10 10 | ||
- | (config)#ip access-list extended 101 | ||
- | (config-ext-nacl)# | ||
- | (config)#ip access-list resequence 101 10 10 | ||
- | |||
- | Dans l' | ||
- | |||
- | =====VACL===== | ||
- | |||
- | Les **VLAN Access-list** ou **VLAN access maps** sont des ACLs de niveau 2, qui s' | ||
- | |||
- | 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 " | ||
- | |||
- | **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 | ||
- | | ||
- | | ||
- | ! Déclaration de l' | ||
- | ! il permet de déterminer un ordre d' | ||
- | ! On filtre (match) sur les adresses MAC (|IP|IPX) en spécifiant "mac address", | ||
- | ! L' | ||
- | vlan access-map 1 10 | ||
- | match mac address MAC-ACL | ||
- | | ||
- | |||
- | ! Pour dropper le reste on doit créer un second statement (20) | ||
- | vlan access-map 1 20 | ||
- | | ||
- | |||
- | ! On associe l' | ||
- | vlan filter 1 vlan-list 11,12 | ||
- | |||
- | Dans l' | ||
=====NAT/ | =====NAT/ | ||
Line 1072: | Line 833: | ||
=====Tracking d' | =====Tracking d' | ||
- | Permet de baisser une priorité HSRP en cas de : | ||
- | * perte d'une route | ||
- | < | ||
- | ! L’objet tracking est = 1 | ||
- | ! Tracking de la route 10.4.101.8 255.255.255.248 | ||
- | ! Delay down = temps en secondes avant de déclarer la perte de la route. | ||
- | ! delay up = temps en secondes avant de prendre en compte le retour de la route. | ||
- | ! Sur le routeur maitre (2) | + | Mécanisme qui permet |
- | track 1 ip route 10.4.101.8 255.255.255.248 reachability | + | |
- | delay down 5 up 30 | + | |
- | + | ||
- | ! Sur le routeur backup (1) ; les timers doivent être différents du master pour basculer proprement | + | |
- | track 1 ip route 10.4.101.8 255.255.255.248 reachability | + | |
- | delay down 3 up 40 | + | |
- | + | ||
- | interface VlanX | + | |
- | ! Récupération | + | |
- | ! Si l’objet est valide (route inaccessible) alors décrémenter le poids HSRP de 30 | + | |
- | | + | |
- | </ | + | |
- | + | ||
- | * modification de métrique d'une route : la métrique jugée normale | + | |
- | < | + | |
- | track 2 ip route 10.0.0.0 255.255.255.0 metric threshold | + | |
- | | + | |
- | delay down 10 up 30 | + | |
- | + | ||
- | <comme dans l' | + | |
- | les routeurs master/ | + | |
- | </ | + | |
=====Port mirroring===== | =====Port mirroring===== | ||
- | Permet | + | ====Local SPAN==== |
+ | |||
+ | Ou "span de port" : cela permet | ||
Voir les sessions de mirroring existantes : | Voir les sessions de mirroring existantes : | ||
- | | + | <code bash> |
- | Session 1 | + | show monitor session all |
- | --------- | + | Session 1 |
- | Type : Local Session | + | --------- |
- | Source Ports : | + | Type : Local Session |
+ | Source Ports : | ||
- | | + | |
- | Destination Ports : Gi2/0/1 | + | Destination Ports : Gi2/0/1 |
- | Encapsulation | + | Encapsulation |
- | Ingress | + | Ingress |
+ | </ | ||
- | La mention **Both** indique que la redirection se fait sur le trafic entrant et sortant de l' | + | La mention **Both** |
Mise en place de la session de monitoring : | Mise en place de la session de monitoring : | ||
- | | + | <code bash> |
- | monitor session 1 destination interface Gi2/0/1 | + | monitor session 1 source interface Gi1/0/2 [both | rx | tx] |
+ | monitor session 1 destination interface Gi2/0/1 | ||
+ | </ | ||
- | On peut donc choisir de ne redirigerque | + | On peut choisir de ne rediriger que le trafic entrant |
On peut aussi monitorer le trafic d'un vlan en remplaçant **interface** par **vlan** dans la source. | On peut aussi monitorer le trafic d'un vlan en remplaçant **interface** par **vlan** dans la source. | ||
+ | ====Remote SPAN==== | ||
+ | |||
+ | On peut aussi faire du RSPAN c'est à dire du remote SPAN. Cela consiste à créer un vlan spécifique de type remote-span et a le distribuer du commutateur source au commutateur destination. Le premier redirige le trafic dessus, et le commutateur destination le prend en source. | ||
+ | |||
+ | Exemple : C1 et C2 sont 2 commutateur interconnectés par un lien trunk sur leur interface fa0/24. C1 le commutateur source. Il a le port fa0/1 que je désire sniffer sur un sonde connectée sur le port fa0/2 du commutateur C2. | ||
+ | |||
+ | Configuration de C1 : | ||
+ | <code bash> | ||
+ | ! création du vlan de type RSPAN | ||
+ | vlan 100 | ||
+ | name v100-RSPAN | ||
+ | | ||
+ | ! | ||
+ | ! on définit la capture | ||
+ | monitor session 1 source interface fa0/1 | ||
+ | monitor session 1 destination remote vlan 100 | ||
+ | ! | ||
+ | ! propagation du remote vlan vers C2 | ||
+ | interface fa0/24 | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | Configuration de C2 : | ||
+ | <code bash> | ||
+ | ! création du vlan de type RSPAN | ||
+ | vlan 100 | ||
+ | name v100-RSPAN | ||
+ | | ||
+ | ! | ||
+ | ! on définit la capture | ||
+ | monitor session 1 destination interface fa0/2 | ||
+ | monitor session 1 source remote vlan 100 | ||
+ | ! | ||
+ | ! propagation du remote vlan vers C2 | ||
+ | interface fa0/24 | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Ce vlan 100 doit bien être déclaré comme remote-vlan ; il peut être propagé sur n' | ||
+ | |||
+ | source : [[http:// | ||
=====DHCP Snooping===== | =====DHCP Snooping===== | ||
Line 1176: | Line 958: | ||
- | =====Shaping===== | ||
- | Le shaping c'est l' | ||
- | |||
- | Création de la class-map qui sélectionne le flux que l'on veut limiter : | ||
- | |||
- | class-map match-all Classmap_shaping | ||
- | match access-group name ACL_Selection_flux | ||
- | |||
- | Mise en place de la limitation de débit (50Mbps) ainsi que de la taille du buffer de dépassement (8Kbps ici) ; tout ce qui dépasse sera droppé. | ||
- | |||
- | policy-map Policy_limit_50Mbps | ||
- | class Classmap_shaping | ||
- | police 50000000 8000 exceed-action drop | ||
- | |||
- | Création de l' | ||
- | |||
- | ip access-list extended ACL_Selection_flux | ||
- | | ||
- | |||
- | On applique la politique sur une interface en entrée (on peut aussi l' | ||
- | |||
- | int Gi1/0/1 | ||
- | | ||
===== Tester la longueur d'un cable ===== | ===== Tester la longueur d'un cable ===== | ||
Line 1232: | Line 991: | ||
====Numéros de série==== | ====Numéros de série==== | ||
+ | |||
Pour récupérer le //serial number// d'un équipement sans avoir un accès physique pour regarder l' | Pour récupérer le //serial number// d'un équipement sans avoir un accès physique pour regarder l' | ||
* pour les c65XX : '' | * pour les c65XX : '' | ||
- | * pour les c3825 : '' | + | * pour les c3825 : '' |
+ | On peut récupérer les SNs des GBICs, alimentations, | ||
====show==== | ====show==== | ||
Line 1437: | Line 1198: | ||
- | ====GBIC==== | + | ====GBIC |
- | GBIC (Gigabit Interface Converter) est un module qui convertit un signal électrique en signal optique. | + | |
- | * 1000BASE-SX : multi-mode (jusqu' | + | Voir la page dédiée |
- | * 1000BASE-LX/ | + | |
- | * 1000Base-ZX : mono-mode (jusqu' | + | |
- | * ST: carré/gros gbic | + | ====ping==== |
- | * LC: mini gbic (sfp) | + | |
- | * SC: rond/quart de tour | + | |
- | * FC: rond à visser | + | |
- | Connecteur | + | On peut utiliser la commande '' |
- | * plat | + | <code bash> |
- | * PC et UPC | + | router# |
- | * APC (bisoté) | + | |
+ | Target IP address: 1.2.3.4 | ||
+ | Repeat count [5]: | ||
+ | Datagram size [100]: | ||
+ | | ||
+ | | ||
+ | | ||
+ | Type of service [0]: | ||
+ | Set DF bit in IP header? [no]: | ||
+ | | ||
+ | Data pattern [0xABCD]: | ||
+ | | ||
+ | Sweep range of sizes [n]: | ||
+ | Type escape sequence to abort. | ||
+ | | ||
+ | </ | ||
+ | On peut forcer un ping à partir d'une interface particulière (celle ayant l'IP 192.168.0.1) directement avec la commande : | ||
+ | < | ||
- | ====ping==== | + | ... ou directement en spécifiant l' |
- | On peut utiliser la commande '' | + | < |
+ | |||
+ | ====Telnet==== | ||
+ | |||
+ | <code bash> | ||
+ | telnet 192.168.103.24 8000 / | ||
+ | </ | ||
====Historique==== | ====Historique==== | ||
Line 1464: | Line 1242: | ||
====Régler l' | ====Régler l' | ||
- | Pour ajuster l' | + | Pour ajuster l' |
+ | <code bash> | ||
+ | clock set 14:03:40 12 february 2016 | ||
+ | </ | ||
+ | |||
+ | Cependant vu le niveau de criticité des équipements réseau, il est fortement | ||
+ | <code bash> | ||
+ | # configuration de la zone de temps (Paris, UTC+1) : | ||
+ | clock timezone UTC 1 | ||
+ | |||
+ | ntp server 10.0.0.1 prefer | ||
+ | ntp server 10.0.0.2 | ||
+ | |||
+ | # vérifications | ||
+ | show ntp status | ||
+ | show ntp associations | ||
+ | </ | ||
+ | source : [[http:// | ||
====Commandes en vrac==== | ====Commandes en vrac==== | ||
Line 1487: | Line 1282: | ||
Le flex links est configuré sur l' | Le flex links est configuré sur l' | ||
- | | + | <code bash> |
- | backup interface Port-channel2 | + | interface Port-channel1 |
+ | | ||
- | | + | show interfaces description |
- | | + | |
- | | + | |
- | | + | |
+ | ! NB : il se peut que l' | ||
+ | |||
+ | show interfaces switchport backup detail | ||
+ | Switch Backup Interface Pairs: | ||
+ | |||
+ | Active Interface | ||
+ | ------------------------------------------------------------------------ | ||
+ | |||
+ | GigabitEthernet0/ | ||
+ | </ | ||
Pour activer la préemption : | Pour activer la préemption : | ||
- | | + | <code bash> |
- | switchport backup interface po2 preemption delay 60 | + | switchport backup interface po2 preemption mode bandwidth |
+ | switchport backup interface po2 preemption delay 60 | ||
+ | </ | ||
Liens : | Liens : | ||
Line 1509: | Line 1317: | ||
L' | L' | ||
- | Si la fonction est activée et qu'un lien unidirectionnel est détecté, le port associé passera à l' | + | __Si la fonction est activée et qu'un lien unidirectionnel est détecté, le port associé passera à l' |
- | Pour fonctionné, | + | UDLD permet d' |
+ | * Spanning tree topology loops caused by unidirectional links | ||
+ | * Incorrect cabling of unbundled fiber strands | ||
+ | * Transceiver or link hardware malfunction | ||
+ | * Incorrect or excessive flooding of packets | ||
+ | * Loss of traffic without notice (also known as black holing) | ||
- | Par défaut il n' | + | Pour fonctionner, |
+ | |||
+ | Il est possible de configurer l'UDLD en mode global ('' | ||
(config)# udld {enable | aggressive} | (config)# udld {enable | aggressive} | ||
Line 1519: | Line 1334: | ||
(config-if)# | (config-if)# | ||
- | Vérifs | + | ===Vérifs=== |
- | show udld | + | |
- | show udld neighbor | + | <code bash> |
+ | show udld neighbor | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | show udld te6/3 | ||
+ | |||
+ | Interface Te6/3 | ||
+ | --- | ||
+ | Port enable administrative configuration setting: Enabled | ||
+ | Port enable operational state: Enabled | ||
+ | Current bidirectional state: Unknown | ||
+ | Current operational state: Advertisement | ||
+ | Message interval: 7 | ||
+ | Time out interval: 5 | ||
+ | No neighbor | ||
+ | </ | ||
Liens : | Liens : | ||
Line 1550: | Line 1381: | ||
* Sur les switchs catalyst : [[http:// | * Sur les switchs catalyst : [[http:// | ||
+ | * [[http:// | ||
====verify==== | ====verify==== | ||
Line 1569: | Line 1401: | ||
Voir aussi les [[http:// | Voir aussi les [[http:// | ||
+ | ====IP SLA==== | ||
+ | |||
+ | **IP SLA** (Service Level Agreement) est un mécanisme permettant de tester le réseau et d'en tirer les indicateurs suivants : | ||
+ | * connectivité | ||
+ | * Timeout | ||
+ | * RTT (Round-trip time) | ||
+ | * gigue (aller-retour et one-way) | ||
+ | * pertes de paquets | ||
+ | * latence | ||
+ | * Mean opinion score (MOS) | ||
+ | |||
+ | Pour cela on configure un routeur en // | ||
+ | |||
+ | source : [[http:// | ||
+ | |||
+ | ====Forwarding / routing==== | ||
+ | |||
+ | Le **forwarding** c'est routage effectif des paquets. Tous les routeurs le font par défaut.\\ | ||
+ | Le **routing** implique construction de tables de routage ; un routeur IP fait toujours du forwarding ; mais s'il n'a pas de routage dynamique (OSPF, EIGRP) il ne fait pas de routing. | ||
+ | |||
+ | ====Changer d' | ||
+ | |||
+ | Sur les châssis Catalyst, qui font du routage et de la commutation, | ||
+ | <code bash> | ||
+ | Feb 28 13:49:17 switch1 425287: Feb 28 13:49:16: %SW_MATM-4-MACFLAP_NOTIF: | ||
+ | </ | ||
+ | |||
+ | Bref, la solution est d' | ||
+ | <code bash> | ||
+ | router1#sh int vlan 724 | i address | ||
+ | Hardware is EtherSVI, address is 0023.eaXX.XXX0 (bia 0023.eaXX.XXX0) | ||
+ | ! | ||
+ | router1#sh int vlan 725 | i address | ||
+ | Hardware is EtherSVI, address is 0023.eaXX.XXX0 (bia 0023.eaXX.XXX0) | ||
+ | </ | ||
+ | |||
+ | Puis de trouver une adresse MAC libre (par exemple lister la plage d' | ||
+ | <code bash> | ||
+ | router1# | ||
+ | chassis MAC addresses: 1024 addresses from 0023.eaXX.XXX0 to 0023.eaXX.XXXf | ||
+ | </ | ||
+ | |||
+ | On voit que l’adresse MAC attribuée par défaut à toute les SVIs est la première de la plage. Il faut donc en prendre d' | ||
+ | <code bash> | ||
+ | interface vlan724 | ||
+ | | ||
+ | ! | ||
+ | interface vlan725 | ||
+ | | ||
+ | ! | ||
+ | ! etc... | ||
+ | </ | ||
=====Notes===== | =====Notes===== | ||
Line 1591: | Line 1475: | ||
802.3u = 100BASE-TX | 802.3u = 100BASE-TX | ||
+ | =====Troubleshot===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
=====Liens===== | =====Liens===== | ||
Line 1601: | Line 1489: | ||
* http:// | * http:// | ||
* http:// | * http:// | ||
+ | * http:// | ||
informatique/cisco/start.txt · Last modified: 2019/02/27 16:26 by pteu