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

от автора

Обучение в ИТ — это процесс перманентный. ИТ специалист просто обязан учиться каждый день, чтобы не только узнать что-то новое, но и не растерять старое. И раз уж я начал свою статью с темы обучения, хочу поблагодарить команду проекта «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.

ссылка на оригинал статьи https://habrahabr.ru/post/282692/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *