Безопасность. Настройка. Интернет. Восстановление. Установка

Эмулятор для построения сети cisco. Обзор эмуляторов и симуляторов оборудования Cisco

Посмотрело: 65204

7

Что такое GNS3?

GNS3 - это графический симулятор сети, который позволяет смоделировать виртуальную сеть из маршрутизаторов и виртуальных машин. Незаменимый инструмент для обучения и тестов. Работает практически на всех платформах. Отлично подходит для создания стендов на десктоп машинах.
В зависимости от аппаратной платформы, на которой будет использоваться GNS3, возможно построение комплексных проектов, состоящих из маршрутизаторов Cisco, Cisco ASA, Juniper, а также серверов под управлением сетевых операционных систем.

При отсутствии возможности получить доступ к реальному оборудованию, GNS3 станет практически полноценной лабораторией. Кроме того, лабораторные работы выполняемые в GNS3, могут стать дополнением к занятиям в реальной лаборатории студентам готовящимся к сертификационным экзаменам CCNA/CCNP и CCIE
Единственным недостатком данного программного обеспечения является отсутствие возможности полноценной симуляции коммутаторов второго уровня Cisco. Этот недостаток не будет исправлен в новых версиях, так как его причиной является кардинальное различие в аппаратной платформе маршрутизаторов и свитчей Cisco. В некоторых случаях данный недостаток получается обойти при помощи сетевого модуля NM-16ESW. К сожалению, листинг команд немного отличается в случае использования NM-16ESW и реальных свитчей Cisco, но вполне подходит для обучения.
В состав GNS3 не входят образы IOS/IPS/PIX/ASA/JunOS, так как они являются частью коммерческих продуктов соответствующих компаний, и никакого прямого отношения к проекту GNS3 не имеют. На данный момент это уже не является проблемой, так как найти необходимый образ уже не составляет труда.

Одной из самых интересных особенностей GNS3 является возможность соединения проектируемой топологии с реальной сетью. Это дает просто уникальную возможность проверить на практике какой-либо проект, без использования реального оборудования. Использование WireShark позволяет провести мониторинг трафика внутри проектируемой топологии, что дает дополнительную информацию для понимания изучаемых технологий.
А самое главное, GNS3 абсолютно бесплатен. Это открытое программное обеспечение, и любой желающий может скачать его с . На данный момент есть версии для Linux, MS Windows XP и Windows 7, а также для MacOS.

GNS или IOU?

Кроме GNS существует другой симулятор - IOU - IOS on UNIX. GNS или IOU? IOU или GNS? Начнём с IOU, потому что его мы использовать пока не будем.
Как видно из названия - ставится поверх UNIX. Раньше это был только Solaris, теперь же поддерживается и Linux.
Самые существенные его плюсы:
  • Практически полноценная поддержка как L3, так и L2. Этот эмулятор используется при сдаче лабораторных экзаменов CCIE.
  • Низкие требования к ресурсам ПК. Точнее к CPU. Памяти тоже надо немало.
  • Нет ограничений по платам и интерфейсам. В настройках вы просто указываете сколько и чего вы хотите.

Минусы:

  • Самое главное - это проприетарный софт, который официально не распространяется вообще никак. В торрентах существуют образы L2IOU, L3IOU, но это незаконно.
    На сайте cisco.com одно время было написано:

    Cisco IOS on Unix is a tool intended for internal use only. Distribution of IOU images to customers or external persons, or discussion of IOU with customers or external persons, is prohibited. Don’t do it or we’ll have to come and kill you.

  • установка и настройка IOU не отличается простотой. Нужно обладать недюжим спокойствием и кое-каким опытом работы в никсах, чтобы разобраться с топологиями, файлами настройки и сохранением конфигурации устройств.
  • Скудный графический интерфейс. Позволяет только посмотреть получившуюся топологию. Создание топологии - только через текстовый набор строк описывающие линки и устройства. В общем нужно привыкнуть.
Но это реально годная утилита для беспринципных тру ИТшников. Если вам нужна лаба из 20+ устройств или надо поработать с QinQ, Rapid PVST (и прочие L2-технологии) или хочется всерьёз заняться Tshoot, или подготовкой к CCIE то это для вас.
В следующей статье мы расскажем как работать с IOU и приведем пример подготовки стенда CCIE RS в домашних условиях.

