User Tools

Site Tools


informatique:enterasys

This is an old revision of the document!


Remarques générales

La marque Enterasys a été rachetée par Extreme Networks il y a quelques temps déjà, mais certaines gammes d'équipements sont encore vendues.

Administration

Accessibles en telnet par défaut, on peut activer l'accès HTTP, HTTPS ou SSH.

Pour configurer l'IP d'admin, le masque réseau et la passerelle du commutateur :

set ip address 10.1.11.22 mask 255.255.255.0 gateway 10.1.11.254

Par défaut le VLAN de management (celui sur lequel sera positionnée l'IP d'admin) est le 1. Pour changer son tag (1 → 66 par exemple) :

set host vlan 66

Prompt

Il est de la forme : HOSTNAME(DROITS)→, avec “DROITS” parmi “su”, “rw” ou “ro” (SuperUser, ReadWrite ou ReadOnly), et “HOSTNAME” est le nom du switch défini avec la commande :

set prompt HOSTNAME

On peut filtrer le résultat d'une commande (noter l’absence d'espace avant le mot-clé “find”) :

show config |find toto

Pour configurer une bannière (login est la bannière de pré-login, motd celle de post-login)

set banner [ motd | login ] "message" 
 
show banner [ motd | login ]

Pour forcer la taille du terminal (hauteur et largeur) :

set length | width <nb de caractères>
 
# en définissant une hauteur infinie on désactive les "more"
set length 0

Pour lancer une commande (la prochaine qui sera saisie) plusieurs fois d'affilée :

# lancer 3x la commande "show port counter ge.1.1" à 1 seconde d'intervalle
loop 3 1
show port counter ge.1.1

Comptes utilisateurs

Par défaut, 3 comptes sont préconfigurés à la sortie d'usine, chacun avec un mot de passe vide :

  • admin
  • rw
  • ro

Si les logins sont parlant quant à leur droits d'accès, il faut savoir que “rw” et “ro” n'apparaissent pas dans un show conf. Par sécurité il est conseiller de supprimer ou désactiver ces derniers ainsi que de changer le mot de passe admin.

# supprimer les comptes
clear system login rw
clear system login ro
 
# ou juste les désactiver
set system login rw read-write disable
set system login ro read-only disable
 
# changer le mdp du compte admin
set password admin

Pour lister les comptes utilisateurs ainsi que la politique de mots de passe :

show system login                                              
Username   Access     State    Aging  Simul  Local  Login  Access  Allowed
                                      Login  Only?  Start  End     Days
 
admin      super-user enabled  0      0      no     ***access always allowed***
toto       read-only  enabled  0      0      no     ***access always allowed***

Pour lister les utilisateurs connectés

show users

Pour limiter le nombre de connexions simultanées par login (par défaut 0 = pas de limite), par exemple 2 pour “toto” :

set system login toto read-only enable simultaneous-logins 2

SSH

Seul le TELNET est activé par défaut ; pour activer les accès SSH :

set ssh enabled

NB : le nombre maximal de connexions SSH simultanées est limité à 2 sur la majorité des modèles stackables comme les B/C/D.

HTTP

Pour activer/désactiver le serveur web du commutateur (par sécurité il est courant de le désactiver) :

set webview enable/disable
 
# pour activer le HTTPS
set ssl enable/disable

Sécurité du login

Pour bloquer un login pendant 10 minutes si l'utilisateur saisit 5 mauvais mots de passe d'affiler :

set system lockout attempts 5 time 10
 
show system lockout

A utiliser avec parcimonie puisque une personne malveillante peut bloquer le prompt admin…

Configurer le temps d'inactivité, en minutes, avant déconnexion (idle timeout) :

set logout 160

Sécurité des mots de passe

On peut définir une politique de sécurité des mots de passe afin qu'ils ne soient pas trop faibles et changés régulièrement :

# définir une longueur de mot de passe à 14 caractères minimum
# et imposer qu'ils contiennent au moins un caractère minuscule, majuscule, spécial et un chiffre
set system password length 14
set system password min-required-chars lowercase 1 uppercase 1 numeric 1 special 1
 
# enregistrer les (0-10) précédents mots de passe
set system password history 3
 
# pour interdir la réutilisation d'une sous-chaine déjà présente dans un ancien mot de passe
# et interdire la répétition de plus de 3 fois le même caractère
set system password substring-match-len 10 allow-repeating-chars 3 
 
# forcer le changement des mots de passe tous les ans
set system password aging 365

Vérification :

show system password

CDP/LLDP

Le CDP ou LLDP est un protocole de découverte des voisins ; il est donc recommandé, par sécurité, de ne l'activer que sur les interconnexions entre nos équipements.

