En una gran pila de switches Cisco Catalyst, casi todos los puertos de switch están parcheados. Necesito identificar los puertos, que no están en uso, para conectar otros dispositivos.
Seguir los puertos de conmutación, el cableado, los campos de conexión y los enchufes a los posibles dispositivos finales es laborioso e incluso entonces podría haber enchufes utilizados temporalmente. Observar la actividad de los LED del puerto no es confiable, ya que un dispositivo de usuario puede apagarse.
¿Cuál es la forma más fácil de detectar todos los puertos de conmutación no utilizados a través de comandos IOS?
Respuestas:
Yo uso con frecuencia
o lo mismo con GigabitEthernet, cualquier tipo de interfaz que quiera verificar.
sh int
(que esshow interfaces
) da una gran lista de estado de todas las interfaces|
se puede usar para filtrar, pero también en expresiones de búsqueda| i
(parainclude
) filtra la salida que coincide con las siguientes expresiones de búsqueda(...|...)
coincidir con dos condiciones: el nombre de la interfaz y el estado que me gusta ver, aquí podemos usar expresiones regulares, como esta expresión "o"La salida puede verse así:
Ahora puedo ver a mis candidatos, con realmente 0 paquetes ingresados a lo largo del tiempo, incluso si mi expresión coincide con los números que terminan en 0. Podría hacerlo más perfecto, pero ser fácil de recordar también es un beneficio. Los nombres de interfaz justo antes de cada línea de entrada de 0 paquetes son mis candidatos.
sh int <name>
clear counters [type number]
Puede ser una buena práctica dejar apagado los puertos de switch no utilizados. Por lo tanto, es fácil identificarlos usando
sh ip int bri
o similares. Y no tiene problemas si utiliza un puerto de conmutación que definitivamente se apagó antes.fuente
sh int | i FastEthernet|0 packets input
En definitiva ... DOCUMENTACIÓN. Debe saber dónde va cada cable de conexión para estar 100% seguro de que no está desconectando algo que alguien puede esperar que funcione en algún momento. El hecho de que un puerto esté actualmente "inactivo" no significa que alguien no lo haya estado usando. Además, el hecho de que los contadores estén actualmente en cero no significa que nunca se haya usado o que no se volverá a usar en el futuro (cercano): los contadores se pueden borrar y los contadores se restablecen a cero en el arranque.
He trabajado en ISP y grandes empresas, y la documentación es la clave para saber qué es qué. Sin él, las suposiciones aleatorias conducirán a numerosos días malos ... los clientes se enojan cuando ejecuta su línea DSL a otra persona, duplica una asignación de dirección, apaga la interfaz incorrecta, etc. Los armarios de cableado de la empresa pueden ser un verdadero desastre; sin documentación, rastrear docenas de cables entre miles puede ser un problema (y algo tan simple como contar las descripciones de puertos).
fuente
también me gusta
que salidas
El parámetro de salida le indica cuándo vio el tráfico por última vez el puerto, lo que es útil para identificar aquellos puertos que solo se usan ocasionalmente.
EDITAR: También vale la pena señalar (por razones más allá del alcance de esta pregunta) es que "Última entrada" es casi siempre "nunca"
fuente
Me gusta la respuesta de @ Stefan, pero con esta línea de comando "sh int | i (entrada de paquetes Ethernet | 0)", que ahora toma todos los tipos de interfaz Ethernet y filtra los números distintos de cero que terminan en cero. Mencionó que algunos ajustes pueden ser posibles, por lo que este es solo un ejemplo.
Otra opción es ...
Sí, se necesita el espacio en blanco. La forma más fácil de obtener los espacios correctos es hacer "sh int counters" y copiar una línea con todos los ceros. Un problema aquí es que a mitad de camino la lista cambia de Entrada, que queremos, a Salida, que no nos importa para encontrar puertos no utilizados. Tiene la ventaja de mostrar SOLO los puertos sin entrada para que no tenga que eliminar los puertos en uso como lo hace con el método de Stefan.
fuente
show int counters | i _0_.*_0_.*_0_.*_0_
lugar de espacios ... también su respuesta debe sersh int counters | i (Port|_0 0 0 0)
(tenga en cuenta el guión bajo principal, que IOS interpreta como un espacio)show interfaces counters | inc ( +0 +0 +0)
.Rasparía la salida (o la tomaría con SNMP, incluso mejor) y usaría las herramientas estándar de UNIX para analizarla. Aquí hay un ejemplo fácil:
Aquí, guardé una salida parcial de 'show int counters' (solo para fines de demostración) en un archivo llamado "counters".
Ahora, solo use awk para producir un informe de todos los puertos que tienen los cuatro campos de contador en cero:
La idea principal aquí es obtener los datos que está utilizando del dispositivo para que pueda hacer un análisis e informes más inteligentes / complejos / más simples / de cualquier tipo.
NOTA Para múltiples dispositivos, el uso de una utilidad de Linux como "pantalla" para registrar la salida de una conexión tty puede hacerlo realmente eficiente para encontrar rápidamente puertos no utilizados en múltiples dispositivos cisco. (en un archivo de registro) ejecute un comando como el siguiente ... donde "HOSTNAME" es una parte universal de su dispositivo Cisco. awk '{if ($ 1 == HOSTNAME ) || ($ 2 == 0 && $ 3 == 0 && $ 4 == 0 && $ 5 == 0) imprime $ 1} '
fuente
grep
ysed
.show int counters | i _0_.*_0_.*_0_.*_0_
Soy nuevo, así que no puedo votar las respuestas de @ netdad y @mike pennington, pero me gustan. Para llevar la respuesta de @Mike Pennington un poco más allá, suponiendo que haya borrado los contadores recientemente, también puede ejecutar este comando:
La expresión regular aquí dice un "0" seguido de 1 o más espacios seguidos de un "0" seguido de 1 o más espacios seguidos de un "0" seguido de 1 o más espacios seguidos de un "0" final.
Espero que esto ayude.
fuente
Yo siempre uso
Lo resume todo bonito y elegante.
fuente
| ex connected
a eso.Si necesita hacer esto regularmente, nada supera a Perl y Net :: Telnet :: Cisco. Puede iniciar sesión en X número de enrutadores, obtener toda la información en las interfaces que desee, analizar la salida e imprimirla en un archivo o enviarla por correo electrónico con Net :: SMTP o imprimirla en la salida estándar. Puedo proporcionar ejemplos si lo desea, pero es bastante sencillo.
Alternativamente, si está decidido a hacer esto dentro de IOS, el siguiente script TCL le dará la salida que desea en un formato agradable y limpio:
Ofrezco esto porque TCL y cómo hacerlo es un poco menos accesible [en mi humilde opinión] que Perl
fuente
Normalmente uso
sh int des | ex up
, que enumerará todos los puertos que están inactivosfuente
show interfaces status
más útil.Aquí hay uno que he estado usando recientemente para quitar los cables de los puertos que no han visto ninguna actividad durante al menos seis semanas:
fuente
El espacio inicial con el 0 excluirá números más grandes que terminan en cero.
Es mejor tener los puertos cerrados (deshabilitados) hasta que se usen. Es arriesgado cambiar la vlan de acceso de switchport , por ejemplo, en un puerto que ya está activo a menos que pueda estar seguro de que no está en uso.
La salida puede verse a continuación, diciéndonos que el puerto de conmutación en g8 / 18 está desactivado con 0 paquetes desde que se borró el último contador mientras g8 / 19 está en uso (por la ausencia de la "entrada de 0 paquetes").
fuente
¿Qué pasa con el uso de la tabla MAC? Enumera las direcciones MAC con las interfaces y las elimina. Tendría que sacar la lista de IOS para hacer una lista filtrada de direcciones únicas.
fuente
fuente
OKAY. Algo que funciona en todos los conmutadores a partir de 2900 (no tiene más viejos para probar) y muestra solo puertos inactivos.
Me encantaría usarlo,
sh int status
pero después de eso, el resultado esconnected
ynotconnected
, por lo tanto, excluir o incluir no sirve de nada porque la palabra conectada es parte de ambos, así que entiendes la historia.En mi caso en un 3524, obtengo eso a continuación con ambos comandos para dejar en claro que funciona:
fuente
Es un poco engañoso, pero si todo está conectado a un dispositivo final, puede activar la seguridad del puerto con direcciones MAC fijas. Vuelva a comprobarlo en un momento (por mucho tiempo que espere es un tiempo razonable para suponer que alguien hubiera usado la computadora o no existe) y la configuración en ejecución le mostrará si algo ha usado ese puerto. Estoy bastante seguro de que puede usar direcciones mac fijas con un máximo de más de 1 por interfaz en caso de que esté usando teléfonos y computadoras VoIP en el mismo puerto, pero no estoy seguro.
fuente
Oh, los días en que era fácil escribir:
(eso está en una versión de ejecución 4500 12.2 (20))
fuente
Creo que en el entorno de Cisco, la mejor manera es mostrar una versión para conocer el tiempo de actividad del conmutador y después
muestre la contabilidad de las interfaces
fuente
solo usar comandos de IOS es un poco complicado: se perderá el extraño. Sugeriría que otros usen snmp (solarwinds tiene una serie de herramientas gratuitas que quizás desee ver) y que supervisen el dispositivo durante varios días (semanas si es necesario)
Para la parte laboriosa que mencionó con los cables de rastreo, etc. Lo que hice para minimizar el trabajo con la asignación de puertos de conmutador a puertos de parche, etc., fue limpiar los contadores y luego, unos días después, usar trampas snmp y luego desconectar el panel de parche durante 1-2 segundos y una vez que obtuve una entrada en el monitor / receptor de trampa snmp (el puerto x en el módulo y se cayó), simplemente hice lo mismo nuevamente para verificar (no es que alguien haya apagado un dispositivo en uno de los puertos). Se necesitan unos 5 minutos para un panel de 24 puertos, por lo que esto es bastante rápido. Para los muertos, solo regresa en otro momento. Si todavía están muertos y no hay cambios en los contadores, entonces es seguro asumir que el puerto no está en uso.
fuente
Usualmente uso "mostrar el estado de la interfaz" y variaciones en él, pero también uso una pieza de software de código abierto llamada "Switchmap" para proporcionar una vista gráfica simple de las interfaces. Una gran ventaja de esto es que si un puerto está activo / inactivo, le dirá cuánto tiempo atrás tuvo tráfico por última vez y puede hacer una llamada desde allí para saber si debe reutilizarlo o no.
http://sourceforge.net/projects/switchmap/
Esto ahorra algo de tipeo :-)
fuente
Esto debería mostrarle si el cable conectado al switchport está realmente conectado a algo. Independientemente de su estado. Reemplace
test
conshow
para obtener el estado.fuente
show int status
. Si desconecté mi computadora portátil para ir a casa por el día, entonces mi puerto puede ser reasignado por la mañana.Tuvimos este problema en nuestra firma. Utilizamos la correlación de la salida de los comandos "show arp" y "show mac address-table" para correlacionar las direcciones MAC de todas las computadoras / dispositivos en nuestras premisas.
Primero deberá hacer una lista de las IP y MAC de los dispositivos en su red, y correlacionarlas con las interfaces correspondientes utilizando los comandos anteriores ...
fuente
Mostrar breve interfaz de IP es mi favorito personal.
Hace que sea un poco más fácil de ver. Si no, hay muchas herramientas para ayudar a rastrear el uso del puerto en muchos conmutadores.
fuente
En dispositivos Cisco, puede usar;
Mientras que en dispositivos HP, el comando es;
fuente
Creo que estás buscando una suma basada en el estado? al menos suena como tu pregunta.
darle un buen recuento de lo que está conectado o no.
fuente