Итак. У нас есть некое устройство, пусть тот же cisco 3620. Есть некая версия IOS в нем. По каким-то причинам нам хочется обновиться.
Для начала посмотрим на наше устройство, сколько памяти есть, оперативной, флеш памяти. В нашем случае 32мб флер памяти и 64мб DRAM. Ищим подходящую прошивку. Ищим конечно же на cisco.com. Если у вас есть вход CCO, то проблем с этим не будет. Ежели же такого доступа нет, ну в общем альтернативный поиск IOS я не рассматриваю по понятным причинам.
Перед тем, как начать обновление IOS, давайте с вами сохраним работающий (находящийся в устройстве) IOS. Мало ли что.
Обновляться будем по протоколу tftp, в отличии от ftp не требует «заморочек» с аутентификацией (тоесть нам не нужен ни пользователь, ни его пароль.)
«Поднимаем» tftp сервер. Если пользуетесь Windows можно использовать — tftpd32 http://tftpd32.jounin.net/ , если unix-lile system, то сервис уже присутствует в системе и его нужно лишь только запустить (по конкретной системе смотрите соответствующую справку.)
Будем считать, что tftp сервер у нас «поднят» и готов к работе.
Остановимся еще на одном моменте. Т.к. tftp работает поверх протокола IP, значит нам нужна некоторая IP сеть, и нам необходимо чтоб «прошиваемое» устройство имело некоторый IP адрес, и это устройство по IP может связываться с tftp севером.
В самом просто случае, подключаем Cisco непосредственно к компьютеру, к его сетевой плате.
Настраиваем адресацию, допусти для компьютера это адрес 10.0.0.1, для Cisco — 10.0.0.2
С компьютером думаю проблем возникнуть ни у кого не должно, с Cisco может. Допустим у нас есть ethernet интерфейс e0/1, на него мы и «пропишем» адрес 10.0.0.2. В режиме глобальной конфигурации (conf t) :
int e0/1
ip address 10.0.0.2 255.255.255.0
no shut
Теперь проверим связь между хостами с помощью ping. Если все прошло, приступаем к скачиванию и обновлению IOS.
Итак, как мы уже определились для начала будем скачивать себе на «всякий случай» работающую версию IOS. В enable режиме смотрим точное имя IOS, show flash.
R1#sh flash
System flash directory:
File Length Name/status
1 13853884 c3620-jk9s-mz.122-29.bin
[13853948 bytes used, 2398976 available, 16252924 total]
16384K bytes of processor board System flash (Read/Write)
R1#
Что нам здесь нужно:
- имя файла образа IOS, чтоб указать что будем копировать себе на TFTP сервер. — c3620-jk9s-mz.122-29.bin
- размер флеш памяти (16 мб в нашем случае)
Приступим к копировании образа к себе.
R1#copy flash:
R1#copy flash:c3620-jk9s-mz.122-29.bin tftp
Address or name of remote host []? 10.0.0.2
Destination filename [c3620-jk9s-mz.122-29.bin]?
Начнется пересылка образа. После того как все прошло успешно, мы можем приступать к обновлению IOS.
Если мы нашли более новую версию IOS и хотим ее «закачать» на устройство, то делаем обратную процедуру, то есть:
R1#copy tftp: flash:
Address or name of remote host []? 10.0.0.1
Source filename []? cisco_ios_bin
Destination filename [cisco_ios_bin]?
где cisco_ios_bin имя нашего файла.
Если все настроено правильно, наше устройство cisco подключится к tftp серверу и скачает указанную версию. Если памяти на флеш не хватает (а в нашем случае ее не хватает), устройство попросит удалить существующий образ и на это место записать новое, согласимся с этим ничего не боясь (мы ведь сохранили уже образ который точно работает на нашем устройстве и если что-то пойдет не так, всегда можем его вернуть.)
Если у нас на flash есть несколько IOS, устройство не знает откуда же ему все таки грузиться. Для того чтобы указать образ, с которого осуществлять загрузку, необходимо в режиме глобальной конфигурации (conf t) указать:
R1(config)#boot system flash cisco_ios_bin
где cisco_ios_bin имя файла с желаемым IOS.
Не забываем сохраняться:
R1#copy running-config startup-config
На этом все.