show cdp
show lldp
 
# afficher les voisins détectés en CDP/LLDP sur le même segment ethernet
show neighbors
 
# activer le LLDP sur le port tg.1.1 seulement en réception
set lldp port status rx-enable tg.1.1

Logging

Pour afficher les logs

show logging buffer
 
# activer les logs sur la console et dans un fichier (current.log)
set logging local console enable file enable

Voir les paramètres de logging par défaut :

show logging defaults

Pour logguer de façon plus fine certaines fonctions (par ex le STP)

show logging application
set logging application STP level 8

Configurer l'export des logs vers un serveur syslog externe :

set logging server 1 ip-addr 10.68.77.12 severity 7 descr 'serveur_rsyslog' state enable
show logging server 

Rappel :

  • la severity est une échelle de 1 à 8 indiquant le niveau de debug (du moins au plus verbeux) : 1 (emergencies), 2 (alerts), 3 (critical), 4 (errors), 5 (warnings), 6 (notifications), 7 (information), 8 (debugging).
  • la facility sert à identifier les logs sur le serveur syslog ; 8 possibilités, entre local0 à local7.

Pour envoyer les logs locaux vers un serveur TFTP :

copy logs/current.log tftp://10.0.0.1/switch.log

current.log

Le current.log contient les logs détaillés du système ; il n'est consultable qu'en l'exportant via TFTP ou via la commande show support. Dans le cas d'un stack il retourne séquentiellement les logs de chaque membre.

<134> JAN 19 05:25:17 STK1 BOOT[268434944]: sysapi.c(1295) 1 %%
 Configuration file on disk size 1086200 is less than expected size 1319967. 

Dans cet exemple, le 1%% indique le pourmillage d'utilisation de la capacité de stockage (donc entre 0 et 1000).

Logguer les commandes

Depuis la version 06.61 il existe la directive sfile enable qui permet de logguer les actions des utilisateurs (en local et vers les serveurs syslog configurés) :

set logging local console enable file enable sfile enable

Password recovery

Sur les séries B et C : il y a un petit trou à l'arrière du châssis, juste à droite du port stack. Il faut utiliser une pointe de stylo pour l'atteindre, l'enfoncer 5 secondes et relâcher. “Password Reset button has been pressed” apparaît en console et dans les logs.

Il n'y a pas d'interruption de service, on peut ensuite se connecter directement en admin sans mot de passe.

Système

# permet d'afficher l'uptime du switch et l'état du système
# (aimentations, ventilateurs, températures)
show system
 
# pour surveiller la charge CPU du switch et l'utilisation de la mémoire (vive et morte)
show system utilization
show system utilization cpu
show system utilization process [slot x]
 
# afficher le modèle, SN, adresse MAC, le firmware
show system hardware
 
# afficher la version du firmware et le SN
show version
 
# affiche sur quelle image va démarrer le switch au prochain reboot
show boot system
# lister les images et les fichiers de configuration présents sur la mémoire flash
dir
 
# afficher les connexion ouvertes
show netstat

Rebooter un slot

Rebooter/redémarrer un module dans un châssis :

reset nemcpu <slot_nb.cpu_nb>
# ex :
reset nemcpu 4.1 (mod 4, cpu 1)

Configurer l'heure

set time 7:50:00
set summertime enable

Cependant il vaut mieux configurer le protocole NTP/SNTP :

set sntp client unicast
set sntp server 10.1.11.24 precedence 2
set sntp server 10.1.11.108

Boot Menu

