Entrées Mac / CAM provenant de commutateurs non Cisco avec Q-BRIDGE-MIB

12

Comment faire l'indexation de chaînes de communauté pour d'autres commutateurs comme D link DES 3526 et Brocade Fastiron SX800 ?

J'exécute un programme java pour interroger un vlan spécifique sur un commutateur Brocade sx 800 l3. Le programme génère une "erreur de temporisation". J'ai ensuite vérifié le journal du commutateur, qui indique que la chaîne de communauté n'est pas valide . Je rencontre des problèmes avec la syntaxe "community @ vlanid".

Affichage de tous les VLAN et de leurs noms:

Affichage de tous les VLAN et de leurs noms

Quelqu'un pourrait-il me dire l'indexation des chaînes de communauté pour les commutateurs autres que Cisco?

ÉDITER

J'ai essayé les commandes en CLI avec Net-SNMP:

SysDescr de sondage:

snmpwalk -v 2c -c public 10.21.200.4 1.3.6.1.2.1.1.1
SNMPv2-MIB::sysDescr.0 = STRING: DES-3526 Fast-Ethernet Switch

Sondage dot1dTpFdbAddress (Vlan par défaut):

snmpbulkwalk -v 2c -c public 10.21.200.4 1.3.6.1.2.1.17.4.3.1.1
SNMPv2-SMI::mib-2.17.4.3.1.1.0.27.17.189.90.220 = Hex-STRING: 00 1B 11 BD 5A DC
SNMPv2-SMI::mib-2.17.4.3.1.1.4.254.127.149.86.136 = Hex-STRING: 04 FE 7F 95 56 88

Sondage dot1dTpFdbAddress (Vlan4 par défaut):

snmpbulkwalk -v 2c -c public@4 10.21.200.4 .1.3.6.1.2.1.17.4.3.1.1
Timeout: No Response from 10.21.200.4

Netdisco répertoriant tous les ports et les adresses MAC correspondantes Netdisco répertoriant tous les ports et les adresses MAC correspondantes

Je veux récupérer toutes les adresses MAC des ports individuels. La MIB Q-Bridge affiche tous les ports du commutateur mais malheureusement, l'adresse OID de l'adresse MAC n'est pas accessible. D'un autre côté, l'utilisation de Bridge MIB répertorie uniquement les adresses MAC du Vlan par défaut. PS: l'indexation des chaînes de la communauté (coommstring @ vlanid) pour accéder aux autres vlans ne fonctionne qu'avec les commutateurs CISCO.

Abhishek Balaji R
la source
Quels OID interrogez-vous? Pour info, à part BRIDGE-MIB ou Q-BRIDGE-MIB , je ne peux pas penser aux OID qui nécessitent une indexation avec vlan id
Mike Pennington
Oui, le Bridge MIB uniquement. J'essaie d'interroger dot1dTpFdbAddress pour récupérer la table MAC à partir d'un Vlanid spécifique (vlan: 4) sur le commutateur Brocade SX 800 (OID: 1.3.6.2.3.1.17.4.3.1.1). Je crois qu'il y a une erreur dans la syntaxe public @ 4. Pouvez-vous clarifier cela?
Abhishek Balaji R
1
Test de diagnostic ... Le polling sysdescr fonctionne-t-il? snmpget -v 2c -c public [SWITCH-ADDRESS-HERE] .1.3.6.1.2.1.1.1.0
Mike Pennington
Oui ça a marché. Je pourrais récupérer la liste des vlans disponibles sur le commutateur Sx 800. Je pourrais également obtenir la table MAC pour le Vlanid par défaut, qui dans mon cas est vlanid 1. Le problème est la récupération des tables MAC à partir d'autres Vlans. Pour info je suis en codage en environnement Java (SNMP4j). Je vous remercie.
Abhishek Balaji R
Vérifions maintenant que le commutateur se comporte. S'il vous plaît essayer (de la CLI avec Net-SNMP ), snmpbulkwalk -v 2c -c public@4 [SWITCH-ADDRESS-HERE] .1.3.6.1.2.1.17.4.3.1.1. Cela vous donne-t-il ce dont vous avez besoin?
Mike Pennington

Réponses:

7

Quelqu'un pourrait-il me dire l'indexation des chaînes de communauté pour les commutateurs autres que Cisco?

Éditer:

Voici comment interroger Q-BRIDGE-MIB pour les adresses mac du seul non-Cisco que j'ai, un DLink DGS-3200. Je n'utilise pas [community @ vlan] pour les commutateurs non Cisco. Vous avez raison de dire que cette indexation ne s'applique qu'aux Ciscos. Je m'attends à ce que tout commutateur non Cisco, qui prend en charge Q-BRIDGE-MIB fonctionne de la même manière.

Interroger sysDescr pour documenter le commutateur sous test

[mpenning@tsunami ~]$ # Demo from a DLink DGS-3200 switch
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq 172.16.1.2 sysdescr
sysDescr.0 "DGS-3200-10 Gigabit Ethernet Switch"
[mpenning@tsunami ~]$

Walking dot1qVlanStaticName : Liste des VLAN et leurs noms de texte

[mpenning@tsunami ~]$
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public 172.16.1.2 .1.3.6.1.2.1.17.7.1.4.3.1.1
BRIDGE-MIB::dot1dBridge.7.1.4.3.1.1.1 = STRING: "default"
[mpenning@tsunami ~]$

dot1qFdbDynamicCount : nombre d'adresses mac connues

