Обновим IOS

Рано или поздно все мы сталкиваемся с тем, что нам нужно обновить IOS. Если Вы никогда этого не делали, но сделать надо, то этот пост для вас!

Для обновления нам понадобится:
1. TFTP сервер
2. Свежий IOS
3. Доступ к консоли маршрутизатора
В качестве TFTP сервера можно использовать
Tftpd32. Кроме TFTP сервера выполняет функции TFTP клиента, DHCP сервера, Syslog сервера. Настройки у нее простейшие — необходимо указать папку корневую папку с файлами и интерфейс по которому будет отвечать наш TFTP сервер.
Свежий IOS берется на cisco.com. Правда предварительно нужно оплатить SmartNet (на разные железки он стоит разных денег). Можно пойти другим путем и посетив один из множества торрент-трекеров найти необходимый.
Итак, TFTP настроен, IOS положен в соответствующую папку. Запускаем консольного клиента (я использую putty) и логинимся на рутер.
Первое на что нужно сделать, работает ли наш TFTP, для этого просто скопируем на него нашу текущую конфигурацию:
RTR001#copy run tftp
Address or name of remote host []? 10.10.10.10
Destination filename [rtr001-confg]?
!!
28345 bytes copied in 1.980 secs (14316 bytes/sec)
RTR001#

В логах TFTP увидим приблизительно следующее:
Connection received from 10.10.10.1 on port 59968 [30/09 12:57:15.775]
Write request for file <rtr001-confg>. Mode octet [30/09 12:57:15.775]
Using local port 4706 [30/09 12:57:15.791]
<rtr001-confg>: rcvd 56 blks, 28345 bytes in 0 s. 0 blk resent [30/09 12:57:15.978]

А на диске, у нас появится файл rtr001-confg.
Сразу после проверки линка, выясним сколько у нас места на флешке:
RTR001#sho flash:
-#- --length-- -----date/time------ path
1     27624324 Apr 21 2009 03:48:56 c2801-ipbasek9-mz.124-24.T.bin
2         2746 Apr 29 2008 13:22:40 sdmconfig-2801.cfg
3       931840 Apr 29 2008 13:23:02 es.tar
4      1505280 Apr 29 2008 13:23:24 common.tar
5         1038 Apr 29 2008 13:23:42 home.shtml
6       112640 Apr 29 2008 13:24:00 home.tar
7      1697952 Apr 29 2008 13:24:32 securedesktop-ios-3.1.1.45-k9.pkg
8       415956 Apr 29 2008 13:24:58 sslclient-win-1.1.4.176.pkg
31686656 bytes available (32309248 bytes used)
RTR001#

В данном примере места достаточно чтобы залить новый ipbase IOS, но ведь так не всегда, частенько места на флешке не хватает, как в следующем примере:
RTR002#sho fla
-#- --length-- -----date/time------ path
1          869 Apr 01 2009 11:52:28 XMLDefaultCIPC.cnf.xml
2       281506 Mar 20 2008 09:23:50 ATA030100SCCP040211A.zup
3          638 Mar 20 2008 09:23:50 CME_GUI_README.TXT
4       331101 Mar 20 2008 09:23:50 CP7902060000SCCP050124A.sbin
5       338897 Mar 20 2008 09:23:52 CP7905060000SCCP050124A.sbin
6       338481 Mar 20 2008 09:23:54 CP7905060000SCCP050124A.zup
7       340247 Mar 20 2008 09:23:54 CP7912060000SCCP050124A.sbin
8         1602 Mar 20 2008 09:23:54 CiscoLogo.gif
9          953 Mar 20 2008 09:23:54 Delete.gif
10      128792 Mar 20 2008 09:23:56 P00307020200.bin
11         458 Mar 20 2008 09:23:56 P00307020200.loads
12      680394 Mar 20 2008 09:23:58 P00307020200.sb2
13      129196 Mar 20 2008 09:23:58 P00307020200.sbn
14      333822 Mar 20 2008 09:24:00 P00403020214.bin
15        1347 Mar 20 2008 09:24:00 Plus.gif
16       47904 Mar 20 2008 09:24:00 S00103020002.bin
17       49169 Mar 20 2008 09:24:00 S00104000100.sbn
18         174 Mar 20 2008 09:24:02 Tab.gif
19        4448 Mar 20 2008 09:24:02 admin_user.html
20      656913 Mar 20 2008 09:24:04 admin_user.js
21     1045952 Mar 20 2008 09:24:08 cmterm_7920.4.0-02-00.bin
22       16948 Mar 20 2008 09:24:08 dom.js
23         864 Mar 20 2008 09:24:08 downarrow.gif
24        6315 Mar 20 2008 09:24:10 ephone_admin.html
25        4658 Mar 20 2008 09:24:10 logohome.gif
26      496521 Mar 20 2008 09:24:12 music-on-hold.au
27        3831 Mar 20 2008 09:24:12 normal_user.html
28       78819 Mar 20 2008 09:24:12 normal_user.js
29         843 Mar 20 2008 09:24:12 sxiconad.gif
30        2453 Mar 20 2008 09:24:12 telephony_service.html
31         870 Mar 20 2008 09:24:12 uparrow.gif
32       10230 Mar 20 2008 09:24:12 xml-test.html
33        3389 Mar 20 2008 09:24:12 xml.template
34        1823 Mar 20 2008 09:25:30 sdmconfig-2811.cfg
35     6036480 Mar 20 2008 09:26:24 sdm.tar
36      861696 Mar 20 2008 09:26:48 es.tar
37     1164288 Mar 20 2008 09:27:20 common.tar
38        1038 Mar 20 2008 09:27:40 home.shtml
39      113152 Mar 20 2008 09:28:02 home.tar
40     1697952 Mar 20 2008 09:28:36 securedesktop-ios-3.1.1.45-k9.pkg
41      416354 Mar 20 2008 09:29:02 sslclient-win-1.1.3.173.pkg
42          61 Apr 02 2009 08:11:56 SEP000ea6a11782.cnf.xml
43          61 Apr 01 2009 11:48:58 SEP0014f2721179.cnf.xml
44       11181 May 18 2009 05:39:36 conf180509.txt
45    59846440 Sep 14 2009 08:08:38 c2800nm-adventerprisek9_mz.124-24.T.bin
54026240 bytes available (75726848 bytes used)
RTR002#

