Jump to content
Калькуляторы

Обновление прошивки на коммутаторах SNR по SNMP

Добрый день! 
Прошу помочь с решением следующей задачи: есть 1600 коммутаторов SNR, на всех необходимо обновить прошивку. Заходить на каждый по отдельности и вручную качать файл не очень хочется, на данный момент пытаюсь решить данную проблему скриптом, который сам будет заходить на все железки и заливать софт.

У меня вопрос: а возможно ли обновить софт по SNMP-протоколу? Если да, то прошу подсказать как, или хотя бы в какую сторону копать. 

Заранее благодарю

Share this post


Link to post
Share on other sites

@Bonik добрый день.

Обновить ПО через SNMP можно. Процедура сводится к копированию файла с TFTP/FTP сервера в файл nos.img на коммутаторе. Возможно потребуется обновить и boot.rom.

Вот описание из нашей статьи в базе знаний:

 

Скрытый текст

Передача файлов

Задаем IP-адрес TFTP-сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.3.0 s server_ip

 

Задаем имя файла на коммутаторе:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.4.0 s switch_file

 

Задаем имя файла на TFTP-сервере:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.5.0 s server_file

 

Устанавливаем тип сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.7.0 i server_type

 

Запускаем процедуру передачи файла:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.8.0 i direction

 

Проверка статуса выполнения команды:

snmpget -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.9.0

Результатом будет числовое значение текущего состояния (0 - Error, 1 - OK, 2 - Uploading, 3 - Downloading, 4 - Idle)

 

где:

ip_addr - IP коммутатора

server_ip - IP адрес сервера

switch_file - имя файла на коммутаторе

server_file - имя файла на сервере

server_type - тип сервера (1 - FTP, 2 - TFTP)

direction - направление передачи файла по отношению к коммутатору (1 - Upload, 2 - Download)


Сохранение настроек коммутатора

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.6.0 i 1


Перезагрузка коммутатора

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.1.0 i 3

 

 

Share this post


Link to post
Share on other sites

11 minutes ago, Ivan Tarasenko said:

@Bonik добрый день.

Обновить ПО через SNMP можно. Процедура сводится к копированию файла с TFTP/FTP сервера в файл nos.img на коммутаторе. Возможно потребуется обновить и boot.rom.

Вот описание из нашей статьи в базе знаний:

 

  Reveal hidden contents

Передача файлов

Задаем IP-адрес TFTP-сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.3.0 s server_ip

 

Задаем имя файла на коммутаторе:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.4.0 s switch_file

 

Задаем имя файла на TFTP-сервере:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.5.0 s server_file

 

Устанавливаем тип сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.7.0 i server_type

 

Запускаем процедуру передачи файла:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.8.0 i direction

 

Проверка статуса выполнения команды:

snmpget -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.9.0

Результатом будет числовое значение текущего состояния (0 - Error, 1 - OK, 2 - Uploading, 3 - Downloading, 4 - Idle)

 

где:

ip_addr - IP коммутатора

server_ip - IP адрес сервера

switch_file - имя файла на коммутаторе

server_file - имя файла на сервере

server_type - тип сервера (1 - FTP, 2 - TFTP)

direction - направление передачи файла по отношению к коммутатору (1 - Upload, 2 - Download)


Сохранение настроек коммутатора

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.6.0 i 1


Перезагрузка коммутатора

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.1.0 i 3

 

 

Иван, спасибо большое за помощь! 
Вроде перед тем, как писать, пробежался по форуму и базе знаний... Сходу не смог найти. Что ж, пойду тестить

Share this post


Link to post
Share on other sites

Доброго времени суток. Возможно не в той теме. Хотелось бы уточнить. Как перекинуть кусок конфигурации на SNR (2965) . Допустим на Dlink можно кинуть такой командой:

 

DES-3526:admin#download cfg_fromTFTP 0.0.0.0 /cfg/3526.cfg increment 

При этом состав конфигурации содержит только ACL. 

 

Ну и собственно вопрос...как обновить только нужную конфигурацию у 100+ железок серии SNR 2965?

Share this post


Link to post
Share on other sites

31 minutes ago, s.lobanov said:

@Kroys обычно в cisco-like это copy FILE_URL run - проверьте есть ли такая команды на ваших свитчах


SNR-S2965-24T#copy tftp://0.0.0.0/startup.cfg startup.cfg
ascii                      binary                     indentity-key 

 

Какую из них выберать?

Share this post


Link to post
Share on other sites

17 часов назад, Kroys сказал:


SNR-S2965-24T#copy tftp://0.0.0.0/startup.cfg startup.cfg
ascii                      binary                     indentity-key 

 

Какую из них выберать?

Выберите binary (по-умолчанию), или не выбирайте ничего - просто нажмите Enter.

 

100+ коммутаторов возможно будет проще обновить через SNMP: 

Скрытый текст

Для начала необходимо настроить SNMP на коммутаторе (если еще не настроен):

conf

snmp-server enable
snmp-server securityip disable
snmp-server community ro 0 public
snmp-server community rw 0 private

 

