Na verdade, existe outro caminho.
Você pode acionar uma cópia TFTP usando SNMP. Não é muito simples, mas é incrivelmente útil.
Primeiro, você precisará de um servidor TFTP (sem surpresa). Você também precisará de algo que possa enviar solicitações snmp. Eu fiz isso efetivamente com as ferramentas snmp do Linux.
Você deseja configurar uma nova comunidade para SNMP que tenha acesso de gravação limitado e provavelmente trancá-lo ainda mais com uma IP ACL. Na verdade, você só precisa escrever no ccCopyTable
OID.
No lado do Linux, você precisará dos seguintes MIBs (para facilitar a leitura, e não a funcionalidade)
CISCO-CONFIG-COPY-MIB
CISCO-SMI
CISCO-ST-TC
Com os MIBs instalados no local relevante para a sua configuração SNMP no Linux, você poderá testar a conectividade com o snmptable da seguinte maneira:
snmptable -v2c -c writeCommunity 192.168.1.1 ccCopyTable
CISCO-CONFIG-COPY-MIB::ccCopyTable: No entries
Você geralmente precisa pré-criar o arquivo no servidor TFTP para o roteador copiar.
Para disparar uma cópia TFTP, você precisa inserir uma linha no ccCopyTable
.
snmpset
permite que você faça isso.
# snmpset -v2c -c writeCommunity 192.168.1.1 \
> ccCopyProtocol.23 i tftp \
> ccCopySourceFileType.23 i runningConfig \
> ccCopyDestFileType.23 i networkFile \
> ccCopyServerAddress.23 a 192.168.1.100 \
> ccCopyFileName.23 s router.conf
CISCO-CONFIG-COPY-MIB::ccCopyProtocol.23 = INTEGER: tftp(1)
CISCO-CONFIG-COPY-MIB::ccCopySourceFileType.23 = INTEGER: runningConfig(4)
CISCO-CONFIG-COPY-MIB::ccCopyDestFileType.23 = INTEGER: networkFile(1)
CISCO-CONFIG-COPY-MIB::ccCopyServerAddress.23 = IpAddress: 192.168.1.100
CISCO-CONFIG-COPY-MIB::ccCopyFileName.23 = STRING: router.conf
Depois de fazer isso, você poderá executar novamente o primeiro comando e ver o comando copy no ccCopyTable.
snmptable -v 2c -c writeCommunity 192.168.1.1 ccCopyTable
SNMP table: CISCO-CONFIG-COPY-MIB::ccCopyTable
index Protocol SourceFileType DestFileType ServerAddress FileName UserName
23 tftp runningConfig networkFile 192.168.1.100 router.conf ?
SNMP table CISCO-CONFIG-COPY-MIB::ccCopyTable, part 2
index UserPassword NotificationOnCompletion State TimeStarted TimeCompleted
23 ? false ? ? ?
SNMP table CISCO-CONFIG-COPY-MIB::ccCopyTable, part 3
index FailCause EntryRowStatus ServerAddressType ServerAddressRev1
23 ? ? ipv4 "192.168.1.100"
Nada acontecerá até você definir outra coluna em ccCopyTable para ativar a linha.
snmpset -v2c -c writeCommunity 192.168.1.1 \
> ccCopyEntryRowStatus.23 i active
Se você marcar ccCopyTable novamente, verá que State e TimeStarted foram atualizados para refletir que o arquivo foi copiado.
Há mais detalhes nos links de origem abaixo, incluindo como esvaziar o ccCopyTable (se desejar).
Usei o mesmo método em um script de um servidor Linux para disparar uma cópia TFTP, depois comprometer o arquivo com o git e enviá-lo de volta ao repositório, tudo em um processo rápido.
Fontes: http://www.ciscozine.com/2013/08/22/how-to-save-configurations-using-snmp/
e
http://bodgitandscarper.co.uk/networks/using-snmp-to-trigger-cisco-tftp-backups/
| include
Ou seja, ou| exclude
? Estou lutando para ver a utilidade de poder visualizar suas configurações em execução "em tempo real".