Как я могу узнать, какие коммутаторы не используются?

В большом стеке коммутаторов Cisco Catalyst почти все коммутаторы исправлены. Мне нужно определить порты, которые не используются, для подключения дополнительных устройств.

Следующие коммутаторы, кабели, поля исправлений и сокеты для возможных конечных устройств являются трудоемкими, и даже тогда могут быть временные сокеты. Рассмотрение активности светодиодов порта не является надежным, поскольку пользовательское устройство может быть отключено.

Какой самый простой способ обнаружить все неиспользуемые коммутаторы через команды IOS?

45 голосов | спросил Stefan 20 Maypm13 2013, 17:30:08

24 ответа


38

Я часто использую

sh int | i (FastEthernet|0 packets input)

или то же самое с GigabitEthernet, любые типы интерфейсов, которые я хочу проверить.

  • sh int (который является show interfaces) предоставляет огромный список статуса ste всех интерфейсов
  • Символ трубы | может использоваться для фильтрации, а также в выражениях поиска
  • | i (для include)) фильтрует вывод, который соответствует следующим выражениям поиска
  • Я использую (...|...) для соответствия двум условиям: имя интерфейса и статус, который мне нравится видеть, мы можем использовать регулярные выражения здесь, например, это выражение «или»

Результат может выглядеть так:

...
FastEthernet1/0/31 is up, line protocol is up (connected)
     95445640 packets input, 18990165053 bytes, 0 no buffer
FastEthernet1/0/32 is up, line protocol is up (connected)
FastEthernet1/0/33 is up, line protocol is up (connected)
FastEthernet1/0/34 is down, line protocol is down (notconnect)
     0 packets input, 0 bytes, 0 no buffer
FastEthernet1/0/35 is down, line protocol is down (notconnect)
FastEthernet1/0/36 is up, line protocol is up (connected)
FastEthernet1/0/37 is down, line protocol is down (notconnect)
     0 packets input, 0 bytes, 0 no buffer
...

Теперь я могу видеть своих кандидатов, на самом деле с 0 пакетами с течением времени, даже если мое выражение совпадает с номерами, заканчивающимися на 0. Я мог бы сделать его более совершенным, но быть легко запоминающимся также является преимуществом. Имена интерфейсов прямо перед каждой строкой ввода 0 пакетов являются моими кандидатами.

  • Проверьте каждый выбранный интерфейс, если он действительно не используется sh int <name>
  • Время от времени полезно очищать счетчики: clear counters [type number]

Это может быть хорошей практикой, чтобы оставить неиспользуемое выключение коммутаторов. Поэтому их легко идентифицировать с помощью sh ip int bri или тому подобного. И вы не столкнетесь с проблемами, если используете коммутатор, который был окончательно отключен раньше.

ответил Stefan 20 Maypm13 2013, 17:30:08
25

В конечном счете ... ДОКУМЕНТАЦИЯ. Вы должны знать, где каждый патч-кабель становится на 100% уверенным, что вы не отключите что-то, что кто-то может ожидать в какой-то момент. Просто потому, что порт в настоящий момент «вниз» не означает, что кто-то его не использовал. Также только потому, что счетчики в настоящее время равны нулю, не означает, что он никогда не использовался или не будет использоваться снова в (ближайшем) будущем - счетчики могут быть очищены, а счетчики сбрасываются до нуля при загрузке.

Я работал в интернет-провайдерах и крупных предприятиях, а документация - это ключ к пониманию того, что к чему. Без этого случайные угадывания приведут к многочисленным плохим дням ... клиенты будут злиться, когда вы запускаете свою линию DSL кому-то еще, дублируете назначение адреса, завершаете неправильный интерфейс и т. Д. Шкафы для проводки в сети могут быть настоящим беспорядком; без документации, отслеживание десятков кабелей среди тысяч может быть болью (и что-то такое же простое, как и количество описаний портов).

ответил Ricky Beam 20 Maypm13 2013, 21:06:37
10

Мне также нравится

sh int | inc line protocol is|Last input

, который выводит

FastEthernet0/29 is down, line protocol is down (notconnect)
  Last input never, output never, output hang never
