Как обновить прошивку IOS в Сisco router или switch на примере Cisco 2960+48TC-S
Добрый день! Уважаемые читатели и гости IT блога Pyatilistnik.org. Так как прошивки постоянно обновляются и несут в себе новые возможности, то наступает момент когда нужно обновить вашу железку. Скачать прошивку можно с официального сайта единственное придется зарегистрироваться. После того как вы скачали новую прошивку необходимо положить ее на ваш tftp сервер. Предполагается что у вас уже есть tftp сервер и есть терминальный доступ к оборудованию. Как настроить tftp описано тут.
Алгоритм установки обновлений на оборудование Cisco

Для хранения образа IOS может использоваться дисковая файловая система или флэш-система. Типичные файловые системы, поддерживаемые маршрутизаторами Cisco, могут обозначаться следующими префиксами: flash:, slot0:, slot1:, disk0: и disk1:. Имейте в виду, что для хранения образа IOS файловая система должна иметь достаточно свободного места. Чтобы ознакомиться с доступными файловыми системами и проверить наличие свободного места, воспользуемся командой
show file systems:

Видим структуру текущей файловой системы.

Выполним обзор файлов на flash: командой
dir или show flash

Предварительно скопируем конфигурацию и старый IOS на TFTP-сервер :
copy running-config tftp:
Address or name of remote host []? в моем случае ip 10.152.1.31
Destination filename [catalyst-2960g-confg]? config-port11

Проверяем наш tftp сервер и видим наш файл

Копируем текущий IOS на tftp.
copy c2960-lanlitek9-mz.150-2.SE5 tftp:
Address or name of remote host []? 10.152.1.31
Destination filename [copy c2960-lanlitek9-mz.150-2.SE5] c2960-lanlitek9-mz.150-2.SE5.bin
и получаем ошибку error reading flash (is a directory) которая говорит что прошивка хранится в виде каталога.

тогда пишем
copy c2960-lanlitek9-mz.150-2.SE5/c2960-lanlitek9-mz.150-2.SE5.bin tftp:
Address or name of remote host []? 10.152.1.31
Destination filename [copy c2960-lanlitek9-mz.150-2.SE5] c2960-lanlitek9-mz.150-2.SE5.bin
Видим что все ок

Проверяем tftp и видим, что прошивка появилась

Выполним загрузку IOS с TFTP-сервера на коммутатор:
copy tftp://10.152.1.31/c2960-lanlitek9-mz.150-2.SE7.bin flash://c2960-lanlitek9-mz.150-2.SE7.bin
Destination filename [c2960-lanbasek9-mz.122-50.SE1.bin]? c2960-lanlitek9-mz.150-2.SE7.bin

Выполним dir чтобы посмотреть появился ли файл

После загрузки файла необходимо проверить его целостность. Для этого подсчитаем контрольную сумму и сравним со значением, которое получено при загрузке файла с сайта производителя. Контрольная сумма предоставленная производителем: 2e5d03420a518b0783d84c31e047b50b. Проверяем контрольную сумму загруженного файла на коммутаторе
Пишем
verify /md5 flash:c2960-lanlitek9-mz.150-2.SE7.bin

Контрольная сумма совпадает, значит загрузка выполнена корректно. Указываем коммутатору необходимость загрузки системы с нового образа, не забыв предварительно отключить загрузку предыдущего образа:
заходим в режим конфигурирования
config t
no boot system
boot system flash:/c2960-lanlitek9-mz.150-2.SE7.bin


Все в порядке... Сохраним параметры и выполним перезагрузку коммутатора:
copy running-config startup-config
Destination filename [startup-config]? нажимаем Enter.

Перезагружаемся
reload
Proceed with reload? [confirm] y
После перезагрузки логинимся и вводим команду которая покажет версию IOS
show version
И видим что все ок

Как удалить предыдущую версию написано тут. С вами был Иван Семин, автор и создатель портала Pyatilistnik.org.
Когда вы копировали конфиг командой «copy running-config tftp:», имейте в виду, что конфиг по VLANам в данном случае не сохраняется и если у вас конфигурация с VLAN`ами, то загруженный так бэкап не заработает. Нужно ещё бэкапить файл vlan.dat