IP : Simple Network Management Protocol (SNMP)

Usando SNMP para localizar um número de porta de um endereço MAC em um Switch Catalyst

14 Outubro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback


Índice


Introdução

Este documento descreve como usar o Simple Network Management Protocol (SNMP) para se obter o número da porta do switch Cisco Catalyst cujo endereço MAC você conhece.

Pré-requisitos

Requisitos

Os leitores deste documento devem estar cientes destes tópicos:

  • Como obter VLAN de um Catalyst Switch com uso do SNMP

  • Como usar a indexação de séries de comunidades com SNMP

  • Uso geral do comando get e do comando walk SNMP

Componentes Utilizados

Este documento aplica-se aos Catalyst Switches que executa o OS regular do catalizador (Cactos) ou o software do ½ do ¿  de Cisco IOSïÂ. Os suportes de software o BRIDGE-MIB e o IF-MIB.

As informações neste documento são baseadas nestas versões de software e hardware:

  • Catalyst 3524XL que executa o Cisco IOS Software Release 12.0(5)WC5a

  • Versão 5.0.6 Rede-SNMP

    Nota: Para obter este software, refira o Rede-SNMPleavingcisco.com .

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.

Convenções

Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.

Background

Para obter mais informações sobre de como perguntar a tabela de memória de conteúdo endereçável (CAM), os VLAN, e todo o MIBs relacionado, tal como o CISCO-VTP-MIB e o BRIDGE-MIB, referem a seção do fundo do documento como obter entradas dinâmica de CAM (tabela CAM) para Catalyst Switches usando o SNMP.

Detalhes dos variáveis MIB, que inclui os identificadores de objeto (os OID)

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

Obtenha o número de porta em que um MAC address foi aprendido

Instruções passo a passo

Termine as etapas nesta seção a fim usar o SNMP para obter o número de porta em que um MAC address foi aprendido. Considere que o número de porta está no VLAN1.

Nota: Nos comandos nesta seção:

  • o público é a série de comunidade de leitura.

  • @1 é o VLAN1 parte da série de comunidade de leitura.

  • crumpy é o nome de host do dispositivo.

    Nota: Você pode igualmente usar o endereço IP de Um ou Mais Servidores Cisco ICM NT para este nome de host.

Nota: A seção da conclusão usa os valores que aparecem nos itálicos na saída do comando.

  1. Recupere os VLAN. Use o comando snmpwalk no objeto do vtpVlanState (.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)
    ...

    Nota: Este comando usa a indexação de séries de comunidades. O comando igualmente usa o vtpVlanState, que tem OID .1.3.6.1.4.1.9.9.46.1.3.1.1.2. Se você carregou o MIBs a seu sistema de gerenciamento de rede (NMS), você pode usar o nome de objeto em vez do OID. Emita este comando pelo contrário:

    %snmpwalk -c public@1 crumpy vtpVlanState
    

    Nota: Você pode igualmente usar os nomes de objeto em etapas 2 com o 6.

  2. Emita este comando a fim obter a tabela de endereços MAC considerando que a porta pertence ao VLAN1:

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

    Nota: Forneça o número de VLAN apropriado após o string de comunidade. Neste exemplo, é VLAN1.

    As lista de comando todos os endereços MAC que foram aprendidos em todas as portas que pertencem ao VLAN1.

  3. Emita este comando determinar o número de porta de Bridge para o VLAN1:

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

    Nota: O VLAN1 é dot1dTpFdbPort, ou .1.3.6.1.2.1.17.4.3.1.2.

  4. Emita este comando traçar a porta de Bridge ao ifIndex, 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

    Este comando pergunta o dot1dBasePortIfIndex, que tem OID .1.3.6.1.2.1.17.1.4.1.2.

  5. Use o comando walk com ifName a fim correlacionar o valor do ifIndex com um nome da porta correto.

    Emita este comando:

    Nota: O ifName tem OID .1.3.6.1.2.1.31.1.1.1.1.

    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. Ligue um MAC address à porta em que o endereço era instruído.

    • No passo 1, o endereço MAC é:

      17.4.3.1.1.0.0.12.7.172.8 = Hex: 00 00 0C 07 AC 08
    • De etapa 2, a porta de Bridge diz que o MAC address pertence ao número de porta de Bridge 13:

      17.4.3.1.2.0.0.12.7.172.8 = 13 
    • De etapa 3, o número de porta de Bridge 13 tem o ifIndex número 2:

      17.1.4.1.2.13 = 2
    • No Passo 4, o ifIndex 2 corresponde à porta Fast Ethernet 0/1:

      ifMIB.ifMIBObjects.ifXTable.ifXEntry.ifName.2 = Fa0/1

Conclusão

O MAC address 00 00 0C 07 AC08 é aprendido no Fa0/1 da porta.

Compare esta conclusão com a saída de:

  • O comando show cam dynamic para switch Cactos

  • O comando show mac para o Switches do Cisco IOS Software

Está aqui o exemplo de saída:

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
…

Informações Relacionadas


Document ID: 44800