FastEthernet0/30 is up, line protocol is up (connected)
  Last input never, output 00:00:07, output hang never
FastEthernet0/46 is down, line protocol is down (notconnect)
  Last input never, output 6d23h, output hang never

Параметр вывода сообщает вам, когда порт видел последний трафик, который полезен для идентификации тех портов, которые изредка используются.

EDIT: Также стоит отметить (по причинам, выходящим за рамки этого вопроса), что «последний вход» почти всегда «никогда»

ответил Mike Marotta 20 Maypm13 2013, 18:31:45
9

Мне нравится @ ответ Stefan, но с этой командной строкой «sh int | i (Ethernet | 0 пакетов ввода)», который теперь захватывает все типы интерфейсов Ethernet и фильтрует ненулевые числа, которые заканчиваются на ноль. Он упомянул, что возможна какая-то тонкая настройка, поэтому это всего лишь один пример.

Другой вариант:

  sh int counters | i (Port|_0             0             0             0)

Да, требуется пробел. Самый простой способ получить пробелы - это «sh int counters» и скопировать строку со всеми нулями. Один из них заключается в том, что на полпути вниз список меняется с Input, который мы хотим, на Output, который мы не заботимся о поиске неиспользуемых портов. Преимущество этого заключается в том, чтобы показывать ТОЛЬКО порты без ввода, поэтому вам не нужно отсеять используемые порты, как вы делаете со способом Стефана.

ответил Dave Noonan 20 Maypm13 2013, 19:16:18
9

Я бы очистил вывод (или захватил его с помощью SNMP, еще лучше) и использовал стандартные инструменты UNIX для его анализа. Вот простой пример:

Здесь я сохранил частичный вывод из «show int counters» (только для демонстрационных целей) в файл, называемый «счетчики».

[[email protected]]$ cat counters
Port            InOctets    InUcastPkts    InMcastPkts    InBcastPkts
Gi1/0/1                0              0              0              0
Gi1/0/2      94949242720      556137619         571828          57745
Gi1/0/3       1522191492        8663327        1105299          55269
Gi1/0/4       3743856345       18565173        1275617          53658
Gi1/0/5                0              0              0              0
Gi1/0/6                0              0              0              0

Теперь просто используйте awk для создания отчета обо всех портах, у которых есть все четыре поля счетчика в ноль:

[[email protected]]$ cat counters | awk '{if ($2 == 0 && $3 == 0 && $4 == 0 && $5 == 0) print $1}'
Gi1/0/1
Gi1/0/5
Gi1/0/6

Основная идея заключается в том, чтобы получить все данные, которые вы используете вне устройства, чтобы вы могли делать более интеллектуальные /сложные /более простые /всевозможные синтаксические разборки и отчеты.

ПРИМЕЧАНИЕ . Для нескольких устройств с помощью утилиты Linux, такой как «экран» для регистрации вывода из соединения tty, можно сделать его действительно эффективным для быстрого поиска неиспользуемых портов на нескольких устройствах cisco. (в одном файле журнала) выполните команду, подобную следующей ... где «HOSTNAME» является универсальной частью вашей схемы имен хостов Cisco счетчики кошек | awk '{if ($ 1 == HOSTNAME ) || ($ 2 == 0 & & $ 3 == 0 & $ 4 == 0 & & $ 5 == 0) print $ 1} '

ответил netdad 20 Maypm13 2013, 19:33:55
6

Я новичок, поэтому я не могу проголосовать за ответы @ netdad и @mike pennington, но мне они нравятся. Чтобы получить ответ @Mike Pennington немного дальше, если вы недавно очистили счетчики, вы также можете запустить эту команду:

switch#sh int count | i 0 +0 + 0 +0
Gi1/3                       0             0             0             0
Gi1/11                      0             0             0             0
Gi1/19                      0             0             0             0
Gi1/21                      0             0             0             0

В этом регулярном выражении говорится «0», за которым следует 1 или более пробелов, за которым следует «0», за которым следует 1 или более пробелов, за которым следует «0», а затем 1 или более пробелов, за которым следует окончательное «0».

Надеюсь, что это поможет.

ответил Pseudocyber 23 Maypm13 2013, 16:16:40
3

Я всегда использую

