Dit document beschrijft hoe u Simple Network Management Protocol (SNMP) kunt gebruiken om het poortnummer op een Cisco Catalyst switch te verkrijgen waarvan u het MAC-adres weet.
Lezers van dit document zouden kennis moeten hebben van deze onderwerpen:
Hoe VLAN’s uit een Catalyst-switch te verkrijgen met gebruik van SNMP
Hoe gebruikt u community string-indexering met SNMP
Algemeen gebruik van de SNMP krijgt opdracht en loopt u af
Dit document is van toepassing op Catalyst switches die reguliere Catalyst OS (CatOS) of Cisco IOS® Software uitvoeren. De software ondersteunt de BRIDGE-MIB en de IF-MIB.
De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:
Catalyst 3524XL-software voor Cisco IOS-softwarerelease 12.0(5)WC5a
NetSNMP versie 5.0.6
N.B.: Raadpleeg voor het verkrijgen van deze software Net-SNMP .
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.
Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.
Voor meer informatie over het vragen van de content-adressable memory (CAM) tabel, VLAN’s en alle verwante MIB’s, zoals CISCO-VTP-MIB en de BRIDGE-MIB, verwijzen naar de Background sectie van het document How to Get Dynamic CAM Entries (CAM Tabel) voor Catalyst Switches die SNMP gebruiken.
.1.3.6.1.2.1.17.4.3.1.1 dot1dTpFdbAddress OBJECT-TYPE -- FROM BRIDGE-MIB -- TEXTUAL CONVENTION MacAddress SYNTAX OCTET STRING (6) MAX-ACCESS read-only STATUS Mandatory DESCRIPTION "A unicast MAC address for which the bridge has forwarding and/or filtering information." ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) dot1dBridge(17) dot1dTp(4) dot1dTpFdbTable(3) dot1dTpFdbEntry(1) 1 } .1.3.6.1.2.1.17.4.3.1.2 dot1dTpFdbPort OBJECT-TYPE -- FROM BRIDGE-MIB SYNTAX Integer MAX-ACCESS read-only STATUS Mandatory DESCRIPTION "Either the value "0", or the port number of the port on which a frame having a source address equal to the value of the corresponding instance of dot1dTpFdbAddress has been seen. A value of "0" indicates that the port number has not been learned, but that the bridge does have some forwarding/filtering information about this address (that is, in the StaticTable). Implementors are encouraged to assign the port value to this object whenever it is learned, even for addresses for which the corresponding value of dot1dTpFdbStatus is not learned(3)." ::= { iso(1) org(3) dod(6) internet(1) mgmt(2) mib-2(1) dot1dBridge(17) dot1dTp(4) dot1dTpFdbTable(3) dot1dTpFdbEntry(1) 2 } .1.3.6.1.2.1.2.2.1.1 ifIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "A unique value, greater than zero, for each interface. It is recommended that values are assigned contiguously starting from 1. The value for each interface sub-layer must remain constant at least from one re-initialization of the entity's network management system to the next re- initialization." ::= { ifEntry 1 } .1.3.6.1.2.1.17.1.4.1.2 dot1dBasePortIfIndex OBJECT-TYPE SYNTAX INTEGER ACCESS read-only STATUS mandatory DESCRIPTION "The value of the instance of the ifIndex object, defined in MIB-II, for the interface corresponding to this port." ::= { dot1dBasePortEntry 2 } .1.3.6.1.2.1.31.1.1.1.1 ifName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The textual name of the interface. The value of this object should be the name of the interface as assigned by the local device and should be suitable for use in commands entered at the device's `console'. This might be a text name, such as `le0' or a simple port number, such as `1', depending on the interface naming syntax of the device. If several entries in the ifTable together represent a single interface as named by the device, then each will have the same value of ifName. Note that for an agent which responds to SNMP queries concerning an interface on some other (proxied) device, then the value of ifName for such an interface is the proxied device's local name for it. If there is no local name, or this object is otherwise not applicable, then this object contains a zero-length string." ::= { ifXEntry 1 }
Voltooi de stappen in deze sectie om SNMP te gebruiken om het poortnummer te krijgen waarop een MAC-adres is geleerd. Bedenk dat het poortnummer in VLAN1 is.
Opmerking: In de opdrachten in dit gedeelte:
publiek is de leest community string.
@1 is het VLAN 1 deel van de gelezen community-string.
crumpy is de naam van de apparaathost.
Opmerking: U kunt het IP-adres voor deze host-naam ook gebruiken.
Opmerking: De sectie Conclusie gebruikt de waarden die in cursief weergegeven zijn in de opdrachtoutput.
Neem de VLAN’s terug. Gebruik de opdracht tussenstappen op het vtpVLANState-object (.1.3.6.1.4.1.9.9.46.1.3.1.1.2 ):
%snmpwalk -c public crumpy .1.3.6.1.4.1.9.9.46.1.3.1.1.2 CISCO-VTP-MIB::vtpVlanState.1.1 = INTEGER: operational(1) CISCO-VTP-MIB::vtpVlanState.1.3 = INTEGER: operational(1) CISCO-VTP-MIB::vtpVlanState.1.7 = INTEGER: operational(1) CISCO-VTP-MIB::vtpVlanState.1.10 = INTEGER: operational(1) ...
Opmerking: deze opdracht gebruikt indexering van de string van de gemeenschap. De opdracht gebruikt ook vtpVLAN-staat, die OID 1.3.6.1.4.1.9.9.46.1.3.1.2 heeft. Als u de MIBs aan uw netwerkbeheersysteem (NMS) hebt geladen, kunt u de objectnaam in plaats van de OID gebruiken. Geef deze opdracht in plaats daarvan uit:
%snmpwalk -c public@1 crumpy vtpVlanState
Opmerking: U kunt de objectnamen ook gebruiken in stap 2 tot en met 6.
Geef deze opdracht uit om de MAC-adrestabel te verkrijgen door in aanmerking te nemen dat de poort tot VLAN1 behoort:
snmpwalk -c public@1 crumpy .1.3.6.1.2.1.17.4.3.1.1 17.4.3.1.1.0.0.12.7.172.8 = Hex: 00 00 0C 07 AC 08 17.4.3.1.1.0.1.2.27.80.145 = Hex: 00 01 02 1B 50 91 17.4.3.1.1.0.1.3.72.77.90 = Hex: 00 01 03 48 4D 5A 17.4.3.1.1.0.1.3.72.221.191 = Hex: 00 01 03 48 DD BF ...
Opmerking: Geef het juiste VLAN-nummer op na de string van de gemeenschap. In dit voorbeeld is het VLAN1.
De opdracht maakt een lijst van alle MAC-adressen die zijn geleerd op alle poorten die tot VLAN 1 behoren.
Geef deze opdracht uit om het versiepoortnummer voor VLAN 1 te bepalen:
snmpwalk -c public@1 crumpy .1.3.6.1.2.1.17.4.3.1.2 17.4.3.1.2.0.0.12.7.172.8 = 13 17.4.3.1.2.0.1.2.27.80.128 = 13 17.4.3.1.2.0.1.2.27.80.145 = 13 17.4.3.1.2.0.1.2.163.145.225 = 13 ...
Opmerking: VLAN 1 is dot1dTpFdb-poort of .1.3.6.1.2.1.17.4.3.1.2.
Geef deze opdracht uit om de overbruggingspoort naar de ifIndex in kaart te brengen, OID 1.3.6.1.2.1.2.2.1.1:
snmpwalk -c public@1 crumpy .1.3.6.1.2.1.17.1.4.1.2 17.1.4.1.2.13 = 2 17.1.4.1.2.14 = 3 17.1.4.1.2.15 = 4 17.1.4.1.2.16 = 5
Deze opdracht vraagt om de dot1dBasePortAsIndex, die OID 1.3.6.1.2.1.17.1.4.1.2 heeft.
Gebruik de opdracht lopen met ifName om de ifIndex waarde te correleren met een juiste naam.
Deze opdracht geven:
Opmerking: Indien de naam OID 1.3.6.1.2.1.31.1.1.1.1 heeft.
snmpwalk -c public@1 crumpy .1.3.6.1.2.1.31.1.1.1.1 ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.1 = VL1 ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.2 = Fa0/1 ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.3 = Fa0/2 ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.4 = Fa0/3 ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.5 = Fa0/4 ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.6 = Fa0/5 ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.7 = Fa0/6 ...
Koppel een MAC-adres aan de poort waarop het adres is aangehaald.
Vanaf stap 1 is het MAC-adres:
17.4.3.1.1.0.0.12.7.172.8 = Hex: 00 00 0C 07 AC 08
Vanaf Stap 2, vertelt de bridge poort dat het MAC-adres tot bridge poort nummer 13 behoort:
17.4.3.1.2.0.0.12.7.172.8 = 13
Vanaf stap 3 heeft de bridge poort nummer 13 ifIndex nummer 2:
17.1.4.1.2.13 = 2
Vanaf stap 4 komt ifIndex 2 overeen met poort Fast Ethernet 0/1:
ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.2 = Fa0/1
Het MAC-adres 00 00 0C 07 AC 08 wordt geleerd op poort Fa0/1.
Vergelijk deze conclusie met opbrengst:
De dynamische opdracht van de show voor CatOS-switches
De opdracht show mac voor Cisco IOS-softwareswitches
Hier is de voorbeelduitvoer:
crumpy# show mac Dynamic Address Count: 58 Secure Address Count: 2 Static Address (User-defined) Count: 0 System Self Address Count: 51 Total MAC addresses: 111 Maximum MAC addresses: 8192 Non-static Address Table: Destination Address Address Type VLAN Destination Port ------------------- ------------ ---- ------------------- 0000.0c07.ac08 Dynamic 1 FastEthernet0/1 0001.021b.5091 Dynamic 1 FastEthernet0/1 0001.0348.4d5a Dynamic 1 FastEthernet0/1 0001.0348.ddbf Dynamic 1 FastEthernet0/1 0001.972d.dfae Dynamic 1 FastEthernet0/1 0002.55c6.cfe7 Dynamic 1 FastEthernet0/1 0002.7d61.d400 Dynamic 1 FastEthernet0/1 …