[mpenning@tsunami ~]$ 
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public  172.16.1.2 .1.3.6.1.2.1.17.7.1.2.1.1.2
BRIDGE-MIB::dot1dBridge.7.1.2.1.1.2.1 = Counter32: 17
[mpenning@tsunami ~]$

dot1qVlanCurrentEgressPorts : bitmap des ports dans le vlan

[mpenning@tsunami ~]$ 
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public 172.16.1.2 .1.3.6.1.2.1.17.7.1.4.2.1.4
BRIDGE-MIB::dot1dBridge.7.1.4.2.1.4.2562.1 = Hex-STRING: FF C0 00 00
[mpenning@tsunami ~]$

dot1qTpFdbPort : toutes les adresses MAC apprises

Les adresses mac apparaissent sous la forme d'une chaîne de six chiffres décimaux dans les index de dot1qTpFdbPort . Notez que j'ai un commutateur en aval connecté à ce commutateur sur le port 1/5...

[mpenning@tsunami ~]$ 
[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public 172.16.1.2 .1.3.6.1.2.1.17.7.1.2.2.1.2
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.13.101.22.202.65 = INTEGER: 5
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.13.189.7.134.128 = INTEGER: 5
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.13.189.7.134.129 = INTEGER: 5
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.29.161.205.83.70 = INTEGER: 9
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.48.27.188.167.215 = INTEGER: 2
BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.192.183.110.158.29 = INTEGER: 3

... more entries here
[mpenning@tsunami ~]$

dot1dBasePortIfIndex : mappez les valeurs de dot1qTpFdbPort à un ifIndex

[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq 172.16.1.26 .1.3.6.1.2.1.17.1.4.1.2
dot1dBasePortIfIndex[1] 1
dot1dBasePortIfIndex[2] 2
dot1dBasePortIfIndex[3] 3
dot1dBasePortIfIndex[4] 4
dot1dBasePortIfIndex[5] 5
dot1dBasePortIfIndex[6] 6
dot1dBasePortIfIndex[7] 7
dot1dBasePortIfIndex[8] 8
dot1dBasePortIfIndex[9] 9
dot1dBasePortIfIndex[10] 10

ifName : mappez les valeurs de ifIndex à un ifName

[mpenning@tsunami ~]$ snmpbulkwalk -v 2c -c public -OXsq 172.16.1.26 ifName
ifName[1] 1/1
ifName[2] 1/2
ifName[3] 1/3
ifName[4] 1/4
ifName[5] 1/5
ifName[6] 1/6
ifName[7] 1/7
ifName[8] 1/8
ifName[9] 1/9
ifName[10] 1/10
ifName[5121] System
[mpenning@tsunami ~]$

ORIGINAL:

Il y a une erreur dans votre OID, vous utilisez 1.3.6.2.3.1.17.4.3.1.1; cependant, dot1dTpFdbAddress l' est 1.3.6.1.2.1.17.4.3.1.1.

La différence change quelques octets, ci-dessous ...

OID Incorrect: 1.3.6.2.3.1.17.4.3.1.1   <--- Not this
OID Corrected: 1.3.6.1.2.1.17.4.3.1.1   <--- Use this
                     ^ ^
                     | |
Mike Pennington
la source
la commande suivante ne renvoie rien que snmpwalk -c public -v1 netgearpt01 .1.3.6.1.2.1.17.4.3.1.1j'essaye de réaliser cisco.com/c/en/us/support/docs/ip/… sur a netgear gs752txs. ce guide fonctionne pour un netgear gsm7328savec v2c j'obtiens ce qui suitsnmpwalk -c public -v2c netgearpt01 .1.3.6.1.2.1.17.4.3.1.1 SNMPv2-SMI::mib-2.17.4.3.1.1 = No Such Instance currently exists at this OID
shorif2000
@sharif, que se passe-t-il lorsque vous sondez snmpwalk -v 2c -c public netgearpt01 .1.3.6.1.2.1.1.1? Cela vient juste sysDescrde l'interrupteur.
Mike Pennington
Oui. je reçois SNMPv2-MIB::sysDescr.0 = STRING: GS752TXS ProSafe 52-Port Gigabit Stackable Smart Switch with 10G uplinks, 6.1.0.12, B5.2.0.1. Disons que j'ai un réseau de commutateurs. je veux localiser à quel swictch et prot il est connecté actuellement. l'adresse mac est 00:04:f2:e2:67:62. courir snmpwalk -v 2c -c public netgearpt02 .1.3.6.1.2.1.17.7.1.2.2.1.2me donne une longue liste. comment pourrais-je convertir l'adresse mac en un nombre hexadécimal à 6 chiffres pour savoir sur quel port elle se trouve? netgearpt02est mon commutateur de niveau supérieur
shorif2000
Considérez la première valeur retournée ci-dessus lorsque j'ai marché dot1qTpFdbPort; la première entrée que j'ai eue était de BRIDGE-MIB::dot1dBridge.7.1.2.2.1.2.1.0.13.101.22.202.65 = 5retour. 0.13.101.22.202.651est l'adresse mac codée en décimal (c'est-à-dire 00:13:65:16:ca:41). Cela est appris sur dot1dBasePortIfIndex5, qui correspond bien sûr à un ifNamecomme indiqué ci-dessus.
Mike Pennington
1
50 est l'indice du port. Sinon, l'algorithme que vous avez décrit fonctionne. Vous devez exécuter un balayage ping sur le sous-réseau avant les interrogations pour garantir un nombre maximal de macs dans la table des commutateurs.
Mike Pennington