Добавление windows eve ng

Create own Windows Host on the EVE

EVE Image Name Downloaded filename Version vCPU RAM HDD Format
win-7×64 Windows7SP1Ultimate_64 Bit.iso 7 Pro 1 8192 virtioa
win-8.1×64 Windows-8.1-install.iso 8.1 1 8192 virtioa
win-10x64Pro Windows-10×64-Pro.iso 10 2 8192 virtioa

Watch VIDEO

This How to is based on Windows 7×64 image installation. The other windows versions are supported

For this you will need an actual Windows installation ISO.

We are using: Windows7SP1Ultimate_64 Bit.iso. Be sure that distro name does not have spaces in the filename!
The procedure is the same for any other Windows version 7, 8.1, 10 hosts.

1. Create a new directory for this image according to the naming convention:

2. Use WinSCP or FileZilla SFTP or SCP (port 22) to copy distro ISO image into the newly created directory path: /opt/unetlab/addons/qemu/win-7test/

3. Go to that directory via CLI

4. Rename this ISO file to cdrom.iso

5. Create a new virtual harddisk named virtioa.qcow2. Size you can choose per your needs. This example is used 30Gb HDD.

6. Create a new lab and add the newly created win-7test node

7. Connect the node to your home LAN cloud/internet in order for it to be able to get updates from the internet

8. Start the node inside the lab and customize the installation of your Windows as you like, as you have connected it to your home LAN and internet this installation will be like any normal Windows installation

9. IMPORTANT: When windows installation asks you to choose an HDD where Windows will be installed, choose Load driver, Browse, choose FDD B/storage/2003R2/AMD64 or x86 , (AMD or x86 depends which version of windows you are installing 64 or 32 bit), click next and you will see HDD RedHat VIRTIO SCSI HDD now.

10. Select this HDD and continue to install Windows as usual.

11. Optional: if you would like to use this image with the EVE RDP console, then you have to allow RDP on this Windows machine and create a user and password. In this example, we use user/Test123. Be sure that in the Windows Firewall the Remote Access inbound rules are permitted for Public access.

12. Finish installation and shutdown properly the VM from inside VM OS. Start/shutdown

IMPORTANT: Commit the installation to set it as the default image for further use in EVE-NG:

13. On the left side-bar within the lab in the EVE Web-UI choose “Lab Details” to get your lab’s UUID details: In this example: UUID: 3491e0a7-25f8-46e1-b697-ccb4fc4088a2

14. Find out the POD ID of your used and the Node ID of your newly installed node.

The POD number is assigned to your username, and can be found in the EVE GUI, Management/User Management. The Admin user uses POD number 0 by default.

The Node ID can be obtained by right clicking the node on the topology. In this Example it is 8

15. From the EVE CLI, locate the installed image and commit your changes to be used as default for further use in EVE-NG:

16. Remove cdrom.iso from /opt/unetlab/addons/qemu/win-7test/

Advanced instructions on how to make your image smaller in size (sparsify&compress).

  1. After you have done all the steps above and your default image is created, you can compress its HDD and make it smaller.

IMPORTANT: for compressing an image you must have sufficient free space on your EVE host, the free space must exceed the total space (30GByte in this example) of the HDD you plan to shrink. The space needed can vary but will be the total space of the disk to be shrunk plus the size of the final sparsified and compressed image. To be safe you should have double the size of the HDD you want to shrink as free space on your EVE host. In our example we needed 35Gbyte of free HDD space. Once this process is done, the temporary file(s) will be deleted and free space reclaimed.

  1. From the CLI: go to your windows image directory:

and perform the sparsify command:

virt-sparsify –compress virtioa.qcow2 compressedvirtioa.qcow2

  1. This will take some time and another compressed image will be created in the same image directory (win-7test)
  2. now you can rename your original virtioa.qcow2 file to orig.qcow2

mv virtioa.qcow2 orig.qcow2

  1. Rename the compressed image name to virtioa.qcow2:

mv compressedvirtioa.qcow2 virtioa.qcow2

  1. now you can test your new compressed image on a lab, just wipe the node and start it.
  2. If the compressed node works fine, you can delete your original source image:

Сайт ARNY.RU

Установка EVE-NG — как поставить EVE-NG на Windows 10 от начала и до полной работоспособности со всеми подробностями. Рассматривается установка на Hyper-V, VMware и VirtualBox. В статье есть все нужные сведения и ссылки, которые помогут легко развернуть EVE-NG с минимальными затратами времени.

В интернете много статей, видео, курсов по EVE-NG, но нужно потратить целый день чтобы перелопатить это всё, найти необходимую информацию и обойти подводные камни, а они есть. Исправим это. Также сразу говорю: образы не выкладываю. Есть пояснения как скачать общедоступные образы и ссылки на торренты, самих образов тут нет (и не будет).

Рекомендую также сразу скачать Cookbook и держать его под рукой, а при возникновении любых вопросов искать ответы в первую очередь там.

Предварительные сведения

Тут собрано основное, что нужно знать о EVE-NG. Если нет времени или неинтересно, тогда можно пропустить и сразу перейти к разделу об установке.

