Menu Close

Cisco – Err-Disabled-Status

Bei Cisco-Switches kann es passieren, dass ein Port plötzlich nicht mehr arbeitet und im Status err-disabled landet. Der Port wird dabei automatisch deaktiviert, um das Netzwerk vor Problemen wie Schleifen, Fehlkonfigurationen oder Hardwarefehlern zu schützen. In diesem Artikel möchte ich kurz auf die Bedeutung der Schutzfunktion eingehen, wie man sie erkennt, die Ursachen bewertet und den Port wieder reaktiviert.

Einleitung

Der Zustand err-disable ist ein Schutzmechanismus von Cisco-Switches. Erkennt der Switch ein kritisches Problem auf einem Port, wird dieser in den Status err-disabled gesetzt und automatisch administrativ deaktiviert. Der Port verarbeitet ab diesem Zustand keinen Traffic mehr. Im Gegensatz zu einem normalen shutdown wurde der Port dabei nicht manuell, sondern durch eine interne Schutzfunktion deaktiviert.

Für Außenstehende wirkt das oft zunächst wie ein kaputter Port, tatsächlich handelt es sich aber im Regelfall um eine bewusst ausgelöste Sicherheits- oder Schutzfunktion. Häufig tritt dann der Fall ein, dass mehrere Ports am Switch getestet werden und somit eine große Zahl an Ports unabsichtlich gesperrt werden.

Typische Symptome

  • Geräte verlieren plötzlich die Verbindung
  • Der Link scheint „down“
  • LEDs verhalten sich ungewöhnlich
  • Der Port erscheint im Status err-disabled
Switch# show interface status

Port       Name        Status         Vlan
Gi1/0/1                err-disabled   10

Ziel und Zweck

Der err-disabled-Status ist also in vielen Fällen ein Schutzmechanismus für das gesamte Netzwerk.

  • Netzwerkschleifen verhindern
  • Broadcast-Stürme verhindern
  • Fehlkonfigurationen erkennen
  • Port-Security-Verstöße
  • Hardwareprobleme isolieren

Ursachen

UrsacheBeschreibung
Port-SecurityEin Port wurde limitiert nur eine MAC-Adresse gleichzeitig besitzen zu dürfen. Es wird nun ein Gerät angeschlossen, dass mehrere MAC-Adressen hat oder mehrere Geräte sternförmig oder kaskadiert verbindet. Dadurch sind mehrere Geräte am gleichen Port zu sehen.
BPDU GuardSobald an einem BPDU-Guard aktivierten Port STP-BPDUs auftauchen, geht der Switch davon aus, dass jemand einen anderen Switch angeschlossen hat, der eine Schleife erzeugen könnte oder die Netzwerktopologie ungewollt verändert.
EtherChannel Fehlkonfigurationen
Falsche EtherChannel-Konfigurationen können ebenfalls err-disabled auslösen. Typische Ursachen sind unterschiedliche tagged oder native VLAN oder unterschiedliche Channel-Protokolle.
UDLD (Unidirectional Link Detection)UDLD erkennt einseitige Leitungsprobleme, wie TX funktioniert, aber RX funktioniert nicht. Dies ist besonders bei Protokollen wichtig, die zur Topologieerkennung genutzt werden.
Loopback-ErkennungEin Patchkabel verbindet zwei Ports desselben Switches, die Frames laufen im Kreis und Broadcast-Storm entsteht. Dies würde auch gelten, wenn die Schleife über ein Gerät läuft, welches die zur Loopback-Erkennung genutzten Frames weiterleitet.
SicherheitsfunktionenVerstöße gegen Mechanismen wie DHCP Snooping oder Dynamic ARP Inspection können je nach Konfiguration ebenfalls Ports deaktivieren.
Link- oder HardwarefehlerBeispiele:
  • Defekte SFPs
  • Fehlerhafte Netzwerkkarten
  • Kabelprobleme
  • CRC-Fehler
  • Duplex-Mismatch

Diagnose

Prüfung der Err-Disabled-Konfiguration

show errdisable detect zeigt die aktuellen Einstellungen der Errdisable-Erkennung sowie, falls sich Ports derzeit im err-disabled-State befinden, den jeweiligen Grund für die automatische Deaktivierung des Ports an.

Switch# show errdisable detect
ErrDisable Reason             Detection Mode
-----------------             --------- ----
arp-inspection                Enabled  port
bpduguard                     Enabled  port
channel-misconfig             Enabled  port
community-limit               Enabled  port
dhcp-rate-limit               Enabled  port
dtp-flap                      Enabled  port
evpn-mh-core-isolation        Enabled  port
gbic-invalid                  Enabled  port
iif-reg-failure               Enabled  port
inline-power                  Enabled  port
invalid-policy                Enabled  port
l2ptguard                     Enabled  port
link-flap                     Enabled  port
link-monitor-failure          Enabled  port
loopback                      Enabled  port
loopdetect                    Enabled  port
lsgroup                       Enabled  port
oam-remote-failure            Enabled  port
mac-limit                     Enabled  port
pagp-flap                     Enabled  port
port-mode-failure             Enabled  port
pppoe-ia-rate-limit           Enabled  port
psecure-violation             Enabled  port/vlan
security-violation            Enabled  port
sfp-config-mismatch           Enabled  port
sgacl_limitation:enforcem     Enabled  port
sgacl_limitation:multiple     Enabled  port
storm-control                 Enabled  port
udld                          Enabled  port
psp                           Enabled  port
dual-active-recovery          Enabled  port
evc-lite input mapping fa     Enabled  port
vsl-and-non-vsl-port-pair     Enabled  port
fasthello-and-non-fasthel     Enabled  port
mvrp                          Enabled  port
mrp-miscabling                Enabled  port