Передача файлов (с примером сохранения конфигурации на TFTP-сервер)

Задаем IP-адрес TFTP-сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.3.0 s server_ip

 

Задаем имя файла на коммутаторе:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.4.0 s switch_file

 

Задаем имя файла на TFTP-сервере:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.5.0 s server_file

 

Устанавливаем тип сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.7.0 i server_type

 

Запускаем процедуру передачи файла:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.8.0 i direction

 

Проверка статуса выполнения команды:

snmpget -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.9.0

Результатом будет числовое значение текущего состояния (0 - Error, 1 - OK, 2 - Uploading, 3 - Downloading, 4 - Idle)

 

где:

ip_addr - IP коммутатора

server_ip - IP адрес сервера

switch_file - имя файла на коммутаторе

server_file - имя файла на сервере

server_type - тип сервера (1 - FTP, 2 - TFTP)

direction - направление передачи файла по отношению к коммутатору (1 - Upload, 2 - Download)

 

Share this post


Link to post
Share on other sites

21 minutes ago, Ivan Tarasenko said:

Выберите binary (по-умолчанию), или не выбирайте ничего - просто нажмите Enter.

 

100+ коммутаторов возможно будет проще обновить через SNMP: 

  Hide contents

Для начала необходимо настроить SNMP на коммутаторе (если еще не настроен):

conf

snmp-server enable
snmp-server securityip disable
snmp-server community ro 0 public
snmp-server community rw 0 private

 

Передача файлов (с примером сохранения конфигурации на TFTP-сервер)

Задаем IP-адрес TFTP-сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.3.0 s server_ip

 

Задаем имя файла на коммутаторе:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.4.0 s switch_file

 

Задаем имя файла на TFTP-сервере:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.5.0 s server_file

 

Устанавливаем тип сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.7.0 i server_type

 

Запускаем процедуру передачи файла:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.8.0 i direction

 

Проверка статуса выполнения команды:

snmpget -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.9.0

Результатом будет числовое значение текущего состояния (0 - Error, 1 - OK, 2 - Uploading, 3 - Downloading, 4 - Idle)

 

где:

ip_addr - IP коммутатора

server_ip - IP адрес сервера

switch_file - имя файла на коммутаторе

 server_file - имя файла на сервере

 server_type - тип сервера (1 - FTP, 2 - TFTP)

direction - направление передачи файла по отношению к коммутатору (1 - Upload, 2 - Download)

  

Спасибо за ответ. А возможно ли обновить часть конфига? А не весь полностью..на длинке такая возможность присутствует.

Share this post


Link to post
Share on other sites

Только что, Kroys сказал:

Спасибо за ответ. А возможно ли обновить часть конфига? А не весь полностью..на длинке такая возможность присутствует.

Такой возможности нет. 

Share this post


Link to post
Share on other sites

1 minute ago, Ivan Tarasenko said:

Такой возможности нет. 

Хорошо, спасибо. Будем выкручиваться так. Хотелось бы добавить это в копилку пожеланий =)

Share this post


Link to post
Share on other sites

Доброго дня, хотелось бы уточнить, если нужно обновить boot и сам root можно ли это сделать одновременно? То есть по snmp задать загрузку сначала boot, потом root, а затем дать команду на перезагрузку? Или сначала нужно по snmp загрузить boot потом дать команду на перезагрузку, затем по snmp загрузить root и дать снова команду на перезагрузку?

Спасибо!

Share this post


Link to post
Share on other sites

On 3/12/2019 at 9:28 AM, Ivan Tarasenko said:

Выберите binary (по-умолчанию), или не выбирайте ничего - просто нажмите Enter.

 

100+ коммутаторов возможно будет проще обновить через SNMP: 

  Reveal hidden contents

Для начала необходимо настроить SNMP на коммутаторе (если еще не настроен):

conf

snmp-server enable
snmp-server securityip disable
snmp-server community ro 0 public
snmp-server community rw 0 private

 

Передача файлов (с примером сохранения конфигурации на TFTP-сервер)

Задаем IP-адрес TFTP-сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.3.0 s server_ip

 

Задаем имя файла на коммутаторе:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.4.0 s switch_file

 

Задаем имя файла на TFTP-сервере:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.5.0 s server_file

 

Устанавливаем тип сервера:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.7.0 i server_type

 

Запускаем процедуру передачи файла:

snmpset -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.8.0 i direction

 

Проверка статуса выполнения команды:

snmpget -v2c -c private ip_addr .1.3.6.1.4.1.40418.7.100.1.10.9.0

Результатом будет числовое значение текущего состояния (0 - Error, 1 - OK, 2 - Uploading, 3 - Downloading, 4 - Idle)

 

где:

ip_addr - IP коммутатора

server_ip - IP адрес сервера

switch_file - имя файла на коммутаторе

server_file - имя файла на сервере

server_type - тип сервера (1 - FTP, 2 - TFTP)

direction - направление передачи файла по отношению к коммутатору (1 - Upload, 2 - Download)

 

небольшая ошибка, в случае обновления (direction download) server_file и switch_file местами поменять нужно.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.