О EVE-NG
  • Что такое EVE-NG? Программная среда на базе виртуализации для моделирования самых различных сетевых топологий в мультивендорной среде с эмулированием реального оборудования. Достигается использованием адаптированных прошивок от конкретного оборудования, таким образом работа в EVE-NG — тоже самое, что и работа с реальным оборудованием;
  • Ограничения. Есть некоторые ограничения в функционале железок. Выбор оборудования тоже ограничен. Что говорить, реальное железо в этом плане лучше, но стоит денег и размещать его где-то нужно. Если интересно, то вот рассказ как закупился коммутаторами CISCO и что из этого вышло. Иногда, когда нужно протестировать что-то именно на коммутаторах, проверяю также и на реальных железках. Результат иногда отличается. Хотя ради справедливости надо сказать, что на старых железках 12 IOS, а в EVE-NG 15. Новые версии EVE-NG, как и новые версии образов для железок, добавляют поддержку нового оборудования, расширяют функционал;
  • Для чего это нужно? В первую очередь для обучения, во вторую для дизайна и предварительного тестирования проектных решений;
  • Где брать готовые лабы? Например, на форуме.
  • Версии EVE-NG. Бесплатная версия Community Edition и платные версии Professional Edition, Lerning Center. В платных версиях упор сделан на одновременную работу нескольких пользователей и расширенный функционал: 1024 устройства в одной лабе (в нашей бесплатной максимум 63), поддержка контейнеров Docker, несколько конфигураций для одной лабы, многое другое — всё это рассказано на странице проекта;
  • Развитие EVE-NG. Проект появился чуть больше года назад (и значит сейчас самое время его ставить — уже все начальные баги пофиксили) из проекта UNetLab;
  • Что в основе EVE-NG? Виртуальная машина Ubuntu 16.04 (далее VM).
Unetlab

Некогда хороший проект, который на сегодня получил версию 2 и стал закрытым, «только для своих»:

GNS3 vs EVE-NG

Сначала полностью перешёл на EVE-NG, но GNS3 так активно в последнее время развивается, что снова стал пользоваться. Начиная с версии GNS3 2.2.0 beta 2 заявлена поддержка Hyper-V.

Плюсы GNS3:

  • Простота развёртывания, устанавливается на компьютер как приложение;
  • Стабильная работа модуля Dynamips (эмуляция роутеров CISCO) при скромном потреблении памяти, поэтому для топологий на роутерах CISCO выберу GNS3;

Для Dynamips есть образ c7200-adventerprisek9-mz.152-4.S6.image, он как видно на IOS 15.2 и много чего умеет (далее он тут используется в EVE). Кстати, образ один, в GNS3 и в EVE-NG возможности разные. В EVE-NG для него нет интерфейсов Serial.

  • Есть интерфейсы Serial (в EVE-NG интерфейсы Serial есть для образа IOL/IOU L3). Соответственно можно посмотреть как они работают, такие вещи как инкапсуляция HDLC, PPP. Поделать лабы этим связанные. Позахватывать пакеты Wireshark’ом, увидеть что на таком интерфейсе не используется MAC;
  • Есть готовый Frame Relay Switch (в EVE-NG можно создать Frame Relay Switch на базе образа IOL/IOU L3), его можно прицепить к Serial интерфейсу и на практике отработать данную тему в различных аспектах. Например, особенности EIGRP/OSPF через Frame Relay;
  • Порты можно соединять, переподсоединять на работающих устройствах;
  • Большое число лаб на сате gns3vault.com и главное эти лабы стали нормально импортироваться в последние версии GNS3 (возможно Рене переписал под новую версию);
  • Порты виртуальных железок легко прокидываются на компьютер до физических или виртуальных (например, Hyper-V) сетевых карт с помощью облака GNS3.

Минус GNS3:

  • Довольно таки кривая и капризная работа модуля QEMU (эмуляция большей части оборудования, включая CISCO ASA, коммутатор CISCO IOS).

В общем имеет право на жизнь.

VIRL (Virtual Internet Routing Lab) — среда виртуализации, подобная EVE-NG от CISCO. Предоставляется Online по подписке. Не интересовался, так как есть EVE-NG и полностью устраивает, но недавно случайно узнал цену этого чуда, 199$ на 1 год (200 баксов, Карл!):

Из плюшек: позволяет официально скачивать vIOS с сайта CISCO. Кто готов платить и не готов ковыряться с EVE-NG (не барское это дело..) — Welcome! А ведь чтобы собрать нормальную установку EVE-NG с серверными виндусами, линуксами, разным «железом» придётся попотеть. По меньшей мере прочитать эту статью и сделать всё, что тут написано.

Варианты развёртывания EVE-NG

  1. На голое железо (bare metal) с ISO — отдельный сервер;
  2. В среде виртуализации с ISO — домашний компьютер или сервер виртуализации (должна быть доступна и включена функция вложенной виртуализации — netsted virtualization);
  3. Использование готового виртуального диска в VMware ESXi/Workstation/Player — домашний компьютер или сервер виртуализации.

Первое тут: ISO не является готовым образом, требует подключения к интернету при установке с него (будет далее).

Вариант 1 хорош, однако довольно дорог, поэтому будем рассматривать сначала вариант 3 — как самый быстрый и простой, затем вариант 2 — ничуть не сложнее, но более универсальный и удобный в дальнейшем использовании. Оба варианта естественно будут развёрнуты на домашнем компьютере. После развёртывания VM рассмотрим работу с ней.

Развертывание на отдельном сервере

Сервер виртуализации можно заюзать на работе, если есть такая возможность — добавить 1 виртуалку никому хуже не будет. Или же покупать/собирать сервер самому. Если бы решил покупать сервер, то обратил бы внимание на следующие компоненты:

  • CPU Intel Core i7;
  • Недорогую mATX материнскую плату ASRock с поддержкой SSD M.2;
  • 2x16Gb DDR4;
  • SSD M.2 250/512GB Samsung;
  • Маленький корпус (к примеру, Exegate MI-208 450W);
  • Низкопрофильный CPU Fan 20dB.

Получился бы относительно холодный, маленький и тихий сервер. Для дома — то, что надо.

Почему 2x16Gb? Для подавляющего большинства лаб этого количества памяти за глаза. Исследование потребления ресурсов памяти и процессора в конце статьи.

Развертывание на домашнем компьютере

Не у всех есть место под сервер, да и денег это стоит. Хороший вариант использовать уже имеющийся домашний компьютер.

