Eve ng это линукс

Установка и использование виртуальной сетевой лаборатории EVE-NG совместно с Ansible. Первый опыт

В данной статье приведен опыт инженера-сетевика по развертыванию виртуальной лаборатории EVE-NG в домашних условиях, для целей подготовки к экспертным экзаменам Cisco.

Я постарался собрать все основные вехи настройки, разбросанные по статьям в интернете и попытался добавить в топологию, попутно изучая, ansible — систему управления конфигурациями. Черновик статьи появился случайно, поскольку мне стало жаль терять накопленный опыт и решил сохранять его в отдельный файл. Вот его я и представляю на ваш суд.

Все решения, приведенные в статье, не претендуют на оптимальность, но абсолютно точно работают.

Установка EVE-NG

Подготовка хоста

В качестве хостовой я использую следующую систему: Intel Xeon X3240, 32Gb RAM под управлением Gentoo. Настройка KVM на Gentoo дело достаточно тривиальное и, по правде сказать, я не помню с какими подводными камнями мне пришлось столкнуться при её развертывании. Дело было давно.

Основное, что катастрофически сказывается на производительности лабораторного стенда типа EVE-NG, — это параметр ядра, который запускает возможность использования nested virtualization (вложенную виртуальзацию).

Для процессоров Intel:

Подробнее можно прочесть по ссылке.

Подключение образов сетевых устройств

Образы сетевых устройств для подключения находятся в свободном доступе на самом cisco.com, для скачивания достаточно иметь учётную запись начального уровня. Нам понадобятся XRv и CSR.
Скачиваем по указанными ссылкам и следуем рекомендациям в how-to.

Проблема, с которой я столкнулся при добавлении образов — как называть директории, куда нужно складывать файлы hda.qcow2. Решение, как всегда, — реверс-инжиниринг. Список заголовков, обрабатываемых EVE-NG зашит в файле:

Приведу его здесь:

То есть, если нам необходимо добавить образ с любым Linux, как мы будем делать ниже, то достаточно создать директорию /opt/unetlab/addons/qemu/linux-что-то-там/ и положить в неё файл образа hda.qcow2.

Настройка окружения

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

Доступ к консоли маршрутизаторов

Несмотря на то, что в EVE-NG разработчики внедрили возможность доступа к консолям сетевых устройств по web с использованием HTML5, доступ со сторонних клиентов удобнее и привычнее. Основное удобство, которое предоставляется putty в моём случае, — это возможность использования буфера обмена. Не работает copy/paste в web-консоли.

Итак, процесс выглядит следующим образом:

Установка putty на машине, откуда будет осуществляться доступ. Я работаю на ПК c ubuntu, поэтому:

Но этого мало, нужно еще рассказать браузеру, в моём случае это chrome, как реагировать на ссылки вида telnet://. Для этого необходимо создать файл

/.local/share/applications/telnet.desktop следующего содержания:

После этого консоли будут отлично открываться в putty. Задачу перехода на gnome-terminal с вкладками или его аналог оставлю на потом.

Запуск сниффера трафика

Wireshark — насущная необходимость при изучении сетевых технологий. Очень много написано про его использование. Не стану повторяться. Опишу процесс его настройки.

Установка на клиенте:

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

Объяснять ему это придется в три этапа:

Этап 1:
Как и в случае с консолями, файл

Этап 2:
Обработчик в виде скрипта на bash на клиентской машине в любой директории из списка PATH:

Этап 3:
Ключевой ssh-доступ между клиентской машиной и EVE-NG.

На клиентской машине (вместо ip_eve поставить адрес EVE-NG):

После этого будет работать захват трафика в wireshark на стороне клиента. Что нам и требовалось.

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

Настройка инстанса сервера ansible

Необходимость ansible для виртуальных лабораторных топологий в начале пути была для меня неочевидна. Но со временем, на втором десятке лабораторных часов, приходит мысль — а не автоматизировать ли загрузку стартовых топологий в устройства, не перегружая их, тем самым экономя время?

Читайте также:  Что лучше windows 10 enterprise или windows 10 enterprise ltsb

