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 для учебных целей можно - можно найти легко. ;-)

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

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

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

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

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.