В большом стеке коммутаторов Cisco Catalyst исправлены почти все порты коммутаторов. Мне нужно определить порты, которые не используются, для подключения других устройств.
Следование коммутационным портам, прокладке кабелей, соединительным полям и разъемам к возможным конечным устройствам является трудоемким, и даже тогда могут быть временно использованы разъемы. Наблюдение за активностью индикаторов порта не является надежным, поскольку пользовательское устройство может быть отключено.
Какой самый простой способ обнаружить все неиспользуемые порты коммутатора с помощью команд IOS?
Ответы:
Я часто использую
или то же самое с GigabitEthernet, какие бы интерфейсы я не хотел проверять.
sh int
(которыйshow interfaces
) дает огромный список статуса всех интерфейсов|
может использоваться для фильтрации, но также и в выражениях поиска.| i
(дляinclude
) фильтрует выходные данные, которые соответствуют следующим поисковым выражениям(...|...)
чтобы соответствовать двум условиям: имя интерфейса и статус, который я хотел бы видеть, мы можем использовать регулярные выражения здесь, как это выражение «или»Вывод может выглядеть так:
Теперь я вижу своих кандидатов, фактически со временем вводимых 0 пакетов, даже если мое выражение совпадает с числами, заканчивающимися на 0. Я мог бы сделать его более совершенным, но удобство запоминания также является преимуществом. Имена интерфейсов прямо перед каждой строкой ввода 0 пакетов - мои кандидаты.
sh int <name>
clear counters [type number]
Хорошей практикой может быть отключение неиспользуемых коммутаторов. Так что их легко идентифицировать, используя
sh ip int bri
или тому подобное. И вы не столкнетесь с проблемами, если будете использовать switchport, который был определенно отключен раньше.источник
sh int | i FastEthernet|0 packets input
В конечном итоге ... ДОКУМЕНТАЦИЯ. Вы должны знать, где каждый патч-кабель должен быть на 100% уверен, что вы не отключаете что-то, что кто-то может ожидать в какой-то момент. Тот факт, что порт в данный момент «отключен», не означает, что кто-то не использует его. Кроме того, только потому, что счетчики в настоящее время равны нулю, не означает, что он никогда не использовался или не будет использоваться снова в (ближайшем) будущем - счетчики могут быть очищены и счетчики обнуляются при загрузке.
Я работал на интернет-провайдеров и крупных предприятий, и документация является ключом к пониманию того, что к чему. Без этого случайные догадки приведут к многочисленным плохим дням ... клиенты будут очень злы, когда вы запускаете их линию DSL с кем-то другим, дублируете назначение адресов, отключаете неправильный интерфейс и т. Д. Корпоративные проводные шкафы могут быть настоящим беспорядком; без документации отследить десятки кабелей между тысячами может быть непросто (и так же просто, как считать описания портов).
источник
Мне также нравится
какие выводы
Выходной параметр сообщает, когда порт в последний раз видел трафик, что полезно для определения тех портов, которые используются только изредка.
РЕДАКТИРОВАТЬ: Также стоит отметить (по причинам, выходящим за рамки этого вопроса), что «Последний ввод» почти всегда «никогда»
источник
Мне нравится ответ @ Stefan, но с этой командной строкой "sh int | i (Ethernet | 0 пакетов ввода)", которая теперь захватывает все типы интерфейсов Ethernet и отфильтровывает ненулевые числа, которые заканчиваются нулем. Он упомянул, что возможна тонкая настройка, так что это только один пример.
Другой вариант ...
Да, пробел нужен. Самый простой способ получить правильные пробелы - это сделать "sh int counters" и скопировать строку со всеми нулями. Здесь есть один недостаток: в середине списка происходит смена ввода, которое мы хотим, на вывод, который нам не нужен для поиска неиспользуемых портов. Он имеет преимущество, показывая ТОЛЬКО порты без входа, поэтому вам не нужно отсеивать используемые порты, как вы делаете с помощью метода Стефана.
источник
show int counters | i _0_.*_0_.*_0_.*_0_
вместо пробелов ... также ваш ответ должен бытьsh int counters | i (Port|_0 0 0 0)
(обратите внимание на нижнее подчеркивание, которое IOS интерпретирует как пробел)show interfaces counters | inc ( +0 +0 +0)
.Я бы поцарапал вывод (или захватил его с помощью SNMP, даже лучше) и использовал бы стандартные инструменты UNIX для его анализа. Вот простой пример:
Здесь я сохранил частичный вывод из 'show int counters' (только для демонстрационных целей) в файл с именем "counters".
Теперь просто используйте awk, чтобы создать отчет обо всех портах, в которых все четыре поля счетчика равны нулю:
Основная идея здесь состоит в том, чтобы получать любые данные, которые вы используете, с устройства, чтобы вы могли выполнять более интеллектуальные / сложные / более простые / любые операции анализа и составления отчетов.
ПРИМЕЧАНИЕ. Для нескольких устройств использование утилиты Linux, такой как «screen», для регистрации выходных данных через tty-соединение может сделать ее действительно эффективной для быстрого поиска неиспользуемых портов на нескольких устройствах Cisco. (в одном файле журнала) выполните команду, подобную следующей ... где "HOSTNAME" является универсальной частью ваших счетчиков кошек схемы имени хоста устройства Cisco | awk '{if ($ 1 == HOSTNAME ) || ($ 2 == 0 && $ 3 == 0 && $ 4 == 0 && $ 5 == 0) print $ 1} '
источник
grep
иsed
.show int counters | i _0_.*_0_.*_0_.*_0_
Я новичок, поэтому не могу голосовать за ответы @ netdad и @mike pennington, но они мне нравятся. Чтобы продолжить ответ @Mike Pennington, предполагая, что вы недавно очистили счетчики, вы также можете выполнить эту команду:
Здесь регулярное выражение говорит «0», за которым следуют 1 или более пробелов, за которыми следует «0», за которыми следуют 1 или более пробелов, за которыми следует «0», за которыми следуют 1 или более пробелов, за которыми следует конечный «0».
Надеюсь это поможет.
источник
Я всегда использую
Это подводит итог, все хорошо и модно.
источник
| ex connected
к этому.Если вам нужно делать это регулярно, ничто не сравнится с Perl и Net :: Telnet :: Cisco. Вы можете войти в X число маршрутизаторов, получить всю информацию об интерфейсах, которые вы хотите, проанализировать вывод и распечатать его в файл или отправить по электронной почте с помощью Net :: SMTP или распечатать на стандартный вывод. Я могу привести примеры, если хотите, но это довольно просто.
В качестве альтернативы, если вы намерены сделать это в IOS, следующий скрипт TCL выдаст вам нужный вывод в хорошем, чистом формате:
Я предлагаю это, потому что TCL и как это сделать немного менее доступно [IMHO], чем Perl
источник
Я обычно использую
sh int des | ex up
, который перечислит все порты, которые находятся в нерабочем состоянииисточник
show interfaces status
более полезным.Вот один из тех, которые я недавно использовал для удаления кабелей из портов, в которых не было активности в течение как минимум шести недель:
источник
Начальный пробел с 0 исключит большие числа, оканчивающиеся на ноль.
Лучше отключить порты (отключить), пока они не привыкнут. Например, рискованно менять доступ к switchport vlan на порте, который уже подключен, если вы не уверены, что он не используется.
Вывод может выглядеть так, как показано ниже, сообщая нам, что порт коммутатора на g8 / 18 отключен с 0 пакетами с момента последнего сброса счетчика во время использования g8 / 19 (из-за отсутствия «ввода 0 пакетов»).
источник
Как насчет использования таблицы MAC? Он перечисляет MAC-адреса с интерфейсами и устаревает. Вы должны были бы вынуть список из IOS, чтобы сделать отфильтрованный список уникальных адресов.
источник
источник
ХОРОШО. Что-то, что работает на всех коммутаторах, начиная с 2900 (тестировать не нужно) и показывает только отключенные порты.
Я бы хотел использовать,
sh int status
но после этого результатconnected
иnotconnected
, поэтому исключение или включение не приносят пользы, потому что слово «связанный» является частью обоих, так что вы получите историю.В моем случае на 3524 я получаю это ниже с обеими командами, чтобы прояснить это работает:
источник
Это немного обманывает, но если все подключено только к одному конечному устройству, вы можете включить защиту портов с помощью липких mac-адресов. Вернитесь через некоторое время (как бы долго вы ни ожидали, это разумное количество времени, чтобы предположить, что кто-то использовал бы компьютер, или он не существует), и текущая конфигурация покажет вам, если что-то использовало этот порт. Я почти уверен, что вы можете использовать липкие mac-адреса с максимальным количеством более 1 на интерфейс, только если вы используете телефоны и компьютеры VoIP на одном и том же порту, но я не уверен.
источник
Ой день, когда было просто набрать:
(это на 4500 работающей версии 12.2 (20))
источник
Я думаю, что в среде Cisco лучший способ - показать версию, чтобы узнать время работы коммутатора и после
показать интерфейсы учета
источник
только использование команд IOS немного сложнее - вы пропустите нечетную. Я бы предложил, как и другие, использовать snmp (у solarwinds есть ряд бесплатных инструментов, на которые вы, возможно, захотите посмотреть) и контролировать устройство в течение нескольких дней (если необходимо, недель).
Что касается трудоемкой части, которую вы упомянули с трассировкой кабелей и т. Д. То, что я сделал, чтобы свести к минимуму работу с отображением портов коммутатора на порты коммутации и т. Д., Это очистка счетчиков, а затем через несколько дней использование ловушек snmp, а затем отключение на коммутационной панели в течение 1-2 секунд и как только я получил запись на мониторе / приемнике ловушки snmp (порт x на модуле y отключился), я просто повторил то же самое для проверки (не то, что кто-то просто случайно отключил устройство на одном из портов). Для панели с 24 портами это может занять 5 минут, так что это довольно быстро. Для мертвых - просто вернись в другой раз. Если они все еще мертвы и на счетчиках нет изменений, можно с уверенностью предположить, что порт фактически не используется.
источник
Я обычно использую «показывать статус интерфейса» и его варианты, но я также использую аккуратную часть программного обеспечения с открытым исходным кодом, называемую «Switchmap», чтобы обеспечить простое графическое представление интерфейсов. Одним из больших преимуществ этого является то, что если порт работает вверх / вниз, он сообщит вам, как давно на нем последний раз был трафик, и вы можете сделать звонок оттуда, независимо от того, использовать его повторно или нет.
http://sourceforge.net/projects/switchmap/
Это экономит время при наборе текста :-)
источник
Это должно показать вам, действительно ли кабель, подключенный к порту коммутатора, действительно подключен к чему-либо. Независимо от его статуса. Заменить
test
на,show
чтобы получить статус.источник
show int status
. Если я отключил свой ноутбук, чтобы пойти домой на весь день, то мой порт может быть переназначен к утру.У нас была эта проблема в нашей фирме. Мы использовали корреляцию из вывода команд «show arp» и «show mac address-table» для корреляции MAC-адресов всех компьютеров / устройств в наших помещениях.
Сначала вам нужно будет составить список IP-адресов и MAC-адресов устройств в вашей сети и сопоставить их с соответствующими интерфейсами, используя приведенные выше команды ...
источник
Показать IP интерфейс кратко мой любимый.
Делает его немного легче для просмотра. Если нет, то существует множество инструментов, которые помогут отслеживать использование портов во многих коммутаторах.
источник
На устройствах Cisco вы можете использовать;
Пока на устройствах HP команда есть;
источник
Я думаю, что вы ищете сумму в зависимости от статуса? по крайней мере, это звучит как твой вопрос.
дать вам хороший подсчет того, что связано или нет.
источник