Pull to refresh

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

Reading time4 min
Views12K
Обучение в ИТ — это процесс перманентный. ИТ специалист просто обязан учиться каждый день, чтобы не только узнать что-то новое, но и не растерять старое. И раз уж я начал свою статью с темы обучения, хочу поблагодарить команду проекта «CCIE за год» за прекрасную возможность подготовиться к экзамену 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 с использованием Kickstart, весь процесс предварительной проверки совместимости реализован в 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. После установки приложения, запускаем его и выбираем меню «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-ого поколения, соответствующую минимальным параметрам. В качестве загрузочного носителя указываем созданный iso образ, сохраняем конфигурацию виртуальной машины и запускаем её.
image

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

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

Нам понадобится iso образ CentOS 7 Minimal, актуальная версия доступна по ссылке. Скачиваем образ и указываем его в качестве загрузочного для нашей виртуальной машины. Перезагружаем машину и оказываемся в загрузочном меню инсталлятора 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.
Tags:
Hubs:
+11
Comments0

Articles