Итак, с чего начать? С ограничений ansible! Да, они действительно есть. Для меня, как достаточно далекого от программирования, слишком жестоким оказалось предложение на одном из форумов — дописать обработчик телнета самому. Телнет нужен был для решения в лоб — настроить ansible на виртуальной машине EVE-NG и телнетится на консольные порты виртуальных маршрутизаторов. Но не тут-то было — работает только ssh.

Но мы старые инженеры и не привыкли отступать! Если гора не идёт к Магомету, то двинем мы к ней — настроим отдельный инстанс с ububtu в самой топологии, благо для этого есть возможность.
Как разворачивать в KVM образ скаченный с ubuntu.com я приводить не буду. Делал я это на отдельной машине, настраивал и заливал в EVE-NG. После установки нам понадобятся пакеты с telnet-сервером и настройка статического IP-адреса.

Настройка telnet-сервера

У меня не вышло заставить EVE-NG показать мне консоль сервера стандартным способом через клик по девайсу. Чтобы не закапываться глубоко, я пошел в обход — настроил telnet-сервер. SSH v2, конечно, тоже имеется и работает с CSR, но уж очень медленно для интерактивной работы, да и бесполезно — у нас лабораторный стенд, а не продакшн.

Потом необходимость в сервере отпала, но запись в шпаргалке осталась, поэтому приведу и её.

После автоматического запуска xinetd, конечно, ничего не произошло, как нам обещали в интернете.

Нужно добавить в /etc/xinetd.d файл telnet следующего содержания:

и перезапустить сервер xinetd:

Проверяем телнет локально:

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

Теперь мы можем, настроив на соседней цыске в топологии адрес из подсети сервера, до него достучаться по telnet. Всё работает быстро, не в пример SSH.

Сбор топологии

Здесь всё чрезвычайно просто. Моя топология выглядит следующим образом:

Развёртывание подсистемы аnsible

Настройка CSR для работы с ansible

Выделим на каждом маршрутизаторe отдельный порт для управления и подключим к общему хабу с сервером ansible портами Gi2. Выберем подсеть для управления, у меня это 192.168.0.0/24. И назначим IP-адреса на портах в соответствии с номером маршрутизатора.

Эту же информацию занесем в /etc/hosts сервера:

На каждом маршрутизаторе настроим SSH v2 согласно ссылки. Всё тривиально, скажу лишь то, что для запуска требумеого нам SSHv2 нужно генерировать ключ более 768 бит, я выбрал размер 2048.

Проверяем доступ с сервера до маршрутизаторов по SSH, заодно собирая в хранилище ключи.

Сохраняем конфигурацию на маршрутизаторе:

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

Эта фича в EVE-NG, как и Unetlab до неё, работает с переменным успехом. Но будем надеяться.

Создание первого воркбука

Как мы помним, структура ansible состоит из двух основных частей — описания девайсов (inventory), и воркбука, собственно с логикой работы системы.

В нашем случае inventory достаточно примитивен и файл его содержащий (/etc/ansible/hosts) принимает вид:

Что раскрывается списком хостнеймов от R1 до R10 (помним, что мы уже прописали /etc/hosts для разрешения имён).

А вот с ворбуком придется повозиться.

Первым этапом, для того, чтобы залить конфигурацию, представляющую для нас лабораторный интерес, на виртуальный маршрутизатор IOS, нам необходимо сделать откат на начальную нулевую, содержащую только IP управления и настройки VTY.

Для этого мы попытаемся использовать модуль ios_command.

Основой всей работы по смене конфигураций в устройствах IOS для нас будет служить функционал команды привилегированного режима маршрутизатора:

Нулевые конфигурации будем хранить на сервере в домашнем каталоге нового пользователя под именем router в директории /home/router/default_configs/. Забегая вперед, скажу, что файлы будут иметь имена такие же, как и в inventory, т.е. в нашем случае это R1, R2 и т.д.

Создадим в /opt/ansible файл rollback.yml вида:

Итак, по порядку:

Название используемого инвентори:

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

Как я понял, это говорит о соединении с локальным обработчиком заданий. Могу ошибаться.

Отключение сбора информации о хостах:

Имя пользователя для соединения с устройствами:

Передача команды в устройство из инвентори:

Время ожидания отклика в секундах:

Ничего особо сложного, как мы видим, но есть одно но!

Читайте также:  Moroshka file manager ��� mac os

