Эмулятор для построения сети 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 Systems считается безусловным фаворитом на рынке сетевого оборудования (занимает около 70% рынка) и предлагает модели от простых маршрутизаторов для небольшого офиса до мультигигабитных устройств, размещаемых в ядре Интернета .

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

С целью полного понимания информационных и коммуникационных технологий компанией Cisco был разработан программный эмулятор Cisco Packet Tracer (рисунок 1).

Cisco Packet Tracer – это мощный программный эмулятор, который дает возможность пользователям моделировать сети, организовывая их с практически безграничным количеством устройств, находить применение оборудования и налаживать его под определенные задачи той или иной среды. Программа дает возможность вырабатыванию качеств скорости принятия решения, креативного подхода и критического мышления . Настраивать конфигурацию и устранять неполадки сетей с применением виртуального оборудования и имитацией соединения можно в одиночку. Главное преимущество Cisco Packet Tracer ‒ бесплатность данного продукта.

Cisco Packet Tracer предоставляет пользователям понятную интерактивную среду обучения. Пользователи могут собственными руками создать свою виртуальную «сеть миров» с целью исследования, экспериментирования и понимания сетевых механизмов и технологий сетей.

Программа Cisco Packet Tracer обладает следующими возможностями и особенностями:

    Позволяет моделировать топологии сетей практически любого размера ;

    Доступен режим симуляции;

    Моделирование сети в режиме реального времени;

    Интуитивно понятный интерфейс;

    Мультиязычность;

    Большое количество различного оборудования.

Cisco Packet Tracer имеет две рабочие области: логическую и физическую. Логическая область позволяет создавать и управлять логическими топологиями сетей. Физическая область визуализирует логическую топологию, давая понятие о размахах и трудоустройствах оборудования, таких как маршрутизаторы, коммутаторы, хосты, которые станут работать в настоящей среде. Физическое пространство также дает представление сети, в том числе нескольких городов, зданий, построек, монтажных шкафов .

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

Рис. 1. Интерфейс Cisco Packet Tracer

Cisco Packet Tracer поддерживает последующие протоколы:

    На прикладном уровне: FTP, SMTP, Telnet, AAA, SNMP, SSH, DNS, DNCP, HTTP, POP3, ISRVOIP, NTP;

    На транспортом уровне: TCpand, TCP, UDP, NagleAlgorithm & IPFragmentation, RTP;

    На сетевом: IPv6, IPv4, ICMP, ICMPv6, BGP, RIPv1/v2/ng, Multi-AreaOSPF, EIGRP, StaticRouting, Route Redistribution, Multilayer Switching, L3 QoS, NAT, CBAL, GREVPN, IPSecVPN.

GNS3 ‒ это независимый бесплатный программный эмулятор маршрутизаторов Cisco. GNS3 поддерживается в большинстве операционных систем Linux, Windows и Mac OS X, при этом данный программный эмулятор даёт возможность эмулировать аппаратную часть маршрутизаторов Cisco, для этого он загружает и использует реальный образ операционной системы Cisco IOS.

GNS3 это идеальная утилита для подготовки сетевых инженеров, администраторов и людей, которые готовятся к сертификации CCNA, CCNP, CCIP или CCIE. Он позволяет поэкспериментировать с различными версиями Cisco IOS, а также проверить свои конфигурации перед использованием на реальном оборудовании.

К нему можно подключать виртуальные машины VirtualBox или VMware Workstation и создавать достаточно сложные схемы, при желании можно пойти дальше и выпустить его в реальную сеть.

GNS3 является бесплатным продуктом, находится в свободном доступе и не имеет каких-либо ограничений по использованию (рисунок 2).

Но при всем при этом имеются недостатки:

    Количество платформ строго ограничено: запустить можно только те шасси, которые предусмотрены разработчиками dynamips.

    Запустить ios 15 версии возможно только на платформе 7200.

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


Рис. 2. Интерфейс GNS3

Boson NetSim – это программный эмулятор, предназначенный для моделирования работы сетевых устройств Cisco (рисунок 3).

