User Tools

Site Tools


informatique:extreme_networks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
informatique:extreme_networks [2019/10/09 11:23]
pteu [BGP] afficher les routes échangées
informatique:extreme_networks [2020/06/08 10:30] (current)
pteu [Gestion des utilisateurs]
Line 102: Line 102:
 ====Management==== ====Management====
  
-# Afficher et modifier la configuration de l'​admin du switch (SSH, TELNET, idle-timeout,​ etc)+Configurer une adresse IP sur le port de management ''​Mgmt''​ (situé physiquement à côté du port Console) : 
 +<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 
 +</​code>​ 
 +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'​avoir un accès indépendant pour plus de sécurité. Par défaut tous les autres ports sont positionnés dans le VR-Default. 
 + 
 +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 "​Default"​ : 
 +<code bash> 
 +configure vlan Default ipaddress 10.10.10.1 255.255.255.0 
 +configure iproute add default 10.10.10.254 
 +</​code>​ 
 + 
 +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'​ipforwarding dessus (cf [[informatique:​extreme_networks#​Routage|routage]]) 
 + 
 +Afficher et modifier la configuration de l'​admin du switch (SSH, TELNET, idle-timeout,​ etc)
 <code bash> <code bash>
 show management show management
Line 181: Line 198:
 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>
 +
 # pour les comptes utilisateurs + mot de passe # pour les comptes utilisateurs + mot de passe
 create account user tata <PWD> create account user tata <PWD>
 </​code>​ </​code>​
-Il n'​existe que 2 niveaux de privilège, non configurables.+Il n'​existe que 2 niveaux de privilège, non configurables ​: RO (lecture seule) et RW (admin).
  
 Modifier le mot de passe d'un compte existant : Modifier le mot de passe d'un compte existant :
Line 194: Line 211:
 </​code>​ </​code>​
  
 +===Diag===
 +
 +Lister les comptes utilisateurs configurés :
 +<code bash>
 +show accounts
 +                       User Name  Access LoginOK ​ Failed ​    State
 +-------------------------------- ​ ------ ------- ​ ------ ​ --------
 +                           ​admin ​    ​R/​W ​      ​1 ​      ​0 ​  ​Enabled
 +                       ​stagiaire ​    ​RO ​       0       ​0 ​  ​Enabled
 +                            toto     ​R/​W ​     19       ​0 ​  ​Enabled
 +                            titi     ​R/​W ​     20       ​0 ​  ​Enabled
 +</​code>​
 +
 +Lister les utilisateurs connectés actuellement :
 +<code bash>
 +show session
 +    #       Login Time               ​User ​    ​Type ​   Auth   Auth Location
 +================================================================================
 + ​16 ​        Mon Jun  8 09:47:01 2020 toto     ​ssh2 ​   local  dis  10.0.1.59
 +*17         Mon Jun  8 10:13:26 2020 titi     ​ssh2 ​   sshKey dis  10.20.20.24
 +</​code>​
  
 ===Failsafe account=== ===Failsafe account===
Line 479: Line 517:
 show log messages memory show log messages memory
 show debug system-dump [slot X] show debug system-dump [slot X]
 +# afficher l'​historique des commandes passées en CLI
 +show cli journal
  
 # voir la table d'​adresses MAC # voir la table d'​adresses MAC
Line 528: Line 568:
 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 ​un paragraphe de configuration (ici le spanning-tree)+Afficher ​un paragraphe de configuration (ici le spanning-tree)
 show configuration stp show configuration stp
 +
 +# Utiliser un filtre de famille de fonctionnalités (ici la partie DNS/​NTP/​DHCP relay, etc)
 +show configuration nettools
 </​code>​ </​code>​
  
Line 566: Line 609:
 </​code>​ </​code>​
  
-====factory-reset====+====Restauration====
  
 +On peut injecter une configuration au format "​command"​ (.xsf) sur un nouveau switch, en le chargeant depuis un serveur TFTP :
 <code bash> <code bash>