и для того чтобы залить туда новый adventerprisek9 IOS места уже не хватит. Что же делать? Есть 2 варианта:
— скопировать старый IOS на TFTP, удалить с маршрутизатора, залить новый
или
— удалить с маршрутизатора и залить новый.
Для чего сохранять старый? Бывает что под новой редакцией IOS что-то может и не заработать, и придется откатиться назад 🙁
Как Вам поступить Вы решите сами. Я делаю так — если это мой локальный маршрутизатор к которому в случае чего можно подступиться, то выбираю пункт 2, если это удаленная площадка, то в зависимости от ширины канала все равно пункт 2 🙂

Удаляем старый IOS:
RTR002#delete c2800nm-adventerprisek9_mz.124-24.T.bin
Delete filename [c2800nm-adventerprisek9_mz.124-24.T.bin]?
Delete flash:/c2800nm-adventerprisek9_mz.124-24.T.bin? [confirm]
RTR002#

Файл удален, заливаем новый:
RTR002#copy tftp flash:
Address or name of remote host []? 10.10.10.10
Source filename []? ios/c2800nm-adventerprisek9_ivs_mz.124-24.T1.bin
Destination filename [c2800nm-adventerprisek9_ivs_mz.124-24.T1.bin]?
Accessing tftp://10.10.10.10/ios/c2800nm-adventerprisek9_ivs_mz.124-24.T1.bin...
Loading ios/c2800nm-adventerprisek9_ivs_mz.124-24.T1.bin from 10.10.10.10 (via FastEthernet0/1.10): !!!!!!!!!!!!!!!!!!!!!!!
[OK - 59971380 bytes]

IOS на флешке, но торопиться не надо. Нужно проверить MD5, для этого воспользуемся командой:
RTR002#verify /md5 flash:c2800nm-adventerprisek9_ivs_mz.124-24.T1.bin
..............................................................................................................
[часть строк удалена]
..............................................................................................................
..............................................................................................................
..............................................................................................................
..............................................................................................................Done!
verify /md5 (flash:c2800nm-adventerprisek9_ivs_mz.124-24.T1.bin) = e8fab98a72c1516538da7686f8404fcf
RTR001#

И если MD5 совпадают (правильный MD5 показывается при скачивании файла с cisco.com) можно завершать начатое 🙂
Остается только поменять в конфиге команду загрузки с
boot system flash:c2800nm-adventerprisek9_mz.124-24.T.bin
на
boot system flash:c2800nm-adventerprisek9_ivs_mz.124-24.T1.bin
и отправить рутер в перезагрузку
RTR002#reload
Verifying file integrity of flash:/c2800nm-adventerprisek9_ivs_mz.124-24.T1.bin................................................
..............................................................................................................
..............................................................................................................
..............................................................................................................
[часть строк удалена]
..............................................................................................................
..............................................................................................................
..............................................................................................................
..............................................................................................................
Done!
Embedded Hash   MD5 : 564526F4D154F7BEC08F89309A633AE9
Computed Hash   MD5 : 564526F4D154F7BEC08F89309A633AE9
CCO Hash        MD5 : E8FAB98A72C1516538DA7686F8404FCF
Signature Verified
Proceed with reload? [confirm]


После перезагрузки остается залогиниться и проверить все ли хорошо:
RTR002#sho ver | inc bin
System image file is "flash:c2800nm-adventerprisek9_ivs_mz.124-24.T1.bin"
RTR002#

Оставьте комментарий