Обновление IOS в Cisco router или switch
В этой заметке опишу несложную процедуру обновления IOS в сетевых устройствах cisco. Компания постоянно выпускает обновления операционных систем, в которых появляется новый функционал и устраняются различные уязвимости. Так что возможно, приведенный ниже алгоритм окажется кому-то полезным. |
В моем свиче Cisco модели WS-C2960-24PC-L стояла уже несколько устаревшая версия IOS – c2960-lanbase-mz.122-44.SE1.bin, выпущенная аж 6 марта 2008 года. В ней даже не существует возможность подключения к устройству по ssh (что я безуспешно и пытался настроить). Однако, на сайте Cisco, уже появилась IOS – c2960-lanbasek9-mz.122-58.SE2.bin, выпущенная 27 июля 2011 года. Опустим сейчас разговоры на тему, почему компания Cisco не позволяет любому, купившему их оборудование, скачивать эти обновления. Мир – не без добрых людей, и найти на просторах интернета последнюю версию IOS не составит труда.
Подключаемся к устройству с помощью PuTTY по telnet и просмотрим текущую версию IOS:
User Access Verification Password: cisco2960-2>enable Password: cisco2960-2#show version Cisco IOS Software, C2960 Software (C2960-LANBASE-M), Version 12.2(44)SE1, RELEASE SOFTWARE (fc1) Copyright © 1986-2008 by Cisco Systems, Inc. Compiled Thu 06-Mar-08 21:11 by weiliu Image text-base: 0×00003000, data-base: 0×01000000 ROM: Bootstrap program is C2960 boot loader BOOTLDR: C2960 Boot Loader (C2960-HBOOT-M) Version 12.2(44r)SE1, RELEASE SOFTWARE (fc1) cisco2960-2 uptime is 40 weeks, 23 hours, 23 minutes System returned to ROM by power-on System restarted at 14:38:25 MSK Thu Apr 14 2011 System image file is “flash:c2960-lanbase-mz.122-44.SE1/c2960-lanbase-mz.122-44.SE1.bin” cisco WS-C2960-24PC-L (PowerPC405) processor (revision A0) with 61440K/4088K bytes of memory. Processor board ID FOC1218Z0K8 Last reset from power-on 1 Virtual Ethernet interface 24 FastEthernet interfaces 2 Gigabit Ethernet interfaces The password-recovery mechanism is enabled. 64K bytes of flash-simulated non-volatile configuration memory. Base ethernet MAC Address : 00:21:1C:BE:79:00 Motherboard assembly number : 73-11305-04 Power supply part number : 341-0266-01 Motherboard serial number : FOC121746YE Power supply serial number : DCA1213H0D7 Model revision number : A0 Motherboard revision number : B0 Model number : WS-C2960-24PC-L System serial number : FOC1218Z0K8 Top Assembly Part Number : 800-29397-01 Top Assembly Revision Number : A0 Version ID : V01 CLEI Code Number : COMS410ARA Hardware Board Revision Number : 0×01 Switch Ports Model SW Version SW Image ——— ——- ——- ————— ————— * 1 26 WS-C2960-24PC-L 12.2(44)SE1 C2960-LANBASE-M Configuration register is 0xF
Теперь нам необходимо вычислить количество свободного места на встроенной flash-памяти для новой версии IOS:
cisco2960-2#show flash Directory of flash:/ 2 -rwx 5 Apr 14 2011 13:34:40 +03:00 private-config.text 3 -rwx 1048 Apr 14 2011 13:34:40 +03:00 multiple-fs 4 drwx 512 Mar 1 1993 03:07:29 +03:00 c2960-lanbase-mz.122-44.SE1 543 -rwx 2044 Apr 14 2011 13:34:40 +03:00 config.text 27998208 bytes total (18005504 bytes free)
Для моей новой IOS достаточно места, т.к. ее точный размер 11 660 773 байт. Если на вашей flash-памяти места под новую IOS не достаточно, придется удалить старую, находящуюся в каталоге c2960-lanbase-mz.122-44.SE1 (в моем случае сделать это все-таки необходимо в конце удачного обновления):
cisco2960-2#delete /force /recursive flash:/c2960-lanbase-mz.122-44.SE1
Теперь на всякий случай сохраним рабочий конфигурационный файл на наш tftp-сервер, и заодно – старую версию IOS (как поднять в сети tftp-сервер на FreeBSD-сервере я описал в этой статье):
cisco2960-2#write Building configuration... [OK] cisco2960-2#copy running-config tftp://192.168.100.1 Address or name of remote host [192.168.100.1]? Destination filename [cisco2960-2-confg]? !! 2090 bytes copied in 1.417 secs (1475 bytes/sec) cisco2960-2#copy flash:/c2960-lanbase-mz.122-44.SE1/c2960-lanbase-mz.122-44.SE1.bin tftp://192.168.100.1 Address or name of remote host [192.168.100.1]? Destination filename [c2960-lanbase-mz.122-44.SE1.bin]? !!!!!!!!!!!!!!!!!!!!!!!!!! 6365137 bytes copied in 15.150 secs (420141 bytes/sec)
Положите на свой tftp-сервер новую версию IOS (в моем случае имя файла будет таким – 192.168.100.2-c2960-lanbasek9-mz.122-58.SE2.bin, где 192.168.100.2 – ip-адрес моего Cisco switch 2960) и скопируйте его к себе на свитч:
cisco2960-2#copy tftp://192.168.100.1/c2960-lanbasek9-mz.122-58.SE2.bin flash: Destination filename [c2960-lanbasek9-mz.122-58.SE2.bin]? Accessing tftp://192.168.100.1/c2960-lanbasek9-mz.122-58.SE2.bin… Loading c2960-lanbasek9-mz.122-58.SE2.bin from 192.168.100.1 (via Vlan1): !!!!!!!!!!!!!!!!!!!!! [OK – 11660773 bytes] 11660773 bytes copied in 134.300 secs (86826 bytes/sec)
Просмотрите содержимое своей flash-памяти:
cisco2960-2#dir flash: Directory of flash:/ 2 -rwx 1048 Jan 20 2012 14:03:48 +03:00 multiple-fs 3 -rwx 11660773 Jan 20 2012 14:05:35 +03:00 c2960-lanbasek9-mz.122-58.SE2.bin 544 -rwx 2090 Jan 20 2012 14:03:48 +03:00 config.text 4 drwx 512 Mar 1 1993 03:07:29 +03:00 c2960-lanbase-mz.122-44.SE1 543 -rwx 5 Jan 20 2012 14:03:48 +03:00 private-config.text 27998208 bytes total (6344731 bytes free)
Теперь в режиме конфигурирования нам необходимо указать, какой образ IOS грузить в память в момент загрузки устройства:
cisco2960-2#configure terminal Enter configuration commands, one per line. End with CNTL/Z. cisco2960-2(config)#boot system flash:/c2960-lanbasek9-mz.122-58.SE2.bin cisco2960-2(config)#exit
Сохраните конфигурацию и перезагрузите устройство:
cisco2960-2#write Building configuration... [OK] cisco2960-2#reload Proceed with reload? [confirm]
При загрузке, устройство распознает новую версию IOS и самостоятельно ее установит.
Checking for Bootloader upgrade.. upgrading.. writing boot sectors..done. The system will now restart
После загрузки устройства, войдите в него и просмотрите версию текущей IOS:
User Access Verification Password: cisco2960-2>enable Password: cisco2960-2#sh ver Cisco IOS Software, C2960 Software (C2960-LANBASEK9-M), Version 12.2(58)SE2, RELEASE SOFTWARE (fc1) Technical Support: http://www.cisco.com/techsupport Copyright © 1986-2011 by Cisco Systems, Inc. Compiled Thu 21-Jul-11 02:13 by prod_rel_team ROM: Bootstrap program is C2960 boot loader BOOTLDR: C2960 Boot Loader (C2960-HBOOT-M) Version 12.2(44r)SE1, RELEASE SOFTWARE (fc1) cisco2960-2 uptime is 3 minutes System returned to ROM by power-on System restarted at 16:03:42 MSK Fri Jan 20 2012 System image file is “flash:/c2960-lanbasek9-mz.122-58.SE2.bin” This product contains cryptographic features and is subject to United States and local country laws governing import, export, transfer and use. Delivery of Cisco cryptographic products does not imply third-party authority to import, export, distribute or use encryption. Importers, exporters, distributors and users are responsible for compliance with U.S. and local country laws. By using this product you agree to comply with applicable laws and regulations. If you are unable to comply with U.S. and local laws, return this product immediately. A summary of U.S. laws governing Cisco cryptographic products may be found at: http://www.cisco.com/wwl/export/crypto/tool/stqrg.html If you require further assistance please contact us by sending email to export@cisco.com. cisco WS-C2960-24PC-L (PowerPC405) processor (revision A0) with 61440K/4088K bytes of memory. Processor board ID FOC1218Z0K8 Last reset from power-on 1 Virtual Ethernet interface 24 FastEthernet interfaces 2 Gigabit Ethernet interfaces The password-recovery mechanism is enabled. 64K bytes of flash-simulated non-volatile configuration memory. Base ethernet MAC Address : 00:21:1C:BE:79:00 Motherboard assembly number : 73-11305-04 Power supply part number : 341-0266-01 Motherboard serial number : FOC121746YE Power supply serial number : DCA1213H0D7 Model revision number : A0 Motherboard revision number : B0 Model number : WS-C2960-24PC-L System serial number : FOC1218Z0K8 Top Assembly Part Number : 800-29397-01 Top Assembly Revision Number : A0 Version ID : V01 CLEI Code Number : COMS410ARA Hardware Board Revision Number : 0×01 Switch Ports Model SW Version SW Image ——— ——- ——- ————— ————— * 1 26 WS-C2960-24PC-L 12.2(58)SE2 C2960-LANBASEK9-M Configuration register is 0xF
Теперь, если вы не сделали этого ранее, можно удалить старую версию IOS с помощью команды DELETE. Ее синтаксис довольно прост:
cisco2960-2#sh fl Directory of flash:/ 2 -rwx 1048 Jan 20 2012 14:03:48 +03:00 multiple-fs 3 -rwx 11660773 Jan 20 2012 14:05:35 +03:00 c2960-lanbasek9-mz.122-58.SE2.bin 544 -rwx 2090 Jan 20 2012 14:03:48 +03:00 config.text 4 drwx 512 Mar 1 1993 03:07:29 +03:00 c2960-lanbase-mz.122-44.SE1 543 -rwx 5 Jan 20 2012 14:03:48 +03:00 private-config.text 27998208 bytes total (6344731 bytes free) cisco2960-2#delete ? /force Force delete /recursive Recursive delete flash: File to be deleted nvram: File to be deleted
И удаляем рекурсивно каталог c2960-lanbase-mz.122-44.SE1 со старой версией IOS:
cisco2960-2#delete /force /recursive flash:/c2960-lanbase-mz.122-44.SE1 cisco2960-2#sh fl Directory of flash:/ 2 -rwx 2072 Jan 20 2012 16:10:51 +04:00 multiple-fs 3 -rwx 1981 Jan 20 2012 16:10:50 +04:00 config.text 4 -rwx 1918 Jan 20 2012 16:10:50 +04:00 private-config.text 5 -rwx 11660773 Jan 20 2012 15:58:06 +04:00 c2960-lanbasek9-mz.122-58.SE2.bin 27998208 bytes total (16233984 bytes free)
Вот и все. Удачи!
Спасибо! Помогло.
Отличная статья, все получилось, большое спасибо
Спасибо!
Классная статья!
Спасибо!
Спасибо огромное вам за статью!!!!
Очень помогло и выручило!!!!!
archive download-sw /overwrite tftp://10.10.10.10/c2960-lanbasek9-tar.150-2.SE10a.tar