Задача: обновить системное программное обеспечение Cisco ASA 5510 с сохранением текущей конфигурации и предыдущего ПО в качестве резервной копии на внешнем носителе.
Протестировано на следующих устройствах:
Cisco PIX515, ASA 5510.
Для ASA и PIX процесс обновления совершенно идентичен, применительно к этому процессу можно считать устройства одинаковыми; мало того, учитывая то, что новые версии программного обеспечения для PIX не выпускается уже с пару лет, можно на них использовать образы для ASA (если хватит объёма "флеш" и оперативной памяти).
Подключаемся через последовательный интерфейс к консоли управления Cisco.
После авторизации на маршрутизаторе получаем возможность исполнять команды в оболочке IOS.
Просмотрим сведения о конфигурации системы на момент до обновления (хотя бы для того, чтобы сравнить с состоянием после обновления):
ASA# show version
....
System image file is "disk0:/asa708-k8.bin"
....
0: Ext: Ethernet0/0
1: Ext: Ethernet0/1
2: Ext: Ethernet0/2
3: Ext: Not licensed
4: Ext: Management0/0
....
Licensed features for this platform:
Maximum Physical Interfaces : 4
Maximum VLANs : 10
Inside Hosts : Unlimited
....
VPN-DES : Enabled
VPN-3DES-AES : Enabled
....
VPN Peers : 50
....
This platform has a Base license.
....
System image file is "disk0:/asa708-k8.bin"
....
0: Ext: Ethernet0/0
1: Ext: Ethernet0/1
2: Ext: Ethernet0/2
3: Ext: Not licensed
4: Ext: Management0/0
....
Licensed features for this platform:
Maximum Physical Interfaces : 4
Maximum VLANs : 10
Inside Hosts : Unlimited
....
VPN-DES : Enabled
VPN-3DES-AES : Enabled
....
VPN Peers : 50
....
This platform has a Base license.
....
Проверяем наличие файловых систем на маршрутизаторе:
ASA# show file system
Получаем список имеющихся на устройстве файловых систем с описанием параметров. Используя полученные данные можно по перемещаться по файловым системам и поискать файлы, подлежащие резервному копированию.
Применительно к "свежей", настроенной по умолчанию, Cisco ASA 5510 список файловых систем может выглядеть следующим образом:
File Systems:
Size(b) Free(b) Type Flags Prefixes
255426560 243638272 disk rw disk0: flash:
- - disk rw disk1:
- - network rw tftp:
- - opaque rw system:
- - network ro http:
- - network ro https:
- - network rw ftp:
....
Size(b) Free(b) Type Flags Prefixes
255426560 243638272 disk rw disk0: flash:
- - disk rw disk1:
- - network rw tftp:
- - opaque rw system:
- - network ro http:
- - network ro https:
- - network rw ftp:
....
Сразу обращаем внимание на объем доступного пространства в основной файловой системе, его у нас более двухсот мегабайт, что должно хватить на любой образ операционной системы для данного устройства, да и не только для него. Это означает то, что нет необходимости подвергать файловую систему зачистке для высвобождения пространства, можно просто сделать резервные копии имеющихся файлов и приступать к загрузке более свежего ПО.
Просматриваем содержимое файловой системы маршрутизатора:
ASA# cd flash:
ASA# dir
ASA# dir
Видим там нечто вроде следующего:
Directory of disk0:/
5 -rw- 5548032 00:06:20 Jan 01 2003 asa708-k8.bin
685 -rw- 6163744 11:01:28 May 19 2009 asdm-508.bin
....
5 -rw- 5548032 00:06:20 Jan 01 2003 asa708-k8.bin
685 -rw- 6163744 11:01:28 May 19 2009 asdm-508.bin
....
Так вот, "asa708-k8.bin" - это образ IOS для ASA.
Для маршрутизаторов Cisco создание резервных копий и обновление программного обеспечения возможно с помощью простого копирования файлов через USB "флешку". С Cisco ASA такое не проходит, так как имеющиеся USB порты на устройстве никак не задействованы в операционной системе и предназначены для "использования в будущем". остается единственный вариант - использовать TFTP сервер.
Развёртываем TFTP сервер для загрузки с него на устройство ASA образа. Для Windows не знаю ничего лучше TFTPD32 (http://tftpd32.jounin.net).
Считаем, что мы имеем устройство ASA, подключённое к сети, в которой есть TFTP сервер (по адресу 192.168.1.200/24) с требуемым нам программным обеспечением. настроим один из сетевых интерфейсов:
ASA# conf t
ASA(config)# interface Management0/0
ASA(config-if)# ip address 192.168.1.1 255.255.255.0
ASA(config-if)# no shutdown
ASA(config-if)# exit
ASA(config)# interface Management0/0
ASA(config-if)# ip address 192.168.1.1 255.255.255.0
ASA(config-if)# no shutdown
ASA(config-if)# exit
Копируем образ IOS и дистрибутивы дополнительного программного обеспечения на удалённый TFTP сервер:
ASA# copy flash:/asa708-k8.bin tftp://192.168.1.200/asa708-k8.bin
ASA# copy flash:/asdm-508.bin tftp://192.168.1.200/asdm-508.bin
ASA# copy flash:/asdm-508.bin tftp://192.168.1.200/asdm-508.bin
Копируем образ с желаемым IOS для нашего устройства с удалённого TFTP сервера:
ASA# copy tftp://192.168.1.200/asa822-k8.bin flash:/asa822-k8.bin
Процесс копирования сопровождается выводом в терминал символов "!". Один знак "!" соответствует десяти успешно скопированным пакетам. После успешной загрузки файла будет произведено вычисление контрольной суммы файла; результат вычисления контрольной суммы очень неплохо бы сравнить с имеющимся у нас значением, полученным, например, при загрузке файла с сайта производителя. Принудительно вычислить контрольную сумму на Cisco ASA у меня не вышло в силу отсутствия известной мне команды "verify", так что нужно не забывать сделать это сразу после загрузки файла.
В процессе загрузки файла или перемещении его с одной файловой системы в другую может быть задан вопрос о необходимости в очистке целевой файловой системы для освобождения пространства. Если в этом есть необходимость, соглашаемся, если нет, то, соответственно - отказываемся.
Проверяем файловую систему на предмет наличия в ней загруженного файла:
ASA# show flash:
Получаем нечто вроде следующего:
....
6 5548032 Jan 01 2003 00:06:20 asa708-k8.bin
....
11 8515584 Feb 15 2010 04:28:34 asa724-k8.bin
12 16459776 Mar 02 2010 00:03:04 asa822-k8.bin
....
6 5548032 Jan 01 2003 00:06:20 asa708-k8.bin
....
11 8515584 Feb 15 2010 04:28:34 asa724-k8.bin
12 16459776 Mar 02 2010 00:03:04 asa822-k8.bin
....
И так, мы имеем два или более образа IOS на одном устройстве. Вывод команды "show version" покажет нам то, что загрузочным на данный момент является файл:
....
System image file is "disk0:/asa708-k8.bin"
....
System image file is "disk0:/asa708-k8.bin"
....
Укажем системе загружать новый образ (предварительно отключив загрузку предыдущего образа):
ASA(config)# no boot system disk0:/asa708-k8.bin
ASA(config)# boot system disk0:/asa822-k8.bin
ASA(config)# exit
ASA# copy running-config startup-config
ASA# reload
ASA(config)# boot system disk0:/asa822-k8.bin
ASA(config)# exit
ASA# copy running-config startup-config
ASA# reload
После перезагрузки устройства проверяем, не были ли наши усилия тщетными и убеждаемся в обратном:
ASA# show version
....
System image file is "disk0:/asa822-k8.bin"
....
0: Ext: Ethernet0/0
1: Ext: Ethernet0/1
2: Ext: Ethernet0/2
3: Ext: Ethernet0/3
4: Ext: Management0/0
....
Licensed features for this platform:
Maximum Physical Interfaces : Unlimited
Maximum VLANs : 50
Inside Hosts : Unlimited
....
VPN-DES : Enabled
VPN-3DES-AES : Enabled
....
VPN Peers : 250
WebVPN Peers : 2
....
This platform has a Base license.
....
System image file is "disk0:/asa822-k8.bin"
....
0: Ext: Ethernet0/0
1: Ext: Ethernet0/1
2: Ext: Ethernet0/2
3: Ext: Ethernet0/3
4: Ext: Management0/0
....
Licensed features for this platform:
Maximum Physical Interfaces : Unlimited
Maximum VLANs : 50
Inside Hosts : Unlimited
....
VPN-DES : Enabled
VPN-3DES-AES : Enabled
....
VPN Peers : 250
WebVPN Peers : 2
....
This platform has a Base license.
....
Загрузка "свежего" образа IOS "asa724-k8.bin" или "asa822-k8.bin" кроме понимания того, что мы закрыли обнаруженные за время работы предыдущего ПО уязвимости и обрели предположительно большую стабильность системы ещё и бонус - неограниченное использование портов Ethernet в пределах имеющейся у нас базовой лицензии для используемой платформы. Теперь мы сможем использовать все четыре Ethernet порта, вместо трёх, доступных нам ранее. Кроме того, существенно увеличено количество одновременно поддерживаемых VLAN и VPN туннелей.
9 апреля 2011 в 17:28
10 апреля 2011 в 14:47
10 апреля 2011 в 19:52
4 ноября 2015 в 18:38
9 июня 2016 в 15:03
9 июня 2016 в 16:24
2 ноября 2017 в 13:34