Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Conventies

Achtergrond

Details van de MIB - variabelen, die Objectidentificatoren (OID's) omvatten

Verkrijg het poortnummer waarop een MAC-adres is geleerd

Stapsgewijze instructies

Gerelateerde informatie

Inleiding

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.

Voorwaarden

Vereisten

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

Gebruikte componenten

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.

Conventies

Raadpleeg Cisco Technical Tips Conventions (Conventies voor technische tips van Cisco) voor meer informatie over documentconventies.

Achtergrond

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.

Details van de MIB - variabelen, die Objectidentificatoren (OID's) omvatten

.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 }

Verkrijg het poortnummer waarop een MAC-adres is geleerd

Stapsgewijze instructies

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.

1. 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.

2. 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.

3. 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.

4. 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.

5. 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

...

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

Conclusie

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

…

Gerelateerde informatie

- SNMP-object-navigator

- Technische ondersteuning en documentatie – Cisco Systems