Системные требования

Полезно прочитать ветку форума.

Эмулятор EVE-NG весьма прожорлив, компьютер, на который будет производиться установка, должен иметь:

  • Хороший многоядерный процессор. Кроме этого процессор должен поддерживать SLAT, чтобы работала вложенная виртуализация. Раньше на Intel был удобный инструмент проверки поддержки SLAT по модели CPU, сейчас они всё переделали и его нет. Однако можно не беспокоиться: для всех новых CPU SLAT поддерживается;
  • Памяти минимум 8Gb. Так как самой виртуальной машине EVE-NG придётся выделить 3-4Gb для простых топологий;
  • Накопитель SSD под VM. Новые M.2 SSD предпочтительнее старых Sata: производительность, нет шнуров, размер, но старые Sata в общем тоже сгодятся

Относительно слабый процессор ещё как-то можно пережить, хотя загрузка его будет строго 100% и разогреваться он будет в кипяток, но если компьютер имеет 4Gb оперативной памяти, то однозначно апгрейд или же смотреть в сторону GNS3 и совсем простых лаб.

Опять же, с обычным HDD работа возможна, но будет тормозить, особенно при старте большого числа нод.

Также не надо отдавать VM EVE-NG почти всю память и почти все потоки CPU. Для Hyper-V не меньше 4Gb памяти и никак не меньше 2 потоков CPU надо оставить под операционную систему и систему виртуализации. Это самый экстрим минимум, возможна нестабильная работа как самой ОС, так и VM.

Либо же использовать управление ресурсами CPU. Можно почитать это и вот это.

Что же я взял себе

Решил тут написать немножко подробнее. Возможно кому-то поможет. Так как для пользователя EVE-NG проблема апгрейда на более мощное железо обязательно встанет рано или поздно:

  • CPU Intel Core i7-8700 (без K);
  • ASRock Z370 Pro4;
  • 2x16Gb DDR4 Crusial Ballistix;
  • SSD M.2 250GB Samsung 970 EVO Plus.

Теперь про каждый компонент отдельно. Процессор i7-8700, 6-ядерный, 12 поточный, TDP 65W. Самый дешёвый в линейке i7 8 поколения, 65W (!): при выключенном в BIOS Turbo, практически не греется, 40 градусов под обычным тихим кулером. VM EVE работает:

Почему материнская плата на устаревшем z370? Она поддерживает разгон памяти, при этом поддерживает новые 8-ядерники и 2 накопителя M.2. Не рекламирую, но мне по совокупности характеристик понравилась именно эта плата.

Память марки Crucial моя любимая, потому что это Micron Tech. Конкретно эта 2×16 уже разогнана производителем до 3000MHz (использую как 3100+) и напруга задрана на 0,15V. Но поскольку есть радиаторы, да и сам производитель даёт пожизненную гарантию, то ничего страшного. Вот видео как выбрать память с потенциалом разгона.

Накопители: лично предпочитаю Samsung. Так, например, 970 EVO жутко греется и к использованию не рекомендуется. Они все греются при записи и при перегреве начинают троттлить. У меня есть 960 EVO (38-39 градусов в покое) и 970 EVO Plus (на 5 градусов больше).

Updated 20.10.2020

Если бы выбирал платформу в октябре 2020, то обратил бы внимание на процессор:

По сути это аналог Core i7 8 поколения. Несильно отличается от моего i7-8700, те же 6 ядер и 12 потоков. Но если свой я брал 1,5 года назад за 22, то этот стоит сейчас 13 🙂 Соотношение цена/производительность фантастическая.

Почему не AMD? Там и ядер больше, и производительность повыше за ту же цену? А вот почему (с официального сайта):

Или 3900 за 33 килорубля или ну его нафиг.

Развёртывание с VMware Player

Единственная платформа виртуализации официально «благословлённая» на использование с EVE-NG это VMware:

VMware Player бесплатен для некоммерческого использования, поэтому его и беру. Скачиваем по ссылке, устанавливаем, для комфортной работы и снижения трафика при установке отключаем проверку обновлений и отсылку информации об использовании.

Если на компьютере используется встроенный Hyper-V, то его нужно предварительно отключить (cmd запускать от имени Администратора):

Затем перезагрузить компьютер.

Для включения Hyper-V (машины VMware стартовать не смогут):

Подготовка VM

Качаем образ VM отсюда, формат OVA:

Размер образа VM в формате .ova — 1,3Gb. Запускаем Player, выбираем Open a Virtual Machine и затем выбираем наш образ EVE Community Edition.ova:

Pleyer предложит выбрать место для распаковки. Кто не знает, OVA просто архив и его можно распаковать любым архиватором. Внутри будет файл .vmdk и файлы настройки.

Update 02.07.2020

Прошло время и формат OVA заменили на OVF, вроде как он прогрессивнее. Размер образа стал поменьше

1,04Gb. В плане установки принципиальных отличий нет.

Распаковка в формат VMDK займёт некоторое время, после чего VM появится в списке для запуска. Выбрать VM и обязательно отредактировать свойства:

Выбрать необходимое количество памяти для VM и в свойствах Processors отметить чекбокс Virtualize Intel VT-x/EPT or AMD-V/RVI. Если этого не сделать не будет работать вложенная виртуализация и всё будет печально, а при входе в машину отображается сообщение:

Выбрать сетевую карту, которая смотрит в интернет: Network adapters — Configure adapters. Если этого не сделать, то машина может при старте зацепиться не за ту физическую сетевую и в результате веб-интерфейс окажется недоступным, поэтому нужно:

После всех настроек стартуем VM. Это уже готовый образ EVE-NG, его нужно было только подцепить, что мы и сделали — в этом отличие (и удобство) данного вида установки.

