En realidad hay otra forma.
Puede activar una copia TFTP usando SNMP. No es terriblemente sencillo, pero es increíblemente útil.
En primer lugar, necesitará un servidor TFTP (como era de esperar). También necesitará algo que pueda enviar solicitudes snmp. Lo hice de manera efectiva con las herramientas snmp de Linux.
Deberá configurar una nueva comunidad para SNMP que tenga acceso de escritura limitado, y probablemente bloquearla aún más con una ACL IP. En realidad, solo necesita poder escribir en el ccCopyTable
OID.
En el lado de Linux, necesitará las siguientes MIB (para facilitar la lectura, en lugar de la funcionalidad)
CISCO-CONFIG-COPY-MIB
CISCO-SMI
CISCO-ST-TC
Con las MIB instaladas en la ubicación relevante para su configuración SNMP en Linux, debería poder probar la conectividad con snmptable de esta manera:
snmptable -v2c -c writeCommunity 192.168.1.1 ccCopyTable
CISCO-CONFIG-COPY-MIB::ccCopyTable: No entries
Por lo general, debe crear previamente el archivo en el servidor TFTP para que el enrutador lo copie.
Para activar una copia TFTP, debe insertar una fila en el ccCopyTable
.
snmpset
te permite hacer esto.
# 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
Una vez que haya hecho eso, debería poder volver a ejecutar el primer comando y ver el comando copiar en la 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 sucederá hasta que establezca otra columna en ccCopyTable para activar la fila.
snmpset -v2c -c writeCommunity 192.168.1.1 \
> ccCopyEntryRowStatus.23 i active
Si vuelve a comprobar ccCopyTable, debería ver que State y TimeStarted se han actualizado para reflejar que el archivo se ha copiado.
Hay más detalles en los enlaces de origen a continuación, incluido cómo vaciar ccCopyTable (si lo desea).
Utilicé el mismo método en un script de un servidor Linux para activar una copia TFTP, luego confirme el archivo en git y lo devolví al repositorio, todo en un proceso rápido.
Fuentes: http://www.ciscozine.com/2013/08/22/how-to-save-configurations-using-snmp/
y
http://bodgitandscarper.co.uk/networks/using-snmp-to-trigger-cisco-tftp-backups/
| include
o| exclude
? Me cuesta ver la utilidad de poder ver las configuraciones en ejecución "en tiempo real".