В настоящее время у меня проблемы с использованием snmpset для получения конфигурации cisco с сервера мониторинга.
Вот что я советую:
snmpset -v2c -cvtmYdXVHfo9v38oAbtACikvV calcium \
1.3.6.1.4.1.9.9.96.1.1.1.1.2.111 integer 1 \
1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 integer 4 \
1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 integer 1 \
1.3.6.1.4.1.9.9.96.1.1.1.1.5.111 ipaddress 172.23.129.4 \
1.3.6.1.4.1.9.9.96.1.1.1.1.6.111 octetstring "config" \
1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 integer 4
Следуя документации, доступной на cisco_snmp_doc:
ccCopyProtocol is 1.3.6.1.4.1.9.9.96.1.1.1.1.2
ccCopySourceFileType 1.3.6.1.4.1.9.9.96.1.1.1.1.3
ccCopyDestFileType 1.3.6.1.4.1.9.9.96.1.1.1.1.4
ccCopyServerAddress 1.3.6.1.4.1.9.9.96.1.1.1.1.5
ccCopyFileName 1.3.6.1.4.1.9.9.96.1.1.1.1.6
ccCopyEntryRowStatus 1.3.6.1.4.1.9.9.96.1.1.1.1.14
В документации Cisco указано указать случайное целое число (здесь 111, как в документации, но указание 1 ничего не меняет)
Вот что я получаю:
1.3.6.1.4.1.9.9.96.1.1.1.1.5.111: Value out of range (172.23.129.4)
1.3.6.1.4.1.9.9.96.1.1.1.1.6.111: Unknown Object Identifier \
(Sub-id not found: (top) -> config)
Очевидно, я не могу установить IP-адрес моего сервера на соответствующий oid. Кроме того, я не могу понять, что означает вторая ошибка.
Кто-нибудь может дать мне совет? Любая помощь или подсказка будут глубоко признательны
Большое спасибо :)
В вашем первоначальном вопросе говорилось, что вы пытались получить конфигурацию из сервер мониторинга, но ваш ответ petrus указывает, что вы хотите скопировать конфигурацию к сервер, и это то, что показывает ваш исходный пример, поэтому я предполагаю, что это то, что вам нужно.
Две вещи:
1 - У меня это не работает без файла. в начале числового OIDS.
2 - Похоже, что значения TYPE, доступные в вашей версии snmpget, не совпадают со значениями в документации Cisco (там говорится, что они используют HPOV-версию snmpset). Попробуйте запустить snmpset без каких-либо параметров и посмотрите, что у вас получится; если вы используете Net-SNMP, внизу должен быть раздел, в котором указаны доступные ТИПЫ.
-
Вот шаги, которые я использовал в прошлом, используя Net-SNMP и CISCO-CONFIG-COPY-MIB (извиняюсь за длину):
Шаг 1: Настроить ccCopyEntryTable с желаемым протоколом (tftp = 1), типом исходного файла (runningConfig = 4), типом конечного файла (networkFile = 1), IP-адресом вашего tftp-сервера и желаемым именем файла на tftp сервере. Наконец, установите RowStatus на «createAndGo» (4).
Численно:
snmpset -v 2c -c private lab-rtr1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.2.111 i 1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.3.111 i 4 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.4.111 i 1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.5.111 a 10.1.1.1 \
.1.3.6.1.4.1.9.9.96.1.1.1.1.6.111 s "lab-rtr1-confg" \
.1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 4
Используя текстовые OID из MIB:
snmpset -O s -m CISCO-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 \
ccCopyProtocol.111 i 1 \
ccCopySourceFileType.111 i 4 \
ccCopyDestFileType.111 i 1 \
ccCopyServerAddress.111 a 10.1.1.1 \
ccCopyFileName.111 s "lab-rtr1-confg" \
ccCopyEntryRowStatus.111 i 4
Вы должны получить что-то вроде этого:
ccCopyProtocol.111 = INTEGER: tftp(1)
ccCopySourceFileType.111 = INTEGER: runningConfig(4)
ccCopyDestFileType.111 = INTEGER: networkFile(1)
ccCopyServerAddress.111 = IpAddress: 10.1.1.1
ccCopyFileName.111 = STRING: lab-rtr1-confg
ccCopyEntryRowStatus.111 = INTEGER: createAndGo(4)
Шаг 2: Проверьте статус:
snmpget -v 2c -c private lab-rtr1 .1.3.6.1.4.1.9.9.96.1.1.1.1.10.111
Текстовая версия:
snmpget -O s -m CISCO-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 ccCopyState.111
Для успеха вы должны получить "3" (проверьте MIB на предмет других возможных значений):
ccCopyState.111 = INTEGER: successful(3)
Шаг 3: Уничтожить созданная вами строка:
snmpset -v 2c -c private lab-rtr1 .1.3.6.1.4.1.9.9.96.1.1.1.1.14.111 i 6
Текстовая версия:
snmpset -O s -m CISCO-CONFIG-COPY-MIB -v 2c -c private lab-rtr1 ccCopyEntryRowStatus.111 i 6
Вы должны получить что-то вроде этого:
ccCopyEntryRowStatus.111 = INTEGER: destroy(6)
Шаг 4: Вперед проверить он был фактически скопирован на tftp-сервер.
snmpset -v 2c -c <community> <router address> OLD-CISCO-SYS-MIB::netConfigSet.<tftp server> s <config-file>
<tftp-server>
- десятичный разделитель.
<config-file>
это путь относительно вашего корня TFTP.
Пример:
snmpset -v 2c -c private 192.168.0.254 OLD-CISCO-SYS-MIB::netConfigSet.192.168.0.10 s router-confg.txt
Большое спасибо за ответ.
Однако, по мнению СТАРЫЙ-CISCO-SYS-MIB
Oid - 1.3.6.1.4.1.9.2.1.50, а команда с подсказкой была
snmpset -v2c -c public 172.23.176.71 1.3.6.1.4.1.9.2.1.50.172.23.129.4 s config
который вернулся
Error in packet.
Reason: commitFailed Failed object: iso.3.6.1.4.1.9.2.1.50.172.23.129.4
Выбрал ли я подходящий OID?
Более того, похоже, что он помещает конфигурацию в коммутатор, я бы хотел выполнить обратную передачу: с коммутатора на сервер
Спасибо за вашу помощь