Вводим root/eve и при отработке скрипта первичной настройки VM жмём везде Enter. Машина получит адрес в подсети домашнего компьютера.

Развёртывание с VirtualBox

Платформа виртуализации VirtualBox официально не поддерживается и не рекомендуется к использованию (!) :

Очень похоже на развёртывание с VMware:

  • Установить VirtualBox;
  • Отключить Hyper-V (написано выше);
  • Импортнуть машину из OVF, проверить что виртуальный сетевой адаптер зацепился за нужный физический:

  • Отредактировать параметры, изменив количество памяти и CPU;
  • Включить вложенную виртуализацию:

Далее, запустить машину, ввести root/eve и при отработке скрипта первичной настройки VM прожмакать везде Enter. Таким образом, для IP адреса будет метод DHCP (поскольку сетевой мост). Машина получит адрес в подсети домашнего компьютера (в отличие от установки с Hyper-V), что конечно же удобнее.

Развёртывание с Hyper-V

Платформа виртуализации Hyper-V официально не поддерживается для развёртывания EVE-NG. И тут ещё есть здоровенный косяк в работе, о нём в конце статьи.

Подготовка Windows

Windows 10 Pro имеет встроенный Hyper-V последней версии — удобно, бесплатно и грех им не пользоваться. Если есть быстрый интернет, то всегда неплохо загрузить помощник по обновлению и обновиться:

Далее, Коммутатор по умолчанию в Hyper-V появился довольно давно вместе с очередной новой сборкой Windows 10, пользоваться им было удобно, но после обновления на версию 1809 с ним какие-то непонятные глюки, поэтому от его использования отказался.

Идём Диспетчер Hyper-V — Диспетчер виртуальных коммутаторов, создаём там новый Внутренний HUB1:

Среди сетевых адаптеров появился новый vEthernet (HUB1):

Расшариваем для него общий доступ к интернету через основную сетевую карту:

Виртуальная сетевая vEthernet (HUB1) получает статический адрес 192.168.137.1/24

Подготовка VM

Создаём новую VM, выбираем машину 1 поколения, остальное по умолчанию. После создания редактируем параметры:

  • Память. Увеличить количество памяти, динамическую память использовать не надо;
  • Процессор. Увеличить количество виртуальных процессоров;
  • Сетевой адаптер. Выбираем подключение к HUB1;
  • Контрольные точки. Снять чекбокс Использовать автоматические контрольные точки — это сэкономит время на ожидание слияния дисков после выключения и последующего запуска VM;
  • Автоматическое действие при запуске. Выбрать Ничего.

Запускаем PowerShell от имени Администратора и выполняем (VM должна быть выключена):

Это включит вложенную виртуализацию для VM.

Качаем образ VM отсюда, формат ISO:

Размер ISO 800Mb, добавляем ISO в DVD-дисковод VM, стартуем VM.

Установка Ubuntu

Убунту она Убунту и есть, никаких отличий от установки оригинала и везде можно жмакать Yes/Enter, кроме:

  • Install EVE VM

После установки Ubuntu будет перезагрузка и потом работает скрипт по установке уже EVE-NG. Всё очень просто и довольно быстро.

Главное отличие от предыдущего метода: это не готовая машина ENE-NG, а такой полуфабрикат (можно сравнить размер загружаемых файлов, «полуфабрикат» ISO 800Mb и готовый образ OVA 1,3GB). После установки Ubuntu происходит установка скриптом EVE-NG из скачанных с интернета файлов. Другими словами, после установки Ubuntu у неё сразу должен быть выход в интернет (иначе ничего не срастётся).

Обновление

По факту новые версии EVE-NG Community выходят редко, последняя версия уже была установлена, поэтому на данный момент обновлять ничего не надо:

Когда через полгода появится новая версия, то подробно шаги обновления расписаны здесь.

  • 11 июня 2018 релиз EVE-NG v2.0.3-92
  • 02 января 2019 релиз EVE-NG v2.0.3-95
  • 19 ноября 2019 релиз EVE-NG v2.0.3-102
  • 6 января 2020 релиз EVE-NG v2.0.3-105

(Всё, дальше новые версии постить тут не буду. Это не значит, что о них не знаю и не использую)

После обновления на версию v2.0.3-102/105 нужно почистить кеш браузера. По крайне мере, Яндекс.Браузер (версия 19.12.2.61 beta) постоянно обновляет страницу входа, пока не почистишь кеш.

Не забываем также чистить виртуалку после обновления:

Ещё 1 момент: если VM работает штатно, в новой версии нет существенных исправлений, то в общем-то лучше и не обновляться. Надо понимать, что обновление всегда может нарушить существующую работу VM и уж конечно перед обновлением всегда нужно создавать контрольную точку.

Работа с VM

Предварительные действия

Первым делом нужно добавить в исключения антивируса все виртуалки, если это ещё не было сделано. По репортам при глубоком анализе антивируса (deep inspection) сильно замедляется работа VMware. И тормозить может даже на системах i7/64Gb+, хотя на моём Hyper-V и бесплатном Касперском никаких эффектов не обнаружил (бесплатный?). Уровень безопасности в антивирусе выставлен на высокий.

Первый запуск

VM загрузилась, на стартовом экране указаны реквизиты для входа root/eve, вводим их.

При первом входе отрабатывает скрипт, который позволяет сменить пароль рута, выбрать имя хоста и сетевые настройки. Меняем сетевые настройки:

  • Выбираем static;
  • IP 192.168.137.2, маска 255.255.255.0;
  • Шлюз 192.168.137.1;
  • DNS произвольные, например гугловские 8.8.8.8 и 8.8.4.4;
  • Подключение direct connection

После работы скрипта VM ещё раз перезапускается:

Сразу доступен SSH, можно подключаться через Putty. Если потом захочется запустить скрипт и изменить настройки, то написано как это сделать в FAQ (могут улететь настройки лаб).