show interfaces status

Он суммирует все славное и денди.

ответил user209 20 Maypm13 2013, 18:52:57
3

Если вам нужно делать это регулярно, ничто не сравнится с Perl и Net :: Telnet :: Cisco. Вы можете войти в X количество маршрутизаторов, захватить всю информацию на требуемых интерфейсах, проанализировать вывод и распечатать его в файл или отправить по электронной почте с помощью Net :: SMTP или распечатать его до стандартного вывода. Я могу привести примеры, если вы хотите, но это довольно просто.

В качестве альтернативы, если вы уже настроены на выполнение в IOS, следующий скрипт TCL даст вам результат, который вы хотите, в хорошем, чистом формате:

set show_counters [exec show interfaces counters | i 0 +0 +0 +0]
set line [split $show_counters "\n"]
foreach record $line {
    set fields [join $record " "]
    foreach field $fields {
        if { $field != 0 } {
            puts $field
        }
    }
}

Я предлагаю это, потому что TCL и как это сделать немного менее доступно [IMHO], чем Perl

ответил tylerc 24 Maypm13 2013, 16:38:57
3

Обычно я использую sh int des | ex up, в котором будут перечислены все порты, находящиеся в состоянии down

ответил udppackets 21 Maypm13 2013, 19:04:10
2
sh int | i ( 0 packets input)|proto|Desc

Ведущее пространство с 0 будет исключать большие числа, которые заканчиваются на ноль.

Лучше отключить порты (отключить), пока они не станут использоваться. Это рискованно изменить доступ к коммутатору vlan , например, на порт, который уже включен, если вы не уверены, что он не используется.

Вывод может выглядеть так, как показано ниже, сообщая нам, что коммутатор на g8 /18 отключен с 0 пакетами, поскольку последний счетчик очищается, пока используется g8 /19 (из-за отсутствия ввода «0 пакетов»).

GigabitEthernet8/18 is administratively down, line protocol is down (disabled)
  Description: 3a30
     0 packets input, 0 bytes, 0 no buffer
GigabitEthernet8/19 is up, line protocol is up (connected)
  Description: 4a25.vmhost112 (vmnic5)
  

Что касается знания того, какое гнездо патч-панели задействовано, используйте Описание   чтобы помочь вам документировать. Патч-панели должны быть подключены к   коммутаторы согласованно, поэтому легко документировать, поскольку разъем коммутационной панели для коммутатора предсказуем. я использую   формат Rack-Row-Jack в описании + имя хоста для отслеживания,   но в сжатом виде. 4b27 - это стойка 4, строка b, гнездо 27   за которым следует hostxyz или что-то вроде имени хоста. Итак, мой дескриптор читает   4b27.hostxyz.

ответил generalnetworkerror 21 Mayam13 2013, 01:36:34
2

Вот что я использовал недавно, чтобы удалить кабели из портов, которые не видели никаких действий, по крайней мере, на шесть недель:

show int | i proto.*notconnect|proto.*administratively down|Last in.* [6-9]w|Last in.*
[0-9][0-9]w|[0-9]y|disabled|Last input never, output never, output hang never
ответил Ben 28 Mayam13 2013, 08:24:22
1

Как насчет использования таблицы MAC? Он перечисляет MAC-адреса с интерфейсами, и он стареет. Вам нужно будет удалить список из IOS, чтобы выполнить отфильтрованный список уникальных адресов.

ответил WMIF 27 Mayam13 2013, 11:41:12
1
 sh int | in is down|input never, output never

FastEthernet0 is administratively down, line protocol is down 
  Last input never, output never, output hang never
GigabitEthernet1/0/2 is down, line protocol is down (notconnect) 
GigabitEthernet1/0/4 is down, line protocol is down (notconnect) 
  Last input never, output never, output hang never
GigabitEthernet1/0/13 is down, line protocol is down (notconnect) 
  Last input never, output never, output hang never
GigabitEthernet1/0/24 is down, line protocol is down (notconnect) 
  Last input never, output never, output hang never
ответил Rodrigo 10 J0000006Europe/Moscow 2014, 03:59:24
0