Компания Boson обеспечивает данный продукт очень развитой поддержкой, поэтому компания Cisco Systems рекомендует этот продукт для подготовки к сертификационным экзаменам Cisco. С этой целью программный эмулятор Boson NetSim поставляется в одной из 3 версий: , и .

Главный недостаток данного продукта ‒ это его дорогая себестоимость. Цена составляет 99$, цена 159$ и 299$ составляет цена .


Рис. 3. Интерфейс Boson NetSim

Cisco IOU – это эмулятор сети, разработанный компанией Cisco Systems, который позволяет моделировать сети из оборудования Cisco (рисунок 4). Основные достоинства Cisco IOU: полноценная поддержка L2 и L3 коммутаторов, достаточно низкие системные требования .


Рис. 4. Интерфейс Cisco IOU

К сожалению, Cisco IOU официально не распространяется никак. Данный продукт создан исключительно для сотрудников Cisco Systems.

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

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

Packet Tracert

Разработчик : Cisco Systems Inc.
Web :

cisco.com/web/learning/netacad/course_catalog/PacketTracer.html
ОС : Windows XP/Vista/7, Linux (Ubuntu, Fedora)
Лицензия : бесплатно для зарегистрированных преподавателей и студентов курсов

Умение работать с оборудованием Cisco всегда являлось жирным плюсом при
приеме на работу, однако оплатить курсы или приобрести циску (даже б/у) может
далеко не каждый. Вероятно, поэтому количество кошачьих эмуляторов растет из
года в год, и они пользуются популярностью у админов и желающих ими стать.
Используя эмулятор, можно самостоятельно подготовиться к получению сертификатов
CCNA (Cisco Certified Network Associate, Сертифицированный Cisco Сетевой
Специалист), "перепробовав" все доступные девайсы и понастраивав сеть.

Обзор начнем с официальной разработки Cisco – эмулятора Packet Tracert,
предлагаемого отделением Networking Academy, отвечающим за образование и
подготовку различных курсов. Задача программы: помочь закрепить на практике
полученные студентом теоретические навыки. Для ее решения PT обладает всем
необходимым, позволяя "строить" сети различной сложности с практически
неограниченным количеством устройств. Все установки производятся при помощи
логической диаграммы сети, для симуляции представлен весь спектр оборудования,
выпускаемого Cisco (роутеры, свитчи, точки доступа и т.п.). Можно изменять
настройки объектов, моделировать потоки данных и многое другое. Поддерживается
большое количество протоколов и технологий, используемых в оборудовании Cisco
(полный список смотри в документации на сайте).

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

Официально в свободном доступе Packet Tracert не найти, он предназначен
только для зарегистрированных преподавателей и студентов курсов (его можно найти
на дисках, прилагаемых к некоторым книжкам по цисковским курсам). Но – нехитрый
запрос к гуглу, и нужная программа будет у тебя на харде. Во время установки
никаких ключей не требуется, сам процесс стандартен.

Все настройки производятся в большом окне посередине. Внизу слева находятся
группы устройств, после выбора чуть правее появляются сами устройства. Отмечаем
нужное и двойным щелчком на свободном месте в поле посередине переносим его на
карту сети. Поддержка drag"n"drop делает процесс очень простым, устройства затем
можно двигать, удалять и т.п. Удобно, что PT самостоятельно связывает некоторые
девайсы, например, при появлении Wireless свитча к нему автоматически
подключаются все устройства, поддерживающие этот вид соединения. При протяжке
кабеля выбираем порт, к которому его подключаем. Один из значков отвечает за
автоматическое определение типа соединения, что ускоряет сборку сети на стадии
изучения. Если в процессе будет допущена ошибка, то пользователь получает
предупреждение с кратким описанием (например, нет свободного разъема).

Пока все настройки логической сети производились во вкладке Logical Workspace
(Ctrl+L). Чтобы перейти к физическому устройству и посмотреть порядок
подключения, следует выбрать в верхнем левом углу вкладку Physical Workspace (Ctrl+P).
Также PT предоставляет два режима отображения работы сети: Realtime Mode (Ctrl+R)
и Simulations Mode (Ctrl+S). Переключение производится при помощи ярлыков в
правом нижнем углу или горячих клавиш. В Realtime сеть работает в обычном
режиме, в режиме Simulations можно наблюдать и контролировать процессы,
происходящие в сети (работу устройств, интервалы времени, механизмы передачи
данных и т.д.) Мастер Activity Wizard поможет создать собственные учебные
сценарии.

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