Гугл нам об этом не особо много расскажет, поэтому вооружаемся смекалкой и пытаемся найти кто же нам это заявил. И находим файл самого используемого нами модуля: /usr/local/lib/python2.7/dist-packages/ansible-2.3.0-py2.7.egg/ansible/modules/network/ios/ios_command.py, содержащий вот такой код:

Явно, что разработчики немного перегнули палку, отнеся все параметры configure к конфигурационному режиму, поэтому дописываем в соответсвующую строку:

Создание второго воркбука

Не стану описывать так же подробно, как на предыдущем этапе, просто приведу пример воркбука, который заливает тематическую начальную конфигурацию лабораторных работ одного известного бренда с тремя буквами в названии:

Файлы начальных конфигурации лежат в /opt/ansible/IOS-XE-initials/base.ipv4, соответственно. Основное отличие данного сценария — это использование функционала модуля ios_config и передача права ему интерпретировать те команды, которые необходимо выполнить на устройствах.

На этом всё, спасибо за внимание. Если статья достойна продолжения, то следующей темой станет настройка взаимодействия IOS XR и ansible.

Источник

Eve ng это линукс

EVE-NG Integration

This repo contains the equivalent of EVE-NG (aka UNetLab) Windows Client Side Pack for Ubuntu/Debian and other Linux distros.

Currently supports the following URL schemes:

Includes a script to work with .rdp files that are generated by EVE-NG.

Ubuntu and derivatives

You can install eve-ng-integration from the official PPA:

or download .deb packages from here.

Alternatively, you can install eve-ng-integration from terminal using the following command:

This method works on most Linux distros. Tested on Arch Linux, Manjaro, Fedora, openSUSE, CentOS, and potentially works with other systems.

If your Linux distribution is not supported yet, don’t give up, try Manual install or open a new issue.

Packages in this section are not part of the official repositories. If you have a problem or a question, please contact the package maintainer.

Distro Maintainer Package
Arch Linux Aleksandr Boiko eve-ng-integration-git AUR
Arch Linux Konstantin Shalygin eve-ng-integration AUR

NOTE: If you are a maintainer and want to be in the list, please create an issue or make a pull request.

or download and extract the tarball

  1. Install dependencies
  • python >= 2.7 (required)
  • telnet (required)
  • wireshark (recommended)
  • ssh-askpass (recommended)
  • vinagre (recommended)
  • docker-engine (optional)
  1. Enjoy!

Error Couldn’t run /usr/bin/dumpcap in child process: Permission denied when starting Wireshark

Add your user to wireshark group:

If you use a Debian-like distro, you can run the next command and choose answer as Yes :

You will need to log out and then log back in again for this change to take effect.

Error End of file on pipe magic during open when starting Wireshark

Install ssh-askpass package for your distro, or setup SSH key-based authentication with EVE-NG (UNetLab) machine.

Click on a node does not open an app (opens another app) in all browsers

Execute the following commands to set the eve-ng-integration.desktop as default handler for telnet, capture, and docker URL schemes:

Does not work in Google Chrome but works in another browser

Quit Chrome and reset protocol handler with the command:

NOTE: Path to the Preferences file will be different for Chromium and other Chromium-based browsers.

Does not work in Firefox but works in another browser

