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 [2021/09/24 08:21] – [Conduit error] pteu | informatique:extreme_networks [2025/02/05 16:09] (current) – [Hardware] x695 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 | ||
</ | </ | ||
- | Depuis les version 30, les commandes précitées, | + | |
- | <code bash> | + | |
- | disable cli paging | + | |
- | enable cli paging | + | |
- | </ | + | |
=====Licences===== | =====Licences===== | ||
Line 90: | 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 110: | 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 125: | 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 174: | 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 211: | 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 246: | 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 253: | 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 423: | 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 438: | 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 445: | 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 | ||
</ | </ | ||
Line 566: | Line 725: | ||
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 605: | Line 786: | ||
# 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 796: | Line 991: | ||
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 808: | Line 1007: | ||
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 942: | Line 1144: | ||
</ | </ | ||
+ | ====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 | ||
+ | </ | ||
+ | |||
+ | ===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 1064: | Line 1359: | ||
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 1314: | Line 1610: | ||
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:// | ||
Line 1338: | Line 1691: | ||
=====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 1442: | Line 1809: | ||
# 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 1516: | Line 1890: | ||
+ | =====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 1696: | Line 2077: | ||
</ | </ | ||
Ici, tout va bien. | Ici, tout va bien. | ||
+ | |||
+ | src: [[https:// | ||
=====Ressources===== | =====Ressources===== | ||
* [[https:// | * [[https:// | ||
informatique/extreme_networks.1632471696.txt.gz · Last modified: 2021/09/24 08:21 by pteu