Эмулятор Dynamips

Разработчик : OpenSource
Web :

www.ipflow.utc.fr/index.php/Cisco_7200_Simulator
ОС : Windows 2k/XP/Vista, x32/x64 Linux, Mac OS X
Лицензия : GNU GPL

Проект Dynamips стартовал в августе 2005 года как эмулятор маршрутизатора
Cisco 7200 на ПК и предназначался для проверки конфигурации перед использованием
на настоящем оборудовании и для обучения. Сегодня Dynamips может эмулировать и
другие платформы Cisco – серии 3600, 3700 и 2600. Причем с выбором разных
вариантов устройств: CPU (MIPS64 и PowerPC), RAM (DRAM, Packet SRAM, NVRAM),
различных типов карт и портов. Предусмотрена возможность создания виртуальных
мостов и коммутаторов. Главная особенность – эмулируемое устройство можно
подключить к реальной сети, для чего один из выходов виртуального маршрутизатора
связывается с реальной сетевой картой. Работа в режиме гипервизора позволяет
распределить нагрузку на несколько систем, ведь IOS (Internet Operating System)
образы полностью загружаются в ОЗУ и при большом количестве виртуальных систем
отбирают много ресурсов.

Нужный пакет доступен в репозиториях некоторых дистрибутивов Linux. Для
захвата трафика используется библиотека pcap, при установке в Windows
потребуется самостоятельно инсталлировать WinPCAP. В Ubuntu/Debian установка
проста:

$ sudo apt-get install dynamips

Все параметры Dynamips легко узнать, запустив его с ключом "--help". По
умолчанию эмулируется Cisco 7206VXR с NPE-200 и 256 Мб ОЗУ DRAM. Чтобы указать
другую платформу, следует использовать параметр "-P" (например, "-P 3600").
Дополнительный ключ "-t" позволяет "изменить" внутренности виртуального
маршрутизатора (в зависимости от выбранного типа аргументы "-t" будут различны).
Для запуска понадобятся реальные IOS образы Cisco, которые не являются частью
пакета, и их необходимо скачивать отдельно (легко находятся гуглом, в Сети
доступны сборники по несколько гигов). Иногда IOS-образы поставляются в сжатом
виде, и перед загрузкой их нужно распаковать:

$ unzip -p c7200-g6ik8s-mz.124-2.T1.bin > c7200.image

Запускаем:

$ dynamips c7200.image

Но в плане настроек Dynamips не очень удобен, чтобы создать на его основе
сеть из нескольких маршрутизаторов, придется немало потрудиться. Эту задачу
можно облегчить при помощи Dynagen ,
который является текстовым фронт-эндом к Dynamips. Используя простой файл
описания виртуальной среды, мы можем легко соединить несколько устройств.
Главное, что все установки собраны в одном месте, имеют простой синтаксис и
легко редактируются.

$ nano v_router.net

# Описание узла, на котором установлен Dynamips
# Тип роутера
# Путь к IOS-файлу
image = /home/grinder/images/c7200.image
# Общие параметры, в данном случае платформа и RAM, при необходимости внутри
роутера можно указывать специфические настройки
npe = npe-400
ram = 160

