- PVSM.RU - https://www.pvsm.ru -

Разворачиваем Cisco ISE в среде Hyper-V и не только

Обучение в ИТ — это процесс перманентный. ИТ специалист просто обязан учиться каждый день, чтобы не только узнать что-то новое, но и не растерять старое. И раз уж я начал свою статью с темы обучения, хочу поблагодарить команду проекта «CCIE за год» [1] за прекрасную возможность подготовиться к экзамену CCIE в команде единомышленников и под чутким руководством грамотных специалистов/тренеров.
В процессе подготовки к экзамену 300-208 SISAS из трека CCNP Security придется разбираться с таким продуктом сетевой безопасности как Cisco Identity Service Engine. Изучив теорию, обязательно захочется перейти к практике. Для этого отлично подойдет виртуальная машина. Но образ виртуальной машины доступен только для VMWare, что, в принципе, не является проблемой, но привносит некоторое неудобство. Например, у меня установлено 2 ОС — Windows 10 и Ubuntu 15.10, и я предпочитаю использовать нативный Hyper-V в Windows или интегрированный в GNS3 VirtualBox в Ubuntu. В этом случае можно воспользоваться вариантом чистой установки Cisco ISE с образа iso, доступного на сайте cisco.com.

После первых попыток установить ISE в одном из официально неподдерживаемых гипервизоров оказалось, что сделать это не так просто. Инсталлятор завершается в самом начале установки с тексом ошибки о том, что ISE не может быть установлен в данной среде. Но это не приговор… Итак, у нас есть iso образ и мы готовы приступить к установке Cisco ISE 2.0 в среде Hyper-V.
Установка осуществляется инсталлятором Anaconda [2] с использованием Kickstart [3], весь процесс предварительной проверки совместимости реализован в kickstart файле. Начинаем с распаковки iso образа любым архиватором в директорию локального диска. После завершения распаковки, переходим в каталог с распакованным образом и находим файл ks.cfg. Открываем его в текстовом редакторе и вносим правки:
1. Необходимо закомментировать все вызовы halt — добавляем # перед всеми строчками /sbin/halt -f;
2. Необходимо заменить все вызовы приложения cars_udi_util с различными параметрами статическими записями:
Строки вида:

UDI_PID=`/sbin/cars_udi_util -p`
UDI_VID=`/sbin/cars_udi_util -v`
UDI_SN=`/sbin/cars_udi_util -s`

Необходимо заменить строками вида:

UDI_PID="Cisco-VM-SPID"
UDI_VID="1.0"
UDI_SN="123456789"