Le boot menu est le menu minimaliste auquel on accède avant le chargement du firmware (un peu comme le BIOS d'un PC). Il permet des opérations de dépannage et de recovery notamment.

On y accède pendant les premières secondes de boot en tapant 2 (par exemple sur un D2G) :

Enterasys D2-Series Boot Code...
SDRAM Circuit Test of 255MB
100%
 
 
Version 01.00.46 12-09-2010
 
Computing MD5 Checksum of operational code...
Select an option. If no selection in 2 seconds then
operational code will start.
 
1 - Start operational code.
2 - Start Boot Menu.
Select (1, 2):

Puis un mot de passe vous est demandé ; par défaut c'est “administrator”.

Ensuite s'affiche le menu de boot qui donne accès aux fonctions suivantes :

Boot Menu Version 01.00.46 12-09-2010
 
 
Options available
1  - Start operational code
2  - Change baud rate
3  - Retrieve event log using XMODEM (64KB).
4  - Load new operational code using XMODEM
5  - Display operational code vital product data
6  - Update Boot Code
7  - Delete operational code
8  - Reset the system
9  - Restore Configuration to factory defaults (delete config files)
10 - Set new Boot Code password

Gestion Configuration

Pour afficher la configuration :

show config
 
# afficher également les lignes avec des valeurs par défaut
show config all
 
# pour filtrer le résultat sur un mot-clé :
show config |find toto
 
# sauvegarder le résultat dans le fichier (current.cfg)
show config outfile configs/current.cfg

Faire un factory reset (supprimer la configuration) :

clear config
 
# supprimer aussi le stack unit ID, sa priorité et l'IP de mgmt (mais pas la licence)
clear config all

Exporter la configuration vers TFTP

# 1) enregistrer la conf localement dans un fichier
show config outfile configs/20150721_switch.conf
# 2) envoyer ce fichier vers un serveur TFTP
copy configs/20150721_switch.conf tftp://10.1.2.211/20150721_switch.conf

NB : sur les modèles “stackables” (1U) les fichiers sont enregistrés sur l'espace de stockage configs/ ; pour les chassis (Matrix E ou S) il faut préciser le module (slot1/ par exemple) :

show config outfile slot1/20150721_chassi.conf

Restaurer la configuration depuis TFTP

On réalise la procédure inverse, puis on injecte le fichier obtenu avec la commande configure (attention l'équipement redémarrera) :

# 1) récupération de la sauvegarde sur le serveur TFTP
copy tftp://10.1.2.211/20150721_switch.conf configs/20150721_switch.conf
# 2) application de celle-ci (écrase la précédente conf, ou l'appliquer par dessus l'ancienne (append)) :
configure configs/20150721_switch.conf [ append ]

MAJ du firmware

Même procédure que pour importer une conf via TFTP ; puis modifier l'image de boot :

# sur les Matrix
copy tftp://10.1.2.201/DFE-P-61208-0003 images/DFE-P-61208-0003
# sur les B/C/D series
copy tftp://10.1.2.201/d2-series_06.03.15.0002 system:image
 
set boot system DFE-P-61208-0003

Si plus de place (Error: No space left on the device. Please remove backup file), supprimer une ancienne image :

dir
delete d2-series_01.00.00.0029

Debug/tech-support

Commandes à saisir pour un autodiagnostique complet (à envoyer au support le cas échéant) :

show logging buffer
show support

source : https://gtacknowledge.extremenetworks.com/articles/How_To/How-to-collect-a-show-tech-or-a-tech-support-to-provide-to-GTAC

Lister les flux sur les ports ten gig :

show flowlimit stats tg.*.*

Afficher les compteurs et l'utilisation des ports :

show rmon history interval 30sec wide

Gestion ports/VLANs

Ports

# afficher le status d'un port (alias, activation, speed, duplex)
show port status [ tg.6.1 ]
 
# affiche la portion de configuration correspondant aux ports ("#port")
show config port
 
# activer/désactiver un port
set port enable ge.1.1
set port disable ge.1.1
 
# attribuer une description sur un port
set port alias ge.1.12 uplink_vers_central
 
# afficher la capacité du port et celle annoncé par la port d'en face (si autoneg)
show port advertise ge.1.12
ge.1.12      capability    advertised     remote 
-------------------------------------------------
10BASE-T        yes          yes          no
10BASE-TFD      yes          yes          yes
100BASE-TX      yes          yes          no
100BASE-TXFD    yes          yes          yes
1000BASE-T      no           no           no
1000BASE-TFD    yes          yes          yes
pause           yes          yes          yes
 
# configurer le speed/duplex/négociation (exemple pour forcer un port en 100/FD)
set port speed ge.2.1 100
set port duplex ge.2.1 full
set port negotiation ge.2.1 disable

Pour supprimer la configuration d'un port (par exemple pour supprimer l'alias) :

clear port alias ge.1.9

Exception faite pour les paramètres de négociation, speed et duplex, qui se réinitialisent ainsi :

set port negotiation ge.1.1 enable
set port speed ge.1.1 10
set port duplex ge.1.1 half

Pour filtrer les broacast (ici on limite à 2000 pkts/s) :

set port broadcast 2000

Dropper les paquets taggués sur un port (edge typiquement)

set port discard ge.1.10 tagged

MAC-security

La fonctionnalité mac-security permet de limiter et bloquer le nombre et la valeur d'@mac sur un port

set maclock enable ge.2.72
# nb max d'@ mac sur le port (1)
set maclock static ge.2.72 1
# n'autoriser que cette @ mac
set maclock 00-11-88-00-11-22 ge.2.72

Shaping

Basic traffic shaping :

show port ratelimit <portstring>
 
set port ratelimit enable
set port ratelimit <portstring>
clear port ratelimit <portstring>

RMON et compteurs

show port counters ge.2.65 [switch]
show rmon stats ge.2.65

Pour voir les infos de rmon sous forme de liste, par port :

show rmon history interval 30sec wide
Interface  Index Util               Octets              Packets  Broadcast  Multicast  Drop Evts Collisions    Jabbers CRC Errors  Undersize   Oversize  Fragments Direction
---------- ----- ---- -------------------- -------------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------
tg.2.1      2001   0%           3555751743              3557100       6055      63100          0          0          0          0          0          0          0     rx+tx
tg.2.2      2003   0%                    0                    0          0          0          0          0          0          0          0          0          0     rx+tx
tg.2.3      2005   0%            440571734               500309       5996     122267          0          0          0          0          0          0          0     rx+tx
tg.2.4      2007   0%            566194991               733960       6055      63322          0          0          0          0          0          0          0     rx+tx
tg.2.5      2009   0%            451879854               477877       6040      62939          0          0          0          0          0          0          0     rx+tx
t

Reset des compteurs (NB : impossible avec les Matrix N7, par contre on peut utiliser les compteurs rmon)

clear port counter ge.2.72

Terminologie des compteurs

  • In Discards : Packets received by the device interface that were discarded even though no errors prevented them from being delivered to a higher layer protocol (e.g., to free up buffer space in the device).
  • In Errors : Packets received by the device interface that contained errors that prevented them from being delivered to a higher-layer protocol.
  • In Unknown : Packets received by the device interface that were discarded because of an unknown or unsupported protocol.
  • Overruns : inbound - lack of interface buffer
  • Out Discards : outbound - lack of interface buffer (= buffer drop = quand le débit à émettre > débit de l'interface = congestion)
  • Jabber : trame > 1518 et ont une mauvaise FCS ou CRC ; peut être lié a un pb électrique sur une NIC
    • CRC (Cyclic Redundancy Check) : pour détecter les erreurs de transmission/réception: algo de détection d'erreur
    • FCS (Frame check sequence) : détection d'erreur sur une trame, spécifique au réseau L2.
    • Alignment : le paquet ne contient pas un nb de bit multiple de 8 OU contient une FCS error

NB : en 802.3 les erreurs devraient être < 10^-8, i.e. 1 in 82 x 10^6

  • Undersize ou Runt : trame < 64 octets
  • Long : taille trame entre 1518 et 6000 octets
  • Oversize, Jumbo ou Giant : trame > 6000 octets
  • Dribble : trame > 1518 mais qui peut être traité quand même
  • Congestion : port egress congestion statistics (dropped packets)
  • Jam : utiliser pour prévenir qu'il y a collision. Peut être utiliser en cas de congestion pour “back pressure” la station qui surcharge le switch

Agrégats

La notation des agrégats, interfaces logiques regroupant plusieurs interfaces physiques pour améliorer le débit et la redondance, chez Enterasys, est de la forme : lag.0.x.

Enterasys implémente la détection automatique des agrégats et ne nécessite pas de configuration particulière si celle par défaut convient. Cependant il vaut mieux configurer l'agrégat afin de s'assurer qu'il est correctement détecté et qu'il utilise un numéro de port invariant.

Procédure pour forcer 2 ports ge.1.24 et ge.1.25 à rejoindre le lag.0.4 :

set lacp enable
# pour permettre au lag de rester UP même s'il ne possède qu'une interface physique UP
set lacp singleport enable
 
set lacp aadminkey lag.0.1 1
set port lacp port ge.1.24-25 aadminkey 1
set port lacp port ge.1.24-25 enable

Vérifications/diagnostique :

show lacp
show port lacp port ge.1.24 status detail
show port lacp port ge.1.25 status detail
show port lacp port ge.1.24 status summary

Baisser les timers

Chaque lien appartenant à un agrégat est testé par l'envoi de paquets de contrôle (~hello packets) qui permettent de détecter un problème quand le lien n'est pas DOWN, et sortir de l'agrégat le port en erreur, le cas échéant. Ces paquets sont envoyés toutes les 10 secondes par défaut, ce qui permet une détection en 3 x 10 = 30 secondes.

Pour baisser ces timers à 1 seconde (pour une détection en 3 secondes), passer la commande suivante sur chaque port physique (et sur les 2 switchs) :

# exemple avec les ports tg.2.1 et tg.3.1 sur un premier switch
set port lacp port tg.2.1,tg.3.1 aadminstate lacptimeout​

Linkflap

Le flapping est le fait de changer d'état plus souvent que la normale ; les switchs Enterasys disposent d'un ensemble de commandes permettant de surveiller les transitions UP/DOWN des ports (linkflap). Parce que cela perturbe le switch, on peut définir des règle pour bloquer les ports qui tombent trop souvent.

# afficher la configuration actuelle (des ports compatibles avec la fonctionnalité)
show linkflap parameters

Mise en place d'une surveillance :

# activer la fonction globalement
set linkflap globalstate enable
 
# définir l'intervalle de temps (en secondes) de comptage des links DOWN
set linkflap interval ge.*.* 10
# défini le seuil de link DOWN autorisés par intervalle de comptage
set linkflap threshold ge.*.* 20
 
# définir l'action en cas de non-respect de la règle (ici, juste logguer le port)
set linkflap action ge.*.* gensyslogentry
 
# afficher les compteurs de flaps
show linkflap metrics
# logguer les UP/DOWN des ports
set linkflap portstate enable

VLANs

Créer un VLAN (17 par exemple)

set vlan create 17
set vlan name 17 "SomeName"
# afficher les VLANs actifs (dont les ports sont UP)
show vlans
 
# afficher tous les VLANs configurés (avec leurs ports, UP ou non)
show vlans static
 
# affiche/configurer le vlan natif d'un port
show port vlan
set port vlan ge.1.1 66 [ modify-egress ]
# modify-egress permet de supprimer automatiquement tous les autres VLANs untagged du port
 
# trunker le vlan (300) sur un port (ge.5.1) en taggué
set vlan egress 300 ge.5.1 tagged
 
# supprimer les VLANs 2,5,9 du port ge.1.1
clear vlan egress 2,5,9 ge.1.1
 
# afficher les VLANs configurés (tag/untagged) sur un port
show port egress ge.1.12
 
# afficher les VLANs configurés par port (tag/untag)
show vlan portinfo [ port <PORT> ]

Adresses MAC

# afficher la table d'adresses MAC par VLAN (colonne FID) et par port
show mac
 
# afficher l'adresse MAC vue sur le port ge.1.1
show mac port ge.1.1
 
# rechercher sur quel port est vue une adresse MAC
show mac address 00-11-88-4A-28-BF

MAC tracking

Dans le cas d'une boucle réseau ou d'un problème de niveau 2, avec de fortes latences, des remontées de logs de la forme :

Jun 21 09:58:45 10.12.93.197 HostDoS[2] Attack ( arpNd ) detected on vlan.0.90 [ InPort(tg.2.5) LEN(94) DA(33:33:FF:00:11:22) SA(18:DB:F2:00:11:22) C-TAG(8100:005A) ETYPE(86DD) SIP(fe80::f0e9::) DIP(ff02::1::) VER(6) PROTO(58) TOS(0) TTL(255) FLOW(0) ICMP(135:0) ]

… et un sh sys utilization process remontant une forte charge CPU (proche de 60%) du processus Switch Packet Processing ; on peut activer la surveillance de déplacement d'adresses MAC (ou MAC tracking :-) ). Cela consiste à logguer les changements de port des adresses MAC, symptomatiques d'un problème de bouclage ou de packet reflection :

set movedaddrtrap enable
set movedaddrtrap *.*.* enable
show logging buffer

Afficher la table ARP d'un switch :

show arp

MTU/jumbo frame

La MTU des ports est configurable jusqu'à 9216 octets

show port jumbo ge.1.5
 
# si ce n'est pas déjà fait, activer les jumbo frames puis saisir une valeur
set port jumbo enable ge.1.5
set port jumbo ge.1.5 9216

Port mirroring

Pour copier le trafic du port ge.1.1 vers le port ge.1.2 :

set port mirroring create ge.1.1 ge.1.2
 
# déconfiguration
clear port mirroring ge.1.1 ge.1.2

Spanning-tree

Par défaut le MSTP est activé, mais on peut forcer en RSTP ou “stpcompatible”.

show spantree version
show spantree stats
 
# afficher les ports actifs en plus (commandes équivalentes)
show spantree stats active
show spantree stats port *.*.* active

Edge ports

Un port edge est un port sur lequel se connecte un équipement qui n'est pas un switch et avec lequel le switch courant n'aura pas à dialoguer en STP. Il n'est pas protégé contre les boucles mais a l'avantage de “monter” (passer UP et FORWARDING) plus rapidement. Les ports edge ne devraient donc jamais envoyer de BPDU.

# Définir un port comme edge (= feuille = qui n'est pas un switch)
# cela permet une meilleur réactivité lors du branchement d'un équipement
set spantree adminedge ge.1.1 true
# ça n'est pas nécessairement utile car la fonction autoedge est activée par défaut :
show spantree autoedge
 Auto Edge is set to enable
# vérif
show spantree adminedge port ge.1.1
Port ge.1.1    has a port Admin Edge of Edge-Port
 
# Bloquer les ports edge qui envoient des BPDUs
# (cas des PCs qui ont un bridge br0 (ex : libvirt) sans avoir désactivé le STP)
set spantree spanguard enabled

Debug

(uniquement sur les châssis Matrix) :

show spantree debug
show spantree debug port tg.7.1
# view if high counts on "Ports with Received TC BPDUs"
show spantree debug port *.*.* active 
show spantree stats port *.*.* sid 0

Pour activer/désactiver le STP :

# activer/désactiver le STP : dépend du modèle : sur A/B/C/D/G/I-Series :
set spantree enable / disable
 
# sur K/N/S/7100-Series :
set spantree stpmode ieee8021 / none
# sur les séries BCD:
set spantree version { mstp / rstp / stpcompatible }

Logger les events LoopProtect :

set spantree lptrapenable enable

Access-lists

"Router-mode" ACLs

Les router ACLs permettent de filtrer du trafic forwardé (pas à destination de l'équipement lui-même) ; elles sont numérotées de 1 à 199 et limitées à 80 lignes ; elles peuvent être de type standard (numérotées de 1 à 99) ou étendues (numérotées de 100 à 199).

  • les ACLs standard permettent de filtrer en input et uniquement l'adresse IP source
  • les ACLs utilisent des wildcard (des masques réseau inversés : masque=255.255.0.0 → wildcard=0.0.255.255)
  • par défaut elles se terminent toutes par un deny any any implicite.
  • les ACLs et les policys utilisent le même composant matériel ; de ce fait on ne peut utiliser les unes sans désactiver les autres.
  • pour créer des access-lists de type IPv6 ou MAC, il faut activer le mode IPv6 : access-list ipv6mode

Pour créer une ACL, créer juste une première règle : access-list 67 deny host 192.168.67.1 ; pour supprimer une ACL : no access-list 67.

Opérations sur les ACLs

Par défaut si aucune action n'est précisée, la ligne saisie sera ajoutée à la fin de l'ACL.

# ajouter une ligne à l'ACL 67
access-list 67 deny any
 
# supprimer une ou un groupe de lignes
#    ex : supprimer la première ligne
no access-list 67 1
#    supprimer les lignes de 1 à 5
no access-list 67 1 5
 
# Insérer une ligne en première position :
access-list 67 insert 1 permit 192.168.67.2
 
# remplacer la première ligne
access-list 67 replace 1 permit 192.168.67.1 0.0.0.1
 
# Déplacer des lignes ;
# par ex : insérer, devant la ligne n°1, les lignes comprises entre la 2nde et la 5ème ligne
access-list 67 move 1 2 5

Une fois l'access-list rédigée, on l'applique sur une interface VLAN (ip access-group, en mode routeur) ou un port physique (access-list interface) :

# activation sur une interface VLAN en "inbound"
# NB : l'application en "outbound" n'est pas disponible sur toutes les gammes de switch
interface vlan 67
 ip access-group 1 in
 
# activation sur les ports physiques ge.1.1 à ge.1.12
access-list interface 67 ge.1.1-12

On peut préciser les paramètre sequence suivi du numéro de séquence, si on veut ordonner l'application de plusieurs ACLs sur une même cible.

ACLs étendues

Tout fonctionne comme les ACLs standard, mais la syntaxe des règles est plus fine pour un filtrage plus précis : on peut filtrer par protocole (ip proto), ports et couple IP source/destination.

# Syntaxe :
access-list access-list-number {deny | permit} protocol source [source-wildcard] [eq port] \
   destination [destination-wildcard] [eq port][precedence precedence | tos <tos tosmask> \
   | dscp dscp ] [assign-queue queue-id]
 
# ex : permettre au réseau 10.0.0.0/24 de faire du SSH (tcp/22) vers n'importe qui (any) :
access-list 101 permit tcp 10.0.0.0 0.0.0.255 any eq 22

Avec :

  • protocol parmi ip, tcp, udp, icmp, igmp
  • port le port entre 0 et 65535 (si UDP ou TCP)
  • precedence la valeur du champ ip-precedence (entre 0 et 7)
  • ToS : la valeur du ToS, entre 0x00 et 0xff
  • dscp entre 0 et 63 ou égal à : af11, af12, af13, af21, af22, af23, af31, af32, af33, af41, af42, af43, af44 ; be/cs0 ; entre cs1 et cs7 ; ou ef

MAC-based ACLs

Ces ACLs filtrent au niveau des adresses MAC (Ethernet), uniquement en mode router et après activation du mode ipv6 (access-list ipv6mode).

access-list mac <NOM_ACL> {deny | permit} {srcmac | any} {destmac | any} \
   [ethertype <ethertype>] [vlan <vlan-id>] [priority <pri>] [assign-queue <queue-id>]

avec :

  • NOM_ACL le nom de l'ACL
  • Ethertype d'une valeur comprise entre 0x0600 et 0xFFFF, ou valant un mot-clé parmi : appletalk, arp, ibmsna, ipv4, ipv6, ipx, mplsmcast, mplsucast, netbior, novell, pppoe, rarp

IPv6 ACL

Comme les MAC-based ACLs il faut activer le mode ipv6mode pour utiliser.

Syntaxe :

access-list ipv6 name {deny | permit} protocol {srcipv6-addr/prefix-length | any} [eq port] \
   {dstipv6-addr/prefix-length | any} [eq port] [dscp dscp] [flow-label label-value] [assign-queue queue-id]

Service ACLs

Les service ACLs permettent de filtrer les accès au switch.

# Syntaxe :
set system service-acl name {permit | deny} [ip-source ip-address [wildcard wildcard-bits] \
   | ipv6-source ipv6-address [wildcard /prefix-length]] [port port-string | vlan vlan-id] \
   [service service] [priority priority-value]
 
# ex : ne permettre l'accès au switch que depuis les port ge.1.1 et ge.1.2
set system service-acl protect-sw permit port ge.1.1
set system service-acl protect-sw permit port ge.1.2
# ne permttre l'accès SSH du switch qu' l'IP 10.0.0.1 et depuis le port ge.1.12
set system service-acl protect-sw permit service ssh ip-source 10.0.0.1 \
   wildcard /32 port ge.1.12
 
# application de l'ACL
set system service-class protect-sw
 
# Vérification
show system service-class 
   system service-class is enabled, using access list protect-sw.
 
# Désactivation de la protection
clear system service-class protect-sw
 
# suppression de l'ACL
clear system service-acl protect-sw

Filtrer les IPv6

src : https://gtacknowledge.extremenetworks.com/articles/How_To/How-to-configure-policy-to-drop-or-block-IPV6-packets-on-Securestacks-and-Modular-switches-routers

set policy profile 1 name ICMP-IPv6
set policy rule 1 ether 0x86dd mask 16 drop
# appliquer sur chaque port
set policy rule admin-profile port ge.1.1 mask 16 port-string ge.1.1 admin-pid 1
# ou plus simple nb : à tester car plus simple !
set policy port *.*.* 1
 
show policy profile 1 -verbose
 
# retirer la policy d'un port
set policy port tg.3.3 0

Stacking

Fonctionnement du stacking (source) :

  • un switch master, les autres “members” ; avec un backup en cas de panne du master
  • seul le port console du master est actif (c'est le seul a avoir la diode “MGR” allumée)
  • les critères d'élection du master:
    Previously assigned / elected management unit
    User-assigned priority  ('set switch <ID> priority <15-0>', where15 is high priority)(7694)
    Hardware preference level
    Highest MAC Address

Procédure de configuration :

  • les commutateurs doivent avoir le même firmware, la même licence et une conf “factory”
  • brancher tous les câbles de stack lorsque tous les switchs sont encore éteints
  • allumer les switchs un par un, en vérifiant le bon fonctionnement de chacun avant d'allumer le suivant
  • les IDs sont attribués dans l'ordre d'allumage (premier allumé = ID 1, etc)
  • se logguer en CLI (sur le master) et vérifier le stack avec un “show switch”

Pour changer le switch master d'un stack :

set switch movemanagement <from_unit> <to_unit>

Pour changer le “switchindex” (SID), qui dépend du modèle de switch (normalement il est auto-détecté, et on peut consulter la correspondance SID/produit avec show switch switchtype) :

set switch member

Vérifier les erreurs sur les ports de stack :

show switch stack-ports <slot>

Faire une bascule (changer de master) (provoque une coupure de 30-40 secondes)

set switch movemanagement [from-unit] [to-unit]

Remplacer un membre défectueux

Pour remplacer un membre défectueux de la stack :

  • éteindre le membre défectueux
  • débrancher tous les câbles de celui-ci (alim, stack-port et brassage)
  • déracker le switch et le remplacer par un de même modèle (NB : surveiller la version de firmware aussi : il doit avoir la même famille (6.42 ou 6.61) que la stack)
  • racker et rebrancher tous les câbles sur le nouveau membre, l'alim en dernier
  • au redémarrage il doit être reconnu et avoir le statut “OK” dans la commande show switch

Ajouter un nouveau membre

Pour ajouter un switch dans une stack déjà en place, on peut recopier le firmware de la stack sur le nouveau membre nouvellement ajouté (normalement cela se fait tout seul). Le seul prérequis que sa version soit du “même côté” de la “6.42/6.61 line”, sinon ils ne communiquent pas.

set switch copy-fw destination-system <Unit-NUMBER>
reset <Unit-NUMBER>

Retirer un membre

NB : bien vérifier qu'on est en mode loop (double connexion des switchs) car si les membres sont juste chainés, en retirer un membre risque de couper la stack en 2.

NB2 : si le membre à retirer est le master de la pile, la réélection (manuelle ou automatique) provoquera une coupure temporaire

Pour retirer définitivement un switch d'une pile :

  • débrancher puis débrasser (ports RJ et ports stack) le switch qui doit être retirer
  • supprimer la configuration qui s'y rapporte :
clear switch member <MEMBER_NUMBER>
  • reconnecter le port stack entre les 2 membres adjacents à celui qui doit être retirer pour retrouver une topologie en loop

Pour éviter d'avoir un trou dans la numérotation des membres, il faut renuméroter proprement les switchs restant et la conf associée, cf l'article suivant : How to permanently remove SecureStack switch and configuration from an existing stack

Renuméroter un membre

Lorsqu'on sort un switch d'une stack, il conserve ses numéros de port même après un clear conf : s'il était le membre n°3, ses ports se nomment encore ge.3.*. Pour le repasser en ge.1.* (ou pour renuméroter un membre dans un stack), passer la commande :

set switch <from-unit> renumber <to-unit>
 
# dans notre exemple : passer de 3 à 1
set switch 3 renumber 1

NB : cela a pour effet de rebooter le switch.

Routage

Pour passer des commandes quand le switch est en mode routeur, par exemple pour voir la table ARP :

C5(su)->router
C5(su)->router>enable
C5(su)->router#show ip arp

helper address

Pour transférer les paquets broadcastés dans un réseau vers une machine dans un autre réseau (par exemple pour relayer les requêtes DHCP), il faut configurer les “ip helper”. Les paquets seront routés vers l'IP spécifiée (qui doit être celle du serveurs DHCP) :

router
enable
configure
 
interface vlan 1
ip address 172.16.1.254 255.255.0.0
ip helper-address 172.16.1.1
no shutdown
exit

Métrologie/SNMP

Créer un accès rapide à la communauté “supervSNMP” en read-only pour la métrologie :

set snmp community supervSNMP
set snmp group groupRO user supervSNMP security-model v2c
set snmp access groupRO security-model v2c exact read All write none notify All

OIDs utiles :

DISMAN-EVENT-MIB::sysUpTimeInstance		.1.3.6.1.2.1.1.3.0		uptime
 
# trouver le port d'une adresse MAC : après l'avoir convertie en décimal :
# ex 00:26:b9:d2:a6:e1 => 0.38.185.210.166.225
.1.3.6.1.2.1.17.4.3.1.2.0.38.185.210.166.225
 
SNMPv2-SMI::mib-2.47.1.1.1.1.11.x               .1.3.6.1.2.1.47.1.1.1.1.11.x    numéro de série (SN)
 
# séries B-C-D
.1.3.6.1.4.1.5624.1.2.49.1.1.1.1.2.1.1           CPU 5s
.1.3.6.1.4.1.5624.1.2.49.1.1.1.1.3.1.1           CPU 1min
.1.3.6.1.4.1.5624.1.2.49.1.1.1.1.4.1.1           CPU 5min
 
# Matrix
.1.3.6.1.4.1.5624.1.2.49.1.1.1.1.3               liste % CPU par slot
 
# Bornes WIFI
.1.3.6.1.4.1.5624.1.2.6.5.2.0                    nombre de clients connectés

Tips

portadmin et portenable

La différence entre portadmin et portenable (ce dernier n'étant disponible que sur les châssis Matrix apparemment) :

  • set spantree portadmin <port> disable désactive le STP sur ce port
  • set spantree portedge <port> disable désactive le forwarding (la commutation) de paquets sur ce port, mais ce dernier restera à l'état UP (à la différence d'un set port disable)

→ C'est utile dans le cadre d'un agrégat, pour éviter qu'un port ne cause “en dehors” de ce lag.

source : Difference-between-EOS-Spanning-Tree-portadmin-and-portenable-commands

Ressources

informatique/enterasys.1619506489.txt.gz · Last modified: 2021/04/27 06:54 by pteu