Первоначальная настройка GNS3. Добавление образа Cisco IOS

Самым важным достоинством GNS3 является простота и удобство при создании проектов для выполнения лабораторных работ. Установленная программа требует минимум первоначальных настроек которые делаются за пару минут.
Полагаем, что образы у вас уже есть. Добавим их. Открываем пункт меню программы Edit -> IOS images and hypervisors.

В открывшемся окне необходимо указать путь к файлу образа Cisco IOS

Как только будет выбран файл образа, автоматически будет выбрана платформа для которой это образ предназначен и, в некоторых случаях, станет доступным выпадающий список с перечнем доступных моделей. Также будет установлено минимально рекомендуемое количество RAM.

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

В некоторых случаях GNS3 не распознает платформу, модель и необходимое количество RAM для выбранного образа Cisco IOS. В таком случае придется все вышеперечисленные параметры указывать самостоятельно.
Обратите внимание на поле IDLE PC. Пока не трогаем.
После того как все необходимые параметры будут указаны, необходимо не забыть нажать в кнопку Save. Выбранный образ появится в списке доступных образов для построения проекта.

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

Нажимаем сверху на зеленую кнопку "Запуск". Обратите внимание на то, как возросла нагрузка на CPU. Один роутер грузит на 100% одно ядро CPU. Если у вас, например, Dual Core CPU (т.е 4 треда), то общая загрузка будет на уровне 25%. Теперь волнение нужно успокоить.
Для этого выбираем в контекстном меню Idle PC. Именно этот механизм позволяет оптимизировать использование ресурсов процессора. ПК вычисляет несколько значений и предлагает вам целый их список. Рекомендуется выбирать значения со знаком *. Как только они применяются, загрузка CPU падает до нуля. Если вдруг не получилось, итерируем до тех пор, пока не достигнем желаемого. Теперь при следующем запуске после загрузки IOS GNS не должен отжирать всё процессорное время.

Всё готово для подключения. У GNS есть стандартные средства для этого. В контекстном меню выбираем Console. По умолчанию GNS использует приложение Putty, но можно указать любое свое, например SecureCRT в настройках. Достаточно указать полный путь в файлу терминальной программы.

Доброго времени.
Когда речь заходит о том как эмулировать Cisco IOS все сразу в голове прокручивают: dynamips, dynagen или gns3 в конце концов, если хочется все в комплекте, да еще и с GUI Front end.

Не так давно я писал о том, что Cisco с 17 января, в лабораторную CCIE RS в секцию TroubleShooting добавила Layer 2, используя виртуальную эмуляцию на основе L2IOU.

Я раньше не знал, что у Cisco есть свой эмулятор, начал искать информацию. Оказалось что некоторым успешно удалось у себя запустить все это дело, причем все работает неплохо, и что самое главное не ест столько процессорного времени как dynamips.

В общем меня это заинтересовало и я решил попробовать.
IOU запускается на unix-like системе, я установил виртуальную машину (vmware fusion под Mac OS), скачал последнюю версию Linux Ubuntu, установил и принялся за работу.

В моем случае файл называется так: i86bi_linux-ipbase-ms
Если мы его попробуем запустить, то получим следующее:

./i86bi_linux-ipbase-ms



***************************************************************

IOURC: Could not open iourc file

Так, видим что не удалось открыть некий iourc файл, давайте его создадим командой touch iourc и попробуем запустить заново:

./i86bi_linux-ipbase-ms
***************************************************************
IOS On Unix — Cisco Systems confidential, internal use only
Under no circumstances is this software to be provided to any
non Cisco staff or customers. To do so is likely to result
in disciplinary action. Please refer to the IOU Usage policy at
wwwin-iou.cisco.com for more information.
***************************************************************
Missing application ID

Usage:
: unix-js-m | unix-is-m | unix-i-m | …
: instance identifier (0 < id <= 1024)
Options:
-e Number of Ethernet interfaces (default 2)
-s Number of Serial interfaces (default 2)
-n Size of nvram in Kb (default 16KB)
-b IOS debug string
-c Configuration file name
-d Generate debug information
-t Netio message trace
-q Suppress informational messages
-h Display this help
-C Turn off use of host clock
-m Megabytes of router memory (default 128MB)
-L Disable local console, use remote console
-u UDP port base for distributed networks
-R Ignore options from the IOURC file