Пингуем с компьютера 192.168.137.2, пингуем с VM сайт в интернете (ya.ru). Всё должно воркать.

Подключение к Веб

Забиваем в браузере IP VM, логин/пароль admin/eve, третий параметр пока трогать не надо. Попадаем в рабочую среду — тут можно создавать папки и непосредственно файлы лаб.

Для лабы достаточно задать имя, сохранить и лаба открывается — это основная среда для работы. Самый важный пункт тут Add an object — Node, открывается список поддерживаемых железок. Пока все железки выделены серым, то есть недоступны, нужно загрузить образы прошивок для них в VM:

Единственное что доступно — это очень простой по своим возможностям Virtual PC в самом низу списка.

В версии v2.0.3-102 vIOS переименован в vIOS Router, а vIOS L2 в vIOS Switch.

Загрузка образов

Полный список образов в документации.

Тут надо сказать, что образы отличные от списка могут как нормально работать, так и не работать. К примеру ASAv 9.5.2 нормально работает, хотя нет в списке. Коммутатор ExtremeXOS v30 нормально работает, тоже нет в списке и так далее.

Время идёт, на сайте EVE-NG выложен подробный Howto к каждому образу. Написано всё доступно. Можете почитать там. Можете читать тут, как делал я с моими комментариями.

Спасибо читателям за ссылку на большую коллекцию образов для EVE-NG. Если попадётся образ в формате tar.gz, то распаковываем:

Закидывать образы на машину с помощью WinSCP. Цепляемся к VM, поэтому логин/пароль root/eve по умолчанию, ну или если при работе скрипта пароль root был сменен, то соответственно.

  • Залить образы и запустить скрипт по настройке прав:

У меня все образы нормально работали сразу без этого скрипта. Но в документации пишут, что его нужно выполнять. Нужно, значит нужно. Далее выполнение этого скрипта подразумевается после установки нового образа.

VM перезапускать не надо, добавленные образы сразу будут доступны.

Образы CISCO

Образов для CISCO больше всего и они в разных форматах:

  • Из всех образов, что я нашёл, образы IOL/IOU самые свежие и в них больше всего плюшек;

  • Возможно есть более свежие vIOS, нашёл только эти;
  • Образы для Dynamips сами по себе довольно старые.
Образы IOL/IOU

Заливать как есть (названия файлов менять не нужно) в:

Для запуска IOL/IOU нужна лицензия. Как сделать лицензию там же, в файле Readme.

На образах QEMU роутеров vIOS обнаружил кучу глюков, при работе с NAT, при работе с IPsec. Лучше выбирать образы посвежее.

Молчаливый парень с Youtube показывает как заливать и раздаёт образы для QEMU (в описании к видео).

Папки для образов:

Полный список как должно начинаться название папки для конкретного оборудования можно посмотреть в файле:

Называйте папки образов сразу по версии прошивки, это удобно потом при создании лабы.

Dynamips

Он же раздаёт образы для Dynamips:

vIOS L2

Всё рассказанное в статье — рабочее, стараюсь максимально проверять. Однако в процессе работы всегда обнаруживаются косяки нюансы, так для образа из видео vIOS L2 15.0 от 05.06.2014 выяснилось, что его порты L3 по умолчанию и их нужно перевести на L2 командой switchport. Стал разбираться, что же должен уметь vIOS L2:

  • Layer-2 forwarding;
  • Switchport;
  • 802.1q trunk, 802.1q vlans;
  • Spanning Tree;
  • Port-Channel (Pagp and Lacp);
  • 802.1x passthrough;
  • Port-ACLs;
  • Dynamic Arp Inspection;
  • DHCP Snooping;
  • IP device tracking;
  • Switched Virtual Interfaces;
  • Layer-3 forwarding over SVIs;
  • Routing protocols.
  • Зеркалирование трафика (SPAN);
  • Private Vlan;
  • L3 Port-Channel;
  • QoS
MikroTik

Официально поддерживается MikroTik 6.30.2, 6.40, идём на сайт и там таких версий уже нет. Минимальная на момент 6.45.8, качаем её.

Распаковываем chr-6.45.8.img.zip, переименовываем chr-6.45.8.img в hda.qcow2, заливаем в:

По умолчанию логин admin без пароля.

ExtremeXOS

Эмулирует работу свича фирмы Extreme Networks с прошивкой v21. Сейчас поддерживается только 1 образ ExtremeOS 21.1.14. Взять его можно тут. Называется он там EXOS-VM_v21.1.1.4-disk1.qcow2.

Скачать файл, переименовать в hda.qcow2, залить в папку:

По умолчанию образ загружается с 3 интерфейсами, 1 из которых менеджмент. Можно увеличить до 12. Это ограничение образа. Получится 11 обычных интерфейсов и 1 менеджмент.

S-Terra FW

Официально поддерживается Gate 4.1, но это штука довольно-таки устаревшая. Заходим сюда, качаем зазипованный Gate 4.2 в формате .qcow2, разархивируем, переименовываем в virtioa.qcow2, кладем в папку:

Реквизиты для входа administrator/s-terra, а лучше срезу перейти на сайт и прочитать про начальную инициализацию.

Подробнее в записи S-terra VPN

Создание образов для EVE-NG

Для всяких виндузов и линухов можно их сначала устанавливать на VMware, потом закидывать файл .vmdk виртуальной машины в EVE-NG, конвертировать в .qcow2, пользоваться. Подробнее на примере Kali Linux далее.

Kali Linux

Рано или поздно потребуется Kali Linux, чтобы наводить ужас на железки CISCO. Кому лень делать самому, могут забрать здесь (логин/пароль для входа в VM root/toor).

