¿Alguna vez ha tenido una pesadilla en la que el puerto de su switch Cisco se bloqueó repentinamente, atrapado en el inevitable agarre de la desactivación de errores? Este artículo lo guiará a través de las complejidades de err-disable, descubrirá sus causas y ofrecerá poderosas soluciones de recuperación.
El errdisabled de puerto es el puerto que ha sido inhabilitado por el switch Cisco porque se detecta una condición de error. Esta condición de error puede deberse a varios factores, como una configuración incorrecta, un bucle invertido, una inestabilidad de vínculos, la seguridad o las violaciones del protocolo. Los puertos errdisabled no pueden enviar ni recibir tráfico de datos hasta que esos puertos se reactiven manual o automáticamente.
Los puertos errdisabled pueden causar graves interferencias en la red, especialmente si están conectados a dispositivos críticos como servidores, enrutadores o dispositivos finales. Por lo tanto, es importante saber cómo abordar los puertos deshabilitados y evitar que ocurran en el futuro.


En este artículo, discutiremos lo siguiente:
- ¿!– /wp:list-item –>
- Cómo volver a habilitar los puertos errdisabled de forma manual o automática mediante la función errdisable recovery.
- Cómo evitar puertos errdisabled mediante las características errdisable detect y errdisable flap.
- Cómo supervisar el estado de los puertos errdisabled mediante los comandos show interfaces status err-disabled y show errdisable recovery .
Causas comunes de los puertos deshabilitados y cómo diagnosticar el problema
Muchas condiciones de error pueden hacer que un puerto se deshabilite erróneamente en los switches de Cisco. Algunas de las condiciones de error más comunes son:
- Misconfigurasi: La configuración incorrecta es una configuración incorrecta que causa conflictos o incompatibilidades entre los puertos conectados. Por ejemplo, si los puertos conectados tienen diferentes velocidades o dúplex, o si los puertos conectados tienen diferentes modos de enlace troncal, esos puertos pueden deshabilitarse erróneamente.
- Loopback: El bucle invertido es una condición en la que un puerto recibe paquetes de devolución enviados por el propio puerto. Esto puede suceder si hay un cable conectado entre dos puertos en el mismo conmutador, o si un dispositivo devuelve los paquetes que recibe. Los loopbacks pueden hacer que el tráfico de red se vuelva excesivo e interfiera con el rendimiento del switch.
- Link flapping: La inestabilidad de enlaces es una condición en la que los puertos suben y bajan repetidamente debido a interferencias físicas o lógicas con la conexión. Esto puede deberse a cables dañados, conectores sueltos, interferencias electromagnéticas o un dispositivo defectuoso. La inestabilidad de enlaces puede causar inestabilidad en la red y reducir la confiabilidad del conmutador.
- Seguridad: La seguridad es una condición en la que un puerto infringe las reglas de seguridad establecidas por el switch. Esto puede suceder si un dispositivo no autorizado intenta acceder a la red o si un dispositivo intenta realizar un ataque a la red. Algunas características de seguridad que pueden hacer que un puerto se deshabilite errdisabled son Port Security, 802.1x, DHCP Snooping, Dynamic ARP Inspection y IP Source Guard.
- Violación de protocolo: Una violación de protocolo es una condición en la que un puerto viola las reglas de protocolo establecidas por el switch. Esto puede suceder si algún dispositivo no admite o no se ajusta al protocolo utilizado por el switch, o si algún dispositivo envía un paquete no válido o malicioso. Algunos protocolos que pueden hacer que un puerto se deshabilite erróneamente son Spanning Tree Protocol (STP), EtherChannel, UDLD y VTP.
Para diagnosticar el problema que hace que el puerto se deshabilite errdisable, podemos usar el comando show interfaces status err-disabled en el switch. Este comando mostrará una lista de puertos que están deshabilitados y la razón por la que esos puertos están deshabilitados. A continuación se muestra un ejemplo de salida de este comando:
Switch# show interfaces status err-disabled Port Name Status Reason Gi1/0/1 err-disabled link-flap Gi1/0/2 err-disabled bpduguard Gi1/0/3 err-disabled psecure-violation Gi1/0/4 err-disabled udld Gi1/0/5 err-disabled channel-misconfig
A partir del resultado anterior, podemos ver que el puerto Gi1/0/1 se deshabilita debido a la inestabilidad del enlace, el puerto Gi1/0/2 se deshabilita debido a la violación de STP, el puerto Gi1/0/3 se deshabilita debido a la violación de la seguridad del puerto, el puerto Gi1/0/4 se deshabilita debido a la violación de UDLD y el puerto Gi1/0/5 se deshabilita debido a la configuración incorrecta de EtherChannel.
Además, también podemos usar el comando show logging para ver los mensajes de registro relacionados con el puerto errdisabled. Este comando mostrará un registro histórico de la actividad del switch, incluidos los mensajes de error generados por los puertos errdisabled. A continuación se muestra un ejemplo de salida de este comando:
Switch# show logging ... %PM-4-ERR_DISABLE: link-flap error detected on Gi1/0/1, putting Gi1/0/1 in err-disable state %PM-4-ERR_DISABLE: bpduguard error detected on Gi1/0/2, putting Gi1/0/2 in err-disable state %PM-4-ERR_DISABLE: psecure-violation error detected on Gi1/0/3, putting Gi1/0/3 in err-disable state %PM-4-ERR_DISABLE: udld error detected on Gi1/0/4, putting Gi1/0/4 in err-disable state %PM-4-ERR_DISABLE: channel-misconfig (STP) error detected on Gi1/0/5, putting Gi1/0/5 in err-disable state ...
En el resultado anterior, podemos ver que el mensaje de registro muestra la razón por la que el puerto se deshabilitó erróneamente y la hora en que se produjo el error.
Usando los comandos anteriores, podemos averiguar las causas comunes de los puertos errdisabled y cómo diagnosticar el problema. El siguiente paso es volver a habilitar los puertos errdisabled y evitar que ocurran en el futuro.
Cómo volver a habilitar los puertos errdisabled de forma manual o automática
Una vez que conocemos la causa del puerto errdable, podemos tomar medidas para resolver el problema y reactivar el puerto. Hay dos formas de volver a habilitar los puertos errdisabled: manual o automáticamente.
Cómo volver a habilitar los puertos errdisabled manualmente
La forma de volver a habilitar manualmente los puertos errdisabled es utilizar el comando shutdown y no shutdown en el modo de configuración de la interfaz. Este comando desactiva y reactiva a la fuerza el puerto, eliminando el estado errdisabled de ese puerto. A continuación se muestra un ejemplo del uso de este comando:
Switch# configure terminal Switch(config)# interface gigabitethernet 1/0/1 Switch(config-if)# shutdown Switch(config-if)# no shutdown Switch(config-if)# end
El comando anterior volverá a habilitar el puerto Gi1/0/1 que se deshabilitó erróneamente debido a la inestabilidad del enlace. Sin embargo, tenga en cuenta que este método es solo temporal porque el puerto puede revertir a errdisabled si la condición de error sigue existiendo o se repite. Por lo tanto, antes de volver a habilitar manualmente un puerto errdisabled, debemos asegurarnos de que el problema que causó el puerto errdisabled se resuelva o se evite.
Cómo volver a habilitar los puertos errdisabled automáticamente
La forma de volver a habilitar los puertos errdisabled automáticamente es utilizar la función errdisable recovery en el switch. Esta función permitirá que el switch vuelva a habilitar los puertos errdisabled automáticamente después de un cierto tiempo, sin necesidad de intervención manual. Esta función puede ahorrar tiempo y esfuerzo en la resolución de puertos errdeshabilitados, especialmente si hay muchos puertos afectados.
Para habilitar la función de recuperación errdisable, debemos usar los comandos errdisable recovery cause y errdisable recovery interval en modo de configuración global. El comando errdisable recovery cause especificará qué condiciones de error puede manejar esta función, mientras que el comando errdisable recovery interval especificará el tiempo de espera en segundos antes de que el switch reactive el puerto errdisabled. A continuación se muestra un ejemplo del uso de este comando:
Switch# configure terminal Switch(config)# errdisable recovery cause link-flap Switch(config)# errdisable recovery cause bpduguard Switch(config)# errdisable recovery cause psecure-violation Switch(config)# errdisable recovery cause udld Switch(config)# errdisable recovery cause channel-misconfig Switch(config)# errdisable recovery interval 300 Switch(config)# end
El comando anterior habilitará la recuperación errdisable para las cinco condiciones de error más comunes, a saber, inestabilidad de enlaces, violación de STP, violación de seguridad de puertos, violación de UDLD y configuración incorrecta de EtherChannel. Además, el comando también establecerá un tiempo de espera de 300 segundos (5 minutos) antes de que el switch vuelva a habilitar el puerto errdisabled.
Al usar la función de recuperación errdisable, podemos reducir el impacto negativo de los puertos errdisabled y acelerar la recuperación de la red. Sin embargo, tenga en cuenta que esta función también es solo temporal, ya que el puerto puede volver a errdisabled si la condición de error persiste o se repite. Por lo tanto, esta característica debe usarse como una solución de emergencia, no como una solución permanente.
Cómo evitar puertos errdisabled mediante las funciones errdisable detect y errdisable flap
Además de volver a habilitar los puertos errdisabled, también podemos evitar los puertos errdisabled mediante las funciones errdisable detect y errdisable flap en el switch. Estas características nos ayudarán a identificar y aislar los puertos que tienen el potencial de causar errores, reduciendo así el riesgo de puertos deshabilitados.
Cómo evitar puertos errdisabled mediante la función de detección errdisable
La función de detección de errores es una función que detectará las condiciones de error que pueden hacer que el puerto se desactive por error y nos dará una advertencia. Esta función puede ayudarnos a averiguar qué puertos son problemáticos y qué los causa, para que podamos tomar precauciones antes de que se deshabiliten.
Para habilitar la función de detección errdisable, debemos usar el comando errdisable detect cause en modo de configuración global. Este comando determinará qué condiciones de error puede detectar esta función. A continuación se muestra un ejemplo del uso de este comando:
Switch# configure terminal Switch(config)# errdisable detect cause link-flap Switch(config)# errdisable detect cause bpduguard Switch(config)# errdisable detect cause psecure-violation Switch(config)# errdisable detect cause udld Switch(config)# errdisable detect cause channel-misconfig Switch(config)# end
El comando anterior habilitará la detección errdisable para cinco de las condiciones de error más comunes, a saber, inestabilidad de enlaces, violación de STP, violación de seguridad de puertos, violación de UDLD y configuración incorrecta de EtherChannel.
Una vez habilitada la función de detección errdisable, el switch enviará un mensaje de advertencia a la consola o syslog si algún puerto encuentra la condición de error especificada. A continuación se muestra un ejemplo de un mensaje de advertencia generado por esta característica:
%PM-4-ERR_DISABLE: link-flap error detected on Gi1/0/1, putting Gi1/0/1 in err-disable state %PM-4-ERR_DISABLE: bpduguard error detected on Gi1/0/2, putting Gi1/0/2 in err-disable state %PM-4-ERR_DISABLE: psecure-violation error detected on Gi1/0/3, putting Gi1/0/3 in err-disable state %PM-4-ERR_DISABLE: udld error detected on Gi1/0/4, putting Gi1/0/4 in err-disable state %PM-4-ERR_DISABLE: channel-misconfig (STP) error detected on Gi1/0/5, putting Gi1/0/5 in err-disable state
Al usar la función de detección errdisable, podemos averiguar qué puertos tienen el potencial de causar errores y tomar precauciones antes de que se deshabiliten.
Cómo evitar puertos errdisabled mediante la función de inestabilidad errdisable
La función errdisable flap es una función que aislará los puertos que se desactivan repetidamente debido a las mismas condiciones de error. Esta función puede ayudarnos a evitar la interferencia de red causada por puertos inestables y reducir la carga de los switches en la reactivación de puertos errdeshabilitados.
Para habilitar la función errdisable flap, debemos usar el comando errdisable flap setting en modo de configuración global. Este comando determina el número máximo de puertos errdisabled que puede manejar un switch a la vez y el intervalo de tiempo en segundos entre dos puertos que son el mismo errdisabled. A continuación se muestra un ejemplo del uso de este comando:
Switch# configure terminal Switch(config)# errdisable flap setting 10 60 Switch(config)# end
El comando anterior habilitará la función errdisable flap estableciendo el número máximo de puertos errdisabled que un switch puede manejar en 10 y el intervalo de tiempo entre dos puertos que están errdisabled de la misma manera en 60 segundos.
Una vez habilitada la función errdisable flaps, el switch aislará los puertos que se deshabiliten repetidamente debido a las mismas condiciones de error en el intervalo de tiempo especificado. El switch no volverá a habilitar los puertos aislados, incluso si la función de recuperación errdisable está habilitada. Los puertos aislados solo se pueden volver a habilitar manualmente mediante los comandos shutdown y no shutdown. A continuación se muestra un ejemplo de un mensaje generado por esta característica:
%PM-4-ERR_RECOVER: Attempting to recover from link-flap err-disable state on Gi1/0/1 %PM-4-ERR_DISABLE: link-flap error detected on %PM-4-ERR_DISABLE: link-flap error detected on Gi1/0/1, putting Gi1/0/1 in err-disable state %PM-4-ERR_DISABLE: Too many link-flap error detected on Gi1/0/1, putting Gi1/0/1 in permanent err-disable state
A partir del mensaje anterior, podemos ver que el puerto Gi1/0/1 se deshabilitó erróneamente debido a la inestabilidad del enlace y luego fue aislado por el switch debido a que se produjo demasiada inestabilidad del enlace en 60 segundos.
Al utilizar la función errdisable flaps, podemos evitar la interferencia de red causada por puertos inestables y reducir la carga de los switches en la reactivación de los puertos errdisabled.
Cómo monitorear el estado de un puerto errdisabled mediante los comandos show interfaces err-disabled status y show errdisable recovery
Además de direccionar y prevenir los puertos errdisabled, también podemos monitorear el estado de los puertos errdisabled mediante el comando show interfaces status err-disabled y show errdisable recovery en el switch. Estos comandos mostrarán información sobre el puerto que está errdisabled y la función de recuperación errdisable que se está ejecutando en el switch.
Cómo monitorear el estado de un puerto err-disabled mediante el comando show interfaces err-disabled status
El comando show interfaces status err-disabled es un comando que mostrará una lista de puertos que están deshabilitados y la razón por la que esos puertos están deshabilitados. Este comando puede ayudarnos a averiguar qué puertos son problemáticos y qué los causa para que podamos tomar medidas correctivas o preventivas. A continuación se muestra un ejemplo de salida de este comando:
Switch# show interfaces status err-disabled Port Name Status Reason Gi1/0/1 err-disabled link-flap Gi1/0/2 err-disabled bpduguard Gi1/0/3 err-disabled psecure-violation Gi1/0/4 err-disabled udld Gi1/0/5 err-disabled channel-misconfig
A partir del resultado anterior, podemos ver que el puerto Gi1/0/1 se deshabilita debido a la inestabilidad del enlace, el puerto Gi1/0/2 se deshabilita debido a la violación de STP, el puerto Gi1/0/3 se deshabilita debido a la violación de la seguridad del puerto, el puerto Gi1/0/4 se deshabilita debido a la violación de UDLD y el puerto Gi1/0/5 se deshabilita debido a la configuración incorrecta de EtherChannel.
Cómo monitorear el estado de un puerto errdisabled mediante el comando show errdisable recovery
El comando show errdisable recovery es un comando que mostrará información sobre la función de recuperación errdisable que se ejecuta en el switch. Este comando puede ayudarnos a averiguar qué condiciones de error puede manejar esta función, el tiempo de espera antes de que el switch reactive el puerto errdisabled y el estado de recuperación del puerto errdisabled. A continuación se muestra un ejemplo de salida de este comando:
Switch# show errdisable recovery ErrDisable Reason Timer Status ----------------- -------------- link-flap Enabled bpduguard Enabled psecure-violation Enabled udld Enabled channel-misconfig Enabled Timer interval: 300 seconds Interfaces that will be enabled at the next timeout: Interface Errdisable reason Time left(sec) --------- ----------------- -------------- Gi1/0/1 link-flap 120 Gi1/0/2 bpduguard 180 Gi1/0/3 psecure-violation 240 Gi1/0/4 udld 300 Gi1/0/5 channel-misconfig 300
A partir del resultado anterior, podemos ver que la función de recuperación errdisable está habilitada para las cinco condiciones de error más comunes, a saber, inestabilidad de enlaces, violación de STP, violación de seguridad de puertos, violación de UDLD y configuración incorrecta de EtherChannel. Además, también podemos ver que el tiempo de espera antes de que el switch vuelva a habilitar el puerto errdisabled es de 300 segundos, y el estado de recuperación del puerto errdisabled, incluido el tiempo restante antes de que se reactive el puerto.
Usando los comandos anteriores, podemos monitorear el estado del puerto errdisabled y la función de recuperación errdisable que se ejecuta en el switch.
Conclusión
Un puerto errdisabled es un puerto que ha sido inhabilitado por el switch Cisco porque se detecta una condición de error. Los puertos errdisabled pueden causar graves interferencias en la red, especialmente si están conectados a dispositivos críticos como servidores, enrutadores o dispositivos finales. Por lo tanto, es importante saber cómo abordar los puertos deshabilitados y evitar que ocurran en el futuro.
Al comprender y aplicar los conceptos que hemos aprendido, podemos administrar mejor los puertos deshabilitados y mejorar el rendimiento y la confiabilidad de nuestra red.
