Los clientes a menudo se ponen en contacto con el Soporte Técnico de Cisco cuando notan que uno o más de sus puertos de switch se han inhabilitado por error; es decir, los puertos tienen un estado errDisable. Ellos quieren saber por qué se produjo esto y cómo se pueden reestablecer los puertos al estado normal. Este documento describe el concepto de estado errDisable, cómo recuperarse de él y proporciona dos ejemplos de recuperación de errDisable. En este documento, los términos errDisable y error-disable se utilizan de manera indistinta. errDisable es el estado de un puerto según se lo muestra en el comando show port. Error-disable o error-disabled son equivalentes en inglés de errDisable.
No hay requisitos específicos para este documento.
La información que contiene este documento se basa en estas versiones de software y hardware. Los necesita para crear los ejemplos en este documento:
Dos switches de la familia Catalyst 4000/5000/6000 (o su equivalente) en un ambiente de laboratorio con configuraciones despejadas. Nuestra máquina principal era un Catalyst 5500 con CatOS 5.4(2). Ésta estaba conectada a un Catalyst 6509 que ejecutaba 5.3(5a)CSX, aunque podía ser cualquier máquina CatOS con función EtherChannel y PortFast.
Dos cables de cruce RJ-45 Ethernet.
CatOS 5.4(x) en por lo menos un switch.
Dos puertos FastEthernet en cada switch con capacidad para EtherChannel y portfast.
Una conexión del terminal con uno o ambos switches.
La información de este documento fue producida en un entorno aislado de laboratorio. Asegúrese de comprender en primer lugar el posible efecto que tendrá cualquier comando sobre la red antes de usarlo. El comando clear config all fue ingresado en cada switch para asegurar que tiene una configuración predeterminada. En caso de que desee duplicar y experimentar con estos errores, sólo intente duplicarlos en un entorno aislado que no afecte su red en funcionamiento. Estos ejemplos se ilustran sólo a modo de instrucción. El resultado de algunos comandos ha sido truncado cuando no aporta una mejora al debate.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). If your network is live, make sure that you understand the potential impact of any command.
La función errDisable es compatible con los switches Catalyst que ejecutan CatOS (Catalyst 2948G, 4500/4000, 5500/5000 y 6500/6000), así como con los switches Catalyst que ejecutan Cisco IOS (Catalyst 2900XL/3500XL, 2950, 2970, 3550, 4500 y 65000). La forma en que se implementa errDisable varía según las plataformas. Este documento se centrará específicamente en la desactivación de errores para los switches que ejecutan el software CatOS.
La característica errDisable se implementó por primera vez en la versión CatOS 3.2(2). Si la configuración indicó que un puerto estaba habilitado, pero el software en el switch detectó una situación de error en el puerto, el software apagará a ese puerto. En otras palabras, el software del sistema operativo del switch desactiva el puerto de forma automática por una condición de error que se encontró en el puerto.
Cuando un puerto está desactivado como consecuencia de un error, se apagará con eficacia y no habrá envío ni recepción de tráfico en ese puerto. El indicador luminoso LED del puerto se establece en el color naranja y cuando introduzca el comando show port, el estado del puerto mostrará errdisable. Este es un ejemplo de cómo se vería un puerto con error deshabilitado desde la interfaz de línea de comandos del switch.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
La función para error-disable (desactivar error) tiene dos propósitos. En primer lugar, facilita al administrador el conocimiento de cuándo y dónde hay un problema de puerto. Segundo, elimina la posibilidad de que este puerto provoque una falla en otros puertos del módulo (o en todo el módulo), producida por el hecho de que los búfers resulten monopolizados por el puerto fallado, los mensajes de error del puerto monopolicen las comunicaciones entre procesos en la tarjeta, e incluso causen en última instancia problemas de red graves. La función desactivación de errores ayuda a prevenir estas situaciones.
Al principio, esta característica se implementó para administrar determinadas situaciones de colisión en los casos en que el switch detectaba colisiones excesivas o tardías en un puerto. Ocurren colisiones excesivas cuando se descarta una trama por encontrarse con 16 colisiones seguidas. Las colisiones tardías ocurren después de que cada dispositivo en el alambre deba haber reconocido que el alambre era funcionando. Estos tipos de errores podrían ser causados por un cable que no está dentro de las especificaciones (demasiado largo, de tipo incorrecto, defectuoso), por una tarjeta de interfaz de red (NIC) defectuosa (con problemas físicos o problemas del controlador) o por una mala configuración del puerto dúplex. Esta última causa es común debido a las fallas para negociar la velocidad y el dúplex adecuadamente entre dos dispositivos conectados directamente (por ejemplo, una tarjeta NIC conectada a un switch). Solamente las conexiones semidúplexes deben nunca tener colisiones en un LAN; debido a la naturaleza de Carrier-Sense Multi-Access (CSMA) de Ethernet, las colisiones son normales para semidúplex, siempre y cuando no excedan un pequeño porcentaje de tráfico.
A medida que las capacidades del CatOS crecían, había más maneras de que un puerto se inhabilitara por error. Por ejemplo, en el Catalyst 6500 que ejecuta catOS, la función Errdisable se soporta para estos problemas de conectividad:
Inspección de ARP
supresión de la difusión
Protección de puertos BPDU
Configuración incorrecta del canal
falla de barra cruzada
Discordancia dúplex
Error de configuración del túnel de protocolo de capa 2
Umbral del túnel de protocolo de capa 2 excedido
UDLD
La función para desactivar errores permite que el switch cierre un puerto cuando encuentra alguna de estas situaciones. Recuerde, un puerto desactivado como resultado de un error no es una causa de alarma en sí misma siempre y cuando uno determine y resuelva la causa origen. Un puerto desactivado debido a error es síntoma de un problema mayor que debe resolverse.
Para recuperarse de errDisable debe hacer dos cosas:
Identifique y resuelva cualquier problema que provoque que los puertos carezcan de habilitación de errores (cable, NIC, EtherChannel, y demás).
Si no identifica y corrige el problema subyacente que provocó que se desactivaran los puertos debido a un error, entonces los puertos se desactivarán nuevamente debido a un error cuando el problema vuelva a ocurrir. Algunos errores pueden producirse con bastante frecuencia (por ejemplo, el error detectado por el puerto de protección BPDU, que puede ocurrir cada dos segundos). Si intentó reactivar los puertos sin arreglar la fuente del problema, volverían al estado error-disabled (error desactivado) nuevamente.
Volver a habilitar el puerto.
Con sólo reparar el origen del problema no logrará que los puertos se activen de nuevo. Una vez que haya solucionado el origen del problema, los puertos seguirán desactivados (y los LED de los puertos seguirán siendo de color naranja); los puertos deben volver a activarse antes de que se activen. Antes, la única manera de volver a habilitar el puerto era ingresar manualmente el comando set port enable para los puertos en cuestión. Con el tiempo, se han añadido extensiones opcionales a la función de desactivación por error para que sea más flexible y automática.
Nota: Un puerto con error inhabilitado no es la única razón por la que un LED de puerto podría encenderse en naranja; es solo una de las razones. Es por eso que siempre es bueno verificar el estado del puerto con el comando show port.
Algunos clientes querían poder determinar si un puerto debería cerrarse debido a errores especiales de colisión descubiertos por CatOS. Hubo algunas situaciones, como si el link fuera una conexión de estructura básica, por ejemplo, donde cerrar los puertos sería realmente peor que los errores que se encontraron en los puertos; sería más conveniente dejar los puertos funcionando todo lo posible hasta que se pueda abordar el problema, en lugar de cerrarlos. Por lo tanto, la versión 4.2(2) incorpora un nuevo comando al CatOS denominado set option errport que permite al administrador determinar qué acción realizó el switch al descubrir un puerto con estos errores de colisión especiales. El estado original predeterminado es set option errorport inhabilitado, en cuyo caso el switch pondrá un puerto en estado de desactivación de errores cuando detecte el tipo de desactivación de errores especiales de colisión. Por el contrario, si se usa el comando set option errport enable, el switch dejará los puertos habilitados aunque encuentre errores de colisión que, normalmente, inhabilitarían esos puertos.
Este comando afecta al switch globalmente; no se puede emitir para un puerto individual. No está incluido en la referencia de comandos, pero sí en las notas de la versión para 4.2(2) (Notas de versión para la versión de software 4.x de la familia Catalyst 5000). Tenga en cuenta que este comando parece ser contra-intuitivo; se debe activar la opción errport para desactivar la función err-disable (activada de forma predeterminada). Dicho de manera más sencilla, simplemente utilice el comando set option errport enable para evitar que un puerto adopte el estado error desactivado.
El comando set option errport sólo se recomienda si se da cuenta de que incurre en algún riesgo de que otros puertos del módulo se vean afectados si permite que continúen estas condiciones de error. Es sólo una medida provisional, no una "solución" del problema; simplemente evita que los puertos que se encuentran con estos errores se apaguen hasta que pueda resolver el problema real. Utilizar con precaución.
En CatOS versión 5.4(1), se introdujo un nuevo comando denominado errdisable-timeout. Este comando es una versión más sofisticada del comando set option errport que se discutió anteriormente. Este comando automáticamente volverá a habilitar un puerto deshabilitado por un error luego de una cantidad de tiempo configurable (de 30 segundos a 24 horas, indicado en segundos), eliminando la necesidad de volver a habilitar manualmente el puerto deshabilitado por un error.
Este comando influirá en los puertos que se encuentran activados en la configuración actual del switch pero que han sido colocados en el estado error-disable (desactivación de errores) por el software CatOS. Utilice el comando show errdisable-timeout para ver el estado actual de la función errdisable-timeout. Pueden especificarse cinco áreas individuales en las que esta función pueda habilitarse: protección bpdu, configuración incorrecta del canal, discordancia dúplex, (que incluye los errores de colisión especiales mencionados anteriormente), UDLD, otro. De esta manera, todavía puede ofrecerle protección permanente contra error-disable en las áreas donde usted la desee, pero le permite seleccionar selectivamente áreas donde usted preferiría que los puertos sigan funcionando hasta que usted pueda arreglar el problema.
En las versiones 5.2.1 y 5.2.2 de la serie Catalyst 6000, existe un defecto en el software que provoca interrupciones en la red cuando un puerto cambia de estado a desactivación a causa de error. Cuando un puerto entra en estado errDisable, el switch hará que todas las direcciones MAC aprendidas sean aprendidas involuntariamente por el puerto error-disabled. Esta generará interrupciones de la red en la VLAN asociada. Este defecto de software tiene ID de depuración Cisco CSCdm48887 y el problema se resuelve con las versiones de software 5.2.3 y posteriores.
La solución alternativa a corto plazo para prevenir este problema es la siguiente:
Ejecute el comando set option errport enable para desactivar la función de desactivar errores.
Vuelva a habilitar todos los puertos inhabilitados por error mediante el comando set port enable mod_num/port_num.
Ejemplo: set port enable 3/1
Borre la tabla de direcciones MAC con el comando clear cam dynamic para restaurar así las direcciones MAC de forma dinámica.
En este punto del documento, proporcionamos dos ejemplos de cómo puede encontrar un puerto con error inhabilitado y cómo corregirlo; una breve explicación de otras tres razones por las que un puerto podría quedar inhabilitado por error; y un resumen de los comandos analizados relacionados con los puertos con error inhabilitado. Los ejemplos específicos que se muestran a continuación para estos problemas son fáciles de reproducir en un entorno de laboratorio.
Siga estos pasos para recuperar un puerto del estado errDisable:
Versión de Software utilizada en este documento
El comando show version muestra la versión de software que el switch está ejecutando para este documento. Esto está aquí sólo para mostrar la versión de CatOS que usábamos para esta prueba y los módulos involucrados.
Cat5500> (enable) show version WS-C5500 Software, Version McpSW: 5.4(2) NmpSW: 5.4(2) Copyright (c) 1995-2000 by Cisco Systems NMP S/W compiled on Apr 7 2000, 16:59:29 MCP S/W compiled on Apr 07 2000, 16:49:24 System Bootstrap Version: 5.1(1) Hardware Version: 1.3 Model: WS-C5500 Serial #: 069041642 Mod Port Model Serial # Versions --- ---- ---------- --------- ---------------------------------------- 1 0 WS-X5540 013459824 Hw : 1.1 Fw : 5.1(1) Fw1: 5.1(1) Sw : 5.4(2) Sw : 5.4(2) 11 24 WS-X5225R 012121634 Hw : 3.1 Fw : 4.3(1) Sw : 5.4(2) DRAM FLASH NVRAM Module Total Used Free Total Used Free Total Used Free ------ ------- ------- ------- ------- ------- ------- ----- ----- ----- 1 32768K 18567K 14201K 8192K 4171K 4021K 512K 179K 333K Uptime is 0 day, 0 hour, 4 minutes Cat5500> (enable) show module Mod Slot Ports Module-Type Model Status --- ---- ----- ------------------------- ------------------- -------- 1 1 0 Supervisor IIG WS-X5540 ok 15 1 Route Switch Feature Card 11 11 24 10/100BaseTX Ethernet WS-X5225R ok Mod Module-Name Serial-Num --- ------------------- -------------------- 1 00013459824 11 00012121634 Mod MAC-Address(es) Hw Fw Sw --- -------------------------------------- ------ ---------- ----------------- 1 00-90-ab-28-d0-00 to 00-90-ab-28-d3-ff 1.1 5.1(1) 5.4(2) 5 00-10-7b-7c-09-d4 to 00-10-7b-7c-09-df 3.0 3.1(1) 5.4(2) 6 00-e0-1e-6c-80-da to 00-e0-1e-6c-80-dc 1.0 4.1(1) 5.4(2) 8 00-10-7b-44-16-40 to 00-10-7b-44-16-57 1.3 3.1(1) 5.4(2) 10 00-10-7b-0c-32-d0 to 00-10-7b-0c-32-db 2.0 3.1(1) 5.4(2) 11 00-50-a2-f4-e4-50 to 00-50-a2-f4-e4-67 3.1 4.3(1) 5.4(2)
Cómo determinar si los puertos están en el estado errDisable
Puede ingresar el comando show port para determinar si su puerto ha sido inhabilitado por error. Este es un ejemplo de un puerto activo; más abajo se encuentra el mismo puerto en estado error-disabled.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------- ---------- ---------- ------ ------ ----- ------------ 11/1 connected 1 normal a-half a-100 10/100BaseTX Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------- ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
Nota: Cuando un puerto está desactivado por error, el LED asociado al puerto del panel frontal es naranja fijo.
Cómo determinar la razón del estado de error deshabilitado (mensajes de consola, syslog, show errdisable-timeout)
Cuando el switch pone un puerto en el estado error-disabled, envía un mensaje a la consola y describe por qué el puerto fue inhabilitado. Estos son dos mensajes de ejemplo que muestran por qué un puerto está inhabilitado: uno desde la característica de protección BPDU de Portfast y el otro desde un problema de configuración de EtherChannel.
2000 May 09 19:09:18 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast enable port. Disabling 11/1 2000 May 09 19:09:18 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 2000 May 09 19:22:11 %SPANTREE-2-CHNMISCFG: STP loop - channel 11/1-2 is disabled in vlan 1 2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1-2
Nota: Los mensajes no indican explícitamente errDisable o error-disabled; sin embargo, sí indican que el switch está inhabilitando el puerto. Una vez generados, los mensajes de la consola no se guardan a menos que utilice un servidor syslog en su red. Si configura el switch para enviar estos mensajes a un servidor syslog, tendrá un registro más permanente acerca de cuándo y por qué se desactivó el puerto. Para más información sobre cómo configurar su switch para enviar mensajes a un servidor syslog, consulte el documento sobre Configuración del registro de mensajes de sistema de la Guía de configuración de CatOS 5.4.
Si está ejecutando CatOS 5.4(1) o posterior, existe una función llamada errdisable-timeout que, si está habilitada, le indica por qué se inhabilitó un puerto. Aquí tiene un ejemplo
Cat5500> (enable) show errdisable-timeout ErrDisable Reason Timeout Status Port ErrDisable Reason ------------------- -------------- ---- ---------------- bpdu-guard enable 11/1 bpdu-guard channel-misconfig disable duplex-mismatch disable udld disable other disable Interval: 30 seconds
Cómo corregir el problema. Después de descubrir por qué se deshabilitaron los puertos, primero debe solucionar el problema raíz y, a continuación, volver a habilitar el puerto.
Reparar el problema de raíz.
Esto depende de cuál sea realmente el problema desencadenante. Existen varios factores que podrían accionar el cierre. Estas son algunas de las causas más notables y comunes.
Error de configuración EtherChannel
Para que EtherChannel funcione, los puertos involucrados deben tener configuraciones consistentes; la misma VLAN, el mismo modo troncal, la misma velocidad, el mismo dúplex, etc. La mayoría de las diferencias en la configuración dentro de un switch se cogen y están señaladas cuando creas el canal. En algunas situaciones, por lo general cuando utiliza el modo ON (en lugar de automático o deseable), todo puede ser consistente en un switch para que el switch comience a canalizar. Sin embargo, el switch vecino conectado no puede configurarse de la misma manera y puede hacer que el primer switch se desactive por error. Si ambos switches admiten el protocolo de agregación de puertos (PAgP), puede configurar los modos de canal en cada switch para que sean deseables en lugar de activados para evitar este problema.
discordancia dúplex
Las discordancias dúplex son frecuentes debido a las fallas para negociar automáticamente la velocidad y el dúplex de manera adecuada. A diferencia de lo que ocurre con el semidúplex, que debe esperar hasta que no haya otros dispositivos transmitiendo en el mismo segmento LAN, un dispositivo de dúplex completo realizará una transmisión cada vez tenga algo para transmitir, sin importar lo que hagan otros dispositivos. Si esta transmisión ocurre mientras el dispositivo semidúplex está transmitiendo, este dispositivo la considerará como una colisión (durante el intervalo de tiempo) o con una colisión tardía (después del intervalo de tiempo). Dado que el lado de dúplex completo nunca espera colisiones, nunca se dará cuenta de que debe retransmitir ese paquete perdido. Un porcentaje bajo de colisiones es normal con semidúplex, pero no con dúplex completo. Si el puerto del switch recibe un montón de colisiones tardías, esto indica generalmente un problema de incompatibilidad de dúplex; asegúrese de que los puertos a ambos lados del cable estén configurados a la misma velocidad y dúplex. El comando show port le indicará la velocidad y el dúplex de los puertos del switch Catalyst. Las versiones posteriores del Protocolo de detección de Cisco (CDP) pueden advertirle acerca de una discordancia dúplex antes de que el puerto entre en el estado inhabilitado. Asimismo, es posible que haya configuraciones en una tarjeta NIC que provocan el problema (elementos tales como las funciones de polaridad automática, en caso de duda, apáguelos). Si tiene varias tarjetas NIC de un proveedor y todas parecen tener el mismo problema, verifique el sitio Web del fabricante para consultar las notas de la versión y asegúrese de tener los últimos controladores del fabricante de NIC. Otras causas para las colisiones tardías incluyen un mal NIC (con problemas físicos, no solamente problemas de configuración), un cable defectuoso o un segmento de cable que es demasiado largo.
2000 May 09 19:19:09 %CDP-4-DUPLEXMISMATCH:Full/half duplex mismatch detected on port 11/3
Protección de puertos BPDU
Algunas versiones más recientes del software del switch monitorean si portfast está habilitado en un puerto. Un puerto que utiliza portfast debe estar conectado a una estación extremo, no a dispositivos que generan paquetes STP llamados BPDU. Si el switch nota que un BPDU que viene en un puerto tiene habilitado portfast, pondrá al puerto en modo errDisable.
UDLD
UDLD es un protocolo presente en algunas versiones nuevas de software que detecta si una comunicación en un link es unidireccional y, por lo tanto, se interrumpe parcialmente. Un cable de fibra dañado u otro problema de cableado/puerto podría causar esta comunicación unidireccional solamente. Con este problema, pueden producirse loops de árbol de expansión. UDLD le permite al puerto detectar un link unidireccional y puede configurarse para llevar un puerto a estado errDisable cuando detecta esta condición.
Otro
Todo proceso dentro del switch que reconozca un problema con el puerto puede colocarlo en el estado error-disable (desactivación de errores). Observe los mensajes de la consola o el mensaje enviado a un servidor del sistema de registro donde se indica por qué se cierra el puerto. Asimismo, si se habilita la función errdisable-timeout (CatOS 5.4(1) como mínimo), el comando show errdisable-timeout le dirá la razón general por la cual se desactivó el puerto.
Vuelvar a habilitar el puerto
Después de solucionar el problema de raíz, los puertos se desactivarán; debe volver a habilitar los puertos. Esto puede realizarse manualmente con el comando set port enable.
Cat5500> (enable) set port enable 11/1-2 Ports 11/1-2 enabled.
Si tiene CatOS 4.2(2) o posterior, puede utilizar el comando set option errport como se describió anteriormente para evitar que los puertos se desactiven por error. Dado que en realidad no está solucionando el origen del problema, esto puede ser arriesgado. Si tiene CatOs 5.4(1) o posterior, puede usar el comando errdisable-timeout para volver a habilitar los puertos como se describe en la próxima sección.
Cómo volver a habilitar un puerto automáticamente mediante la utilización del errdisable-timeout - CatOS 5.4(1).
El comando errdisable-timeout le permite elegir de manera selectiva qué tipo de errores reactivarán los puertos automáticamente después de una determinada cantidad de tiempo. La salida muestra que el estado predeterminado está deshabilitado (no activo) por el tiempo de demora errdisable las cinco posibles condiciones. Si se activa alguna condición, los puertos con esta condición se volverán a habilitar después de 30 segundos.
Cat5500> (enable) show errdisable-timeout ErrDisable Reason Timeout Status ------------------- -------------- bpdu-guard disable channel-misconfig disable duplex-mismatch disable udld disable other disable Interval: 30 seconds
Para activar errdisable-timeout, use el siguiente comando para elegir las condiciones errdisable.
Cat5500> (enable) set errdisable-timeout enable ? bpdu-guard BPDU Port-guard channel-misconfig Channel misconfiguration duplex-mismatch Duplex Mismatch udld UDLD other Reasons other than the above all Apply errDisable timeout to all reasons Cat5500> (enable) set errdisable-timeout enable bpdu-guard Successfully enabled errdisable-timeout for bpdu-guard. Cat5500> (enable) set errdisable-timeout interval 30 Successfully set errdisable timeout to 30 seconds.
Una buena característica de este comando es que si habilita errdisable-timeout, enumerará generalmente por qué los puertos se han puesto en estado error-disable. Para obtener descripciones más detalladas, debe consultar los mensajes que se muestran en el momento de su aparición. Recuerde que el primer paso a seguir para solucionar la condición de desactivar error es reparar el error original que causó el cierre. Observe a continuación que el puerto de razón 11/1 se cerró a causa de la característica de protección BPDU.
Cat5500> (enable) show errdisable-timeout ErrDisable Reason Timeout Status Port ErrDisable Reason ------------------- -------------- ---- ----------------- bpdu-guard enable 11/1 bpdu-guard channel-misconfig disable duplex-mismatch disable udld disable other disable Interval: 30 seconds
He aquí un ejemplo de lo que se muestra cuando el switch vuelve a habilitar un puerto en virtud de la función errdisable-timeout.
Cat5500> (enable) 2000 May 09 19:17:27 %MGMT-5-ERRDISPORTENABLED:Port 11/1 err-disabled by bpdu-guard enabled by errdisable timeout
¿Qué sucede si vuelve a habilitar el puerto sin solucionar el problema?
Si vuelve a activar el puerto sin solucionar el problema, los puertos sólo se desactivarán debido a error nuevamente. Esto continuará una y otra vez hasta que resuelva el problema real. Observe los tres mensajes que se encuentran a continuación. En el primero, el switch describe la desactivación del puerto 11/1 porque ha recibido una BPDU en un puerto que está habilitado para portfast (ésta es una situación que ocasiona errores si la protección BPDU está activada). Luego de 25 segundos, el puerto se vuelve a habilitar automáticamente mediante la característica errdisable-timeout. Luego, cuatro segundos más tarde, el puerto está nuevamente en estado de error-disabled (error desactivado) ya que nunca se solucionó el verdadero problema.
2000 May 09 19:17:33 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast enable port. Disabling 11/1 2000 May 09 19:17:58 %MGMT-5-ERRDISPORTENABLED:Port 11/1 err-disabled by bpdu-guard enabled by errdisable timeout 2000 May 09 19:18:02 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast enable port. Disabling 11/1
El beneficio de tener que reactivar manualmente los puertos es que le recuerda que esto debe resolver el problema real.
¿Puedo evitar que los puertos se desactiven por error debido a colisiones?
A continuación se presenta un ejemplo de cómo proteger el switch de la desactivación de errores de un puerto debido a las colisiones excesivas o tardías. El comando set option errport estuvo disponible en la versión 4.2(2) de CatOS. De nuevo, recuerde que esto debe usarse sólo como un tipo de medida provisoria. Evita que los puertos entren en estado error-disabled (Inhabilitado), pero puede hacerlo vulnerable a colisiones que normalmente producirían el apagado del switch. Cuando ejecute este comando, hará que el switch no desactive el puerto debido a las colisiones.
Cat5500> (enable) set option errport enable Error port option is enabled Cat5500> (enable) show option errport Option errport : enabled
En este ejemplo vemos cómo se puede volver al estado predeterminado que le permite al switch desactivar errores en un puerto.
Cat5500> (enable) set option errport disable Error port option is disabled Cat5500> (enable) show option errport Option errport : disabled
El comando show option errport mostrará el modo actual en el que se encuentra la función de desactivación por error. Además, el comando set option errport enable no corrige la causa de los errores; solo evita que el puerto se apague debido a los errores. Todavía existe la posibilidad de que los puertos errDisable puedan afectar otros puertos en el módulo si los errores continúan o se vuelven drásticos. Entonces, debería utilizar este comando sólo si comprende que es posible que estos errores causen problemas dentro del módulo del switch y si está dispuesto a correr esos riesgos.
En esta sección, presentamos dos ejemplos de reparación de un puerto con inhabilitación de error.
Una nueva función que se incorporó a partir de CatOS 5.4(1) le permite al switch monitorear los puertos que tienen portfast activado. Un puerto que utiliza portfast sólo debe estar conectado a una estación final (como una estación de trabajo o un servidor), no a los dispositivos que generan las BPDU del árbol de expansión, como switches, o puentes y routers que hacen bridging. Si el switch recibe una BPDU de árbol de expansión en un puerto con portfast activado, colocará el puerto en el modo errDisable a fin de protegerlo contra loops potenciales. Portfast supone que un puerto en un switch no tiene posibilidad de generar un loop físico y, por lo tanto, omite las comprobaciones iniciales del spanning tree para ese puerto, evitando que las estaciones finales agoten el tiempo de espera al arrancar. Portfast debe ser implementado cuidadosamente por el administrador de la red; en los puertos donde se ha habilitado portfast, la protección de BPDU ayuda a garantizar que la LAN se mantenga libre de loops.
Así se activa esta función. Se eligió este ejemplo porque es sencillo para crear una situación de error-disable.
Cat5500> (enable) set spantree portfast bpdu-guard enable Spantree portfast bpdu-guard enabled on this switch.
Nuestro switch Catalyst 5500 está conectado a otro switch (un 6509) que creamos como la raíz del árbol de extensión. El 6509 nos enviará BPDU cada 2 segundos (mediante la configuración de árbol de expansión predeterminada). Cuando se activa Portfast en el puerto del switch 5500, la función de protección de BPDU controlará las BPDU que ingresan en este puerto. Cuando llega un BPDU al puerto, lo cual significa que se detectó un dispositivo no extremo fuera del puerto, la característica de protección bpdu cerrará el puerto para evitar posibles loops de árbol de expansión.
Cat5500> (enable) set spantree portfast 11/1 enable Warning: Spantree port fast start should only be enabled on ports connected to a single host. Connecting hubs, concentrators, switches, bridges, etc. to a fast start port can cause temporary spanning tree loops. Use with caution. Spantree port 11/1 fast start enabled. Cat5500> (enable) 2000 May 09 19:09:18 %SPANTREE-2-RX_PORTFAST:Received BPDU on PortFast enable port. Disabling 11/1 2000 May 09 19:09:18 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1
En el mensaje anterior, el switch indicó que recibió una BPDU en un puerto habilitado para portfast, por lo que está cerrando el puerto 11/1. Cuando vemos el estado del puerto, lee errDisable.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
Para solucionar estos problemas, es necesario tratar el problema subyacente y luego volver a habilitar el puerto. Debido a que éste es un puerto con una conexión incorrecta (portfast activado y conectado a otro switch), apagaremos la función portfast. De nuevo, se supone que portfast sólo se utiliza en puertos conectados a estaciones finales.
Cat5500> (enable) set spantree portfast 11/1 disable Spantree port 11/1 fast start disabled.
Aunque se corrigió el origen del problema, tenga en cuenta que los puertos aún se encuentran en el estado de desactivar error. Si observara el LED del puerto, seguiría siendo naranja. Debemos volver a habilitar el puerto antes de que se torne activo nuevamente.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
En el siguiente ejemplo, reactivamos el puerto en forma manual utilizando el comando set port enable. Ahora el puerto volverá al estado normal.
Cat5500> (enable) set port enable 11/1 Port 11/1 enabled. Cat5500> (enable) show port 11/3 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 connected 1 normal a-half a-100 10/100BaseTX
A continuación se presenta otra situación común de desactivar error que se puede producir en los puertos que tienen la capacidad EtherChannel. Si un switch está configurado para EtherChannel y el otro no, puede hacer que el proceso de spanning tree apague los puertos canalizados en el lado configurado para EtherChannel. En este escenario, hemos conectado dos cables de cruce desde el switch 5500 a otro switch. Encendimos el EtherChannel en el switch 5500 utilizando el comando set port channel 11/1-2 on. Encendido el modo de EtherChannel no envía los paquetes PAgP para negociar con el otro lado antes de canalizar; solo asume que el otro lado está canalizando. Además, no activamos EtherChannel para el otro switch; dejamos estos puertos como puertos individuales no canalizados. Si se deja en este estado durante un minuto o más, el STP en 5500 pensará que hay un loop. Esto hará que los puertos de canalización se pongan en estado de desactivación por error. Observe a continuación que se detectó un loop y que los puertos estaban inhabilitados. El comando show port channel muestra que los puertos ya no están canalizando; y, cuando vemos uno de los puertos involucrados, vemos que su estado es errdisable.
Cat5500> (enable) 2000 May 09 19:20:02 %PAGP-5-PORTTOSTP:Port 11/1 joined bridge port 11/1-2 2000 May 09 19:20:27 %PAGP-5-PORTTOSTP:Port 11/2 joined bridge port 11/1-2 2000 May 09 19:22:11 %SPANTREE-2-CHNMISCFG: STP loop - channel 11/1-2 is disabled in vlan 1 2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/1 left bridge port 11/1-2 2000 May 09 19:22:11 %PAGP-5-PORTFROMSTP:Port 11/2 left bridge port 11/1-2 Cat5500> (enable) show port channel No ports channeling
El EtherChannel fue desconectado porque los puertos fueron colocados en error-disable en este switch.
Cat5500> (enable) show port 11/1 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX
Para determinar cuál fue el problema, necesitamos mirar el mensaje de error. El mensaje decía que EtherChannel encontró un loop de árbol de expansión. Como se desprende del párrafo anterior, esto puede ocurrir cuando un dispositivo (nuestro switch en este caso) tiene EtherChannel activado manualmente utilizando el modo ON (en lugar de deseable) y el otro dispositivo conectado (el otro switch en este caso) no tiene EtherChannel activado en absoluto. Una manera de resolver la situación es fijar el modo del canal a deseable en ambos lados de la conexión, y luego volver a habilitar los puertos. Esto hará que cada lado forme un canal solo si ambos están de acuerdo con el canal. Si no aceptan canalizar, seguirán funcionando como puertos normales.
Nota: Para obtener una lista de las cosas que pueden causar errores de configuración de EtherChannel, busque en la Guía de configuración de EtherChannel la versión de CatOS que esté utilizando. Las versiones más recientes tienen secciones específicas de la Guía de configuración titulada Configuración de Fast EtherChannel y Gigabit EtherChannel que enumeran las dependencias para que un canal se forme correctamente, incluyendo los modos de canal para configurar.
Cat5500> (enable) set port channel 11/1-2 desirable non-silent Port(s) 11/1-2 are assigned to admin group 21. Port(s) 11/1-2 channel mode set to desirable. Cat5500> (enable) show port 11 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 errdisable 1 normal auto auto 10/100BaseTX 11/2 errdisable 1 normal auto auto 10/100BaseTX
Observe que, si bien desactivamos la característica EtherChannel y configuramos el modo EtherChannel en deseable, los puertos aún están deshabilitados. Hemos corregido la causa del problema, pero ahora debemos habilitar nuevamente los puertos antes de poder usarlos.
Cat5500> (enable) set port enable 11/1-2 Ports 11/1-2 enabled. Cat5500> (enable) show port 11 Port Name Status Vlan Level Duplex Speed Type ----- ------------------ ---------- ---------- ------ ------ ----- ------------ 11/1 connected 1 normal a-full a-100 10/100BaseTX 11/2 connected 1 normal a-full a-100 10/100BaseTX Cat5500> (enable) show port channel 11/1 Port Status Channel Admin Ch Mode Group Id ----- ---------- -------------------- ----- ----- 11/1 connected desirable non-silent 21 833 11/2 connected desirable non-silent 21 833 Port Device-ID Port-ID Platform ----- ------------------------------- ------------------------- ---------------- 11/1 TBA04090489(Cat6000) 5/13 WS-C6506 11/2 TBA04090489(Cat6000) 5/14 ----- ------------------------------- ------------------------- ----------------
show version: para mostrar la versión del software que se está utilizando en el switch
show module: para mostrar qué módulos se utilizan en el switch
show port: para ver el estado actual del puerto del switch
show option errport: para ver el estado del comando set option errport
show errdisable-timeout: para mostrar la configuración actual de la función errdisable-timeout y la razón por la que cualquier puerto está actualmente deshabilitado por error
show port: para ver el estado actual del puerto del switch
show port channel: para ver el estado actual del EtherChannel
show option errport: para ver el estado del comando set option errport.
set option errport disable: para permitir que el switch desactive cualquier puerto que tenga errores que el sistema operativo considere dignos de ser desactivados. Éste es el estado predeterminado y sólo sería diferente si alguien hubiera ejecutado previamente el comando set option errport enable
show errdisable-timeout: para mostrar la configuración actual de la función errdisable-timeout y la razón por la que cualquier puerto está actualmente deshabilitado por error
set errdisable-timeout: se puede utilizar para ayudar a determinar por qué se deshabilitó un puerto debido a errores (se utiliza junto con el comando show errdisable-timeout)
Sintaxis: | show version |
---|---|
Según se utiliza en este documento: | show version |
Sintaxis: | show module [mod_num] |
---|---|
Según se utiliza en este documento: | show module |
Sintaxis: | show port [mod_num[/port_num |
---|---|
Según se utiliza en este documento: | mostrar puerto 11/1 mostrar puerto 11 |
Sintaxis: | show port channel [mod_num[/port_num]] [statistics | info [spantree | tronco | protocol | gmrp | gvrp | qos]] |
---|---|
Según se utiliza en este documento: | show port channel |
Sintaxis: | set port channel port_list mode {on | desactivado | deseable | auto} [silent | non-silent] |
---|---|
Según se utiliza en este documento: | set port channel 11/1-2 desirable non-silent |
Sintaxis: | set port enable mod_num/port_num |
---|---|
Según se utiliza en este documento: | set port enable 11/1-2 |
Sintaxis: | show errdisable timeout |
---|---|
Según se utiliza en este documento: | show errdisable timeout |
Sintaxis: | set errdisable-timeout [enable|disable] [bpdu-guard | channel-misconfig | duplex-mismatch | udld | otro] |
---|---|
Según se utiliza en este documento: | set errdisable-timeout enable bpdu-guard |
Sintaxis: | set errdisable-timeout interval seconds |
---|---|
Según se utiliza en este documento: | set errdisable-timeout interval 30 |
Sintaxis: | set spantree portfast mod_num/port_num {enable | disable} |
---|---|
Según se utiliza en este documento: | set spantree portfast 11/1 enable set spantree portfast 11/1 disable |
Sintaxis: | set spantree portfast bpdu-guard {enable | disable} |
---|---|
Según se utiliza en este documento: | set spantree portfast bpdu-guard enable |
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
04-Dec-2001
|
Versión inicial |