Обновление ПО на ASA CX имеет некоторые нюансы, о которых не стоит забывать. Процесс проходит в два этапа: сначала обновляется ОС непосредственно ASA, после чего происходит обновление ПО CX-модуля (физического или виртуального).
Ниже в примере будет использоваться ASA 5515-X. Начальная конфигурация (из коробки) имеет следующие версии софта:
ASA OS - 9.1.(1)
CX Image: 9.1
На момент обновления и написания статьи были доступны версии 9.1.(3) для ASA и 9.2.1.2 (77) для CX. Задача - обновиться до указанных версий.
Перед началом обновления необходимо ознакомиться с совместимостью версии ПО Cisco CX и Prime Security Manager (PRSM) - система управления для межсетевого экрана (фактически веб-интерфейс для удобства управления им) (совместимость версий). И это нужно сделать обязательно! В данном случае у ASA 5515-X отсутствует физический CX-модуль. Вместо него присутствует виртуальный образ. Поэтому смотрим соответствующую табличку и видим, что данное устройство поддерживает переход на версию 9.2.(1):
В процессе обновления потребуются дополнительные инструменты: TFTP-server и/или FTP-server. При обновлении софта я в данном случае использовал сначала TFTPd32, а после FTP (FileZilla-server), но можно и нужно использовать только FTP (лучше), т.к. софт на CX качается только с FTP/HTTP/HTTPS-хранилища.
Этап 1: Обновление ASA OS
Самый очевидный способ (но провальный в данном случае) - использовать TFTP-server для скачивания образа на диск ASA с последующей его загрузкой.
Для начала выполним настройку интерфейса, который будем использовать для работы.
ciscoasa# conf t
ciscoasa(config)# interface management 0/0
ciscoasa(config-if)# ip address 10.1.1.1 255.255.255.0
ciscoasa(config-if)# nameif MGMT
ciscoasa(config-if)# exit
ciscoasa(config)# exit
ciscoasa#
Проверяем доступность TFTP-сервера:
ciscoasa# ping 10.1.1.22
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.1.66.22, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/10 ms
ciscoasa#
Проверяем свободное место:
ciscoasa# dir disk0:
Directory of disk0:/
10 drwx 4096 21:35:24 Feb 19 2014 log
20 drwx 4096 21:35:50 Feb 19 2014 crypto_archive
21 drwx 4096 21:35:58 Feb 19 2014 coredumpinfo
94 -rwx 37416960 21:39:56 Feb 19 2014 asa911-smp-k8.bin
95 -rwx 69318656 21:47:06 Feb 19 2014 asacx-5500x-boot-9.1.1-1-RelWithDebInfo.x86_64.img
96 -rwx 17851400 22:14:50 Feb 19 2014 asdm-66114.bin
7994621952 bytes total (4648271872 bytes free)
ciscoasa#
Начинаем заливать IOS в соответствии с рекомендацией
ciscoasa# copy tftp://10.1.1.22/asa913-8-smp-k8.bin disk0:/asa912-8-smp-k8.bin
Address or name of remote host [10.1.66.22]?
Source filename [asa912-8-smp-k8.bin]?
Destination filename [asa912-8-smp-k8.bin]?
Accessing
tftp://10.1.66.22/asa912-8-smp-k8.bin...!!!!!!!!!!!!!!!!!!!!!!!!!!!
No Cfg structure found in downloaded image file
Описание данной проблемы присутствует на сайте Cisco. Однако, предлагаемый обход проблемы путем последовательного обновления с 9.1.1 на 9.1.2, а после уже на 9.1.3 не помогает: при попытке скачать файл возникает все та же ошибка, после чего файл отсутствует в памяти ASA.
Аналогичная проблема возникает при попытке залить с USB-flash на диск ASA.
ciscoasa# copy disk1:/asa913-smp-k8.bin disk0:/asa913-smp-k8.bin
Source filename [asa913-smp-k8.bin]?
Destination filename [asa913-smp-k8.bin]?
Copy in progress...CCCCCCCCCCCCCCCCCCCC
No Cfg structure found in downloaded image file
No Cfg structure found in downloaded image file
В качестве нового обхода проблемы предлагается загрузиться прямо с USB-flash или с FTP/TFTP-server (второй вариант не проверялся). Данный способ позволяет обновиться сразу до версии 9.1.3 без промежуточных обновлений.
Загрузка с USB-flash:
Загрузка с USB-flash:
ciscoasa# show boot
BOOT variable = disk0:/asa911-smp-k8.bin
Current BOOT variable = disk0:/asa911-smp-k8.bin
CONFIG_FILE variable =
Current CONFIG_FILE variable =
ciscoasa# conf t
ciscoasa(config)# no boot system disk0:/asa911-smp-k8.bin
ciscoasa(config)# boot system disk1:/asa913-smp-k8.bin
ciscoasa(config)# exit
ciscoasa# write
ciscoasa# reload
Proceed with reload? [confirm]
ciscoasa#
В случае успешной загрузки системы производим копирование образа на диск и настраиваем загрузку с данного образа. На этом первый этап обновления завершен.
Этап 2: Обновление CX
Для того, чтобы была связь с модулем CX, необходимо сделать перенаправление трафика на него. В примере показаны настройки перенаправления всего трафика на CX.
ciscoasa(config)# policy-map global_policy
ciscoasa(config-pmap)# class class-default
ciscoasa(config-pmap-c)# cxsc fail-open auth-proxy
ciscoasa(config-pmap-c)# exit
ciscoasa(config)# no service-policy global_policy globalciscoasa(config)# service-policy global_policy global
После производит обновление ПО модуля. Процесс двухступенчатый: сначала делаем реимэйдж, т.к. необходимо обновить загрузочный образ до версии, поддерживающей устанавливаемое обновление, после чего уже непосредственно обновить PRSM.
Закачку буду производить с TFTP, но можно использовать и FTP. Для этого я предварительно скачал образ загрузочного диска: asacx-5500x-boot-9.2.1.2-77.img (70 мб) , и обновление asacx-sys-9.2.1.2-77.pkg (800 мб).
Закачку буду производить с TFTP, но можно использовать и FTP. Для этого я предварительно скачал образ загрузочного диска: asacx-5500x-boot-9.2.1.2-77.img (70 мб) , и обновление asacx-sys-9.2.1.2-77.pkg (800 мб).
Копируем образ диска для реимэйджа на диск:
ciscoasa# copy tftp://10.1.1.22/asacx-5500x-boot-9.2.1.2-77.img disk0:/
Address or name of remote host [10.1.66.22]?
Source filename [asacx-5500x-boot-9.2.1.2-77.img]?
Destination filename [asacx-5500x-boot-9.2.1.2-77.img]?
Accessing tftp://10.1.66.22/asacx-5500x-boot-9.2.1.2-77.img...!!!!!!!
Writing file disk0:/asacx-5500x-boot-9.2.1.2-77.img...!!!!!!!
69849088 bytes copied in 58.170 secs (1204294 bytes/sec)Writing file disk0:/asacx-5500x-boot-9.2.1.2-77.img...!!!!!!!
Деинсталируем виртуальную машину CX, выключаем модули (например, IPS) если они имеются в наличии.
ciscoasa# sh module ips
Mod Card Type Model Serial No.
---- -------------------------------------------- ------------------ -----------
ips Unknown N/A ХХХХХХХХ
Mod MAC Address Range Hw Version Fw Version Sw Version
---- --------------------------------- ------------ ------------ ---------------
ips хххххххххххххххххх N/A N/A
Mod SSM Application Name Status SSM Application Version
---- ------------------------------ ---------------- --------------------------
ips Unknown No Image Present Not Applicable
Mod Status Data Plane Status Compatibility
---- ------------------ --------------------- -------------
ips Unresponsive Not Applicable
Mod License Name License Status Time Remaining
---- -------------- --------------- ---------------
ips IPS Module Disabled perpetual
Модуль IPS отсутствует.
ciscoasa# sh module cxsc
Mod Card Type Model Serial No.
---- -------------------------------------------- ------------------ -----------
cxsc ASA CX5515 Security Appliance ASA CX5515 ХХХХХХХХХХ
Mod MAC Address Range Hw Version Fw Version Sw Version
---- --------------------------------- ------------ ------------ ---------------
cxsc ххх N/A N/A 9.1.1
Mod SSM Application Name Status SSM Application Version
---- ------------------------------ ---------------- --------------------------
cxsc ASA CX Up 9.1.1
Mod Status Data Plane Status Compatibility
---- ------------------ --------------------- -------------
cxsc Up Up
Красным выделен статус CX-модуля (виртуального).
ciscoasa(config)# sw-module module cxsc shut // переводим модуль в состояние Down
ciscoasa(config)# sw-module module cxsc uninstall // деинсталяция модуля СХ
Module cxsc will be uninstalled. This will completely remove the disk image assocated with the sw-module including any configuration that existed within it.
Uninstall module cxsc? [confirm] // жмем Enter
Uninstall issued for module cxsc.
ciscoasa(config)# sw-module module ips shut //выключаем модуль IPS
Shutdown module ips? [confirm] // Нажимаем Enter
Shutdown issued for module ips.
ciscoasa(config)# sw-module module ips uninstall Производим установку boot-образа.
ciscoasa(config)# sw-module module cxsc recover configure image disk0:/asacx-5500x-boot-9.2.1.2-77.img
ciscoasa(config)# sw-module module cxsc recover boot
ciscoasa(config)# sw-module module cxsc recover boot
Module cxsc will be recovered. This may erase all configuration and all data
on that device and attempt to download/install a new image for it. This may take
several minutes.
Recover module cxsc? [confirm]
Recover issued for module cxsc.
После чего ждем 15 минут (+/-), пока не завершится реимэйдж. Проверку можно осуществлять периодической попыткой входа:
ciscoasa# session cxsc con
Opening console session with module cxsc.
ERROR: Failed to connect to unix socket /dev/ttyS1_vm2
Как только реимэйдж завершится, попытка доступа к консоли CX будет успешной:
ciscoasa# sess cxs con
Opening console session with module cxsc.
Connected to module cxsc. Escape character sequence is 'CTRL-^X'.
Cisco ASA CX Boot Image 9.2.1.2
Значение логинов и паролей по умолчанию: admin/Admin123
asacx login: admin
Password:
Cisco ASA CX Boot 9.2.1.2 (77)
Type ? for list of commands
asacx-boot>
Делаем разметку и форматирование диска:
asacx-boot>partition
Disk /dev/sda doesn't contain a valid partition table
WARNING: You are about to erase all policy configurations and data.
You cannot undo this action.
Are you sure you want to proceed? [y/n]:y
!<output omitted>!
Для закачки обновления PRSM требуется первоначальная настройка CX, запускаемая командой setup.
asacx-boot>setup
Welcome to Cisco Prime Security Manager Setup
[hit Ctrl-C to abort]
Default values are inside []
Enter a hostname [asacx]: asacx
Do you want to configure IPv4 address on management interface?(y/n) [Y]: Y
Do you want to enable DHCP for IPv4 address assignment on management interface?(y/n) [N]:N
Enter an IPv4 address [192.168.8.8]: 10.1.1.21
Enter the netmask [255.255.255.0]: 255.255.255.0
Enter the gateway [192.168.8.1]: 10.1.1.22
Do you want to configure static IPv6 address on management interface?(y/n) [N]:n
Stateless autoconfiguration will be enabled for IPv6 addresses.
Enter the primary DNS server IP address: 8.8.8.8
Do you want to configure Secondary DNS Server? (y/n) [n]:n
Do you want to configure Local Domain Name? (y/n) [n]:n
Do you want to configure Search domains? (y/n) [n]:n
Do you want to enable the NTP service? [Y]:N
Apply the changes?(y,n) [Y]: y
Проверяем доступность запущенного FTP-server. Для загрузки обновления PRSM требуется FTP/HTTP/HTTPS. Другие варианты загрузки обновления не поддерживаются. После проверки доступности начинаем закачку обновления:
asacx-boot>system install ftp://10.1.1.22/asacx-sys-9.2.1.2-77.pkg
Verifying
Enter credentials to authenticate with ftp server
Username: user
Password:
Verifying
Downloading
Extracting
Package Detail
Description: Cisco ASA-CX 9.2.1.2-77 System Upgrade
Requires reboot: Yes
Do you want to continue with upgrade? [y]: y
Warning: Please do not interrupt the process or turn off the system.
Doing so might leave system in unusable state.
Upgrading
Starting upgrade process ...
Populating new system image
Copying over new application components
Cleaning up old application components
Если процесс дошел до нижеследующей строчки, то обновление можно считать успешным. Нажимаем Enter и здем загрузки устройства.
Reboot is required to complete the upgrade. Press 'Enter' to reboot the system.
Reboot is required to complete the upgrade. Press 'Enter' to reboot the system.
Broadcast message from root (ttyS1) (Wed Apr 23 03:56:33 2014):
The system is going down for reboot NOW!
Console session with module cxsc terminated.
В статье описано не обновление модуля CX а развёртование его "с ноля"
ОтветитьУдалитьВ последних версиях такая необходимость встречается редко.
Для обновления CX модуля достаточно:
1. Убрать с него траффик (через global_policy)
2. Обновить образ.
Заходим на модуль -session cxsc console
Имя - Пароль
system upgrade http://сервер с образом/asacx-sys-9.2.1.х-хх.pkg
После обновления модуль перегружается (только сам модуль)
3.Запускаем трафик на модуль через global_policy
Перед этим желательно забэкапить конфигурацию на случай отката.
Описанный в статье вариант пригодиться если обновления прошло не удачно и службы СХ модуля либо не поднимаются, либо падают под нагрузкой. В этом случае понадобится boot-image старой версии и собственно сама старая версия СХ модуля.
ИМХО - Не вижу глубокого смысла в предварительной деинсталяции модуля СХ, т.к. команда partition (в boot-image) Заново разбивает носители и удаляет с них информацию.
Игорь,
УдалитьСпасибо за комментарий. В следующий раз попробую Ваш вариант. В данном же случае описывал вариант, рекомендуемый гайдами и мануалами) Результатом доволен, хотя и муторно. Ваш вариант выглядит быстрее)