Існує на насправді ще один спосіб.
Ви можете запустити копію TFTP за допомогою SNMP. Це не страшно прямо вперед, але неймовірно корисно.
По-перше, вам знадобиться сервер TFTP (не дивно). Вам також знадобиться щось, що може надсилати запити snmp. Я це зробив ефективно за допомогою інструментів snmp для Linux.
Ви хочете створити нове співтовариство для SNMP, який має обмежений доступ для запису, і, ймовірно, ще більше заблокує його за допомогою IP ACL IP. Насправді вам потрібно лише вміти писати в ccCopyTable
OID.
На стороні Linux вам знадобляться наступні MIB (для читабельності, а не функціональності)
CISCO-CONFIG-COPY-MIB
CISCO-SMI
CISCO-ST-TC
З MIB, встановленими у відповідному місці для вашої конфігурації SNMP в Linux, ви повинні мати можливість перевірити зв’язок із snmptable таким чином:
snmptable -v2c -c writeCommunity 192.168.1.1 ccCopyTable
CISCO-CONFIG-COPY-MIB::ccCopyTable: No entries
Зазвичай потрібно заздалегідь створити файл на сервері TFTP, щоб маршрутизатор скопіював.
Щоб запустити копію TFTP, потрібно вставити рядок у ccCopyTable
.
snmpset
дозволяє це зробити.
# 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
Після того, як ви зробите це, ви зможете повторно запустити першу команду і побачити команду копіювання в 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"
Нічого не відбудеться, поки ви не встановите інший стовпчик на ccCopyTable для активації рядка.
snmpset -v2c -c writeCommunity 192.168.1.1 \
> ccCopyEntryRowStatus.23 i active
Якщо ви ще раз перевірите ccCopyTable, вам слід побачити, що стан та TimeStarted були оновлені, щоб відобразити, що файл був скопійований.
Нижче наведено докладнішу інформацію про посилання на джерело, зокрема про те, як очистити ccCopyTable (якщо ви хочете).
Я використовував той самий метод у скрипті з сервера Linux, щоб запустити копію TFTP, потім змусити файл git та повернути його назад у сховище, і все це за один швидкий процес.
Джерела: http://www.ciscozine.com/2013/08/22/how-to-save-configurations-using-snmp/
та
http://bodgitandscarper.co.uk/networks/using-snmp-to-trigger-cisco-tftp-backups/
| include
чи| exclude
? Я намагаюся бачити корисність можливості перегляду запущених конфігурацій "в режимі реального часу".