Страницы

Поиск по вопросам

пятница, 27 декабря 2019 г.

SNMP опрос свичей, поиск MAC, опознание транков

#linux #сеть #ethernet #snmp #коммутатор


Имею кучку свичей HP Procurve 2848,3500

Хочу выяснить соответствие MAC=PORT на них. Делаю путем опроса SNMP

snmpwalk -v2c -c public switch1.mydomain 1.3.6.1.2.1.17.7.1.2.2.1.2 


В данном виде получаю кучку строк вида

SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.27.120.236.125.187 = INTEGER: 36
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.29.96.154.226.97 = INTEGER: 6
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.30.11.7.132.102 = INTEGER: 30
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.30.11.234.50.104 = INTEGER: 49
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.30.11.234.209.106 = INTEGER: 49
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.1.30.11.234.225.144 = INTEGER: 49
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.1.30.103.80.144.161 = INTEGER: 292
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.1.31.41.235.36.67 = INTEGER: 49
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.1.33.90.221.183.59 = INTEGER: 49


После фильтрации (отброс ненужного, dec2hex, выделение порта)

snmpwalk -v2c -c public switch1.mydomain 1.3.6.1.2.1.17.7.1.2.2.1.2 | sed "s/\./
/g; s/SNMPv2-SMI::mib-2 17 7 1 2 2 1 2 //g ; s/ = INTEGER://g" | awk '{printf "MAC:%02X%02X%02X%02X%02X%02X
Port %02d\n",$2,$3,$4,$5,$6,$7,$8}'


Получаю вот такой список

MAC:001B78EC7DBB Port 36
MAC:001D609AE261 Port 06
MAC:001E0B078466 Port 30
MAC:001E0BEA3268 Port 49
MAC:001E0BEAD16A Port 49
MAC:011E0BEAE190 Port 49
MAC:011E675090A1 Port 292
MAC:011F29EB2443 Port 49
MAC:01215ADDB73B Port 49


Свич имеет 48 обычных порта, + 4 10GbE для связи с другими свичами (не знаю как называются
они правильно 2x10GbE-GEN, 2x10GbE-CX4 )

Все бы ничего, пока порты идут <= 48. Когда порты идут >48 (то это как раз эти 4
дополнительных (в свиче они обозначаются как А1-А4)). И если продолжать обычную нумерацию
то 49,50,51,51. С этим тоже проблем нет, если порт >48, то МАС на другом свиче, идем
туда и ищем пока порт не будет <=48.

А вот порты 291, 294, 297.. и прочие, опытным путем установлено,что это транки (Trk1..TrkN).

Но как понять какой именно транк, на каких портах и с какой нумерации они вообще
идут - загадка. 

P.S. Нашел snmp бразером соответствие цифр и человеческих названий - 

snmpwalk -v2c -c public switch1.mydomain .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr


Выдает 

IF-MIB::ifDescr.47 = STRING: 47
IF-MIB::ifDescr.48 = STRING: 48
IF-MIB::ifDescr.49 = STRING: A1
IF-MIB::ifDescr.50 = STRING: A2
IF-MIB::ifDescr.51 = STRING: A3
IF-MIB::ifDescr.52 = STRING: A4
IF-MIB::ifDescr.291 = STRING: Trk2
IF-MIB::ifDescr.292 = STRING: Trk3
IF-MIB::ifDescr.293 = STRING: Trk4


Пожалуй это то что надо!
    


Ответы

Ответ 1



Нашел snmp бразером соответствие цифр и человеческих названий - snmpwalk -v2c -c public switch1.mydomain .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr

Комментариев нет:

Отправить комментарий