-reset tout sauf les comptes admin, ​la date et la conf du stack (à moins qu'on précise "​all"​+Télécharger ​la sauvegarde 
-unconfigure switch [all]+tftp get 10.1.1.24 save.xsf 
 + ​Downloading save.xsf to switch... done! 
 + 
 +# Charger cette conf : 
 +load script save 
 + 
 +# Sauvegarder ​la nouvelle ​conf dans le fichier de configuration 
 +# par défaut de ce switch ​(vraisemblablement primary.cfg: 
 +save config 
 + y
 </​code>​ </​code>​
 +
 +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
 + ​Downloading save.xsf to switch... done!
 +
 +# L'​utiliser comme fichier de configuration par défaut
 +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
 +</​code>​
 +
 +src : https://​gtacknowledge.extremenetworks.com/​articles/​How_To/​How-to-copy-a-configuration-to-a-new-switch
 +====factory-reset====
 +
 +Il existe plusieurs façons de déconfigurer un switch, décrites ici : https://​gtacknowledge.extremenetworks.com/​articles/​How_To/​Clear-NVRAM-using-EXOS ; dans tous les cas cela nécessitera un reboot du switch.
 +
 +__Déconfigurations non destructrices (ne supprime pas les fichiers de conf en nvram) :__
 +  * ''​unconfigure switch''​ réinitialise le switch dans sa configuration par défaut (usine), en conservant son IP de management et ses comptes utilisateurs.
 +  * ''​unconfigure switch all''​ réinitialise le switch dans sa configuration par défaut (usine) ; cela supprime son IP de management, le compte de secours (failsafe account) et les paramètres spécifiques (comme la configuration de stacking par ex.). Pour ne supprimer que la configuration en stack, utiliser plutôt ''​unconfigure stacking''​.
 +
 +__Déconfigurations destructrices :__
 +  * ''​unconfigure switch erase all''​ : supprime les firmwares installés, tous les fichiers de confs ce qui inclus les ACLs et les policies par ex., et le contenu de la mémoire non-volatile. **Le switch nécessite une récupération via bootrom pour repartir.**
 +  * ''​unconfigure switch erase nvram''​ supprime les données dans la mémoire non-volatile ; le switch repartira sur sa partition et configuration "​primary",​ et perdra ses logs.
 +
 +<WRAP center round important 60%>
 +A noter que dans tous les cas, lorsqu'​un switch démarre sur sa conf usine, il reste inopérant tant que l'​assistant de démarrage n'a pas été lancé ; il faut donc s'y connecter au moins une fois en console pour exécuter ou quitter l'​assistant,​ et rendre le switch opérationnel.
 +</​WRAP>​
  
  
Line 684: Line 769:
 </​code>​ </​code>​
  
 +[[https://​gtacknowledge.extremenetworks.com/​articles/​Q_A/​How-to-check-ports-for-possible-blocking|Commande de diagnostique bas niveau]] :
 +<code bash>
 +debug vlan show vpifs vl-WIFI 2:29
 +VLAN: Default, port:2:29, vlanId:1, instance: 50002499, tag: 0,
 +        Ingress:​0x5,​ Egress: 0x1, l2 prot priority: 0, cfgSave: TRUE
 +        l2Protos (IDs): 0x0 [PIF: type:​SLOTPORT linkState:1 phyLinkState:​1]
 +        uRPF[-]:0, isTrillAppointedForwarder:​0 isTrillDesignated:​0
 +        clientUsage:​ 0x10
 +
 +Egress and Ingres state bit definitions
 +typedef enum ifIngressState_ {
 +IF_STATE_ENABLE_LEARNING= ​      0x1,
 +IF_STATE_DISABLE_LEARNING =     0x2,
 + ​IF_STATE_ALLOW_ALL =            0x4,
 + ​IF_STATE_ALLOW_AUTH_MAC =       0x8,
 +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]:​ cnt:0 Addr 2.4.96.00.11.22 src: 0
 +</​code>​
 ====jumbo frames==== ====jumbo frames====
  
Line 782: Line 907:
 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 ​un port edge
-configure stpd s0 mode dot1w +
-configure stpd s0 add vlan Default ports 5:1 dot1d | emistp | pvst-plus +
- +
-configurer ​un port edge+
 # 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 796: Line 921:
 </​code>​ </​code>​
  
-Debug / diagnostique+====Debug / diagnostique==== 
 + 
 +Lister l'​état STP des ports du domaine s0
 <code bash> <code bash>
-# lister l'​état STP des ports du domaine s0 
 show stpd s0 ports show stpd s0 ports
 [..] [..]
-1:12   ​802.1D FORWARDING 20000 eDee-d-S-- 128      800c    40:​00:​02:​04:​96:​12:​34:56 +1:12   ​802.1D FORWARDING 20000 eDee-d-S-- 128      800c    40:​00:​02:​04:​96:​12:​11:11 
-1:13   ​802.1D FORWARDING 20000 eDee-w-S-- 128      800d    40:​00:​02:​04:​96:​12:​34:57+1:13   ​802.1D FORWARDING 20000 eDee-w-S-- 128      800d    40:​00:​02:​04:​96:​12:​22:22 
 +1:14   ​802.1D LISTENING ​ 2000  eDappw---- 128      800c    40:​00:​02:​04:​96:​9b:​33:​33
 # 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 '​normal'​ en 1:13+                      ​port edge '​normal'​ en 1:13 
 +#                       port bloqué en listening en 1:14 
 +</​code>​
  
-# +Afficher la raison du blocage d'un port : 
-# logs +<code bash> 
-# +show stpd s0 ports non-forwarding-reason 
-# logguer ​les changements de topo STP sur les ports edge +Port    State       ​Reason 
-configure stpd s0 trap topology-change ​edge-ports ​on+------------------------------------------------------------------------------- 
 +1:14    LISTENING ​  ​Placed in listening state because it is in dispute. 
 +</​code>​ 
 + 
 +Logguer ​les événements STP : 
 +<code bash> 
 +changements de topo STP : 
 +configure stpd s0 trap topology-change on
  
 # ajouter des msg de log # ajouter des msg de log
Line 824: Line 960:
 </​code>​ </​code>​
  
-sources ​:+Sources ​:
   * https://​gtacknowledge.extremenetworks.com/​articles/​Solution/​Spanning-Tree-Topology-Changes-on-X460/?​l=en_US&​fs=RelatedArticle   * https://​gtacknowledge.extremenetworks.com/​articles/​Solution/​Spanning-Tree-Topology-Changes-on-X460/?​l=en_US&​fs=RelatedArticle
   * http://​documentation.extremenetworks.com/​exos/​EXOS_21_1/​STP/​c_edge-port-behavior.shtml   * http://​documentation.extremenetworks.com/​exos/​EXOS_21_1/​STP/​c_edge-port-behavior.shtml
Line 882: Line 1018:
  
 <code bash> <code bash>
-create access-list dynamic test-acl "​protocol icmp;​source-address ​125.1.40.21/​32"​ "​deny"​+create access-list dynamic test-acl "​protocol icmp;​source-address ​10.0.20.21/​32"​ "​deny"​
 </​code>​ </​code>​
  
Line 1051: Line 1187:
 </​code>​ </​code>​
 ====Liens==== ====Liens====
-  * [[https://​gtacknowledge.extremenetworks.com/​articles/​How_To/​How-to-create-stack-with-Summit-X460-48p-and-Summit-X460-24p|How to create a stack with Summit switches]]+  * [[https://​gtacknowledge.extremenetworks.com/​articles/​How_To/​Getting-started-with-Summit-Stacking|Getting started with Summit Stacking]] 
 +    * et particulièrement : [[https://​gtacknowledge.extremenetworks.com/​articles/​How_To/​How-to-create-stack-with-Summit-X460-48p-and-Summit-X460-24p|How to create a stack with Summit switches]]
 ====Divers==== ====Divers====
  
Line 1084: Line 1221:
  
 <code bash> <code bash>
-déclarer ​la route par défaut +Afficher ​la configuration IP : 
-config iproute add default 10.1.1.1+show ipconfig
  
-activer le routage [ sur un vlan particulier ] : +Déclarer ​une route statique
-enable ipforwarding [ vlan Default ] +
- +
-# déclarer ​une route+
 config iproute add 10.1.8.x/24 10.1.10.1 config iproute add 10.1.8.x/24 10.1.10.1
  
-déclarer ​un "​blackhole",​ pour éviter ​que les paquets reçus non gérés+Déclarer la route par défaut 
 +config iproute add default 10.1.1.1 
 + 
 +# Activer le routage de VLAN 
 +# 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 ​un "​blackhole"​/Null0, pour éviter ​les boucles avec les paquets reçus non gérés
 # ne repartent par la route par défaut # ne repartent par la route par défaut
 configure iproute add blackhole 192.168.0.0/​16 configure iproute add blackhole 192.168.0.0/​16
 </​code>​ </​code>​
  
 +Diagnostique :
 +<code bash>
 +# résoudre une IP :
 +rtlookup 8.8.8.8
 +Ori  Destination ​       Gateway ​        ​Mtr ​ Flags         ​VLAN ​      ​Duration
 +#s   ​default ​           10.20.1.2 ​     1    UG---S-um--f- Default ​   180d:​22h:​49m:​26s
 +</​code>​
 ====BGP==== ====BGP====
  
Line 1220: Line 1370:
 configure bgp AS-number 0 configure bgp AS-number 0
 </​code>​ </​code>​
 +
 +===Tips===
 +
 +  * si un préfixe est déclaré en BGP mais pas transmis (cf ''​transmitted-routes''​),​ c'est peut-être qu'il n'est pas connu localement (ou pas avec le bon masque, vérifier avec un ''​show iproute''​) ou qu'il n'est pas permis dans la ''​route-policy''​ appliquée en out (pour filtrer nos annonces BGP)
 ====VRRP==== ====VRRP====
  
Line 1366: Line 1520:
 </​code>​ </​code>​
  
 +====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/​Enterasys cette fonctionnalité est nommée ''​ip helper address'',​ chez Extreme (EXOS) c'est ''​bootprelay''​.
 +<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
 +</​code>​
 +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' ''​ipforward''​ (le routage quoi) sur VLANs sus-cités. En gros :
 +<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 ​       Gateway ​        ​Mtr ​ Flags         ​VLAN ​            ​Duration
 +#s   ​default ​           10.20.1.2 ​     1    UG---S-um--f- ico-vers-DHCPd ​   181d:​0h:​6m:​52s
 +</​code>​
 =====Ressources===== =====Ressources=====
  
   * [[https://​gtacknowledge.extremenetworks.com/​articles/​Q_A/​EXOS-Switch-Security-Checklist-and-best-practice|EXOS-Switch-Security-Checklist-and-best-practice]]   * [[https://​gtacknowledge.extremenetworks.com/​articles/​Q_A/​EXOS-Switch-Security-Checklist-and-best-practice|EXOS-Switch-Security-Checklist-and-best-practice]]
  
informatique/extreme_networks.1570612983.txt.gz · Last modified: 2019/10/09 11:23 by pteu