Это немного изменяет, но если все подключено только к одному конечному устройству, вы можете включить защиту порта с липкими адресами mac. Вернитесь через некоторое время (сколько бы вы ожидали, достаточно времени, чтобы предположить, что кто-то использовал компьютер, или он не существует), а работающий config покажет вам, если что-либо использовало этот порт. Я уверен, что вы можете использовать липкие адреса mac с максимальным количеством более одного интерфейса, если вы используете VoIP-телефоны и компьютеры на одном порту, но я не уверен.

ответил Avery Abbott 21 Mayam13 2013, 01:33:41
0

В те дни, когда было легко просто ввести:

switch 1#show ver | in uptime
switch 1 uptime is 28 weeks, 6 days, 20 hours, 19 minutes

switch 1#show inter link | in 28 weeks
Fa3/1                      28 weeks, 6 days, 20 hours, 19 minutes 16 secs
Fa3/2                      28 weeks, 6 days, 20 hours, 19 minutes 16 secs

(это версия 4500 с запущенной версией 12.2 (20))

ответил brrrp 24 Mayam13 2013, 00:50:29
0

Я думаю, что в среде Cisco лучший способ - показать показать версию , чтобы узнать время работы коммутатора и после

показать отчетность интерфейсов

Interface Vlan1 is disabled
Vlan810 
            Protocol    Pkts In   Chars In   Pkts Out  Chars Out
                  IP     709229   73055034     232297   33127143
                 ARP        738      44280         70       4200
FastEthernet0/1 
            Protocol    Pkts In   Chars In   Pkts Out  Chars Out
No traffic sent or received on this interface.

FastEthernet0/2 
            Protocol    Pkts In   Chars In   Pkts Out  Chars Out
               Other          0          0         19       6669
       Spanning Tree          0          0      18588    1115280
                 CDP          0          0        658     309918
ответил user1312 28 Mayam13 2013, 10:04:41
0

только с использованием команд IOS немного сложно - вы пропустите нечетный. Я предлагаю, чтобы другие использовали snmp (у Solarwinds есть ряд бесплатных инструментов, которые вы, возможно, захотите посмотреть) и для мониторинга устройства в течение нескольких дней (в случае необходимости) недель.

За кропотливую часть, которую вы упомянули с помощью трассировочных кабелей и т. д. То, что я сделал, чтобы свести к минимуму работу с портами сопоставления портов для портов портов и т. Д., Очищало счетчики, а затем через несколько дней использовало ловушки snmp, а затем отключая патч-панель на 1-2 секунды, и как только я получил запись в ловушке snmp монитор /приемник (порт x на модуле y спустился), я снова сделал то же самое, чтобы проверить (не то, что кто-то случайно случайно отключил устройство на одном из портов). Для панели с 24 портами может потребоваться 5 минут, поэтому это довольно быстро. Для мертвых - просто возвращайся в другой раз. Если они все еще мертвы и никаких изменений на счетчиках нет, тогда можно с уверенностью предположить, что порт фактически не используется.

ответил bit4bit 30 Maypm13 2013, 16:50:12
0

Обычно я использую «статус отображения отображения» и варианты, но я также использую аккуратную часть программного обеспечения с открытым исходным кодом под названием «Switchmap», чтобы обеспечить простой графический интерфейс. Одно из преимуществ этого заключается в том, что если порт вверх /вниз, он расскажет вам, как давно он имел на нем трафик, и вы можете позвонить оттуда, как использовать его повторно или нет.

http://sourceforge.net/projects/switchmap/

Это позволяет сохранить некоторые символы: -)

ответил steve_mils 14 J0000006Europe/Moscow 2013, 17:16:23
0
test cable diagnostics tdr interface *intname here*

Это должно показать вам, действительно ли кабель, подключенный к коммутатору, подключен к чему-либо. Независимо от его статуса. Замените test на show, чтобы получить статус.

ответил Xtala 21 Maypm13 2013, 17:43:27
0

У нас была эта проблема в нашей фирме. Мы использовали корреляцию с результатами команд «show arp» и «show mac address-table» для корреляции MAC-адресов всех компьютеров /устройств в наших посылках.

Сначала вам нужно будет составить список IP-адресов и MAC-адресов устройств в вашей сети и сопоставить их с соответствующими интерфейсами, используя приведенные выше команды ...

