Table of Contents
Configurer un port
sur un équipement Cisco IOS
Il faut passer en mode configuration du port (config-if)
Switch>en Switch#conf t Switch(config)#int Fa0/1 Switch(config-if)#
Dans l'exemple si dessus on passe à l'interface de configuration du port FastEthernet n°1 du module (carte) 0 du switch.
Voici les paramètres classiques qu'on peut retrouver configurés sur un port :
description <desc de l'interf>description de l'interfaceduplex fullforcer le mode full-duplexspeed 100forcer la vitesse à 100Mbpsspanning-tree portfastpour les ports utilisateur, permet de réduire le temps de négociation du SPT. A noter qu'on peut passer la commande globalespanning-tree portfast defaultpour passer en portfast tous les ports qui ne sont pas en mode trunk. C'est une sécurité pour le bon fonctionnement du STP de votre réseau (il ne faut pas qu'un utilisateur puisse émettre des bpdu) ; de plus ça permet à l'interface de monter plus vite.
Autre vraie sécurité du STP : activer le bpduguard sur les ports utilisateurs Switch(conf-if)#spanning-tree bpduguard enable.
no cdp enablepour désactiver le protocole Cisco Discovery Protocol sur ce port
A ceux-là s'ajoute la commande shutdown qui permet de couper administrativement le port. On le verra avec un sh interface description en état “administratively down”. Pour réactiver le port, il suffit de faire un no shutdown sur le port.
Cela est bien pratique pour préconfigurer un nouveau switch : on peut configurer un “range” de port c'est à dire une suite de ports qui se suivent. Par exemple, pour configurer les ports Fa0/1 jusqu'au Fa0/24 :
Switch(config)#int range Fa0/1 - 24
Les ports d'un même “range” doivent être de même type et contigus ; si on veut rajouter des ports gigas, on devra écrire :
Switch(config)#int range Fa0/1 - 24, Gi0/1 - 2
Switchport
Pour configurer le niveau 2 d'un port on utilise la commande switchport, généralement soit en mode access (vers une machine) soit en mode trunk (vers un autre switch ou un routeur) :
- soit en mode access (vers un PC) :
switchport switchport mode access switchport access vlan x
- soit en mode trunk (vers un autre switch)
switchport switchport mode trunk switchport trunk encapsulation dot1q switchport trunk allowed vlan x,y
port-security
On peut ajouter une sécurité par vérification d'adresse MAC source :
switchport port-security mac-address <adresse MAC>pour limiter l'accès au port à seulement cette adresse MAC (on peut en spécifier plusieurs en repassant la commande pour chaque adresse MAC)switchport port-security mac-address stickypermet au switch d'apprendre la ou les prochaines adresses MAC qui se connectent au port (il les ajoutent dynamiquement dans sa conf) ; pour limiter le nombre des adresses apprises :switchport port-security maximum <nombre max>.
Pour déterminer le comportement du switch s'il rencontre une mauvaise adresse MAC :
switchport port-security violation {protect | restrict | shutdown}- protect drop les trames incorrectes mais ne log pas l'incident
- restrict comme protect mais log une alerte et envoie un trap SNMP
- shutdown une alerte est émise (log + SNMP) et l'interface passe en errdisabled (elle est désactivée) jusqu'à ce qu'un administrateur vienne réactiver
Pour info, l'adresse MAC est codée en hardware sur la carte réseau de la machine, elle est attribuée de manière unique parmi tous les périphériques réseaux sortant des usines. Cependant elle n'est en aucun cas sécurisée puisqu'on peut changer cette adresse de manière software (sous Linux ou Windows XP par exemple). Cette sécurité est donc juste une corde anti script-kiddies ;).
Cela permet aussi d'éviter les flood de trames d'adresse source différentes qui remplissent la table d'adresse MAC du switch (CAM), pouvant aboutir dans le pire des cas à transformer le switch en hub (si sa CAM est pleine).
Pour vérifier la configuration :
show port-security [interface fa0/1 [address]]
ou
show port-security address
Pour réactiver toutes les interfaces bloquées en err-disabled : passer en mode conf-t :
errdisable recovery cause psecure-violation
Pour changer une adresse MAC sticky :
int GiX/Y
no switchport port-security mac-address sticky
switchport port-security mac-address sticky
Il peut être utile, si cela ne fonctionne pas :
- de désactiver également le port-security sur l'interface
int GiX/Y
no switchport port-security mac-address sticky
no switchport port-security
switchport port-security
switchport port-security mac-address sticky
- de relancer l'interface
shut no shut
- de vérifier que l'adresse MAC n'est pas assignée à un autre port dans la configuration
show run | i XXXX.YYYY.ZZZZ
switchport port-security mac-address sticky XXXX.YYYY.ZZZZ
(tiens, elle était en sticky sur un autre port ! → duplicate address)
Pour supprimer le cache d'adresses MAC apprises dynamiquement :
clear port-security dynamic [address XXXX.YYYY.ZZZZ] | [interface GiX/Y]
port serie
Vérifier si le port est en DCE ou DTE :
Router#sh controller serial 0/0 | include DCE DCE V.35, clock rate 64000
Là il est DCE, c'est à dire que c'est lui qui a la vitesse d'horloge du lien. Il faut la configurer (nb : là elle l'est déjà) :
Router(config)#int se0/0 Router(config-if)#clock rate 64000
Gestion de la file d'attente
Il est possible de configurer la file d'attente d'une interface en précisant le mode de gestion : FIFO par défaut (tail drop), faire-queue :
(config-if)#fair-queue [<CDT> <max-q> <RSVP>]
On peut le vérifier avec :
show int se0/1/0 | i Queueing strategy Queueing strategy: weighted fair
Troubleshooting de port
Switch#show interface GigabitEthernet7/13 GigabitEthernet7/13 is up, line protocol is up (connected) Hardware is C6k 1000Mb 802.3, address is 0011.93XX.XXXX (bia 0011.93XX.XXXX) Description: Gi7/13 - attention pb MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Full-duplex, 1000Mb/s, media type is 10/100/1000BaseT input flow-control is off, output flow-control is on Clock mode is auto ARP type: ARPA, ARP Timeout 04:00:00 Last input 40w5d, output 40w5d, output hang never Last clearing of "show interface" counters never Input queue: 0/2000/0/0 (size/max/drops/flushes); Total output drops: 173510 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 4000 bits/sec, 8 packets/sec 11805518907 packets input, 5433554007048 bytes, 0 no buffer Received 4863341 broadcasts (4421997 multicasts) 0 runts, 0 giants, 0 throttles 26 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 0 multicast, 0 pause input 0 input packets with dribble condition detected 18374938262 packets output, 23940953868607 bytes, 0 underruns 147 output errors, 0 collisions, 8 interface resets 0 babbles, 0 late collision, 0 deferred 0 lost carrier, 0 no carrier, 0 PAUSE output 0 output buffer failures, 0 output buffers swapped out
Lancer cette commande et vérifier :
- que l'interface est “up/up” (
<interface> is up, line protocol is up). Le premier “up” indique que la couche 1 OSI (couche physique) est montée elle peut être “disabled” si trop d'erreurs ont été reçues dans un intervalle de keepalive (+ de 5000 erreurs en moins de 10s, par défaut) ; le second, line protocol, indique que la couche 2 (liaison de données) est montée. Si le port est configuré comme destination d'une “monitor session”, il apparait enup/down. - la MTU de l'interface (Maximum Transmission Unit) qui doit être de 1500 par défaut.
- BW : bandwidth (bande passante de l'interface)
reliability 255/255, txload 1/255, rxload 1/255indique la disponibilité et la charge de l'interface.- les
input errors(avec tout ce qui suit : CRC (problème de bruit ou de transmission), frame, overrun, ignored, etc…) - les
output errors: s'il y en a, c'est à cause du buffer de sortie de l'interface qui est full. Souvent, cela apparait quand on a un lien de forte capacité (1 giga) et un autre de plus faible capacité (100 méga). Dans ce cas le lien 100 méga risque d'être surchargé en cas de burst sur le lien giga. - les
collisions: il est normal d'en voir apparaitre sur des interfaces en half duplex, mais il ne devrait pas y en avoir sur celles en full duplex ; auquel cas il peut y avoir un problème de configuration de duplex. - les
restarts(si l'interface a du redémarrer à cause d'erreurs). - runts/giants : paquets resp. trop petits/grands pour le medium
- CRC : problème d'intégrité du Contrôle de Redondance Cyclique (Cyclic Redundancy Checksum) du paquet. Cela indique une altération du paquet reçu par rapport à celui envoyé (et dont l'émetteur a calculé et envoyé un hash). Cela est souvent provoqué par des collisions ou une mauvaise émission du paquet (interface réseau, GBIC ou transciever défectueux).
- frame : erreur de réception d'un paquet (CRC + nombre d'octets incohérent).
- overrun : nombre de fois ou l'interface a reçu trop de paquets par rapport à sa capacité de réception = dépassement du buffer de réception de l'interface
- underrun : nombre de fois ou l'émetteur à fonctionner plus rapidement que la vitesse de traitement de l'équipement.
- ignored : nombre de paquets ignorés pour cause de quasi-saturation des buffers internes. Souvent lié à des tempêtes de broadcast ou des burst de paquets altérés (burst of noise).
- interface resets : nombre de reset des compteurs d'interface (
clear counter). - lost carrier : nombre de perte de signal pendant émission
- no carrier : nombre de fois ou le signal n'était pas présent pendant l'émission
5 minute input/output rate : cela indique la moyenne du trafic en input et output, sur 5 minutes. On peut baisser la période de récupération de ces données avec la commande :
int gi0/1 load-interval <seconds>
Switch#sh interface ethernet
Vérifier que les collisions ne dépassent pas 0.1 % des paquets émis
Vérifier le speed et le duplex du port, ainsi que la protection par adresse MAC (port-protection).
source : Interface Commands (show interfaces -- show interfaces vg-anylan)