show errdisable recovery Zeigt den Zeitraum an, nach dem Ports bei bestimmten Errdisable-Ursachen automatisch wieder aktiviert werden. Außerdem werden die konfigurierten Errdisable-Recovery-Mechanismen angezeigt.

Switch# show errdisable recovery

ErrDisable Reason              Timer Status
-----------------              --------------
arp-inspection                 Disabled
bpduguard                      Disabled
channel-misconfig              Disabled
dhcp-rate-limit                Disabled
dtp-flap                       Disabled
evpn-mh-core-isolation         Disabled
gbic-invalid                   Disabled
inline-power                   Disabled
l2ptguard                      Disabled
link-flap                      Enabled
mac-limit                      Disabled
link-monitor-failure           Disabled
loopback                       Disabled
loopdetect                     Disabled
oam-remote-failure             Disabled
pagp-flap                      Disabled
port-mode-failure              Disabled
pppoe-ia-rate-limit            Disabled
psecure-violation              Disabled
security-violation             Disabled
sfp-config-mismatch            Disabled
storm-control                  Enabled
udld                           Enabled
psp                            Disabled
dual-active-recovery           Disabled
evc-lite input mapping fa      Disabled
mrp-miscabling                 Disabled

Timer interval: 900 seconds

Interfaces that will be enabled at the next timeout:

Status des Ports prüfen

Zunächst sollte geprüft werden, in welchem Zustand sich die Ports befinden.
Mit folgendem Befehl erhält man eine Übersicht aller Ports und deren aktuellen Status:

Switch# show interface status

Oder man lässt sich einen Port im Detail anzeigen.

Switch# show interface Gi1/0/1

Dabei lassen sich unter anderem folgende Zustände erkennen:

  • err-disabled
  • connected
  • notconnect
  • disabled

Err-disabled Ports gezielt anzeigen

Um ausschließlich Ports im err-disabled-Status inklusive Ursache anzuzeigen, kann folgender Befehl verwendet werden:

Switch# show interfaces status err-disabled

Port      Name        Status         Reason                Vlans
Gi1/0/1   ERRORPORT   err-disabled   psecure-violation     10

Event- und System-Logs prüfen

Für die eigentliche Fehleranalyse sind die System- und Event-Logs besonders wichtig. Dort protokolliert der Switch in der Regel sehr genau, warum ein Port in den err-disabled-State versetzt wurde.

Die Logs können mit folgendem Befehl angezeigt werden:

Switch# show logging

Die Logmeldungen liefern meist bereits den entscheidenden Hinweis auf die eigentliche Ursache des Problems und sollten daher immer als einer der ersten Schritte geprüft werden.

Entstörung

Fehlerursache beheben

Vor einem manuellen oder automatischen Recovery sollte immer zuerst die eigentliche Ursache des err-disabled-Status behoben werden, da der Fehler ansonsten unmittelbar erneut auftreten kann.

Ports manuell reaktivieren

Um einen Port aus dem Fehlerstatus zu befreien, muss der betroffene Port einmal deaktiviert und anschließend wieder aktiviert werden.

Switch# configure terminal

Switch(config)# interface Gi1/0/1
shutdown
no shutdown

Ports automatisch reaktivieren

Die folgenden Befehle zeigen, wie die automatische Entstörung konfiguriert wird.

Zunächst lassen wir uns die möglichen Optionen bzw. Ursachen anzeigen, welche wir konfigurieren können.

Switch# configure terminal
Switch(config)# errdisable recovery cause ?
  all                   Enable timer to recover from all causes
  arp-inspection        Enable timer to recover from arp inspection error
                        disable state
  bpduguard             Enable timer to recover from BPDU Guard error disable
                        state
  channel-misconfig     Enable timer to recover from channel misconfig disable
                        state
  dhcp-rate-limit       Enable timer to recover from dhcp-rate-limit error
                        disable state
  dtp-flap              Enable timer to recover from dtp-flap error disable
                        state
  gbic-invalid          Enable timer to recover from invalid GBIC error disable
                        state
  l2ptguard             Enable timer to recover from l2protocol-tunnel error
                        disable state
  link-flap             Enable timer to recover from link-flap error disable
                        state
  link-monitor-failure  Enable timer to recover from link monitoring failure
  loopback              Enable timer to recover from loopback disable state
  mac-limit             Enable timer to recover from mac limit disable state
  oam-remote-failure    Enable timer to recover from remote failure detected by
                        OAM
  pagp-flap             Enable timer to recover from pagp-flap error disable
                        state
  psecure-violation     Enable timer to recover from psecure violation disable
                        state
  security-violation    Enable timer to recover from 802.1x violation disable
                        state
  storm-control         Enable timer to recover from storm-control error
                        disable state
  udld                  Enable timer to recover from udld error disable state
  unicast-flood         Enable timer to recover from unicast flood disable
                        state
  vmps                  Enable timer to recover from vmps shutdown error
                        disable state

Danach definieren wir diese dann entweder einzeln oder allgemeingültig über den all-Parameter.

Switch(config)# errdisable recovery cause bpduguard

Über die zuvor genannten show-Befehle lässt sich die nun gültige Konfiguration anzeigen.

Quellen

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

Index