Если работать с Kali не доводилось, то что тут есть хорошего для сети:

  1. Терминальная утилита macof (пример: macof -n 1000, для генерации 1000 mac-адресов), генерирует mac-адреса для атаки переполнения CAM-таблицы коммутатора. После переполнения CAM-таблицы, коммутатор будет работать как концентратор, рассылая кадр из всех портов, кроме того, через который кадр поступил. Такая ситуация даёт возможность перехватывать чужие кадры, что при нормальной работе коммутатора невозможно;
  2. Сниффер dsniff (пример: dsniff -c, для автоматического сбора паролей, передаваемых открытом тестом), привет telnet’у.
  3. Терминальная утилита arpspoof (пример: arpspoof -t IP1 IP2, подменяет ARP-кеш жертв IP1 и IP2), позволяет проводить атаку man in the middle, когда все пакеты между жертвами идут через компьютер атакующего. Необходимо включить пересылку пакетов на интерфейсе: sysctl -w net.ipv4.ip_forward=1;
  4. Многофункциональная утилита Yersinia (запуск yersinia –G ), для сбора информации и атак на 2 уровне: CDP, DTP и так далее.

Данные сведения представлены исключительно в целях обучения противодействию сетевым атакам.

Для тех, кто хочет разобраться — нужно скачать готовую VM Kali для VMware, распаковать zip-архив, запустить консольную утилиту vmware-vdiskmanager (идёт в комплекте с Workstation Pro):

Задача получить единый диск для VM. После конвертации, старые части диска *.vmdk нужно удалить, Workstation Pro тоже больше не нужна. Теперь получившуюся папку с файлами нужно закинуть в EVE:

И запустить конвертацию уже в QEMU (все сборки Linux в EVE имеют название hda.qcow2):

После чего получившийся диск закинуть уже по месту (папка должна обязательно называться /opt/unetlab/addons/quemu/linux..), а исходные файлы удалить.

ACS сервер

Нода ACS сервера жрёт ресурсы и сильно тормозит EVE, на слабых установках лучше её не ставить.

Для полноценной работы с AAA нужен ACS сервер. Со странички проекта видим, что версия ACS 5.8.1.4 точно подойдёт, файл должен называться hda.qcow2 и лежать в папке /opt/unetlab/addons/qemu/acs-5814, к примеру.

Вконтакте есть готовый образ, но он без пароля для CLI и без реквизитов.

  • Скачать ACS ISO;
  • Установить VMware Workstation Pro, при запуске выбрать пробную лицензию;
  • Создать машину 2 ядра, 4Gb оперативки, тип Red Hat 6 64-bit, диск 1 файлом и подсунуть ISO;
  • Выбрать тип установки 1:

  • Дождаться пока отработает и перезагрузится:

  • На этом моменте выключить машину и закачать файл диска vmdk на EVE, затем конвертнуть:
  • Перенести готовый диск по месту, кильнуть vmdk и иже с ним.

Дальше уже ACS сервер запускается в лабе EVE, настраивается по месту с момента когда машину потушили — setup. Ряд простых настроек, дальше сервер проводит окончательное конфигурирование, перезагрузка и вот можно присоединяться через Веб: HTTPS, реквизиты: ACSAdmin/default. Будет предложена смена пароля:

После этого попадаем на страницу ввода лицензии:

И пока лицензия не будет введена, дальше ничего сделать нельзя. Как установить демо-лицензию:

Ещё важный момент, продукт для лицензирования называется Cisco Secure Access Control System Evaluation:

Файл лицензии ACS. lic приходит на почту, его нужно подпихнуть через браузер в ACS и готово — 90 дней/50 устройств:

На сайте EVE-NG написано как выполненные настройки сделать настройками по умолчанию для образа.

Windows 2012 R2

Из нормальных образов Windows, что я нашёл, были Windows 7 и Windows 2008 lite. Возможности этого lite сильно урезаны в пользу размера образа.

Создание образа по найденным солюшенам без использования конвертации с VMware.

Смысл в 2 словах: нужно создать VM внутри VM EVE, скормить туда установочный образ Windows, образ с дровами Virtio, запустить VM и во время установки Windows подсунуть дрова Virtio. Пошагово:

  • Качаем virtio-win.isoтут;
  • Качаем с помощью WinSCP этот ISO и ISO Windows в папку /tmp/iso/ VM EVE;
  • Создаём виртуальную машину:
  • Включаем виртуальную машину, подпихивая туда оба образа ISO (лучше сначала скопировать в блокнот, потому как команда должна быть в 1 строчку, иначе ошибка):

Не смог разобраться какой он там хитрый cfg-файл использует (в видео), поэтому без него. Также не смог разобраться почему при параметре -display sdl ошибка Could not initialize SDL(No available video device) — exiting, поэтому запускаем VNC-сервер с параметром -vnc :1. Далее запускаем на компьютере VNC-viewer к хосту 192.168.137.2:5901 (нужно установить клиентский пак, рассказано в следующем пункте Работа с образами):

  • Далее Windows не видит диска, нажимаем Load driver, нажимаем Browse, раскрываем CD-ROM с virtio-win-0.1.1, папка viostor, папка 2k12r2, папка amd64:

  • Драйвер подгружается, выбираем его, запускаем установку:

  • Когда Windows установится, вбиваем пароль администратора. Если Windows англоязычная как у меня, то нужно на компьютере переключить раскладку клавиатуры в EN, иначе пароль вбиваться не будет. Затем в Диспетчере устройств ставим драйвера для сетевой из папки NetKVM и для balloon из папки Balloon;
  • Размер получившейся VM примерно 7,7Gb, переименовываем файл в virtioa.qcow2, переносим по месту /opt/unetlab/addons/qemu/win-2012r2.

Внешний доступ

Как сказано в разделе 9.2 Cookbook, чтобы внутри лабы порт ноды связать с внешними ресурсами, нужно использовать Management Cloud:

