informatique:extreme_networks
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:extreme_networks [2019/02/25 16:18] – [Ajouter un switch dans un stack existant] pteu | informatique:extreme_networks [2023/03/14 09:07] – [Debug / tech-support] spath-stats.py pteu | ||
---|---|---|---|
Line 15: | Line 15: | ||
enable clipaging | enable clipaging | ||
</ | </ | ||
+ | Depuis les version 30, les commandes précitées, | ||
+ | <code bash> | ||
+ | disable cli paging | ||
+ | enable cli paging | ||
+ | </ | ||
=====Licences===== | =====Licences===== | ||
Line 52: | Line 56: | ||
<code bash> | <code bash> | ||
show switch | show switch | ||
+ | # nb : pour les stacks, c'est l' | ||
+ | # pour obtenir les uptimes individuels de chaque slot : | ||
+ | debug hal show platform cardInfo | i " | ||
+ | |||
show version | show version | ||
show temperature | show temperature | ||
Line 102: | Line 110: | ||
====Management==== | ====Management==== | ||
- | # Afficher et modifier la configuration de l' | + | Configurer une adresse IP sur le port de management '' |
+ | <code bash> | ||
+ | configure vlan Mgmt ipaddress 10.0.0.1 255.255.255.0 | ||
+ | |||
+ | # configurer sa route par défaut | ||
+ | configure iproute add default 10.0.0.254 vr VR-Mgmt | ||
+ | </ | ||
+ | Ce port est affecté au vlan Mgmt, lui-même attribué au VR-Mgmt. Cela signifie qu'il est indépendant de la configuration des autres ports et routes du switch, ce qui permet d' | ||
+ | |||
+ | Si on ne veut pas se servir de ce port de Mgmt dédié, on peut tout-à-fait configurer une IP sur un VLAN du VR de prod, par exemple le VLAN " | ||
+ | <code bash> | ||
+ | configure vlan Default ipaddress 10.10.10.1 255.255.255.0 | ||
+ | configure iproute add default 10.10.10.254 | ||
+ | </ | ||
+ | |||
+ | Au passage, pour déconfigurer l' | ||
+ | <code bash> | ||
+ | unconfigure vlan Default ipaddress | ||
+ | </ | ||
+ | |||
+ | Il est possible de positionner une adresse par VLAN si on le souhaite. Si on veut activer le routage entre ces VLANs, il faut activer l' | ||
+ | |||
+ | Afficher et modifier la configuration de l' | ||
<code bash> | <code bash> | ||
show management | show management | ||
Line 116: | Line 146: | ||
start process " | start process " | ||
restart process " | restart process " | ||
+ | |||
+ | # terminer (kill) un processus | ||
+ | terminate process < | ||
</ | </ | ||
Line 146: | Line 179: | ||
Vérifications : | Vérifications : | ||
<code bash> | <code bash> | ||
- | show management | + | show ssh2 |
+ | show switch | ||
</ | </ | ||
===Filtrage des accès SSH=== | ===Filtrage des accès SSH=== | ||
- | Protection de l' | + | Protection de l' |
<code bash> | <code bash> | ||
configure ssh2 access-profile protect-ssh | configure ssh2 access-profile protect-ssh | ||
Line 181: | Line 215: | ||
Créer de nouveaux comptes utilisateurs : | Créer de nouveaux comptes utilisateurs : | ||
<code bash> | <code bash> | ||
- | Créer des comptes utilisateurs + mot de passe | ||
# autres comptes administrateur : | # autres comptes administrateur : | ||
create account admin toto <PWD> | create account admin toto <PWD> | ||
+ | # ou " | ||
+ | |||
# pour les comptes utilisateurs + mot de passe | # pour les comptes utilisateurs + mot de passe | ||
create account user tata <PWD> | create account user tata <PWD> | ||
+ | |||
+ | # pour les compte d' | ||
+ | create account lawful-intercept < | ||
</ | </ | ||
- | Il n'existe | + | |
+ | Il existe 2 niveaux de privilège | ||
+ | * n' | ||
+ | * n'est pas loggué | ||
+ | * n'est pas désactivable | ||
+ | * est volatile (il doit être recréé à chaque redémarrage) | ||
+ | * permet uniquement de configurer des ACLs dynamiques et des mirroring de ports non sauvegardés dans la conf (ils disparaissent après reboot) | ||
Modifier le mot de passe d'un compte existant : | Modifier le mot de passe d'un compte existant : | ||
<code bash> | <code bash> | ||
- | configure account < | + | configure account < |
+ | <nouveau MDP> | ||
</ | </ | ||
+ | ===Diag=== | ||
+ | |||
+ | Lister les comptes utilisateurs configurés : | ||
+ | <code bash> | ||
+ | show accounts | ||
+ | User Name Access LoginOK | ||
+ | -------------------------------- | ||
+ | | ||
+ | | ||
+ | toto | ||
+ | titi | ||
+ | </ | ||
+ | |||
+ | Lister les utilisateurs connectés actuellement : | ||
+ | <code bash> | ||
+ | show session | ||
+ | # Login Time | ||
+ | ================================================================================ | ||
+ | | ||
+ | *17 Mon Jun 8 10:13:26 2020 titi | ||
+ | </ | ||
===Failsafe account=== | ===Failsafe account=== | ||
- | Le **failsafe account** est un compte préconfiguré, | + | Le **failsafe account** est un compte préconfiguré, |
+ | |||
+ | Pour le désactiver : | ||
<code bash> | <code bash> | ||
configure failsafe-account deny all | configure failsafe-account deny all | ||
Line 204: | Line 272: | ||
cf : https:// | cf : https:// | ||
+ | ====Politique de mots de passe==== | ||
+ | Pour configurer une politique de mot de passe : | ||
+ | <code bash> | ||
+ | SW# configure account all password-policy ? | ||
+ | char-validation | ||
+ | history | ||
+ | lockout-on-login-failures | ||
+ | lockout-time-period | ||
+ | max-age | ||
+ | min-age | ||
+ | min-different-characters | ||
+ | min-length | ||
+ | </ | ||
+ | |||
+ | Le nombre max de mauvais logins est configurable avec la commande : | ||
+ | <code bash> | ||
+ | configure cli max-failed-logins < | ||
+ | </ | ||
+ | |||
+ | Si un compte est verrouillé par suite de trop de tentatives de login incorrectes, | ||
+ | <code bash> | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Pour le débloquer : '' | ||
+ | <code bash> | ||
+ | < | ||
+ | </ | ||
====DNS==== | ====DNS==== | ||
Line 332: | Line 428: | ||
show log configuration filter " | show log configuration filter " | ||
- | # logguer les changements de config | + | # logguer les commandes passées sur le switch |
enable cli-config-logging | enable cli-config-logging | ||
+ | # nouvelle syntaxe à partir d'EXOS v30 | ||
+ | enable cli config-logging | ||
+ | |||
+ | # Active la "CLI history expansion" | ||
+ | # du rappel de commande de bash : (!motif_rechch: | ||
+ | enable cli history expansion permanent | ||
# lister toutes les familles de log possible | # lister toutes les familles de log possible | ||
Line 343: | Line 445: | ||
# Voir les compteurs de log par catégorie | # Voir les compteurs de log par catégorie | ||
show log counters All include | show log counters All include | ||
+ | |||
+ | # ajouter une catégorie | ||
+ | configure log filter DefaultFilter add events Kern.Info | ||
# configurer un rsyslog | # configurer un rsyslog | ||
configure log target syslog 10.1.1.24: | configure log target syslog 10.1.1.24: | ||
enable log target syslog 10.1.1.24: | enable log target syslog 10.1.1.24: | ||
+ | |||
+ | # modifier le format des messages de log | ||
+ | configure log target syslog 10.1.1.24: | ||
# activer l' | # activer l' | ||
Line 418: | Line 526: | ||
</ | </ | ||
+ | ===Erreurs rencontrées=== | ||
+ | |||
+ | * '' | ||
+ | Se produit au milieu du transfert scp pour télécharger l' | ||
+ | |||
+ | Il faut donc relancer le scp et cela finit par fonctionner ! | ||
+ | |||
+ | * '' | ||
+ | L' | ||
+ | |||
+ | * '' | ||
+ | L' | ||
====Commandes UNIX-like==== | ====Commandes UNIX-like==== | ||
Line 473: | Line 593: | ||
show log messages memory | show log messages memory | ||
show debug system-dump [slot X] | show debug system-dump [slot X] | ||
+ | # afficher l' | ||
+ | show cli journal | ||
# voir la table d' | # voir la table d' | ||
Line 491: | Line 613: | ||
Total number of MLD control packets snooped = 0. | Total number of MLD control packets snooped = 0. | ||
Total number of MLD data packets switched = 0. | Total number of MLD data packets switched = 0. | ||
+ | |||
+ | # alternative à "sh l2stats" | ||
+ | run script spath-stats.py | ||
+ | </ | ||
+ | ====Détecter une boucle==== | ||
+ | |||
+ | Trouver les ports qui génèrent une boucle avec l'ELRP (Extreme Loop Recovery Protocol) (c'est un test unique et non un service en arrière-plan) : | ||
+ | <code bash> | ||
+ | clear l2stats | ||
+ | # après quelques secondes, afficher les compteurs de chaque VLAN | ||
+ | show l2stats | ||
+ | |||
+ | # à effectuer sur le VLAN qui possède le plus de paquets remontés à la CPU | ||
+ | # src: https:// | ||
+ | enable elrp-client | ||
+ | configure elrp-client one-shot < | ||
+ | # après le test | ||
+ | disable elrp-client | ||
</ | </ | ||
Line 522: | Line 662: | ||
show configuration | show configuration | ||
- | # en incluant les paramètres par défaut (non affichés sinon) | + | # En incluant les paramètres par défaut (non affichés sinon) |
show configuration detail | show configuration detail | ||
- | # afficher | + | # Afficher |
show configuration stp | show configuration stp | ||
+ | |||
+ | # Utiliser un filtre de famille de fonctionnalités (ici la partie DNS/ | ||
+ | show configuration nettools | ||
</ | </ | ||
Line 560: | Line 703: | ||
</ | </ | ||
- | ====factory-reset==== | + | ====Restauration==== |
+ | On peut injecter une configuration au format " | ||
<code bash> | <code bash> | ||
- | # reset tout sauf les comptes admin, | + | # Télécharger |
- | unconfigure switch [all] | + | tftp get 10.1.1.24 save.xsf |
+ | | ||
+ | |||
+ | # Charger cette conf : | ||
+ | load script save | ||
+ | |||
+ | # Sauvegarder | ||
+ | # par défaut de ce switch | ||
+ | save config | ||
+ | y | ||
</ | </ | ||
+ | |||
+ | On peut aussi directement utiliser le fichier récupérer par TFTP comme sa conf par défaut : | ||
+ | <code bash> | ||
+ | # Télécharger la sauvegarde | ||
+ | tftp get 10.1.1.24 save.xsf | ||
+ | | ||
+ | |||
+ | # L' | ||
+ | use configuration save.xsf | ||
+ | |||
+ | # redémarrer sans sauver la config | ||
+ | # (pour ne pas écrire la primary courante sur la save fraichement restaurée) | ||
+ | reboot | ||
+ | n | ||
+ | </ | ||
+ | |||
+ | src : https:// | ||
+ | ====factory-reset==== | ||
+ | |||
+ | Il existe plusieurs façons de déconfigurer un switch, décrites ici : https:// | ||
+ | |||
+ | __Déconfigurations non destructrices (ne supprime pas les fichiers de conf en nvram) :__ | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | __Déconfigurations destructrices :__ | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | A noter que dans tous les cas, lorsqu' | ||
+ | </ | ||
Line 637: | Line 822: | ||
</ | </ | ||
- | En cas de congestion ('' | + | Pour effacer les compteurs : |
+ | <code bash> | ||
+ | clear counters ports | ||
+ | </ | ||
+ | |||
+ | En cas de congestion ('' | ||
* augmenter la taille du buffer d' | * augmenter la taille du buffer d' | ||
<code bash> | <code bash> | ||
Line 652: | Line 842: | ||
* baisser le pourcentage du buffer partagé sur les autres interfaces | * baisser le pourcentage du buffer partagé sur les autres interfaces | ||
* si plusieurs ports provoquent la congestion au niveau de l' | * si plusieurs ports provoquent la congestion au niveau de l' | ||
+ | |||
+ | Local fault/ | ||
+ | Quand un port passe DOWN il affiche dans les logs la raison '' | ||
+ | * une **local fault** est détectée par le switch lui-même, souvent dû à trop d' | ||
+ | * **remote fault** est une erreur détectée et signalée par le switch d'en face | ||
+ | |||
<code bash> | <code bash> | ||
Line 678: | Line 874: | ||
</ | </ | ||
+ | [[https:// | ||
+ | <code bash> | ||
+ | debug vlan show vpifs vl-WIFI 2:29 | ||
+ | VLAN: Default, port:2:29, vlanId:1, instance: 50002499, tag: 0, | ||
+ | Ingress: | ||
+ | l2Protos (IDs): 0x0 [PIF: type: | ||
+ | uRPF[-]:0, isTrillAppointedForwarder: | ||
+ | clientUsage: | ||
+ | |||
+ | Egress and Ingres state bit definitions | ||
+ | typedef enum ifIngressState_ { | ||
+ | IF_STATE_ENABLE_LEARNING= | ||
+ | IF_STATE_DISABLE_LEARNING = 0x2, | ||
+ | | ||
+ | | ||
+ | IF_STATE_SLOWPATH_PROCESSING = 0x10, | ||
+ | IF_STATE_IN_BLOCK_ALL = 0x20, | ||
+ | IF_STATE_IN_BLOCK_DATA = 0x40, | ||
+ | IF_STATE_INVALID = 0xffffffff, | ||
+ | } ifIngressState_t; | ||
+ | typedef enum ifEgressState_ { | ||
+ | IF_STATE_FORWARDING = 0x1, | ||
+ | IF_STATE_EG_BLOCK_ALL = 0x2, | ||
+ | IF_STATE_BLOCK_FLOODING = 0x4, | ||
+ | IF_STATE_EG_BLOCK_DATA = 0x8, | ||
+ | IF_STATE_BLOCK_BROAD_CAST = 0x10, | ||
+ | } ifEgressState_t; | ||
+ | Layer 2 protocols , ids and their priorities(lower values have higher precedence | ||
+ | Protocol: SRP , ID: 0x1, Priority: 8001 | ||
+ | Protocol: netLogin , ID: 0x2, Priority: 10001 | ||
+ | Protocol: VRRP , ID: 0x4, Priority: 40001 | ||
+ | Protocol: ESRP , ID: 0x8, Priority: 30001 | ||
+ | Protocol: ELSM , ID: 0x10, Priority: 7001 | ||
+ | Protocol: ETHOAM , ID: 0x20, Priority: 6001 | ||
+ | Protocol: brm , ID: 0x40, Priority: 50001 | ||
+ | Protocol: stp , ID: 0x80, Priority: 9001 | ||
+ | Protocol: ERPS , ID: 0x100, Priority: 10050 | ||
+ | Protocol: EAPS , ID: 0x200, Priority: 20001 | ||
+ | gMacTree[0]: | ||
+ | </ | ||
====jumbo frames==== | ====jumbo frames==== | ||
Line 771: | Line 1007: | ||
</ | </ | ||
+ | ====mac-locking==== | ||
+ | Le contrôle d' | ||
+ | |||
+ | Exemple rapide de mise en place : | ||
+ | <code bash> | ||
+ | # activation du mac-locking sur tous les ports " | ||
+ | enable mac-locking ports 1-47 | ||
+ | # configuration de l'' | ||
+ | # nb: pas d'' | ||
+ | configure mac-locking ports 1-47 first-arrival limit-learning 1 | ||
+ | # activation du mac-locking | ||
+ | enable mac-locking | ||
+ | |||
+ | # [ phase d'' | ||
+ | |||
+ | # vérifs | ||
+ | show mac-locking stations ports 1-47 | ||
+ | # on limite le nombre d'' | ||
+ | configure mac-locking ports 1-47 static limit-learning 1 | ||
+ | # copie des MAC apprises en static | ||
+ | configure mac-locking ports 1-47 first-arrival move-to-static | ||
+ | # vérifs | ||
+ | show mac-locking ports 1-47 | ||
+ | show mac-locking stations ports 1-47 | ||
+ | # configurer les actions si dépassement de seuil (violation) | ||
+ | configure mac-locking ports 1-47 learn-limit-action disable-port | ||
+ | </ | ||
+ | |||
+ | Vérifications | ||
+ | <code bash> | ||
+ | show mac-locking ports 1-47 | ||
+ | show mac-locking stations ports 1-47 | ||
+ | |||
+ | # ajouter ou supprimer une MAC d'' | ||
+ | configure mac-locking ports 47 static [add | enable | disable] @MAC | ||
+ | </ | ||
=====Spanning-tree===== | =====Spanning-tree===== | ||
En vrac : | En vrac : | ||
<code bash> | <code bash> | ||
+ | # Configuration de base | ||
+ | configure stpd s0 priority 16384 | ||
+ | configure stpd s0 mode dot1w | ||
+ | configure stpd s0 add vlan Default ports 5:1 dot1d | emistp | pvst-plus | ||
# (dés)activation du domaine s0 | # (dés)activation du domaine s0 | ||
disable stpd s0 | disable stpd s0 | ||
enable stpd s0 | enable stpd s0 | ||
- | configure stpd s0 priority 16384 | + | # Configurer |
- | configure stpd s0 mode dot1w | + | |
- | configure stpd s0 add vlan Default ports 5:1 dot1d | emistp | pvst-plus | + | |
- | + | ||
- | # configurer | + | |
# attention cela bloque le port si l'on reçoit un BPDU dessus | # attention cela bloque le port si l'on reçoit un BPDU dessus | ||
# les bridges sous Linux peuvent en générer par exemple | # les bridges sous Linux peuvent en générer par exemple | ||
Line 790: | Line 1062: | ||
</ | </ | ||
- | Debug / diagnostique | + | ====Fast convergence==== |
+ | |||
+ | Lors d'un changement de topology (TC), le switch vide sa table ARP ("// | ||
+ | <code bash> | ||
+ | configure iparp fast-convergence on | ||
+ | |||
+ | show iparp | grep Convergence | ||
+ | Fast Convergence : On | ||
+ | </ | ||
+ | |||
+ | ====Debug / diagnostique==== | ||
+ | |||
+ | Lister l' | ||
<code bash> | <code bash> | ||
- | # lister l' | ||
show stpd s0 ports | show stpd s0 ports | ||
[..] | [..] | ||
- | 1:12 | + | 1:12 |
- | 1:13 | + | 1:13 |
+ | 1:14 | ||
# exemple de résultat : PC Linux ponté qui génère des BPDUs en 1:12 | # exemple de résultat : PC Linux ponté qui génère des BPDUs en 1:12 | ||
- | # et port edge ' | + | # |
+ | # port bloqué en listening en 1:14 | ||
+ | </ | ||
- | # | + | Afficher la raison du blocage d'un port : |
- | # logs | + | <code bash> |
- | # | + | show stpd s0 ports non-forwarding-reason |
- | # logguer | + | Port State |
+ | ------------------------------------------------------------------------------- | ||
+ | 1:14 LISTENING | ||
+ | </ | ||
+ | |||
+ | Logguer | ||
+ | <code bash> | ||
+ | # changements de topo STP : | ||
+ | configure stpd s0 trap topology-change on | ||
configure stpd s0 trap topology-change edge-ports on | configure stpd s0 trap topology-change edge-ports on | ||
+ | configure stpd s0 trap new-root on | ||
# ajouter des msg de log | # ajouter des msg de log | ||
Line 818: | Line 1113: | ||
</ | </ | ||
- | sources | + | Sources |
* https:// | * https:// | ||
* http:// | * http:// | ||
Line 870: | Line 1165: | ||
Si on modifie une access-list déjà appliquée sur un port, il faut la réappliquer : | Si on modifie une access-list déjà appliquée sur un port, il faut la réappliquer : | ||
<code bash> | <code bash> | ||
+ | check policy internet-in | ||
refresh policy internet-in | refresh policy internet-in | ||
</ | </ | ||
Line 876: | Line 1172: | ||
<code bash> | <code bash> | ||
- | create access-list dynamic test-acl " | + | create access-list dynamic test-acl " |
</ | </ | ||
Line 942: | Line 1238: | ||
* tous les ports console sont utilisables mais seul celui du master peux modifier la configuration | * tous les ports console sont utilisables mais seul celui du master peux modifier la configuration | ||
* le numéro de slot du master apparaît dans le prompt (ex : **Slot-2 sw-cc-s1.7 #**) | * le numéro de slot du master apparaît dans le prompt (ex : **Slot-2 sw-cc-s1.7 #**) | ||
+ | |||
+ | |||
+ | ====Créer une pile==== | ||
+ | |||
+ | refs: [[https:// | ||
+ | |||
+ | Depuis une conf usine, se logguer sur le port CONsole en " | ||
+ | |||
+ | Vérifier les prérequis : la version, la partition active et la licence doivent être les même sur chaque switch : | ||
+ | <code bash> | ||
+ | show licenses | ||
+ | show version images | ||
+ | show sys | grep Selected | ||
+ | </ | ||
+ | |||
+ | Éteindre les switchs et brancher leurs interfaces de stack (ports 40G éventuellement disponibles via l' | ||
+ | <code bash> | ||
+ | -- slot 1(1) | ||
+ | / | ||
+ | | ||
+ | | ||
+ | \--------------------------------/ | ||
+ | </ | ||
+ | Ceci afin d' | ||
+ | |||
+ | Démarrer chaque switch et activer le stacking ; puis redémarrer : | ||
+ | <code bash> | ||
+ | enable stacking-support | ||
+ | reboot | ||
+ | </ | ||
+ | |||
+ | Vérification : une fois tous les slots redémarrés, | ||
+ | |||
+ | Sur le master uniquement, lancer l' | ||
+ | <code bash> | ||
+ | enable stacking | ||
+ | |||
+ | Execute " | ||
+ | Executing " | ||
+ | For every node in the 4-node stack, this command will: | ||
+ | - enable stacking | ||
+ | - configure a stack MAC address | ||
+ | - choose and configure a slot number (this node will be assigned to slot 1) | ||
+ | - configure redundancy to minimal (slot 1 will be the master node) | ||
+ | - configure the stacking protocol to enhanced | ||
+ | Upon completion, the stack will automatically be rebooted into the new configuration. | ||
+ | Warning: If stacking is already configured, this command will alter that configuration. | ||
+ | Do you wish to proceed? (y/N)Y | ||
+ | </ | ||
+ | |||
+ | Après un reboot automatique des tous les slots, on doit maintenant les retrouver avec la commande : | ||
+ | <code bash> | ||
+ | show stacking | ||
+ | Stack Topology is a Ring | ||
+ | Active Topology is a Ring | ||
+ | Node MAC Address | ||
+ | ------------------ | ||
+ | *00: | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
Commandes en vrac : | Commandes en vrac : | ||
Line 963: | Line 1321: | ||
# afficher les firmwares installés sur chaque partition de chaque slot : | # afficher les firmwares installés sur chaque partition de chaque slot : | ||
show version images | show version images | ||
- | |||
- | # | ||
- | # monter une pile : | ||
- | # | ||
- | # sur tous les switchs | ||
- | enable stacking-support | ||
- | # sur le master uniquement | ||
- | enable stacking | ||
- | configure stacking easy-setup | ||
- | configure stacking slot-number automatic | ||
- | configure stacking priority | ||
# pour re-numéroter le slot 5 (34:56) en 6 | # pour re-numéroter le slot 5 (34:56) en 6 | ||
configure stacking node-address 00: | configure stacking node-address 00: | ||
- | # permet d' | + | # permet d' |
configure stacking slot 2 master-capability on|off | configure stacking slot 2 master-capability on|off | ||
Line 998: | Line 1345: | ||
# forcer une bascule master -> backup (vérifier qu'ils soient sync) | # forcer une bascule master -> backup (vérifier qu'ils soient sync) | ||
run failover | run failover | ||
+ | |||
+ | # afficher les infos sur les nodes | ||
+ | show node detail | ||
+ | Node Slot-1 information: | ||
+ | Node State: | ||
+ | Node Priority: 0 | ||
+ | Sw Health: | ||
+ | Hw Health: | ||
+ | |||
+ | Node Slot-2 information: | ||
+ | Node State: | ||
+ | Node Priority: 0 | ||
+ | Sw Health: | ||
+ | Hw Health: | ||
+ | |||
+ | # afficher les infos sur les liens de stacking ; ici 4 liens 40G pour le stacking mode V320 | ||
+ | debug hal show stacking ports | ||
+ | Stack Port Bundles | ||
+ | ------------------ | ||
+ | SPB 1: Type 5(80G), Status UP | ||
+ | Member [0, | ||
+ | Member [0, | ||
+ | SPB 2: Type 5(80G), Status UP | ||
+ | Member [0, | ||
+ | Member [0, | ||
</ | </ | ||
Line 1006: | Line 1378: | ||
* même partitions actives | * même partitions actives | ||
* même niveau de licence ('' | * même niveau de licence ('' | ||
- | | + | * si le switch provient d'une précédente pile, déconfigurer d' |
+ | * qu'il possède des interfaces pour le stacker (QSFP+), comme une carte VIM par exemple ('' | ||
+ | * activer le support du stacking : vérifier '' | ||
+ | | ||
<code bash> | <code bash> | ||
configure stacking-support stack-port all selection native | configure stacking-support stack-port all selection native | ||
- | enable stacking-support | ||
- | reboot | ||
enable stacking | enable stacking | ||
reboot | reboot | ||
Line 1029: | Line 1402: | ||
show slot detail | show slot detail | ||
</ | </ | ||
- | |||
====Sortir un switch d'un stack==== | ====Sortir un switch d'un stack==== | ||
Line 1044: | Line 1416: | ||
Stack Topology is a Ring | Stack Topology is a Ring | ||
</ | </ | ||
+ | |||
+ | ====Synchroniser les images d'un slot==== | ||
+ | |||
+ | Il peut arriver qu'une stack monte avec une image active sur des partitions différentes entre plusieurs slots ; par exemple : | ||
+ | <code bash> | ||
+ | show switch | ||
+ | [..] | ||
+ | Slot: | ||
+ | ------------------------ | ||
+ | Current State: | ||
+ | |||
+ | Image Selected: | ||
+ | Image Booted: | ||
+ | Primary ver: 30.7.1.1 | ||
+ | patch1-23 | ||
+ | Secondary ver: 30.2.1.8 | ||
+ | | ||
+ | </ | ||
+ | |||
+ | On voit que la version 30.7.1.1 est installé sur des partitions différentes : primaru sur le slot1 et secondary sur le slot 2. Cela fonctionne, mais les montées de versions génèrent une erreur : '' | ||
+ | <code bash> | ||
+ | install image inactive slot 2 | ||
+ | This will overwrite the image installed on the secondary partition with the image installed on the primary partition. | ||
+ | Do you want to proceed? (y/N) Yes | ||
+ | | ||
+ | Image installed to the secondary partition successfully. | ||
+ | </ | ||
+ | |||
+ | Puis définir cette partition comme active : | ||
+ | <code bash> | ||
+ | use image primary slot 2 | ||
+ | |||
+ | # vérification: | ||
+ | show slot 2 detail | grep ary | ||
+ | Image Selected: | ||
+ | Image Booted: | ||
+ | | ||
+ | | ||
+ | |||
+ | # Puis, rebooter: | ||
+ | reboot | ||
+ | |||
+ | # après reboot: | ||
+ | show switch | ||
+ | [..] | ||
+ | Slot: | ||
+ | ------------------------ | ||
+ | Current State: | ||
+ | |||
+ | Image Selected: | ||
+ | Image Booted: | ||
+ | Primary ver: 30.7.1.1 | ||
+ | patch1-23 | ||
+ | Secondary ver: 30.2.1.8 | ||
+ | | ||
+ | </ | ||
+ | |||
====Liens==== | ====Liens==== | ||
- | * [[https:// | + | * [[https:// |
+ | * et particulièrement : [[https:// | ||
====Divers==== | ====Divers==== | ||
Line 1078: | Line 1508: | ||
<code bash> | <code bash> | ||
- | # déclarer | + | # Afficher la configuration IP : |
+ | show ipconfig | ||
+ | |||
+ | # Déclarer une route statique | ||
+ | config iproute add 10.1.8.x/24 10.1.10.1 | ||
+ | |||
+ | # Déclarer | ||
config iproute add default 10.1.1.1 | config iproute add default 10.1.1.1 | ||
- | # activer le routage | + | # Activer le routage de VLAN |
- | enable ipforwarding [ vlan Default | + | # NB : il faut activer le routage sur le VLAN ingress et egress (source et destination) : |
+ | # ou ne pas préciser de VLAN pour tous les router | ||
+ | enable ipforwarding [ vlan ingress | ||
+ | enable ipforwarding [ vlan egress | ||
- | # déclarer une route | + | # Déclarer un " |
- | config | + | # ne repartent par la route par défaut |
+ | configure | ||
</ | </ | ||
+ | Diagnostique : | ||
+ | <code bash> | ||
+ | # résoudre une IP : | ||
+ | rtlookup 8.8.8.8 | ||
+ | Ori Destination | ||
+ | #s | ||
+ | </ | ||
====BGP==== | ====BGP==== | ||
Line 1154: | Line 1601: | ||
# application de la routemap | # application de la routemap | ||
configure bgp neighbor 10.55.6.92 route-policy in BGP-in | configure bgp neighbor 10.55.6.92 route-policy in BGP-in | ||
+ | </ | ||
+ | |||
+ | Après la MAJ d'une policy, pour qu' | ||
+ | <code bash> | ||
+ | check policy BGP-in.pol | ||
+ | refresh policy BGP-in | ||
+ | configure bgp soft-reconfiguration | ||
</ | </ | ||
Line 1174: | Line 1628: | ||
show iproute origin bgp | show iproute origin bgp | ||
+ | |||
+ | # afficher les routes reçues/ | ||
+ | show bgp neighbor 10.55.200.92 received-routes all | ||
+ | Routes: | ||
+ | | ||
+ | ------------------------------------------------------------------------------------------------------ | ||
+ | *> | ||
+ | *> | ||
+ | *> | ||
+ | *> | ||
+ | *> | ||
+ | *>? | ||
+ | |||
+ | show bgp neighbor 10.55.200.92 accepted-routes all | ||
+ | show bgp neighbor 10.55.200.92 rejected-routes all | ||
+ | ! | ||
+ | show bgp neighbor 10.55.200.92 transmitted-routes all | ||
+ | Advertised Routes: | ||
+ | | ||
+ | ---------------------------------------------------------------------------------------- | ||
+ | > | ||
+ | > | ||
+ | > | ||
+ | |||
+ | show bgp neighbor 10.55.200.92 suppressed-routes all | ||
</ | </ | ||
Line 1185: | Line 1664: | ||
configure bgp AS-number 0 | configure bgp AS-number 0 | ||
</ | </ | ||
+ | |||
+ | ===Tips=== | ||
+ | |||
+ | * si un préfixe est déclaré en BGP mais pas transmis (cf '' | ||
====VRRP==== | ====VRRP==== | ||
Line 1314: | Line 1797: | ||
</ | </ | ||
+ | ====MAC 00-E0-2B-00-00-01 moved==== | ||
+ | Sur certains switch il est possible de surveiller et remonter les adresses MAC changeant de port, c'est le cas des châssis S4 par exemple. Cela permet de mettre en lumière des problèmes les problèmes de configuration sur le réseau (STP, agrégats, etc...). | ||
+ | Dans le cas de l' | ||
+ | <code bash> | ||
+ | AddrNtfy[2]MAC: | ||
+ | AddrNtfy[2]MAC: | ||
+ | </ | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Pour résoudre le problème, il faut désactiver le protocole en mousse, activé par défaut sur les EXOS : | ||
+ | <code bash> | ||
+ | disable edp port all | ||
+ | </ | ||
+ | |||
+ | ====BOOTPrelay==== | ||
+ | |||
+ | Comme chez Cisco & consorts, il est possible de relayer les paquets broadcastés sur un réseau (VLAN) vers une adresse IP unicast située sur un autre réseau (VLAN). C'est nécessaire en DHCP/BOOTP par exemple, si le serveur DHCPd est centralisé et adresse plusieurs réseaux clients. Chez Cisco/ | ||
+ | <code bash> | ||
+ | configure bootprelay add 10.0.0.1 [ vr VR-Default ] | ||
+ | enable bootprelay ipv4 vlan LAN-clients | ||
+ | enable bootprelay ipv4 vlan ico-vers-DHCPd | ||
+ | </ | ||
+ | NB : à noter qu'il faut activer le bootprelay à la fois que le VLAN ingress (côté clients) et egress (côté serveur DHCP), même si le serveur DHCP n'est adressé dans un VLAN directement connecté sur ce routeur. | ||
+ | NB2 : bien sûr puisque cela implique du routage, cela n'est possible qu'en activant l' '' | ||
+ | <code bash> | ||
+ | enable ipforwarding vlan LAN-clients | ||
+ | enable ipforwarding vlan ico-vers-DHCPd | ||
+ | |||
+ | # le serveur DHCPd doit être joignable également | ||
+ | rtlookup 10.0.0.1 | ||
+ | Ori Destination | ||
+ | #s | ||
+ | </ | ||
+ | |||
+ | ====Conduit error==== | ||
+ | |||
+ | Lorsqu' | ||
+ | <code bash> | ||
+ | show ports stack-ports txerrors no-refresh | ||
+ | Port Tx Error Monitor | ||
+ | Port Link Tx Tx Tx Tx | ||
+ | State | ||
+ | ================================================================================ | ||
+ | 1:1 | ||
+ | 1:2 | ||
+ | 2:1 | ||
+ | 2:2 | ||
+ | ================================================================================ | ||
+ | ! | ||
+ | show ports stack-ports rxerrors no-refresh | ||
+ | Port Rx Error Monitor | ||
+ | Port Link | ||
+ | State Crc Over Under | ||
+ | ================================================================================ | ||
+ | 1:1 | ||
+ | 1:2 | ||
+ | 2:1 | ||
+ | 2:2 | ||
+ | ================================================================================ | ||
+ | Link State: A-Active, R-Ready, NP-Port Not Present L-Loopback | ||
+ | </ | ||
+ | Ici, tout va bien. | ||
+ | src: [[https:// | ||
=====Ressources===== | =====Ressources===== | ||
* [[https:// | * [[https:// | ||
informatique/extreme_networks.txt · Last modified: 2023/12/21 15:11 by pteu