# Первый роутер
[

# Указываем подключение, в нашем случае интерфейс Serial1/0 на R1 будет
подключен к Serial1/0 R2
s1/0 = R2 s1/0

[]
# Оставляем все по умолчанию

Это простейший пример, чтобы понять суть настроек. В "боевом" конфиге может
быть с десяток самых разных роутеров и конфигураций. Например, чтобы связать
один из выходов виртуального маршрутизатора с сетевым интерфейсом реальной или
виртуальной системы, пишем:

s2/0 = NIO_linux_eth:eth1

Сначала запускаем dynamips в режиме гипервизора (после отладки можно
стартануть в фоне, добавив "&"):

$ sudo dynamips -H 7200
Cisco Router Simulation Platform (version 0.2.8-RC2-amd64)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: May 9 2009 18:06:28

ILT: loaded table "mips64j" from cache.
ILT: loaded table "mips64e" from cache.
ILT: loaded table "ppc32j" from cache.
ILT: loaded table "ppc32e" from cache.
Hypervisor TCP control server started (port 7200).

Теперь Dynagen:

$ dynagen v_router.net

После загрузки образов (процесс будет выводиться в консоли, где запущен
dynamips) и настроек виртуальных роутеров получим приглашение консоли
управления. Введя знак вопроса или help, получим справку по командам. Набрав "help
команда", узнаем обо всех параметрах конкретной команды. Поддерживается
автодополнение ввода при помощи клавиши . Для остановки, запуска,
перезапуска, приостановки и продолжения применяем команды start, stop, reload,
suspend, resume с указанием имени роутера или ключа /all для всех устройств:

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

=> list
Name Type State Server Console
R1 7200 running localhost:7200 2000
R2 7200 running localhost:7200 2001

Теперь при помощи команды:

$ telnet localhost 2000

Можем подключиться к порту, указанному в поле Console. Хотя проще
подключиться, указав имя устройства в строке приглашения Dynagen:

В отдельном окне откроется окно терминала, в котором уже управляем
настройками.

Несколько виртуальных маршрутизаторов могут нехило загрузить систему. Причем
вне зависимости от реально выполняющейся работы. Это происходит потому, что
Dynamips не знает, когда роутер выполняет полезную работу, а когда находится в
режиме ожидания. Команда idlepc позволяет проанализировать IOS-образы в действии
и определить циклы простоя. При первом запуске значение не установлено:

*** Warning: Starting R1 with no idle-pc value

Нужную цифирь idle-pc можно получить, введя в консоли dynagen команду "idlepc
get имя_роутера":

=> idlepc get R1

Будет выдано несколько значений, наиболее оптимальные отмечены знаком "*".
Далее выполнение команды остановится, и потребуется ввести одну из цифр,
соответствующих выбранному idlepc. После этого его значение будет добавлено к
выполняющемуся процессу. При запуске Dynamips вручную значение idlepc
указывается при помощи параметра " --idle-pc= ", как вариант, в
секции роутера конфига Dynagen дописываем:

idlepc = 0x6076a394

Повторно просмотреть весь список idlepc просто:

=> idlepc show R1

Все, маршрутизатор можно настраивать.

Проект оброс несколькими субпроектами, делающими использование Dynagen более
удобным. Например, gDynagen
обеспечивает единую консоль для ввода команд для Dynamips + Dynagen. Генератор
настроек для Dynagen –
confDynagen
добавляет новый режим конфигурирования, который дает возможность изменять
параметры Dynagen "на лету", без остановки виртуальной сети.

Симулятор GNS3

Разработчик : OpenSource
Web : ns3.net
ОС : Windows 2k/XP/Vista, *nix, Mac OS X
Лицензия : GNU GPL

GNS3 (graphical network simulator) – очень мощный симулятор, выпускаемый под
свободной лицензией и позволяющий эмулировать сети большого размера. Полезен
администраторам и инженерам, а также пользователям, которые готовятся к сдаче
сертификатов Cisco (CCNA, CCNP, CCIP, CCIE) и Juniper Networks (JNCIA, JNCIS,
JNCIE). Чтобы обеспечить максимальную функциональность, также следует установить
Dynamips, Dynagen и виртуальную машину Qemu. Для захвата пакетов потребуется
Wireshark (wireshark.org). Кроме образов Cisco IOS, GNS3 умеет работать с
olive-образами JunOS (juniper.net/ru/ru/products-services/nos/junos) –
операционки, используемой в оборудовании компании Juniper Networks.

Возможна эмуляция простых Ethernet, ATM и Frame Relay свитчей и файеров (ASA,
PIX). Как и в случае с Dynamips, легко подключить виртуальный свитч к сетевой
карте реальной или виртуальной системы. И главное – все настройки производятся в
интуитивно понятной графической среде.

Пакет GNS3 уже доступен в репозиториях большинства основных дистрибутивов
Linux. В Debian/Ubuntu для установки набираем:

$ sudo apt-get install gns3

Чтобы использовать самые свежие версии, следует подключить репозиторий
gpl.code.de. Подробные инструкции для своего дистрибутива ищи по адресу

gpl.code.de/oswiki/GplcodedeApt . Для самостоятельной сборки пакетов
потребуется наличие Python и ряда библиотек: Qt, PyQt и других.

При первом запуске встречает Setup Wizard, объясняющий два основных
требования к запуску программы: проверить правильность пути в Dynamips и при
необходимости скорректировать его. Плюс загрузка IOS-образов.

Окно программы можно назвать стандартным. Слева в "Nodes Types" находятся
значки устройств, которые простым перетаскиванием помещаем в окно посередине,
строя виртуальную сеть. Двойным щелчком вызываем окно свойств, где настраиваются
специфические параметры для конкретного роутера, и, в том числе, добавляются
адаптеры. Контекстное меню позволяет запустить, остановить устройство, получить
IDLE PC, выйти в консоль. В панели сверху доступны примитивные инструменты
рисования (вставка круга, прямоугольника, рисунка). Сеть, состоящая из одних
маршрутизаторов, не очень наглядна, остальные компоненты сети (серверы, принтеры
и т.п.) добавляются через "Edit – Symbol Manager".

Правое окно "Topology Summary" предназначено для быстрой навигации, здесь
выводятся все девайсы (работающие подсвечиваются зеленым значком). Если образа,
соответствующего выбранному устройству, в коллекции GNS3 нет, то при попытке
добавить такой роутер получим предупреждение. Чтобы добавить IOS-образы или
указать местонахождение гипервизоров Dynamips, открываем "Edit – IOS images and
hypervisors". Указываем на image-файл, при этом платформа, модель и количество
RAM отображаются автоматически. Эти значения будут использованы по умолчанию, их
можно скорректировать. В поле IDLE PC прописывается нужное значение (если оно
известно). Внизу посередине находится консоль Dynagen, предназначенная для
непосредственного ввода команд.

После нанесения на карту всех устройств при помощи консоли приступаем к их
настройке, в частности, устанавливаем связи щелчком по "Add a link". Созданные
настройки сохраняются в файл для повторного использования.

Стоит отметить, что имеется еще один проект –
Dynagui , наглядно
показывающий подключения между роутерами. Но по функциональности он не
дотягивает до GNS3, а последнее обновление датировано 2007 годом.

Заключение

Не стоит пренебрегать программными эмуляторами сетевого оборудования и
недооценивать предлагаемые ими возможности, тем более, что разработчики Cisco
Systems и Juniper Networks настоятельно рекомендуют их использовать.

Некоторые команды маршрутизаторов Cisco

help – справка по всем командам
setup – запуск мастера конфигурирования маршрутизатора
show config – просмотр текущих настроек
configure terminal – вход в режим настройки хоста
enable [номер уровня] – переход к определенному уровню настроек
hostname Router – вводим имя маршрутизатора
ip http server – запуск веб-интерфейса
ip route 172.1.1.0 255.255.255.0 10.1.1.1 permanent – статический маршрут
clear ip route * – удаление всех маршрутов
show ip route – просмотр маршрутов

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

Проекты одной строкой

Network Simulator –
симулятор, предназначенный для изучения работы сетевых протоколов и
маршрутизации. Опционально включает модуль анимации nam (network animator).

Xentaur – решение
для организации сетей, объединяющих реальные устройства, эмуляторы и
виртуальные машины Xen.

NetSim
– симулятор работы по протоколам нижнего уровня, с 3D визуализацией
процессов.

ProfSIMs ,
RouterSim ,
CertExams.com
– коммерческие симуляторы и визуализаторы, позволяющие подготовиться для
сдачи сертификата Cisco.

INFO

С помощью программы Packet Tracert можно строить целые сети между
виртуальными офисами.

В Packet Tracert доступны инструменты рисования, которые помогут лучше
представить сеть на карте. Так, например, отдельные элементы или группы
можно раскрасить разными цветами.

WARNING

Некоторые старые версии IOS не поддерживают команду idlepc.

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.

Доброго времени.
Когда речь заходит о том как эмулировать 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/

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



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: