Jest właściwie inny sposób.
Możesz uruchomić kopię TFTP za pomocą SNMP. To nie jest strasznie proste, ale jest niezwykle przydatne.
Po pierwsze, potrzebujesz serwera TFTP (co nie dziwi). Będziesz także potrzebował czegoś, co może wysyłać żądania snmp. Zrobiłem to skutecznie za pomocą narzędzi snmp Linuksa.
Będziesz chciał założyć nową społeczność dla SNMP, która ma ograniczony dostęp do zapisu i prawdopodobnie zablokujesz ją jeszcze bardziej za pomocą IP ACL. W rzeczywistości wystarczy tylko napisać do ccCopyTable
OID.
Po stronie systemu Linux potrzebne będą następujące bazy MIB (dla czytelności, a nie funkcjonalności)
CISCO-CONFIG-COPY-MIB
CISCO-SMI
CISCO-ST-TC
Po zainstalowaniu baz MIB w odpowiedniej lokalizacji dla konfiguracji SNMP w systemie Linux, powinieneś być w stanie przetestować łączność za pomocą snmptable:
snmptable -v2c -c writeCommunity 192.168.1.1 ccCopyTable
CISCO-CONFIG-COPY-MIB::ccCopyTable: No entries
Zwykle konieczne jest wstępne utworzenie pliku na serwerze TFTP, aby router mógł go skopiować.
Aby uruchomić kopię TFTP, musisz wstawić wiersz do ccCopyTable
.
snmpset
pozwala ci to zrobić.
# 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
Gdy to zrobisz, powinieneś być w stanie ponownie uruchomić pierwsze polecenie i zobaczyć polecenie kopiowania w 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"
Nic się nie stanie, dopóki nie ustawisz kolejnej kolumny w ccCopyTable, aby aktywować wiersz.
snmpset -v2c -c writeCommunity 192.168.1.1 \
> ccCopyEntryRowStatus.23 i active
Jeśli ponownie sprawdzisz ccCopyTable, powinieneś zobaczyć, że State i TimeStarted zostały zaktualizowane, aby odzwierciedlić, że plik został skopiowany.
Więcej informacji znajduje się w linkach poniżej, w tym jak opróżnić ccCopyTable (jeśli chcesz).
Użyłem tej samej metody w skrypcie z serwera Linux, aby wywołać kopię TFTP, a następnie zatwierdzić plik do git i zepchnąć go z powrotem do repozytorium, wszystko w jednym szybkim procesie.
Źródła: http://www.ciscozine.com/2013/08/22/how-to-save-configurations-using-snmp/
i
http://bodgitandscarper.co.uk/networks/using-snmp-to-trigger-cisco-tftp-backups/
| include
czy| exclude
? Z trudem dostrzegam przydatność możliwości przeglądania twoich uruchomionych konfiguracji „w czasie rzeczywistym”.