3. Так же необходимо жестко указать UDI_PID в первой строке функции validate_hwinfo(). Для этого после строки «validate_hwinfo(){» вставляем новую строку вида UDI_PID=«Cisco-VM-SPID».
Сохраняем все изменения в исходном файле. Теперь необходимо пересобрать iso файл. Для этой задачи рекомендую воспользоваться приложением ImgBurn [4]. После установки приложения, запускаем его и выбираем меню «Create image file from files/folders».

image

В открывшемся окне указываем исходную папку с файлами распакованного ранее iso образа (Source) и файл назначения (Destination).

image

Переходим на вкладку «Options» и устанавливаем следующие значения:

File System: ISO9660 + Joliet
Recurse Subdirectories: Enabled
Include Hidden Files: Enabled
Include System Files: Enabled

image

На вкладке «Labels» необходимо указать метки тома.

image

Переходим на вкладку «Advanced». Сперва установим ограничения на вкладке «Restrictions -> ISO9660»:

Folder/File Name Length: Level 1 - 11 Charachters, 8.3 Format
Charachter Set: Standard
Allow More Than 8 Directory Levels: Enabled
Allow More Than 255 Characters In Path: Enabled
Allow Files Without Extensions: Enabled
Don't Add ';1' Version Number To Files: Enabled

image

Переходим ко вкладке «Restrictions -> Joliet»:

Folder/File Name Length: Level 1 - 64 Characters
Allow Files Without Extensions: Enabled

image

Завершаем конфигурацию на вкладке «Bootable Disc»:

Make Image Bootable: Enabled
Boot Image: указываем путь к файлу isolinux.bin (находится в папке isolinux распакованного iso образа)
Patch Boot Information Table: Enabled

После этого наживаем кнопку внизу окна слева и начинается процесс создания загрузочного iso образа.

image

Теперь, когда у нас есть модифицированный установочный образ Cisco ISE, мы можем приступать к установке. Создаем вириальную машину Hyper-V 1-ого поколения, соответствующую минимальным параметрам [5]. В качестве загрузочного носителя указываем созданный iso образ, сохраняем конфигурацию виртуальной машины и запускаем её.

image

При запуске будет запущен ряд проверок, которые будут возвращать на консоль виртуальной машины страшные сообщения об ошибках. Боятся их не стоит ведь мы с Вами ранее закомментировали все вызовы halt в ks скрипте. Установка достаточно проста и не должна вызвать проблем, официальное руководство находится по ссылке [6].
По завершении установки виртуальная машина перезагрузиться и после запуска нас попросят ввести слово setup для первоначальной конфигурации ПО. Далее будет запущен скрипт, который в диалоговом режиме выполнит базовую конфигурацию и развернет схему БД. Это процесс, как правило, занимает 15-20 минут. По окончании машина будет перезапущена. Теперь у нас есть рабочий инстанс Cisco ISE с пробной лицензией, развернутый в виртуальной среде Hyper-V.

image

Правда есть нюансы по лицензированию — ПО некорректно определяет VID/PID/Serial, работая под Hyper-V. Но это решаемо…

image

Нам понадобится iso образ CentOS 7 Minimal, актуальная версия доступна по ссылке [7]. Скачиваем образ и указываем его в качестве загрузочного для нашей виртуальной машины. Перезагружаем машину и оказываемся в загрузочном меню инсталлятора CentOS. Выбираем пункт меню «Troubleshooting -> Rescue a CentOS system». Нам будет предложено автоматически определить и примонтировать существующую файловую систему (по умолчанию ФС будет смонтирована в каталог /mnt/sysimage/). Переходим в каталог /mnt/sysimage/opt/system/bin/:

cd /mnt/sysimage/opt/system/bin/

Переименовываем существующее приложение cars_udi_util в cars_udi_util.bak:

mv cars_udi_util cars_udi_util.bak

Создаем shell скрипт cars_udi_util или копируем его с внешнего источника:

vi cars_udi_util

Shell скрипт cars_udi_util

#!/bin/sh
# Change PID/VID/Serial to your license.
PID="Cisco-VM-SPID"
VID="1.0"
Serial="HABRAHABR"
Platform="VM"
RUN=0
function pid() {
	echo $PID
	RUN=1
}
function pid() {
	echo $VID
	RUN=1
}
function serial() {
	echo $Serial
	RUN=1
}
function platform() {
	echo $Platform
	RUN=1
}
while getopts "::qpvst" option
do
	case $option in
		q   ) exit 0 ;;
		p	) pid ;;
		v	) vid ;;
		s	) serial ;;
		t	) platform ;;		
		esac
done
if [ $RUN -eq 0 ]
	then
	echo "SPID: $PID"
	echo "VPID: $VID"
	echo "Serial: $Serial"
fi

В качестве VID/PID/Serial указываем свои значения из приобретенных лицензионных файлов.

Устанавливаем права на файл cars_udi_util

chmod 4755 cars_udi_util

Выключаем виртуальную машину, отмонтируем загрузочный iso образ CentOS 7 Minimal и запускаем VM снова. После старта всех служб пробуем подключиться к веб интерфейсу Cisco ISE и проверяем VID/PID/Serial.

image

Теперь мы можем установить официально приобретённые лицензии в Cisco ISE, работающем в виртуальной среде Hyper-V.

Автор: dubidrubi

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/119501

Ссылки в тексте:

[1] проекта «CCIE за год»: http://ccie.linkmeup.ru/about/

[2] Anaconda: https://ru.wikipedia.org/wiki/Anaconda

[3] Kickstart: https://ru.wikipedia.org/wiki/Kickstart

[4] ImgBurn: http://www.imgburn.com/

[5] минимальным параметрам: http://www.cisco.com/c/en/us/td/docs/security/ise/2-0/installation_guide/b_ise_InstallationGuide20/Installing_ISE_on_a_VMware_Virtual_Machine.html#ID-1417-0000001d

[6] ссылке: http://www.cisco.com/c/en/us/td/docs/security/ise/2-0/installation_guide/b_ise_InstallationGuide20/Installing_ISE_on_a_VMware_Virtual_Machine.html#task_D90BF1754B054F939F7048E34A1FD8F0

[7] ссылке: http://isoredirect.centos.org/centos/7/isos/x86_64/

[8] Источник: https://habrahabr.ru/post/282692/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best