ответил user1663 13 J0000006Europe/Moscow 2013, 15:49:17
0

Показать краткое описание IP-интерфейса - это мой личный фаворит.

Сделать это немного легче для просмотра. Если нет, есть много инструментов, чтобы помочь отслеживать использование портов на многих коммутаторах.

ответил Oli 3 +04002013-10-03T14:29:37+04:00312013bEurope/MoscowThu, 03 Oct 2013 14:29:37 +0400 2013, 14:29:37
0

OK. Что-то, что работает на всех коммутаторах, начиная с 2900 (не имеют более старых тестов) и показывает только вниз порты.

sh int | i is down

Мне бы хотелось использовать sh int status, но после этого результат connected и notconnected), поэтому исключить или включить делайте что-нибудь хорошее, потому что связанное слово является частью обоих, поэтому вы получаете историю.

В моем случае на 3524 я получаю это ниже с помощью обеих команд, чтобы очистить его:

SD-LIB-C3524#sh int status

Port    Name               Status       Vlan     Duplex Speed   Type
------- ------------------ ------------ -------- ------ ------- ----
Fa0/1                      notconnect   10         Auto    Auto 100BaseTX/FX
Fa0/2                      notconnect   10         Auto    Auto 100BaseTX/FX
Fa0/3                      connected    10       A-Full   A-100 100BaseTX/FX
Fa0/4                      notconnect   10         Auto    Auto 100BaseTX/FX
Fa0/5                      notconnect   10         Auto    Auto 100BaseTX/FX
Fa0/6                      notconnect   10         Auto    Auto 100BaseTX/FX
Fa0/7                      notconnect   10         Auto    Auto 100BaseTX/FX
Fa0/8                      notconnect   10         Auto    Auto 100BaseTX/FX
Fa0/9                      connected    10       A-Full   A-100 100BaseTX/FX
Fa0/10                     notconnect   10         Auto    Auto 100BaseTX/FX
Fa0/11                     connected    10       A-Full   A-100 100BaseTX/FX
Fa0/12                     connected    10       A-Full   A-100 100BaseTX/FX
Fa0/13  WiFi SD-LIB-15     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/14  WiFi SD-LIB-22     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/15  WiFi SD-LIB-16     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/16  WiFi SD-LIB-23     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/17  WiFi SD-LIB-17     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/18  WiFi SD-LIB-24     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/19  WiFi SD-LIB-18     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/20  WiFi SD-LIB-14     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/21  WiFi SD-LIB-19     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/22  WiFi SD-LIB-21     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/23  WiFi SD-LIB-20     connected    40       A-Full   A-100 100BaseTX/FX
Fa0/24  SD-LIB-3C4500-50P  connected    trunk    A-Full   A-100 100BaseTX/FX
Gi0/1                      notconnect   trunk      Auto    1000 Missing
Gi0/2                      notconnect   10         Auto    1000 Missing

SD-LIB-C3524#sh int | i is down
VLAN1 is up, line protocol is down
FastEthernet0/1 is down, line protocol is down
FastEthernet0/2 is down, line protocol is down
FastEthernet0/4 is down, line protocol is down
FastEthernet0/5 is down, line protocol is down
FastEthernet0/6 is down, line protocol is down
FastEthernet0/7 is down, line protocol is down
FastEthernet0/8 is down, line protocol is down
FastEthernet0/10 is down, line protocol is down
GigabitEthernet0/1 is down, line protocol is down
GigabitEthernet0/2 is down, line protocol is down
SD-LIB-C3524#
ответил George Z 21 PMpMon, 21 Apr 2014 22:04:46 +040004Monday 2014, 22:04:46
-1

На устройствах Cisco вы можете использовать;

sh int status

В то время как на устройствах HP команда:

sh int brief
ответил Thomas 26 Maypm13 2013, 22:26:36
-2

Я думаю, что вы ищете сумму, основанную на статусе? по крайней мере, это звучит как ваш вопрос.

show interfaces status | count notconnect|connected

дает вам хороший счет того, что связано или нет.

ответил steve 8 Maypm15 2015, 17:46:29

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132