Go to Preferences → Applications (or paste about:preferences#applications in your address bar) and change Action to Always ask for telnet, capture and docker Content Types.

Firefox says The address wasn’t understood when you clicked on a node

  • Type about:config into the Location Bar (address bar) and press Enter.
  • Right-click → New → Boolean → Name: network.protocol-handler.expose.telnet → Value → false (Repeat this for each supported protocol)
  • Next time you click a link of protocol-type foo you will be asked which application to open it with.

Chrome/Chromium downloads RDP files instead of opening

To make RDP file open on your browser, instead of downloading, you have to download the file type once, then right after that download, look at the status bar at the bottom of the browser. Click the arrow next to that file and choose «Always open files of this type». Done.

If your problem hasn’t been solved or reported, please open a new issue.

English, Russian, and Ukrainian are welcomed.

About

integrates EVE-NG (aka UNetLab) with Linux desktop

Источник

Виртуальная лаборатория нового поколения
для IT профессионалов — EVE-NG 2018

Хотите получать новые видео уроки?

  • Основы командной строки Cisco IOS
  • Практическое знакомство с Cisco IOS XE, IOS XR, NX-OS
  • Работа с маршрутизаторами и коммутаторами Cisco
  • Настройка протоколов маршрутизации RIP, EIGRP, OSPF, ISIS, BGP
  • Знакомство с VLAN, VTP, Access/Voice/Trunk, STP
  • Межсетевые экраны следующего поколения ASA NGFW и FirePOWER
  • Практика построение IPsec/SSL VPN
  • Хитрости настройки и работы виртуальной лаборатории EVE-NG
  • И многое другое.

Для активации подписки обязательно перейдите по ссылке в письме!

* Ваши данные конфиденциальны и не будут переданы третьим лицам

ВИДЕО КУРС ПО УСТАНОВКЕ И РАБОТЕ С ВИРТУАЛЬНОЙ ЛАБОРАТОРИЕЙ EVE-NG
Версия v1.0

Что такое EVE-NG Community Edition?

EVE-NG (Emulated Virtual Environment – Next Generation) — это эмулированная виртуальная среда следующего поколения, позволяющая создать полноценную виртуальную лабораторию с сетевым оборудованием и программным обеспечением ведущих мировых производителей.

Вы можете посмотреть обзорное видео по функционалу и архитектуре EVE-NG, либо скачать это описание в PDF формате.

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

Новый официальный сайт проекта EVE-NG теперь находится по адресу: http://www.eve-ng.net.

Содержание видео курса по установке и работе с «Виртуальной лабораторией нового поколения для IT профессионалов — EVE-NG 2017» будет постоянно пополняться, так как проект EVE-NG очень динамично развивается и регулярно появляется новый полезный и удобный функционал.

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

Кроме того, онлайн вариант курса позволяет просматривать его на устройствах с различными операционными системами, такими как Window и Mac Os X.

Для получения доступа к видео курсу, пожалуйста, ознакомьтесь с пошаговой Инструкцией.

Что представляет собой EVE-NG физически:

Это целостная и стабильная виртуальная машина VMware, в основе которой лежит Linux Ubuntu 16.04 x64. В зависимости от выбранного способа установки, EVE-NG также может работать и непосредственно на Ubuntu 16.04 со специально собранным ядром kernel.

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

Например, это может выглядеть так:

С помощью браузер можно в визуальном режиме создавать сетевые топологии, включающие различных производителей, запускать эмулируемые устройства, подключаться к ним консолью, а также наглядно следить за потребляемыми вычислительными ресурсами EVE-NG.

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

В зависимости от типа устройства, подключатся консолью к ним можно по протоколам telnet, RDP или VNC.

А к уже сконфигурированным соответствующим образом устройствам можно по сети получать доступ через SSH, telnet, HTTP, HTTS.

EVE-NG включает три основные подсистемы эмуляции:

Каждая из них предоставляет свои уникальные возможности и в целом они дополняют друг друга.

Например, с помощью Dynamips эмулируется аппаратная платформа маршрутизатора Cisco, на которой уже запускается реальный боевой IOS для нее.

Подсистема IOL разработана Cisco для внутреннего использования и позволяет запускать виртуальные образы IOS на операционных системах Linux.

А QEMU позволяет эмулировать как различные аппаратные платформы, включая ПК, серверы, так и запускать готовые виртуальные образы многочисленных сетевых устройств.

Какую из подсистем, в каких случаях лучше использовать, будет подробно разбираться в этом видео курсе по EVE-NG.

Где и как можно запускать EVE-NG:

Виртуальная машина EVE-NG может запускаться в VMware Workstation 11 или 12, VMware Player 5 и выше, а также на ESXi 5.5 и старше.

Более того, ее можно запускать и на Mac-e в VMware Fusion 5 и выше.

Но самый интересный, на мой взгляд, это вариант установки на голое железо, bare metal. В этом случае в качестве основной операционной системы ставится Linux Ubuntu 16.04 x64 и на него уже EVE-NG.

При этом исключается один из уровней наследуемой виртуализации, что критично, в первую очередь, для устройств, эмулируемых подсистемой QEMU.

Общая производительность и эффективность всей системы виртуализации в этом случае становится заметно выше.

Источник

Читайте также:  Ggsell minecraft windows 10 edition
Оцените статью