Назад | Перейти на главную страницу

скачать конфигурацию cisco с помощью snmpget

В настоящее время у меня проблемы с использованием 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?

Более того, похоже, что он помещает конфигурацию в коммутатор, я бы хотел выполнить обратную передачу: с коммутатора на сервер

Спасибо за вашу помощь