Также для нормальной работы в vSwitch ESXi должен быть разрешён режим Promiscuous mode. Проверил, у меня получилось, что должны быть разрешены Promiscuous mode и Forget transmits:

Выключение любого из них приводит к неработоспособности.

Внешний доступ из Hyper-V включается через PowerShell (спасибо читателям, за подсказку):

Где EVE — имя VM EVE-NG.

Варианты работы с устройствами

Образы залиты, вот теперь по поводу 3 пункта:

  • Html5 console — консоль каждого устройства открывается в новой вкладке браузера, копипаст не работает и вообще неудобно;
  • Native console — более удобная штука, далее работа только с ней, требует установки клиентского пака.

Если для какой-то железки было залито несколько версий образов, то как уже говорил, выбрать версию можно при добавлении устройства в лабу:

Пользуемся конечно же возможностями клиентского пака.

Клиентский пак

Чтобы открыть консоль, надо щёлкнуть на железке. В Яндекс.Браузере выглядит так:

Сколько чекбокс Запомнить выбор ни отмечай, не запоминает. Отписал в поддержку, поддержка подтвердила наличие проблемы и обещала исправить в ближайших версиях (24.05.18 прислали письмо, что пофиксили, проверил, теперь всё в норме). Поэтому скачал специально для EVE-NG Chrome, в нём всё нормально и выглядит это так:

Прошло время и опять всё поменялось, теперь в Яндекс.Браузере так (уже без чекбокса):

Ещё прошло время, снова появился чекбокс «Запомнить выбор» 🙂 Уже дальше не буду этот момент отслеживать.

Если при нажатии на работающую ноду (при установленном клиентском паке и работе через Native console) ничего не происходит, то возможно сбились настройки обработчика ссылок. Файлы, для внесения в реестр информации какая программа будет обработчиком, находятся в папке установки клиентского пака:

Если для Putty не решает, то как вариант попробовать выполнить эту инструкцию. Всё тоже самое: reg-файл, но возможно именно он поможет.

Теперь про буфер обмена:

  • Для Putty буфер обмена работает;
  • Что касается UltraVNC, то тут всё печально, кусок переписки с поддержкой:

Как это обойти? Разрешить внешний доступ, подключить ноду через Management Cloud, использовать RDP-подключение с домашнего компьютера. Не самое изящное решение, но лучше чем ничего.

SecureCRT

Гораздо более удобная штука нежели Putty. Окошки терминалов устройств расположены очень компактно.

Программу забирал здесь. Патч от версии v7.3.1.685. Для регистрации в качестве обработчика нужно запустить файл win10_64bit_sCRT.reg из установки клиентского пака EVE-NG. Ну и выглядит это так:

Wireshark

Установка клиентского папка позволяет запускать Wireshark для каждого интерфейса.

Пароль рута обязательно менять через скрипт, если просто сменить его через passwd, то Wireshark не сможет подключиться к VM. Возможно отвалится что-то ещё.

Правой кнопкой на устройстве Capture — выбор интерфейса:

И может вылезти вот такое вредное окошко:

Внутри окна самого Wireshark при этом будет пусто. Это значит что ещё не было подключений к VM EVE-NG через SSH и ключ SSH не был сохранён в реестре. Достаточно подключиться через Putty, подтвердить установку ключа и заново запустить Wireshark:

Что делать, если eve-ng wireshark не захватывает трафик? Аааа, па-маги-тееее! Открывается пустое окно и привет. Уже говорил выше — неверный пароль для root. Проверяем:

и видим что там неправильный пароль, замена в файле может не помочь. Лучше всего запустить первоначальный скрипт (могут улететь настройки лаб) и сменить пароль на рута.

Импорт и экспорт лаб

Лабы можно легко перемещать между разными инстансами EVE-NG:

Вот подробное видео как всё это можно сделать.

Обращаю внимание что выгружается конфигурационный файл лабы. Чтобы лаба заработала после её импорта нужно догрузить используемые в ней образы. Версии образов и их название должны быть как в лабе.

Настройка образов

Не хочется каждый раз запуская ноду, настраивать дефолтный образ с нуля, на это уходит время. Особенно это касается образов с операционными системами. Поэтому есть штатная возможность выполнить настройки/установить программы и сохранить всё это в образ. Как это сделать сказано тут.

При этом не меняются дефолтные настройки самой ноды: количество интерфейсов, выделяемая память и так далее. Всё то надо менять руками (может можно как-то настроить тоже, не знаю как). Ещё можно посмотреть видео по данной нстройке.

Также есть хорошее видео как работать с начальной конфигурацией устройств.

Баги EVE-NG

Собственно каких-то особых багов не обнаружил.

Первый баг, который встретил, что совместное использование нод IOL и QEMU в лабе под Hyper-V вызывает kernel panic. В вебку при этом вылезают красные прямоугольники сообщений об ошибке, а если открыть машину в Hyper-V, то там трейс-лист упавшей Ubuntu:

Методов как-то обойти это нет, на форуме тишина. Соответственно для таких лаб переключаюсь на VMware.

Второй баг связан с обновлением. Так после некоторых обновлений у меня переставала запускаться часть сохранённых лаб. Образы в лабе стартуют и тут же останавливаются. Пересоздаешь лабу, всё нормально.

Вкусняшка

Под конец на сладкое оставил вкусняшку. Лучшим, тем кто дочитал до конца. Честно признаться не верил, что это всё заработает и подозревал какой-то развод. Но оно работает. Заинтриговал? 🙂

Это VM с EVE-NG от проекта PNETLab . Идём сюда, выполняем все шаги как указано.