Видим Missing application ID, ну просит, значит давайте введем какой-нибудь, например 10:

./i86bi_linux-ipbase-ms 10
***************************************************************
IOS On Unix — Cisco Systems confidential, internal use only
Under no circumstances is this software to be provided to any
non Cisco staff or customers. To do so is likely to result
in disciplinary action. Please refer to the IOU Usage policy at
wwwin-iou.cisco.com for more information.
***************************************************************

IOU License Error: host not found in iourc file



ubuntu = <16 char license>;

Хорошо, теперь мы понимаем (IOU License Error: host not found in iourc file, что нужно в файл iourc поместить следующие строчки:


ubuntu = 1010101010101010;

где, 1010101010101010 это некие числа, любые, 16 штук 🙂

После того как прописали это в файл iourc пробуем запустить:

./i86bi_linux-ipbase-ms 10
***************************************************************
IOS On Unix — Cisco Systems confidential, internal use only
Under no circumstances is this software to be provided to any
non Cisco staff or customers. To do so is likely to result
in disciplinary action. Please refer to the IOU Usage policy at
wwwin-iou.cisco.com for more information.
***************************************************************

IOU License Error: invalid license
License for key 10ac82b5 required on host «ubuntu».
Obtain a license for this key and host from the following location:

http://wwwin-enged.cisco.com/ios/iou/license/index.html

Place in your iourc file as follows (see also the web page
for further details on iourc file format and location)


ubuntu = <16 char license>;

Теперь мы видим IOU License Error: invalid license, было бы глупо рассчитывать на другое 🙂

Теперь нам придется немного «пошаманить».
А именно, нам нужно дизассемблировать файл, найти где проверяется валидность лицензии, ну и исправить там один битик.
Я делал это с помощью IDA.

Нашел вот такую проверку:

Видим jnz, вот здесь нам и надо изменить адрес перехода.
Переходим в Hex, затем с помощью hexeditor ищим 75148B45FCE8DB и заменяем первые 75, на 74. Сохраняем, пробуем запустить:

Router#sh ver
Cisco IOS Software, Linux Software (I86BI_LINUX-IPBASE-M), Experimental Version 12.4(20090407:185408)
Copyright (c) 1986-2009 by Cisco Systems, Inc.
Compiled Wed 08-Apr-09 01:29 by yuiu

ROM: Bootstrap program is Linux

Router uptime is 30 minutes
System returned to ROM by reload at 0
System image file is «unix:./i86bi_linux-ipbase-ms»

Linux Unix (Intel-x86) processor with 86409K bytes of memory.
Processor board ID 2048010
8 Ethernet interfaces
8 Serial interfaces
16K bytes of NVRAM.

Configuration register is 0x0

Видим что все работает 🙂

В следующих статьях мы будем разбираться как построить топологию на основе IOU.

До скорых встреч 🙂

p.s. я описал процесс запуска весьма поверхностно, если кто-то столкнулся с какими-то проблемами, отписываемся в комментариях, или на форуме.

p.s.s. по просьбе трудящихся, англоязычная ссылка, которая помогла вссе это дело реализовать. http://evilrouters.net/

Там же есть видео. Так же если поискать информацию по этому вопросу есть еще китайские источники, где так же можно найти полезную информацию.

Huawei eNSP – официальный и бесплатный симулятор от Huawei. Поддерживаются свитчи и роутеры, функционал – L2, L3, базовый MPLS, BNG(BRAS). Описание (архив), ссылка для скачивания (архив). Представляет интерес для тех, кто хочет ознакомиться с настройкой оборудования Huawei, разработчиков систем мониторинга и управления(SNMP поддерживается) и для изучения сетевых протоколов и технологий в целом. Есть возможность связать интерфейсы устройств с “внешним” миром, чтобы сопрячь его с реальными или другими виртуальными или хост-системой.

GNS3 – вероятно, самый популярный инструмент для создания виртуальных лабораторных стендов. Изначально был графической оболочкой над dynamips(эмулятор Cisco софтроутеров предыдущего поколения – c7200, c2800, c3725 и т.п.), но в настоящий момент имеет множество бэкэндов для запуска виртуальных устройств(кроме dynamips) – qemu, kvm, virtualbox, в связи с чем, кроме запуска устаревших софтроутеров Cisco, может ещё много всего(то, что умеют qemu, kvm и virtualbox). Подробнее можно узнать на официальном сайте (архив). Образы виртуальных устройств не включены в дистрибутив, имеются юридические вопросы относительно использования образов Cisco и Juniper Olive. Умеет делать интерконнект с внешним миром.

IOU-WEB – графический интерфейс над IOU (Cisco IOS on Unix). Образы устройств являются Cisco internal, но утекли в сеть. Предназначено для обучения и подготовки к экзаменам, имеются L2 и L3 образы устройств.

Cisco Learning Labs – коммерческая аренда лабораторных работы для подготовке к сдаче экзаменов CCNA, CCNP, MPLS. Решение построено на базе IOU. Описание (архив)

Cisco Packet Tracer – ПО для моделирования сети с оборудованием Cisco. Доступно (бесплатно) для скачивания студентам и выпускникам сетевой академии Cisco. Содержит огромное количество ошибок, сильно ограничен по функционалу, лучше никогда не использовать.

Junosphere Lab – коммерческая аренда устройств Juniper в “облаке”, предназначено для обучения и симуляции сети. ()

Виртуальное сетевое оборудование

Cisco

– CSR1000V Cloud Router – функциональный аналог оборудования Cisco ASR1K. Является коммерческим продуктом, но имеет пробный период 60 дней. Поддерживается функционал L3, MPLS(), ISG(BRAS), базовый L2 функционал – свитчинг между сабынтерфейсами, rewrite/push/pop dot1Q-тегов, vxlan(multicast mode) в релизе 3.12S. Цены не очень гуманные(например, лицензия на полный функционал(premium) на 10мбит/с на 3 года(L-CSR-10M-PRM-3Y=) стоит по GPL 1800$), но за то можно организовать полностью легальную свою лабораторию со всем функционалом ASR1K.
– ASA1000V Cloud Firewall, ASAVM, прочие образы ASA. Поскольку Cisco ASA это изначально обычный x86-сервер, то уже давно научились это оборудование виртуализовывать, имеются howto по использованию в GNS3
– Nexus 1000V – виртуальный свитч для vmware vsphere вместо простенького vmware vSwitch. Процесс установки вовсе не тривиальный, но имеются подробные howto как это сделать
– Cisco Titanium – эмулятор Cisco Nexus7k. Cisco internal only, но образы утекли в сеть
– IOS XRv – имеется бесплатный(демо) образ, полнофункциональный, за исключением ограничения производительности в 2Мбит/с. Для стендов хватает. Умеет L3 и MPLS. Всё, что связано с L2 не работает (в случае с VPLS и VPWS сигнализация отрабатывает, но трафик не коммутируется). IOS-XR сильно отличается по синтаксису от IOS/IOS-XE. . Коммерческая версия XRv позиционируется как роут-рефлектор
– Софтроутеры предыдущего поколения(см. выше о gns3 и dynamips)
– L2 и L3 образы IOU (см. выше об IOU-WEB)

Huawei

– Routervisio – внутренний продукт Huawei, эмулятор NE40E. В сети имеются дистрибутивы , однако мне запустить не удалось
– Виртуальные коммутаторы и маршрутизаторы eNSP (см. выше)

Juniper

– Juniper Firefly Perimeter (vSRX) – на сегодняшний день умеет L3, MPLS(включая VPLS), типовой функционал фаервола(SRX). Из L2 может только обычный псевдопровод и (свитчинг между локальным интерфейсом и псевдопроводами). Свитчинг между локальными интерфейсами не поддерживается
– Juniper Olive – внутренний продукт Juniper, но доступен в сети. Умеет L3, MPLS(L3VPN), тунели, базовый L4 функционал. Работает довольно медленно(особенно commit). Предпочтительней использовать vSRX вместо Olive
– Juniper VMX(виртуальный MX) – внутренний продукт Juniper, недоступен в сети

Прочее

– Mikrotik x86 – x86-версия дешёвых(по сравнению с Cisco) роутеров, пользующихся популярностью в сегменте SOHO. Имеет спорную репутацию, однако живёт за счёт низких цен при весьма солидном функционале
– различные linux based-дистрибутивы, предназначенные для роутинга и свитчинга (

Dynamips - это программный эмулятор аппаратной части маршрутизаторов сisco. Проект разрабатывался начиная с 2005 года как эмулятор cisco 7200 на обычном компьютере.
Впоследствие появилась поддержка других платформ. Сейчас (2008) список такой: Cisco 3600 series (3620, 3640 и 3660), 3700 series (3725, 3745) и 2600 series (по 2610 по 2650XM, 2691).
Заглянем глубже и попытаемся понять как он работает и что с ним можно делать.


Dynamips хорош в случаях, когда необходимо:

  • быстро проверить конфигурацию маршрутизатора для непосредственного её применения последствие на реальной железке;
  • получить лабораторный стенд малой кровью, однако достаточно мощный для обучения или демонстрации;
  • опробовать преимущества и возможности операционной системы Cisco IOS без необходимости покупки самого маршрутизатора.
Первая мысль которая может прийти в голову на этом месте: а не может ли эмулятор cisco заменить сам маршрутизатор? В какой то степени да, но лишь при очень малой нагрузке. Сам автор проекта указывает что производительность реального маршрутизатора выше приблизительно раз в 100 (производительность Dynamips около 1 килопакета в секунду в то время как даже самая ранняя модель NPE-100 даёт 100 килопакет/сек).
Помимо аппаратного обеспечения маршрутизаторов cisco существует возможность эмулировать сетевые устройства, такие как:
  • мост (используя который можно соединить эмулированный маршрутизатор с реальной сетью или другому виртуальному маршрутизатору);
  • Ethernet-коммутатор;
  • ATM-коммутатор;
  • ATM-мост (Ethernet ATM);
  • коммутатор Frame-Relay.
Замечательной способностью Dynamips-а является то, что он может работать в режиме гипервизора . То есть одновременно есть возможность запускать не одну виртуальную циску, а целую сеть со всеми возможностями dynamips: коммутаторами, маршрутизаторами, мостами.. Таким образом появляется возможность выполнять лабы без реального оборудования. Или же демонстрационные стенды. Причём практически любой сложности. В таком управление гипервизором осуществляется по сети TCP/IP, а сам dynampis запускается примерно таким образом:

dynamips -H 7200

где 7200 - порт для связи с гипервизором.

Следует заметить , что запущенный по умолчанию, эмулятор сильно загружает компьютер. Даже на 100%. Чтобы снизить нагрузку создана опция "Idle PC". С её помощью можно снизить нагрузку на процессор и, таким образом, запустить второй, третий и более эмуляторов cisco одновременно без существенной нагрузки процессора. Значение IdlePC специфично для каждого образа IOS. Необходимое значение выбирается опытным путём. Непосредственно с Dynamips это делается следующим образом: после загрузки маршрутизатора желательно с пустой конфигурацией после приглашения Press RETURN to get started! Нужно секунд через 5 нажать "Ctrl-] + i". Начнёт собираться статистика загруженности процессора. По истечении этого процесса (порядка 10 секунд) будет выведено несколько значений, из которых потенциально лучшие будут помечены. Возможно, придётся попробовать несколько значений прежде чем нагрузка процессора спадёт со 100% до примерно 5% (на разных компьютерах по-разному).

Dynamips представляет из себя один исполняемый файл. Причём есть варианты под Linux, Mac OS и Windows. Но при запуске принимает множество аргументов, для задания особых параметров эмуляции. Подробнее об аргументах можно почитать на странице проекта xgu.ru.

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

IF:E0:udp:10000:127.0.0.1:10001
IF:E1:udp:10002:127.0.0.1:10003
IF:E2:gen_eth:eth0

DOT1Q:E0:1
ACCESS:E1:4
DOT1Q:E2:1

И это только конфиг, описывающий простой коммутатор. А если есть необходимость эмуляции магистралей Frame Relay или ATM?... В общем можете сами дорисовать картину и попробовать распланировать все свои необходимые действия для эмуляции сети cisco с использованием только голого dynamips.

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

Dynagen (сайт проекта dynagen.org). Использует CLI-like (интерфейс командной строки) для управления dynamips, который запускается в режиме гипервизора. Необходимо всё-таки создать конфигурационный файл типа INI и dynagen через сеть (см. запуск гипервизора) будет управлять dynamips. Это говорит о том, что сам гипервизор может быть запущен за удалённом компьютере. Пример такого конфига:


image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image
# On Linux / Unix use forward slashes:
#image = /opt/7200-images/c7200-jk9o3s-mz.124-7a.image
npe = npe-400
ram = 160

[]
s1/0 = F1 1

[]
s1/0 = F1 2

[]
s1/0 = F1 3

[]
1:102 = 2:201
1:103 = 3:301
2:203 = 3:302

Подсчитать значение Idle PC и уменьшить загрузку процессора в dynamips в можно с помощью команды idlepc. Список команд - ? .
Dynagen и dynamips можно скачать .

Xenomips и Xentaur. Эти проекты пошли ещё дальше.
Xenomips объединяет эмуляцию cisco и виртуализацию Xen. Таким образом, список виртуальных устройств dynamips расширяется возможностями Xen. И на одном физическом компьютере как хост-системе можно создать лабораторный стенд из виртуальных маршрутизаторов cisco, коммутаторов, Ethernet-мостов, магистралей Frame Relay и ATM, межсетевых экранов Cisco PIX (используя параллельный проект Pemu), серверов и рабочих станций Linux, FreeBSD, Windows, MacOS и так далее.
Цель проекта Xentaur — разработка инструментов и методов быстрого построения виртуальных сетей и исследования их работы. Сети могут быть не только чисто виртуальными, но и смешанными: наряду с виртуальными узлами в них могут работать и обычные компьютеры и сетевые устройства.
Подробнее про эти проекты можно почитать на сайте проекта xgu.ru: Xenomips , Xentaur .

Таким образом для эмуляции сетей cisco нам нужно выбрать, для каких целей нам это нужно. Для многих случаев достаточно GNS3. Если необходимо создать крупный проект и рассмотреть (или демонстрировать) взаимосвязи между виртуальными серверами, рабочими станциями и сетевыми устройствами, то стоит обратить внимание на Xenomips.

Удачи в изучении!

P.S. Остаётся порой задаться вот каким вопросом. Все описанные инструментальные средства распространяются по лицензии GPL и/или бесплатны и свободны для загрузки. Однако не сам образ ОС IOS. Так что вопрос, где скачать Cisco IOS остаётся открытым. Это ПО распространяется Сisco на коммерческой основе. Однако если задаться целью, то скачать IOS для учебных целей можно - можно найти легко. ;-)

3 На сегодняшний день существуют три эмулятора оборудования Cisco VIRL, GNS3 и UNetLab. Давайте пробежимся по их функционалу для сравнения их достоинств и недостатков.

Оригинал статьи: Сравнение UNetLab с VIRL и GNS3

Легальность

GNS3 и UNetLab требуют, чтобы вы раздобыли Cisco IOS самостоятельно. Такая серая схема, может нарушить условия использования Cisco IOS, которая удерживает некоторых пользователей от GNS3 или UNetLab. Со своей стороны, Cisco VIRL лицензирован на использование Cisco IOS и уже поставляется с некоторыми образами IOS внутри. Дадим VIRL один флажок.

Поддержка Serial интерфейсов

Первое что выделяется – это поддержка Serial интерфейсов. VIRL не поддерживает Serial интерфейсы, но возможен вариант в будущих релизах.. GNS3 и UNetLab имеют поддержку Serial интерфейсов. Поэтому GNS3 и UNetLab получают по одному флажку.

Поддержка дополнительного Cisco оборудования.

VIRL поддерживает из Cisco только IOS-XR, IOS XE, NX-OS, и классические IOS (vIOS-L2 и vIOS-L3). Так же в VIRL возможно загрузить образ ASAv.
GNS3 поддерживает классический IOS (Dynamips), также с помощью интеграции с QEMU возможно использование Cisco VIRL образов, Cisco ASAv, XRv.

Однако для GNS под Windows вас ждут разные неприятности, например запустив образ vIOS-L2/L3 (в GNS уже есть готовый шаблон для него), вы с удивлением обнаружите, что если в настройках укажите количество интерфейсов больше 8, то образ не запуститься.
Кроме того, QEMU под Windows ограничена 2Gb RAM. Это приводит к тому, что могут возникнуть проблемы с запуском таких образов как Cisco XRv и Cisco CSR1000v. Например CSR1000v требует 3G RAM. Можно попробовать выставить меньше, но все интерфейсы будут в состоянии DOWN. Количество линков в QEMU GNS также ограничено в 16, т.е это максимальное число соединений к одному QEMU устройству. Больше информации можно найти на сайте разработчиков UNL в разделе Differences between current UNetLab and GNS3 1.3.3

Также для работы образов Cisco IOL/IOU требуется отдельная виртуальная машина.

В свою очередь UNetLab поддерживает самую широкую линейку как Cisco оборудования, так и оборудование других вендоров. Вы можете запускать Cisco IOL-образы, образы из VIRL (vIOS-L2 и vIOS-L3), образы Cisco ASA Firewall, Cisco IPS, XRv и CSR1000v, образы dynamips из GNS, образы Cisco vWLC и vWSA,

Здесь мы отдадим флажок UNetLab

Поддержка других вендоров.

Есть несколько вендоров, оборудование которые можно интегрировать в среду GNS3. Но GNS3 не афиширует интеграцию с кем-либо, хотя имея интерфейс взаимодействия с QEMU, теоретически возможно реализовать Nested Virtualization и запускать образы, предоставленные вендорами для работы под VmWare. На практике же можно столкнуться со сложностями или существенными ограничениями интеграции того или иного оборудования в GNS3. Например коммутатор Arista EOS в GNS3 под Windows ограничен только 8 интерфейсами, хотя сам образ поддерживает 25.

Однако если сравнивать с UNetLab, то в последнем официальная поддержка наиболее широкая – Juniper, Extreme, Fortinet, HP, Checkpoint, Palo Alto, Arista, Alcatel, Citrix, MS Windows.

VIRL также не афиширует интеграции с кем-либо, хотя это может быть возможно, например поддержка Arista vEOS, Fortinet FortiGate, Juniper, Palo Alto, Windows. .

Внеполосное управление (OOB Access)

И VIRL и GNS3 и UNetLab поддерживют OOB доступ к CLI. Однако в UNetLab , вам не обязательно необходимо находиться на том же самом PC на котором запущена VM. Вы можете запустить VM UNetLab на одном PC или на ESXi, a ваша любимый терминал Putty или SecureCRT на любом удаленном клиенте – хоть из дома, хоть из гостиницы - из любого места. По флажку получают все.

Прелоад конфигураций.

Это то, что GNS3 делать не умеет. Это то что умеет делать VIRL – функция AutoNetKit. UNetLab умеет это делать частично, только для IOL и Dynamips образов. Поэтому VIRL зарабатывает свой флаг.

Многопользовательский функционал (Multi User).

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

Подобный функционал ни в GNS3 ни в Cisco VIRL не поддерживается. UNetLab забирает флаг себе

Стоимость

Cisco VIRL стоит почти 200$ за Personal Edition. Подписка годовая. Но даже купив лицензию, вы все равно остаетесь с ограничением в 15 Cisco устройств. К слову, надо отметить, что образы других вендоров можно запускать без ограничений. GNS3 и UNetLab – бесплатные продукты. Вы можете сделать добровольное пожертвование для развития продуктов если пожелаете. Кроме того сделав пожертвование в UNetLab вы также получите полную поддержку по установке использованию продукта от разработчиков, доступ к самым последним версиям и приоритетную разработку feature request. Но тем не менее только GNS3 и UNetLab получают по флажку.

Заключение:

В заключении хотелось обратить внимание на некоторые особенности работы UnetLab по сравнению с GNS:

  1. GUI в UNetLab предоставляется через Web-интерфейс, в тоже время в GNS - нужно инсталлировать клиента
  2. GUI в UNetLab поддерживает добавление своих изображений топологии с активными линками на работающие устройства. В GNS такая поддержка практически отсутствует (за исключением подложки между фоном и изображениями устройств - но выглядит очень коряво).
  3. В UNetLab отсуствует ограничение по памяти RAM для QEMU. В GNS Windows вы ограничены 2Gb
  4. В UNetLab Нет ограничения по количеству линков между устройствами. В GNS3 вы ограничены 16 линками в QEMU
  5. В UNetLab все устройства работают внутри одной VM. В GNS3 вам нужна отдельная VM для запуска IOL образов
  6. В VM UNetLab могут работать несколько пользователей одновременно. GNS3 - строго одно-пользовательская система.

Подведем итог: По легкости использования, функционалу, поддержке оборудования победа на сегодняшний день уходит в UNetLab.