Eu tenho uma configuração de laboratório onde estou tentando usar o SCP via SNMP para um roteador Cisco. Encontrei alguma documentação on-line, como: http://ccie20728.wordpress.com/2008/05/05/20/get-the-cisco- configuration-over-snmp /
Aqui está minha configuração de alto nível. No roteador:
R1(config)# username cisco password cisco
R1(config)# ip domain-name somedomain.com
R1(config)# crypto key generate rsa general-keys modulus 1024
R1(config)# aaa new-model
R1(config)# aaa authentication login cisco local
R1(config)# aaa authorization exec cisco local
R1(config)# ip scp server enable
R1(config)# line vty 0
R1(config)# login authentication cisco
R1(config)# snmp-server community cisco RW
Para que o roteador atue como servidor SCP, é necessário ativar com o cmd acima. Em um servidor ubuntu, tenho o openSSH instalado / executando e executando este cmds:
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.2.111 i 4
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 i 4
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 i 1
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.5.111 a <svr ip addr>
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.6.111 s cisco.txt
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.7.111 s cisco
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.8.111 s cisco
snmpset -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 1
Em seguida, para verificar qual é o status, eu faço um snmpget e / ou snmpwalk através de:
snmpwalk -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.10.111
quando executo isso, obtenho o número inteiro (2), o que significa que está em execução, e depois o número inteiro (4), o que significa que falhou.
Depois, verifico o motivo da falha:
snmpwalk -c cisco -v 2c <router ip addr> 1.3.6.1.4.1.9.9.96.1.1.1.1.13.111
e recebo o número inteiro (2), que significa "nome do arquivo inválido".
Então, eu tentei permutações diferentes de um nome de arquivo para ".6.111 string" acima, incluindo diferentes extensões de arquivo, com e sem hífens, o mesmo nome de arquivo de configuração dos cmds, até mesmo o nome absoluto especificado do caminho, mas nenhum parece funcionar.
Tentei depurar o sshd
arquivo com vários níveis de log e não obtive saída do arquivo syslog salvo / armazenado.
Alguém conseguiu fazer isso funcionar?
Respostas:
Eu apenas tentei isso no meu CPE:
Que copia a execução do config (4) para a rede (1), trocando-os, você pode alterar a direção (da rede para a execução).
Executando acima do script, meu diretório pessoal terá o arquivo 'filename', que contém o meu CPE running-config:
Além do que @daniel também menciona, seu '14' ou 'rowstatus' está errado, você usa 1 'ativo', enquanto você deve usar 4 'createAndGo'.
fonte
De acordo com o Cisco SNMP Object Navigator, o valor 4 não é suportado em 1.3.6.1.4.1.9.9.96.1.1.1.1.3. Em vez disso, o valor 2 significa a running-config:
Provavelmente é por isso que você está recebendo o erro badFileName.
EDITAR:
Na verdade, parece que há contradição entre o SNMP Object Navigator e a MIB Definition , como tipo para
ccCopySourceFileType
eccCopyDestFileType
éConfigFileType
e de acordo com a definição MIB:E isso parece confirmado pela resposta de ytti
fonte
Já postei isso antes: http://checkforbees.com/router-backup/
Acho que seu problema é com os vários snmpsets. Você precisa começar criando a entrada para fazer isso. [14.xxx = 5 (createAndWait)] Em seguida, você pode configurar a entrada conforme necessário antes de definir o rowStatus como "1" (ativo).
[Nota: meus scripts têm décadas e, portanto, estão ajustados para tftp.]
Estou fazendo um loop ... 10.111 (estado) enquanto está "rodando". Eu suspeito que você nunca excluiu sua entrada "111". Caso contrário, essas são as seqüências exatas de
snmpset
s contra um 2960S com o servidor ssh de uma caixa Linux. (como meu prompt sugere, uma caixa debian.)fonte
badFilename
também pode significar uma falha de login ssh, mas recebo umnoConfig(5)
por isso. (que é oposto do que ele deve dizer)badFileName(2)
de 12.4T. (o 2960S é 15.x)Verifique aqui: Como copiar arquivos de configuração de e para os roteadores Cisco IOS que usam SNMP
Mude
ccCopyProtocol
para o método de transferência desejado:Aqui está um script bash para automatizar os backups de configuração.
fonte