В браузере переходим по IP адресу VM, перекидывает на сайт (у VM должен быть выход в интернет). Логинимся на сайт, а попадаем внутрь VM. Жмакаем кнопку Download labs, затем в открывшемся окне Go to Store. Выбираем лабы по категориям. Количество лаб (несколько десятков), качество проработки — поражают:

Нажимаем на нужную лабу, затем Get lab, оказываемся снова внутри виртуалки и там Download:

Самое приятное, что необходимые образы будут закачаны автоматом (это просто праздник какой-то..). Ну а потом эти образы можно использовать уже для своих лаб.

Конкретно в лабах раздела CCIE Enterprise легко и просто загружаются образы для CISCO SD-WAN. Не надо шерстить десятки форумов в поисках этих образов. Подарок? Конечно!

Опробовал на VirtualBox и VMware. Если не работает Wireshark, читай соответствующий раздел (особенно если до этого стояла обычная EVE-NG).

Оно же на Hyper-V

Несмотря на баг хотелось всё же на Hyper-V попробовать тоже. Когда запустил эту VM на Hyper-V, то увидел вот такую картинку. ничего не загружается.. и сильно опечалился:

На самом деле это сообщение можно смело проигнорировать (как его убрать будет дальше), а долгая загрузка (5 минут) была из-за ожидания DHCP, которого в случае с Hyper-V нет.

По порядку (VM на VirtualBox):

  • Запускаем скрипт начальной инициализации EVE-NG (смотри выше) и перенастраиваем IP на статику для Hyper-V;
  • Делаем конвертацию диска в .vhd силами VirtualBox (смотри здесь, второй способ);
  • Создаём VM для Hyper-V с включением вложенной виртуализации через пошик (рассказано выше в секции по Hyper-V)

Теперь как избавится от зловредной надписи при старте. Залогиниться в VM:

Закрыть редактор и:

Всё, можно юзать. На данный момент пользую EVE-NG только от PNETLab, только на VMware, а установку на Hyper-V забросил. Хотя в целом лично для меня Hyper-V лучше и удобнее, кроме этого случая (из-за непобедимого бага).

VM от проекта активно обновляется, пока во всяком случае, число лаб растёт. Как оказалось не все лабы рабочие, не все лабы подгружают образы. Тем не менее этот проект — хорошее подспорье.

Потребление ресурсов

Сначала про потребление памяти, потом про процессор.

Память

Ограничил VM 3Gb памяти. Накидал простую топологию из 1 ASA, 1 vIOS, 1 vIOS L2, 1 3725 и 3 VPS (настройки для устройств по умолчанию), запустил:

Смотрим, пункт меню Nodes:

Для VPC потребление памяти не указано, ну наверное совсем мало, оставшиеся 4 железки — 2 гига, смотрим в самой Ubuntu:

Доступно памяти 1,4Gb из 3, а 690Mb вообще ничем не занято.

Это было для Hyper-V, проверяем для VMware (топология та же):

Доступно памяти 1,5Gb из 3, при этом 1Gb ничем не занят. Гипервизоры разные, поэтому отличия есть.

Вывод: Среда EVE-NG выделяет реальной памяти для устройств меньше, чем расчётное значение. И этим можно пользоваться, уменьшая размер памяти для нод ( в зависимости от предполагаемой нагрузки на ноду).

Рассмотрим следующее (взято тут):

Теперь смотрим потребление памяти:

Как так, доступно 14,7Gb из 16? Оказывается почти для всех нод размер памяти уменьшен до 256Mb со стандартных 1024:

Процессор

Мне нужно запустить лабу, где 59 нод (из PNETLab, лаба для CCIE с SD-WAN). Понятно что важна в первую очередь не частота ядер, а их количество.

Начинаю с Hyper-V. Попытки задействовать 6,8,10 потоков моего 12-поточного i7-8700 ни к чему хорошему не привели. Ядра загружены под 100%, температура на CPU >60°C. Ну и VM работает как-то нестабильно.

Поэтому задействую все 12 потоков. А как же хостовая ОС? Ограничу для VM потребление каждого потока 60%.

Переводим гипервизор в новый режим Core, этот режим позволит детально управлять ресурсами CPU:

Перезагружаем компьютер, проверяем:

Теперь вставляем принудительно для VM 2 потока на ядро:

И выставляем 12 потоков 60% уже в свойствах VM:

Сначала запускаю все образы IOL, на удивление всё стабильно и вообще не потребляет ресурсов:

Теперь нужно запустить адовые по потреблению образы SD-WAN. Запускаю их отдельно от IOL из-за бага Hyper-V.:

И хотя внутри VM загрузка CPU под 100% на самом деле это всего лишь 60%:

На этом всё. Продолжаем на VirtualBox, он оказался аутсайдер, после запуска буквально нескольких нод из SD-WAN в вебе VM посыпались ошибки.

Продолжаем на VMware Player. Вот на нём наконец-то всё запустилось и выглядит это так:

Ядра снова под 100% и температура >60°C. Каких-то средств по управлению ресурсами CPU, Player не предоставляет. Попробовал VMware Workstation всё тоже самое, тонко настроить использование процессора нет возможности.

Так что тут пока патовая ситуация: в Hyper-V баг, а VMware не умеет процессором пользоваться. Может это я не умею VMware пользоваться? 🙂 Если знаешь что тут можно придумать, напиши в комментариях.

Обращаю внимание что расход памяти для 59 нод меньше 10Gb (41% от 24Gb). И всё упирается в ядра CPU, а не в память. Ну и просто посмотри как выглядит это великолепие:

Заключение

Что хотел показал/рассказал, удачи в использовании. Материал дополняется по мере поступления новой информации. Если нашёл ошибки в тексте или есть полезная инфа, то будь добр, напиши в комментарии (зачтётся всё это.. 🙂 ).

Читайте также:  Драйвера лазерный принтер canon lbp 810 для windows
Оцените статью
Instructions