informatique:extreme_networks
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatique:extreme_networks [2020/09/28 13:06] – [Ajouter un switch dans un stack existant] pteu | informatique:extreme_networks [2025/10/15 15:30] (current) – [authentification par mac] pteu | ||
|---|---|---|---|
| Line 4: | Line 4: | ||
| =====Remarques générales===== | =====Remarques générales===== | ||
| - | Par défaut les switchs sont configurés avec 2 VRs (virtuals | + | Par défaut les switchs sont configurés avec 2 VRs (virtual |
| * **VR-Mgmt**, | * **VR-Mgmt**, | ||
| * **VR-Default**, | * **VR-Default**, | ||
| Line 10: | Line 10: | ||
| Pour les versions 16 et antérieures, | Pour les versions 16 et antérieures, | ||
| - | Par défaut les résultats de commandes s' | + | Par défaut les résultats de commandes s' |
| <code bash> | <code bash> | ||
| + | disable cli paging | ||
| + | enable cli paging | ||
| + | |||
| + | # pour les versions EXOS antérieures à 30: | ||
| disable clipaging | disable clipaging | ||
| enable clipaging | enable clipaging | ||
| 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 82: | Line 90: | ||
| Dillinger Version: | Dillinger Version: | ||
| - | # afficher | + | # x695 |
| + | Slot 1 Version Information: | ||
| + | Branch | ||
| + | Version: | ||
| + | Card type: X695-48Y-8C rev 0 | ||
| + | MAC--1: | ||
| + | Saved Chip Data: | ||
| + | CPU Core: | ||
| + | CPU Memory Size: 16384 MB | ||
| + | Alternate Bootrom Version: | ||
| + | Default Bootrom Version: | ||
| + | </ | ||
| + | |||
| + | Afficher | ||
| + | <code bash> | ||
| debug hal show optic-info slot 1 port 52 | debug hal show optic-info slot 1 port 52 | ||
| Line 102: | Line 124: | ||
| ====Management==== | ====Management==== | ||
| - | Configurer une adresse IP sur le port de management '' | + | Configurer une adresse IP sur le port de management '' |
| + | |||
| + | Vérifier le DHCP : | ||
| <code bash> | <code bash> | ||
| - | configure vlan Mgmt ipaddress 10.0.0.1 255.255.255.0 | + | show dhcp-client ipv4 state |
| + | Client VLAN | ||
| + | --------------- -------- --------------- --------------------------------------- | ||
| + | Default | ||
| + | Mgmt None 0.0.0.0 | ||
| + | # désactiver le DHCP (au besoin) | ||
| + | disable dhcp vlan all | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | # configurer l'IP du port de Management | ||
| + | configure vlan Mgmt ipaddress 10.0.0.1 255.255.255.0 | ||
| # configurer sa route par défaut | # configurer sa route par défaut | ||
| configure iproute add default 10.0.0.254 vr VR-Mgmt | 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' | + | |
| + | Parfois, ça bug et on ne peut toujours pas configurer d' | ||
| + | <code bash> | ||
| + | sh vlan | ||
| + | Untagged ports auto-move: Inform | ||
| + | ----------------------------------------------------------------------------------------------- | ||
| + | Name VID Protocol Addr | ||
| + | ----------------------------------------------------------------------------------------------- | ||
| + | Mgmt 4095 169.254.120.0 | ||
| + | ----------------------------------------------------------------------------------------------- | ||
| + | ! | ||
| + | disable dhcp vlan all | ||
| + | WARNING: VLAN " | ||
| + | ! | ||
| + | unconfigure vlan Mgmt ipaddress | ||
| + | Error: Dhcp/Bootp configured IP address cannot be removed on VLAN Mgmt | ||
| + | ! | ||
| + | conf vlan Mgmt ipaddress 10.0.0.1 255.255.0.0 | ||
| + | Error: DHCP/BOOTP is enabled on the VLAN | ||
| + | |||
| + | # contournement | ||
| + | enable dhcp vlan Mgmt | ||
| + | disable dhcp vlan Mgmt | ||
| + | unconf vlan Mgmt ipaddress | ||
| + | ! | ||
| + | conf vlan Mgmt ipaddress 10.0.0.1 255.255.0.0 | ||
| + | IP interface for VLAN Mgmt has been created. | ||
| + | </ | ||
| + | |||
| + | 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 " | 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 " | ||
| Line 117: | Line 181: | ||
| </ | </ | ||
| - | 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' | + | 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' | Afficher et modifier la configuration de l' | ||
| <code bash> | <code bash> | ||
| - | show management | + | show switch |
| - | configure idletimeout [0-240 min] | + | CLI idle timeout |
| + | CLI max number of login attempts : 3 | ||
| + | CLI max number of sessions | ||
| + | CLI paging | ||
| + | CLI space-completion | ||
| + | CLI configuration logging | ||
| + | CLI journal size : 100 | ||
| + | CLI password prompting only : Disabled | ||
| + | CLI display moved-keywords | ||
| + | CLI moved-keywords hidden release: 31.7 | ||
| + | CLI RADIUS cmd authorize tokens | ||
| + | CLI scripting | ||
| + | CLI scripting error mode : Ignore-Error (this session only) | ||
| + | CLI script search path : " | ||
| + | CLI persistent mode : Persistent (this session only) | ||
| + | CLI prompting | ||
| + | CLI screen size : 68 Lines 135 Columns (this session only) | ||
| + | CLI refresh | ||
| + | CLI history expansion | ||
| + | Image integrity checking | ||
| + | Current system port notation | ||
| + | Configured system port notation | ||
| + | Telnet access | ||
| + | : Access Profile : not set | ||
| + | SSH access | ||
| + | : Secure-Mode | ||
| + | : Access Profile : not set | ||
| + | SSH2 idle time : 60 minutes | ||
| + | SSH2 rekey interval | ||
| + | Web access | ||
| + | : Access Profile : not set | ||
| + | Total Read Only Communities | ||
| + | Total Read Write Communities | ||
| + | RMON : Disabled | ||
| + | SNMP access | ||
| + | : Access Profile : not set | ||
| + | SNMP Notifications | ||
| + | SNMP Notification Receivers | ||
| + | SNMP stats: | ||
| + | Gets | ||
| + | SNMP traps: | ||
| + | SNMP inform: | ||
| </ | </ | ||
| Line 133: | Line 243: | ||
| start process " | start process " | ||
| restart process " | restart process " | ||
| + | |||
| + | # terminer (kill) un processus | ||
| + | terminate process < | ||
| </ | </ | ||
| Line 163: | Line 276: | ||
| 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 200: | Line 314: | ||
| # 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> | ||
| </ | </ | ||
| Line 235: | Line 360: | ||
| ===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 242: | Line 369: | ||
| cf : https:// | cf : https:// | ||
| + | ====Radius / mgmt-access==== | ||
| + | Pour utiliser une d' | ||
| + | <code bash> | ||
| + | configure radius mgmt-access primary server 10.0.1.1 1812 client-ip 10.0.2.254 vr VR-Default | ||
| + | configure radius mgmt-access primary shared-secret <MDP défini sur le serveur Radius> | ||
| + | enable radius mgmt-access | ||
| + | </ | ||
| + | ====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 372: | Line 535: | ||
| # logguer les commandes passées sur le switch | # 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 406: | Line 575: | ||
| ====Firmware==== | ====Firmware==== | ||
| - | Pour obtenir la version d'EXOS (ici 21.1.1.4) : | + | Pour obtenir la version d' |
| <code bash> | <code bash> | ||
| show version | show version | ||
| Line 421: | Line 590: | ||
| </ | </ | ||
| Cette commande retourne également la liste des commutateurs de la stack et les modules additionnels, | Cette commande retourne également la liste des commutateurs de la stack et les modules additionnels, | ||
| + | |||
| + | Consulter la page [[https:// | ||
| ===MAJ firmware=== | ===MAJ firmware=== | ||
| Line 428: | Line 599: | ||
| <code bash> | <code bash> | ||
| download image 1.1.1.1 < | download image 1.1.1.1 < | ||
| + | </ | ||
| + | |||
| + | Téléchargement sur la partition inactive + installation + reboot (all-in-one) | ||
| + | <code bash> | ||
| + | download image 1.1.1.1 summitX-31.7.2.28-patch1-38.xos vr VR-Mgmt install reboot | ||
| </ | </ | ||
| * via clé USB | * via clé USB | ||
| + | |||
| + | ref: [[https:// | ||
| + | |||
| + | Avant EXOS 31.1: | ||
| <code bash> | <code bash> | ||
| - | # puis vérifier qu' | + | # vérifier qu' |
| show memorycard | show memorycard | ||
| Line 441: | Line 621: | ||
| This image will be used only after rebooting the switch! | This image will be used only after rebooting the switch! | ||
| </ | </ | ||
| + | |||
| + | Depuis la version EXOS 31.1 | ||
| + | <code bash> | ||
| + | # vérifier que la clé USB est reconnue et montée (elle doit être en FAT32) | ||
| + | show switch mounts | ||
| + | Memory storage is present. | ||
| + | ! | ||
| + | show switch usb | ||
| + | USB port: Disabled | ||
| + | # Si KO, activer la prise en chagre de l'USB | ||
| + | enable switch usb | ||
| + | This setting will take effect at the next system reboot | ||
| + | |||
| + | # la clé USB est montée ici: | ||
| + | ls / | ||
| + | -rwxrwxr-- | ||
| + | [..] | ||
| + | |||
| + | # copier l' | ||
| + | download url file:/// | ||
| + | </ | ||
| + | |||
| + | Puis '' | ||
| * via scp | * via scp | ||
| Line 461: | Line 664: | ||
| reboot | reboot | ||
| </ | </ | ||
| + | |||
| + | ===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' | ||
| + | |||
| + | * autre erreur TFTP quand on passe de la 30.1 à la 30.3 : '' | ||
| + | | ||
| ====Commandes UNIX-like==== | ====Commandes UNIX-like==== | ||
| Line 537: | Line 756: | ||
| 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 | ||
| + | |||
| + | show ipstats ipv4 vlan Default | ||
| + | |||
| + | debug hal show congestion | ||
| + | </ | ||
| + | ====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 576: | Line 817: | ||
| # Utiliser un filtre de famille de fonctionnalités (ici la partie DNS/ | # Utiliser un filtre de famille de fonctionnalités (ici la partie DNS/ | ||
| show configuration nettools | show configuration nettools | ||
| + | </ | ||
| + | |||
| + | Lorsqu' | ||
| + | <code bash> | ||
| + | * Slot-1 toto.3 # show conf difference | ||
| + | --- primary.cfg | ||
| + | +++ Running Configuration | ||
| + | @@ -1,7 +1,7 @@ | ||
| + | # | ||
| + | # Module devmgr configuration. | ||
| + | # | ||
| + | -configure snmp sysName " | ||
| + | +configure snmp sysName " | ||
| + | [...] | ||
| </ | </ | ||
| Line 726: | Line 981: | ||
| # afficher les informations concernant le convertisseur (GBIC/SFP) branché sur le port | # afficher les informations concernant le convertisseur (GBIC/SFP) branché sur le port | ||
| sh port 2 transceiver information [ detail ] | sh port 2 transceiver information [ detail ] | ||
| + | </ | ||
| + | |||
| + | Pour effacer les compteurs : | ||
| + | <code bash> | ||
| + | clear counters ports | ||
| </ | </ | ||
| Line 743: | Line 1003: | ||
| * 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 756: | Line 1022: | ||
| show fdb ports < | show fdb ports < | ||
| show fdb vlan < | show fdb vlan < | ||
| + | |||
| + | # enregistrer une entrée statique dans le FDB | ||
| + | # create [fdbentry | fdb] < | ||
| + | create fdb 00: | ||
| # interroger la table ARP (association adresse IP <-> MAC) | # interroger la table ARP (association adresse IP <-> MAC) | ||
| Line 768: | Line 1038: | ||
| show iparp vlan < | show iparp vlan < | ||
| </ | </ | ||
| + | |||
| + | # créer une association ARP statique : | ||
| + | configure iparp add 10.0.20.2 vr VR-Default bc: | ||
| [[https:// | [[https:// | ||
| Line 902: | Line 1175: | ||
| </ | </ | ||
| + | ====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 | ||
| + | </ | ||
| + | |||
| + | ====authentification par mac==== | ||
| + | |||
| + | On peut également faire vérifier l' | ||
| + | |||
| + | ===Configuration côté switch=== | ||
| + | <code bash> | ||
| + | # création du VLAN d' | ||
| + | create vlan v10_Users tag 10 | ||
| + | create vlan v666_Accueil tag 666 | ||
| + | ! | ||
| + | # configuration du serveur Radius | ||
| + | configure radius netlogin primary server 10.4.1.1 1814 client-ip 10.5.255.253 vr VR-Default | ||
| + | configure radius netlogin primary shared-secret encrypted " | ||
| + | ! | ||
| + | # configuration de l' | ||
| + | |||
| + | configure netlogin vlan v666_Accueil | ||
| + | enable netlogin mac | ||
| + | configure netlogin mac authentication database-order radius | ||
| + | # on active la protection MAC sur les port 1 à 8 (arbitraire) | ||
| + | enable netlogin ports 1-8 mac | ||
| + | configure netlogin add mac-list ff: | ||
| + | ! | ||
| + | enable radius | ||
| + | enable radius netlogin | ||
| + | </ | ||
| + | |||
| + | NB: le VLAN d' | ||
| + | |||
| + | ===Configuration côté serveur Radius=== | ||
| + | Dans le cas de freeradius, il faut : | ||
| + | * ajouter l'IP du switch (10.5.255.253) et son " | ||
| + | * activer le plugin **authorized_macs** | ||
| + | * peupler le fichier **authorized_macs** avec la liste des adresses MAC permises (format 00-11-22-33-44-55) | ||
| + | * dans la section authorize de la configuration du site : | ||
| + | <file site-enabled/ | ||
| + | [...] | ||
| + | authorize { | ||
| + | | ||
| + | # convertir l'@ mAC dans le bon format | ||
| + | | ||
| + | # | ||
| + | | ||
| + | if (ok) { | ||
| + | # The MAC address was found, so update Auth-Type to accept this auth. | ||
| + | update control { | ||
| + | | ||
| + | } | ||
| + | update reply { | ||
| + | | ||
| + | | ||
| + | | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | [...] | ||
| + | </ | ||
| =====Spanning-tree===== | =====Spanning-tree===== | ||
| Line 919: | Line 1287: | ||
| # les bridges sous Linux peuvent en générer par exemple | # les bridges sous Linux peuvent en générer par exemple | ||
| configure stpd s0 ports link-type edge 1:14 edge-safeguard enable bpdu-restrict | configure stpd s0 ports link-type edge 1:14 edge-safeguard enable bpdu-restrict | ||
| + | </ | ||
| + | |||
| + | ====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 | ||
| </ | </ | ||
| Line 947: | Line 1325: | ||
| # changements de topo STP : | # changements de topo STP : | ||
| configure stpd s0 trap topology-change on | configure stpd s0 trap topology-change 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 1012: | Line 1392: | ||
| 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 1084: | Line 1465: | ||
| * 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 1105: | Line 1548: | ||
| # 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 1140: | Line 1572: | ||
| # 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 1186: | Line 1643: | ||
| 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:// | + | * et particulièrement : [[https:// |
| + | * [[https:// | ||
| ====Divers==== | ====Divers==== | ||
| Line 1210: | Line 1725: | ||
| =====packet capture===== | =====packet capture===== | ||
| - | Pour réaliser une capture | + | Pour réaliser une capture |
| <code bash> | <code bash> | ||
| - | debug packet capture ports 8 on vlan default | + | # activer/ |
| + | debug packet capture on | ||
| + | debug packet capture off | ||
| + | |||
| + | # limiter la capture aux ports 2 et 3, et à 100 paquets | ||
| + | debug packet capture port 2-3 on count 100 | ||
| + | |||
| + | # sauvegarde dans un fichier pcap, récupérable dans / | ||
| + | debug packet capture ports 2-3 on file-name < | ||
| + | |||
| + | # limiter la capture sur le port 8, le vlan Default et à 100 paquets (alt.) | ||
| + | debug packet capture ports 8 on vlan Default | ||
| </ | </ | ||
| - | ([[https://gtacknowledge.extremenetworks.com/articles/ | + | Il est important de toujours désactiver la capture, quelque soit les options utilisées |
| + | |||
| + | Sources : | ||
| + | * [[https://extremeportal.force.com/ExtrArticleDetail? | ||
| Line 1314: | Line 1843: | ||
| # 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 1349: | Line 1885: | ||
| show bgp neighbor 10.55.200.92 accepted-routes all | 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 rejected-routes all | ||
| + | [...] | ||
| + | BGP Route Statistics | ||
| + | Total Rxed Routes : 8 | ||
| + | Rejected Routes | ||
| + | Unfeasible Routes : 0 | ||
| ! | ! | ||
| show bgp neighbor 10.55.200.92 transmitted-routes all | show bgp neighbor 10.55.200.92 transmitted-routes all | ||
| Line 1360: | Line 1901: | ||
| show bgp neighbor 10.55.200.92 suppressed-routes all | show bgp neighbor 10.55.200.92 suppressed-routes all | ||
| </ | </ | ||
| + | |||
| + | <WRAP center round important 80%> | ||
| + | Les commandes précédentes n' | ||
| + | </ | ||
| ===Suppression de la conf BGP=== | ===Suppression de la conf BGP=== | ||
| Line 1388: | Line 1933: | ||
| + | =====Scripts Python===== | ||
| + | |||
| + | Les EXOS interprètent les scripts Python depuis la v15.7 ; 2 scripts sont fournis de base pour aider au diagnostique : | ||
| + | * **spath-stats.py** pour aider au diag de problème CPU (il est basé sur le retour de la commande "sh l2stats" | ||
| + | * **mem-stats.py** qui collecte le stats mémoire sur le système | ||
| + | |||
| + | On peut les exécuter avec la commande : '' | ||
| =====Tips===== | =====Tips===== | ||
| Line 1539: | Line 2091: | ||
| #s | #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.1601298398.txt.gz · Last modified: 2020/09/28 13:06 by pteu