baixa a configuração do cisco com o snmpget

3

Atualmente tenho problemas usando o snmpset para obter a configuração do cisco de um servidor de monitoramento.

Aqui está o que eu sugiro:

snmpset -v2c -cvtmYdXVHfo9v38oAbtACikvV calcium \
1.3.6.1.4.1.9.9.96.1.1.1.1.2.111 integer 1 \
1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 integer 4 \ 
1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 integer 1 \
1.3.6.1.4.1.9.9.96.1.1.1.1.5.111 ipaddress 172.23.129.4 \
1.3.6.1.4.1.9.9.96.1.1.1.1.6.111 octetstring "config" \
1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 integer 4

Seguindo a documentação disponível em cisco_snmp_doc :

ccCopyProtocol is 1.3.6.1.4.1.9.9.96.1.1.1.1.2
ccCopySourceFileType 1.3.6.1.4.1.9.9.96.1.1.1.1.3
ccCopyDestFileType 1.3.6.1.4.1.9.9.96.1.1.1.1.4
ccCopyServerAddress 1.3.6.1.4.1.9.9.96.1.1.1.1.5
ccCopyFileName 1.3.6.1.4.1.9.9.96.1.1.1.1.6
ccCopyEntryRowStatus 1.3.6.1.4.1.9.9.96.1.1.1.1.14

A documentação da Cisco indica para especificar um inteiro aleatório (aqui, 111, como está na documentação, mas especificando 1 não muda nada)

Aqui está o que eu recebo:

1.3.6.1.4.1.9.9.96.1.1.1.1.5.111: Value out of range (172.23.129.4)
1.3.6.1.4.1.9.9.96.1.1.1.1.6.111: Unknown Object Identifier \
(Sub-id not found: (top) -> config)

Obviamente, não consigo definir o endereço IP do meu servidor para o oid relacionado. Além disso, não consigo descobrir o que o segundo erro significa.

Alguém pode me dar algum conselho? Qualquer ajuda ou pista seria profundamente apreciada

Muito obrigado:)

    
por philippe 15.09.2011 / 11:13

3 respostas

2

Sua pergunta inicial dizia que você estava tentando obter a configuração de um servidor de monitoramento, mas sua resposta a petrus indica que você deseja copiar a configuração para o servidor e é isso que o seu exemplo original mostra, então eu suponho que é isso que você está procurando.

Duas coisas:

1 - Isso não funciona para mim sem um. no início do OIDS numérico.

2 - Parece que os valores TYPE disponíveis com a sua versão do snmpget não correspondem àqueles no documento da Cisco (eles dizem que usam a versão HPOV do snmpset). Tente executar o 'snmpset' sem nenhum parâmetro e veja o que você obtém; se você estiver usando o Net-SNMP, deve haver uma seção próxima ao fundo que especifique os TYPEs disponíveis.

-

Aqui estão os passos que usei no passado, usando Net-SNMP e CISCO-CONFIG-COPY-MIB (desculpas pelo tamanho):

Passo 1: Configure o ccCopyEntryTable com o protocolo desejado (tftp = 1), o tipo de arquivo de origem (runningConfig = 4), o tipo de arquivo de destino (networkFile = 1), o endereço IP de seu servidor tftp e o nome de arquivo desejado no servidor tftp . Por último, defina o RowStatus como "createAndGo" (4).

Numericamente:

snmpset -v 2c -c private lab-rtr1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.2.111 i 1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 i 4 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 i 1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.5.111 a 10.1.1.1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.6.111 s "lab-rtr1-confg" \
.1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 4

Usando os OIDs de texto do MIB:

snmpset -O s -m CISCO-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 \
ccCopyProtocol.111 i 1 \
ccCopySourceFileType.111 i 4 \
ccCopyDestFileType.111 i 1 \
ccCopyServerAddress.111 a 10.1.1.1 \
ccCopyFileName.111 s "lab-rtr1-confg" \
ccCopyEntryRowStatus.111 i 4

Você deve receber algo assim:

ccCopyProtocol.111 = INTEGER: tftp(1)
ccCopySourceFileType.111 = INTEGER: runningConfig(4)
ccCopyDestFileType.111 = INTEGER: networkFile(1)
ccCopyServerAddress.111 = IpAddress: 10.1.1.1
ccCopyFileName.111 = STRING: lab-rtr1-confg
ccCopyEntryRowStatus.111 = INTEGER: createAndGo(4)

Passo 2: Verifique o estado:

snmpget -v 2c -c private lab-rtr1 .1.3.6.1.4.1.9.9.96.1.1.1.1.10.111

Versão em texto:

snmpget -O s -m CISCO-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 ccCopyState.111

Você deve receber um "3", para o sucesso (verifique o MIB para outros valores possíveis):

ccCopyState.111 = INTEGER: successful(3)

Passo 3: Destrua a linha que você criou:

snmpset -v 2c -c private lab-rtr1 .1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 6

Versão em texto:

snmpset -O s -m CISCO-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 ccCopyEntryRowStatus.111 i 6

Você deve receber algo assim:

ccCopyEntryRowStatus.111 = INTEGER: destroy(6)

Passo 4: Vá verificar se foi realmente copiado para o servidor tftp.

    
por 27.09.2011 / 18:19
1
snmpset -v 2c -c <community> <router address> OLD-CISCO-SYS-MIB::netConfigSet.<tftp server> s <config-file>

<tftp-server> é decimal pontuado.

<config-file> é um caminho relativo à sua raiz TFTP.

Exemplo:

snmpset -v 2c -c private 192.168.0.254 OLD-CISCO-SYS-MIB::netConfigSet.192.168.0.10 s router-confg.txt
    
por 15.09.2011 / 13:30
1

Muito obrigado pela sua resposta.

No entanto, de acordo com OLD-CISCO-SYS-MIB

O oid é 1.3.6.1.4.1.9.2.1.50 e o comando inclinado era

snmpset -v2c -c public 172.23.176.71 1.3.6.1.4.1.9.2.1.50.172.23.129.4 s config

que retornou

Error in packet.
Reason: commitFailed Failed object: iso.3.6.1.4.1.9.2.1.50.172.23.129.4

Eu escolhi o OID apropriado?

Além disso, parece que coloca a configuração no switch, eu gostaria de realizar a transferência oposta: de switch para o servidor

Obrigado pela sua ajuda

    
por 16.09.2011 / 10:51

Tags