Эмулятор для построения сети cisco. Сравнение эмуляторов UNetLab, Cisco VIRL и GNS3
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:
- GUI в UNetLab предоставляется через Web-интерфейс, в тоже время в GNS - нужно инсталлировать клиента
- GUI в UNetLab поддерживает добавление своих изображений топологии с активными линками на работающие устройства. В GNS такая поддержка практически отсутствует (за исключением подложки между фоном и изображениями устройств - но выглядит очень коряво).
- В UNetLab отсуствует ограничение по памяти RAM для QEMU. В GNS Windows вы ограничены 2Gb
- В UNetLab Нет ограничения по количеству линков между устройствами. В GNS3 вы ограничены 16 линками в QEMU
- В UNetLab все устройства работают внутри одной VM. В GNS3 вам нужна отдельная VM для запуска IOL образов
- В VM UNetLab могут работать несколько пользователей одновременно. GNS3 - строго одно-пользовательская система.
Подведем итог: По легкости использования, функционалу, поддержке оборудования победа на сегодняшний день уходит в UNetLab.

Gns3 это графический симулятор сети, который позволяет моделировать сложные сети.
Для обеспечения полной симуляции, gns3 тесно связан с:
* Dynamips, ядро программы, позволяющий эмулировать Cisco IOS.
* Dynagen, текстовый интерфейс для Dynamips.
* PEM?, эмулятора брандмауэра Cisco PIX на основе Qemu.
Gns3 является отличным дополнительным инструментом для реализации лабораторных работ Cisco для сетевых инженеров, администраторов и людей, желающих пройти сертификацию CCNA, CCNP, CCIP и CCIE.
Он также может быть использован для экспериментов над Cisco IOS или для проверки настроек, которые должны быть развернуты позднее на реальных маршрутизаторах.
Это проект с открытым исходным кодом, бесплатная программа, которая может быть использована на многих операционных системах, включая Linux, MacOS X и Windows.
Получить GNS3 можно перейдя на страницу загрузки www.gns3.net/download
или так sudo aptitude install gns3 (например).
При первом запуске программы вылезет окно настройки, состоящее из двух шагов.
Первый шаг, как видно, поможет выбрать язык (русский поддерживается) и настроить директории.
Второй залить IOS (ru.wikipedia.org/wiki/IOS
). Найти его можно на тор****сру.
Я рекомендую использовать IOS 7200 series т.к. GNS с ним не глючит.
После настройки, тестирования и прочих приятностей можно приступать к знакомстве с самим GNS3
Простым перетаскиванием помещаем картинку с роутером на рабочую поверхность

Добавляем интерфейсы на роутер, дважды по нему кликнув (PA-GE это gigabit ethernet)

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

Введя в консоли команду как на картинке и нажав enter красные кружочки станут зелёными. Можно не вводить ничего в консоли, а нажать кнопку play в меню результат тот-же.
Наконец, поигравшись с GNS3 можно приступить к созданию маршрутизатора на базе компьютера
Для этого в компьютере должно быть >1 сетевой карты.
Если все же одна, то можно настроить loopback
для Windows Пуск->Панель управления->Установка нового оборудования…
для Linux ничего делать не надо GNS его и так видит (во всяком случае у меня)
Для привязки реального интерфейса компьютера к интерфейсу роутера используют «облака»
перетаскиваем их также как перетаскивали роутеры и привязываем к ним интерфейсы при помощи окна настройки (дважды кликнув по облаку).

Каждому интерфейсу по облаку.

Собрав схему можно приступить к настройке маршрутизатора, и развертыванию сети.
Производительность такой сети напрямую зависит от производительности компьютера который прикидывается роутером.
О производительности:
Производительность Windows системы при прочих равных меньше чем у Linux (FreeBSD, Solaris ...), но для дома и Windows сгодится.
Способ уменьшения нагрузки на процессор.
1. Кликаем правой кнопкой мыши и в контекстном меню выбираем IDLE PC.
2. После обработки вылезет всплывающее окно.
3. Выбираем результат.

копипаст: habrahabr.ru/blogs/cisconetworks/74305
Доброго времени.
Когда речь заходит о том как эмулировать 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 IDUsage:
: 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 yuiuROM: 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/
Там же есть видео. Так же если поискать информацию по этому вопросу есть еще китайские источники, где так же можно найти полезную информацию.
Посмотрело: 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 не отличается простотой. Нужно обладать недюжим спокойствием и кое-каким опытом работы в никсах, чтобы разобраться с топологиями, файлами настройки и сохранением конфигурации устройств.
- Скудный графический интерфейс. Позволяет только посмотреть получившуюся топологию. Создание топологии - только через текстовый набор строк описывающие линки и устройства. В общем нужно привыкнуть.
В следующей статье мы расскажем как работать с 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 в настройках. Достаточно указать полный путь в файлу терминальной программы.



