Unetlab – чудова заміна GNS3 та Cisco Packet Tracer! Огляд емуляторів та симуляторів обладнання Cisco Емулятор для створення мережі cisco.

Всім привіт.

Свого часу довелося займатись Cisco. Не довго, але все-таки. Все, що пов'язано з Cisco зараз мега популярно. Я свого часу стосувався відкриття локальної академії Cisco у місцевому університеті. Рік тому був на курсах "Дніпропетровськ". Але не завжди ми маємо доступ до самого обладнання, особливо під час навчання. На допомогу приходять емулятори. Є такі й у Cisco. Я починав з Boson NetSim, а студенти майже зараз сидять на Cisco Packet Tracer. Але цими двома видами набір симуляторів не обмежується.

Якийсь час тому ми у своєму циклі «Мережі для найменших» перейшли на емулятор GNS3, який краще задовольняв наші потреби, ніж Cisco Packet Tracer.

Але які взагалі маємо альтернативи? Про них розповість Олександр aka Sinister, у якого поки що немає акаунта на хабрі.

Існує досить велика кількість симуляторів та емуляторів для обладнання Cisco Systems. У цьому невеликому огляді я спробую показати всі існуючі інструменти, які вирішують це завдання. Інформація буде корисна тим, хто вивчає мережеві технології, готується складати іспити Cisco, збирає річки для траблшутингу або досліджує питання безпеки.

Небагато термінології.

Симулятори- Імітують якийсь набір команд, він вшитий і варто тільки вийти за рамки, відразу отримаємо повідомлення про помилку. Класичний приклад – Cisco Packet Tracer.

Емуляториа навпаки - дозволяють програвати (виконуючи байт трансляцію) образи (прошивки) реальних пристроїв, часто без видимих ​​обмежень. Як приклад - GNS3/Dynamips.

Першим розглянемо Cisco Packet Tracer.

1. Cisco Packet Tracer


Цей симулятор доступний як під Windows, так і для Linux, безкоштовно для учнів Академії Cisco.

У 6-й версії з'явилися такі речі як:

  • IOS 15
  • Модулі HWIC-2T та HWIC-8A
  • 3 нових пристроїв (Cisco 1941, Cisco 2901, Cisco 2911)
  • Підтримка HSRP
  • IPv6 у налаштуваннях кінцевих пристроїв (десктопи).

Відчуття таке, що новий випуск був присвячений оновленню іспиту CCNA до версії 2.0.

Його плюси – дружність та логічність інтерфейсу. Крім цього в ньому зручно перевіряти роботу різних мережевих сервісів, на кшталт DHCP/DNS/HTTP/SMTP/POP3 та NTP.

І одна з найцікавіших фіч – це можливість перейти в режим simulation та побачити переміщення пакетів із уповільненням часу.

Мені це нагадало ту саму Матрицю.

  • Майже все, що виходить за рамки CCNA, на ньому зібрати не вдасться. Наприклад, EEM відсутня геть-чисто.
  • Також іноді можуть проявлятися різноманітні глюки, які лікуються лише перезапуском програми. Особливо цим славиться протокол STP.

Що маємо у результаті?

Непоганий інструмент для тих, хто тільки почав своє знайомство з обладнанням компанії Cisco.

Наступний - GNS3, який є графічним інтерфейсом (на Qt) для емулятора dynamips.

Вільний проект, доступний під Linux, Windows та Mac OS X. Сайт проекту GNS - www.gns3.net. Але більшість його функцій, покликаних поліпшити продуктивність, працюють тільки під Linux (ghost IOS, який спрацьовує у разі використання безлічі однакових прошивок), 64-бітна версія так само тільки для Linux. Поточна версія GNS на Наразі- 0.8.5. Це емулятор, який працює зі справжніми прошивками IOS. Для того, щоб ним користуватися, у вас повинні бути прошивки. Скажімо, ви купили маршрутизатор Cisco, з нього можна їх витягти. До нього можна підключати віртуальні машини VirtualBox або VMware Workstation і створювати складні схеми, за бажання можна піти далі і випустити його в реальну мережу. Крім того, Dynamips вміє емулювати як старі Cisco PIX, так і відому Cisco ASA, причому навіть версії 8.4.

Але при цьому є безліч недоліків.

Кількість платформ строго обмежена: запустити можна лише ті шасі, які передбачені розробниками dynamips. Запустити ios 15 версії можна лише на платформі 7200. Неможливо повноцінно використовувати комутатори Catalyst, це пов'язано з тим, що на них використовується велика кількість специфічних інтегральних схем, які відповідно вкрай складно емулювати. Залишається використовувати мережеві модулі (NM) для маршрутизаторів. При використанні великої кількості пристроїв гарантовано спостерігатиметься просідання продуктивності.

Що маємо у сухому залишку?

Інструмент, в якому можна створювати досить складні топології, готуватися до іспитів рівня CCNP з деякими застереженнями.

3. Boson NetSim

Кілька слів про симулятор Boson NetSim, який нещодавно оновився до 9-ї версії.

Випускається лише під Windows, ціна коливається від 179 $ за CCNA і до 349 $ за CCNP.

Є якоюсь збіркою лабораторних робіт, згрупованою за темами іспиту.

Як можна спостерігати за скріншотами, інтерфейс складається з декількох секцій: опис завдання, карта мережі, в лівій частині знаходиться список усіх лабів. Закінчивши роботу, можна перевірити результат і дізнатися, чи все було зроблено. Є можливість створення власних топологій з деякими обмеженнями.

Основні фічі Boson NetSim:

  • Підтримує 42 маршрутизатори, 6 комутаторів та 3 інших пристрої
  • Симулює мережевий трафік за допомогою технології віртуальних пакетів
  • Надає два різних стилюперегляду: режим Telnet'а або режим підключення по консолі
  • Підтримує до 200 пристроїв на одній топології
  • Дозволяє створювати власні лабораторії
  • Включає лабораторії, які підтримують симуляцію SDM
  • Включає не-Cisco пристрої, такі як TFTP Server, TACACS + і генератор пакетів (це, ймовірно, ті самі 3 інших пристрої)

Недоліки у нього ті ж, що й у Packet Tracer.

Тим, кому не шкода певної суми, і при цьому не хочеться розбиратися та створювати свої топології, а хочеться просто попрактикуватися перед іспитом, буде дуже доречним.

Офіційний сайт - www.boson.com/netsim-cisco-network-simulator.

4. Cisco CSR

Тепер розглянемо досить новий Cisco CSR.

Нещодавно з'явився віртуальний Cisco Cloud Service Router 1000V.

Він доступний на офіційному веб-сайті Cisco.

Щоб скачати цей емулятор, достатньо просто зареєструватися на сайті. Безкоштовно. Контракт із Cisco не потрібен. Це дійсно подія, оскільки раніше Cisco всіма способами боролася з емуляторами і рекомендувала лише орендувати обладнання. Завантажити можна, наприклад, OVA файл, який є віртуальною машиною, судячи з усього, RedHat або його похідні. Віртуальна машина при кожному запуску підвантажує iso образ, всередині якого можна знайти CSR1000V.BIN, який і є власне прошивкою. Ну а Linux виступає у ролі враппера (wrapper) - тобто перетворювача викликів. Деякі вимоги, які вказані на сайті – пам'ять DRAM 4096 MB Flash 8192 MB. За сьогоднішніх потужностей це не повинно доставити проблем. CSR можна використовувати у топологіях GNS3 або у зв'язці з віртуальним комутатором Nexus.

CSR1000v виконаний у вигляді віртуального маршрутизатора (приблизно як Quagga, але IOS від Cisco), який крутиться на гіпервізорі як примірник клієнта і надає послуги звичайного маршрутизатора ASR1000. Це може бути щось звичайне, як базова маршрутизація або NAT, і аж до таких речей, як VPN MPLS або LISP. У результаті маємо майже повноцінний провайдерський Cisco ASR 1000. Швидкість роботи досить хороша, працює в реальному часі.

Не обійшлось і без недоліків. Безкоштовно можна використовувати лише ознайомлювальну ліцензію, яка триває лише 60 днів. Крім того, в цьому режимі пропускна здатність обмежена до 10, 25 або 50 Mbps. Після закінчення такої ліцензії швидкість впаде до 2.5 Mbps. Вартість ліцензії на 1 рік коштуватиме приблизно 1000$.

5. Cisco Nexus Titanium

Titanium – це емулятор операційної системикомутаторів Cisco Nexus, яка ще називається NX-OS. Nexus'и позиціонуються як комутатори для ЦОДів.

Цей емулятор був створений безпосередньо компанією Cisco для внутрішнього використання.

Образ Titanium 5.1.(2) зібраний на основі VMware якийсь час тому, потрапив у публічний доступ. Через деякий час з'явився і Cisco Nexus 1000V, який можна цілком легально придбати окремо або у складі редакції vSphere Enterprise Plus компанії Vmware. Можна спостерігати на сайті - www.vmware.com/ru/products/cisco-nexus-1000V/

Відмінно підійде всім, хто готується здавати трек Data Center. Має деяку особливість – після включення починається процес завантаження (як і у випадку CSR теж побачимо Linux) та зупиняється. Складається враження, що все зависло, але це не так. Підключення до цього емулятора здійснюється через іменовані канали.

Іменований канал - це один з методів міжпроцесної взаємодії. Існують як у Unix подібних системах, так і в Windows. Для підключення досить відкрити наприклад putty, вибрати тип підключення serial і вказати \\.\pipe\vmwaredebug.

Використовуючи GNS3 та QEMU (легкий емулятор ОС, що йде в комплекті з GNS3 під Windows), можна збирати топології, в яких будуть задіяні комутатори Nexus. І знову ж таки можна випустити цей віртуальний комутатор у реальну мережу.

6. Cisco IOU

Ну і нарешті знаменитий Cisco IOU (Cisco IOS on UNIX) - це пропрієтарний софт, який офіційно не розповсюджується взагалі ніяк.

Існує думка, що Cisco може відстежити та ідентифікувати того, хто використовує IOU.

При запуску відбувається спроба запиту HTTP POST на сервер xml.cisco.com. Дані, які при цьому відправляються, включають hostname, логін, версію IOU і т.д.

Відомо, що Cisco TAC використовує саме IOU. Емулятор має велику популярність у тих, хто готується до здачі CCIE. Спочатку працював лише під Solaris, але згодом був портований і на Linux. Складається з двох частин – l2iou та l3iou, за назвою можна здогадатися, що перший емулює канальний рівень та комутатори, а другий – мережевий та маршрутизатори.

Автором інтерфейсу є Andrea Dainese. Його сайт: www.routereflector.com/cisco/cisco-iou-web-interface/. На самому сайті немає ні IOU ні будь-яких прошивок, навіть автор заявляє, що веб-інтерфейс був створений для людей, які мають право на використання IOU.

І невеликі підсумки насамкінець.

Як виявилося, зараз існує досить широкий спектр емуляторів та симуляторів обладнання компанії Cisco. Це дозволяє практично повноцінно готуватися до іспитів різних треків (класичного R/S, Service Provider і навіть Data Center). Приклавши певні зусилля можна збирати і тестувати найрізноманітніші топології, проводити дослідження вразливостей та за необхідності випускати емульоване обладнання реальну мережу.

Доброго дня! Сьогодні я хочу розповісти про один цікавий інструмент мережевого інженера як UNL. Це ціле середовище емуляції та візуального проектування мереж, що дозволяє використовувати як Cisco образи (емулятор Dynamips), так і Juniper або QEMU компоненти. Список обладнання, що підтримується, досить великий, що мені здалося корисним, так це l2 комутатори, тому що в даний час я вивчаю STP і його варіації, а Cisco Packet Tracer і GNS3 м'яко кажучи не справляються з цим завданням.

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

Ну що ж, почнемо налаштовувати нашу віртуальну лабораторію за кроками:

  1. Завантажуємо образ віртуальної машини (я вибрав пункт Google Drive);
  2. Завантажуємо VMWare Player (безкоштовний);
  3. Відкриваємо образ віртуальної машини в VMWare Player-і. При цьому краще зайти в налаштування та додати (по можливості) оперативної пам'яті, ядер процесора та відзначити галочками режим віртуалізації:
  4. Нам знадобляться образи про IOL (IOS on Linux), які можна взяти (341 Мб). Є і L2 та L3 пристрої.
  5. Також нам знадобиться програма для закачування файлів за захищеним протоколом.
  6. Запускаємо віртуалку, залогінюємось root:unl. Бачимо запрошення http://192.168.241.129/ у консолі.

    У вас IP-адреса може відрізнятися.

  7. Відкриваємо цей браузер і побачимо веб-інтерфейс. Залогінитись можна під обліковими даними admin:unl
  8. За допомогою WinSCP закачуємо на сервер (створюємо підключення через scp з обліковими даними root:unl на ip)

    Підключаємось і переходимо в каталог /opt/unetlab/addons/iol/bin, туди та закачуємо bin-образи наших IOL. Туди ж потрібно помістити файл iourcнаступного змісту:

    Якщо раптом з якихось причин образи не зможуть запуститися, наприклад, змінилося ім'я хоста або ще що, можна скористатися кейгеном (в архіві з кроку 4), ./scripts/keygen.py. Скопіюйте його у віртуальну машину і запустіть так (зрозуміло вказавши правильний шлях):
    # python /path/to/keygen.py
    Також варто додати у файл /etc/hosts наступний рядок:
    127.0.0.0 xml.cisco.com

  9. Налаштуємо права доступу командою:
    /opt/unetlab/wrappers/unl_wrapper -a fixpermissions
  10. Тепер переконаємось, що все працює коректно:
    # cd /opt/unetlab/addons/iol/bin
    # touch NETMAP
    # LD_LIBRARY_PATH=/opt/unetlab/addons/iol/lib /opt/unetlab/addons/iol/bin/i86bi-linux-l2-ipbasek9-15.1e.bin 1

    Зупиняємо комутатор і йдемо далі.

  11. Тепер працюватимемо у веб-інтерфейсі. Якщо у нас вийшов 10 крок, то далі не має виникнути складнощів. Залогінюємось, у верхньому меню вибираємо LABS. У розділі Actions вибираємо Add a new lab

    Вводимо дані, ім'я лабораторної роботи, версію, за бажання можна вказати автора.


    Додаємо активні пристрої (Nodes). Тут величезний вибір і комутаторів та маршрутизаторів різних вендорів. Ми завантажили поки що тільки IOL.


    Тому додаватимемо IOL. Відразу 3 штуки, змінимо іконку та приберемо Serial інтерфейси.

    Для з'єднання нам знадобляться лінії зв'язку. Тут це називається Networks. Додамо три мережі


    Тепер правою кнопкою миші клацнемо на ноді і виберемо пункт Interfaces.

    Тут виберемо відповідні мережі на кожен інтерфейс


    Ось яка топологія вийшла


    Відкриємо лабу для запуску


    Запустимо всі ноди


    Потрапимо в консоль до пристрою. До речі, якщо під нодою іконка трикутничка, значить, нода запущена, якщо квадрат – значить зупинена.


    Щоб було легше притулитися до пристроїв, можна скористатися правкою асоціацій протоколів. Файл реєстру:
    Windows Registry Editor Version 5.00


    @="URL:Telnet Protocol"
    "EditFlags"=dword:00000002
    "FriendlyTypeName"="@ieframe.dll,-907"
    "URL Protocol"=""
    "BrowserFlags"=dword:00000008


    @="c:\putty.exe,0"


    @=""


    @="\"c:\putty.exe\" %1"

    Зберігаємо файл як 1.reg та імпортуємо до реєстру.

  12. Перевіряємо роботу тих протоколів, які не доступні в CPT та GNS:
    Ха-ха! Працює! На верхньому правому знімку видно всі зміни STP. У Cisco Packet Tracer взагалі немає команди debug spanning-tree events, а в GNS3 не вдалося запустити L2 свитч, а etherswitch routerу мене не захотів працювати так, щоб налагоджувальні повідомлення відображалися

Друзі! Вступайте в нашу

Huawei eNSP– офіційний та безкоштовний симулятор від Huawei. Підтримуються світильники та роутери, функціонал – L2, L3, базовий MPLS, BNG (BRAS). Опис (архів), посилання для завантаження (архів). Цікавить тих, хто хоче ознайомитися з налаштуванням обладнання Huawei, розробників систем моніторингу та управління (SNMP підтримується) та вивчення мережевих протоколів і технологій в цілому. Є можливість пов'язати інтерфейси пристроїв із "зовнішнім" світом, щоб сполучити його з реальними або іншими віртуальними або хост-системами.

GNS3- мабуть, найпопулярніший інструмент для створення віртуальних лабораторних стендів. Спочатку був графічною оболонкою над dynamips (емулятор Cisco софтроутерів попереднього покоління – c7200, c2800, c3725 тощо), але зараз має безліч бекендів для запуску віртуальних пристроїв (крім dynamips) – qemu, kvm, virtual Чим, крім запуску застарілих софтроутерів Cisco, може ще багато всього (те, що вміють qemu, kvm і virtualbox). Докладніше можна дізнатися на офіційному сайті (архів). Образи віртуальних пристроїв не включені до дистрибутиву, є юридичні питання щодо використання образів Cisco та Juniper Olive. Вміє робити інтерконнект із зовнішнім світом.

IOU-WEB- Графічний інтерфейс над IOU (Cisco IOS on Unix). Образи пристроїв є Cisco internal, але втекли до мережі. Призначено для навчання та підготовки до іспитів, є L2 та L3 образи пристроїв.

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

Cisco Packet Tracer– програмне забезпечення для моделювання мережі з обладнанням Cisco. Доступно (безкоштовно) для завантаження студентів та випускників мережевої академії Cisco. Містить величезну кількість помилок, дуже обмежений за функціоналом, краще ніколи не використовувати.

Junosphere Lab- Комерційна оренда пристроїв Juniper в "хмарі", призначена для навчання та симуляції мережі. ()

Віртуальне мережеве обладнання

Cisco

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

Huawei

– Routervisio – внутрішній продукт Huawei, емулятор NE40E. У мережі є дистрибутиви, проте мені запустити не вдалося
– Віртуальні комутатори та маршрутизатори eNSP (див. вище)

Juniper

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

Інше

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

Друзі, ми раді повідомити, що ми починаємо публікувати статті наших читачів.
Сьогодні матеріал від гостя нашого подкасту Олександра aka Sinister.

============================
Спеціально для проекту linkmeup

Існує досить велика кількість симуляторів та емуляторів для обладнання Cisco Systems.
У цьому невеликому огляді я спробую показати всі існуючі інструменти, які вирішують це завдання.
Інформація буде корисна тим, хто вивчає мережеві технології, готується складати іспити Cisco, збирає річки для траблшутингу або досліджує питання безпеки.

Спочатку трохи термінології.
Симулятори - імітують якийсь набір команд, він вшитий і варто лише вийти за рамки, одразу отримаємо повідомлення про помилку. Класичний приклад – Cisco Packet Tracer.
Емулятори навпаки - дозволяють програвати (виконуючи байт трансляцію) образи (прошивки) реальних пристроїв, часто без видимих ​​обмежень. Як приклад - GNS3/Dynamips.


Першим розглянемо Cisco Packet Tracer.

Cisco Packet Tracer


Цей симулятор доступний як під Windows, так і для Linux, безкоштовно для учнів Академії Cisco.
У 6-й версії з'явилися такі речі як:

  • IOS 15
  • Модулі HWIC-2T та HWIC-8A
  • 3 нових пристроїв (Cisco 1941, Cisco 2901, Cisco 2911)
  • Підтримка HSRP
  • IPv6 у налаштуваннях кінцевих пристроїв (десктопи)
Відчуття таке, що новий випуск був присвячений оновленню іспиту CCNA до версії 2.0.

Його плюси – дружність та логічність інтерфейсу. Крім цього в ньому зручно перевіряти роботу різних мережевих сервісів, на кшталт DHCP/DNS/HTTP/SMTP/POP3 та NTP.
І одна з найцікавіших фіч – це можливість перейти в режим simulation та побачити переміщення пакетів із уповільненням часу.
Мені це нагадало ту саму Матрицю.

Мінуси:

  • Майже все, що виходить за рамки CCNA, на ньому зібрати не вдасться. Наприклад, EEM відсутня геть-чисто.
  • Також іноді можуть проявлятися різноманітні глюки, які лікуються лише перезапуском програми. Особливо цим славиться протокол STP.
Що маємо у результаті?
- Непоганий інструмент для тих, хто тільки почав своє знайомство з обладнанням компанії Cisco.

GNS3

Наступний - GNS3, який є графічним інтерфейсом (на Qt) для емулятора dynamips.

Вільний проект, доступний під Linux, Windows та Mac OS X.
Сайт проекту GNS - www.gns3.net/
Але більшість його функцій, покликаних поліпшити продуктивність, працюють тільки під Linux (ghost IOS, який спрацьовує у разі використання безлічі однакових прошивок), 64-бітна версія так само тільки для Linux.
Поточна версія GNS на даний момент – 0.8.5
Це емулятор, який працює зі справжніми прошивками IOS. Для того, щоб ним користуватися, у вас повинні бути прошивки. Скажімо, ви купили маршрутизатор Cisco, з нього можна їх витягти.
До нього можна підключати віртуальні машини VirtualBox або VMware Workstation і створювати складні схеми, за бажання можна піти далі і випустити його в реальну мережу.
Крім того, Dynamips вміє емулювати як старі Cisco PIX, так і відому Cisco ASA, причому навіть версії 8.4.

Але при цьому є безліч недоліків.

  • Кількість платформ строго обмежена: запустити можна лише ті шасі, які передбачені розробниками dynamips.
  • Запустити ios 15 версії можна лише на платформі 7200.
  • Неможливо повноцінно використовувати комутатори Catalyst, це пов'язано з тим, що на них використовується велика кількість специфічних інтегральних схем, які відповідно дуже складно емулювати. Залишається використовувати мережеві модулі (NM) для маршутизаторів.
  • При використанні великої кількості пристроїв гарантовано спостерігатиметься просідання продуктивності.
Що маємо у сухому залишку?
- Інструмент, в якому можна створювати досить складні топології, готуватися до іспитів рівня CCNP з деякими застереженнями.

Boson NetSim

Пару слів про симулятор Boson NetSim, який нещодавно оновився до 9-ї версії.

Випускається лише під Windows, ціна коливається від 179 $ за CCNA і до 349 $ за CCNP.
Є якоюсь збіркою лабораторних робіт, згрупованою за темами іспиту.
Як можна спостерігати за скріншотами, інтерфейс складається з декількох секцій: опис завдання, карта мережі, в лівій частині знаходиться список усіх лабів.
Закінчивши роботу, можна перевірити результат і дізнатися, чи все було зроблено.
Є можливість створення власних топологій з деякими обмеженнями.

Cisco CSR

Тепер розглянемо досить новий Cisco CSR.
Нещодавно з'явився віртуальний Cisco Cloud Service Router 1000V.

Відмінно підійде всім, хто готується здавати трек Data Center.
Має деяку особливість – після включення починається процес завантаження (як і у випадку CSR теж побачимо Linux) та зупиняється. Складається враження, що все зависло, але це не так.
Підключення до цього емулятора здійснюється через іменовані канали.

Іменований канал - це один із методів міжпроцесної взаємодії.
Існують як у Unix подібних системах, так і в Windows.

Для підключення достатньо відкрити наприклад putty, вибрати тип підключення serial і вказати \\.\pipe\vmwaredebug.

Використовуючи GNS3 та QEMU (легкий емулятор ОС, що йде в комплекті з GNS3 під Windows), можна збирати топології, в яких будуть задіяні комутатори Nexus. І знову ж таки можна випустити цей віртуальний комутатор у реальну мережу.

Cisco IOU

Ну і нарешті знаменитий Cisco IOU (Cisco IOS on UNIX) – це пропрієтарний софт, який офіційно не розповсюджується взагалі ніяк.

Існує думка, що Cisco може відстежити та ідентифікувати того, хто використовує IOU.
При запуску відбувається спроба запиту HTTP POST на сервер xml.cisco.com.
Дані, які при цьому відправляються, включають hostname, логін, версію IOU і т.д.

Відомо, що Cisco TAC використовує саме IOU.
Емулятор має велику популярність у тих, хто готується до здачі CCIE.
Спочатку працював лише під Solaris, але згодом був портований і на Linux.
Складається з двох частин – l2iou та l3iou, за назвою можна здогадатися, що перший емулює канальний рівень та комутатори, а другий – мережевий та маршрутизатори.

Конфігурування проводиться шляхом редагування текстових конфігураційних файлів, але якийсь час тому для нього був розроблений і графічний інтерфейс, веб- фронтенд.

Інтерфейс досить інтуїтивний, за його допомогою можна робити практично всі дії.

Запуск ось такої топології призводить лише до 20% завантаження CPU.

До речі, це топологія для підготовки до здавання CCIE.

Для того щоб підключитися до будь-якого пристрою на схемі, досить просто натиснути на ньому і відразу ж відкриється putty.

Можливості IOU справді дуже великі.
Хоча і не без недоліків, деякі проблеми на канальному рівні все ж таки є.
У деяких, наприклад, неможливо жорстко виставити дуплекс, але це все дрібниці - весь основний функціонал працює і працює відмінно.

Автором веб-інтерфейсу є Andrea Dainese.
Його сайт: www.routereflector.com/cisco/cisco-iou-web-interface/
На самому сайті немає ні IOU ні будь-яких прошивок, навіть автор заявляє, що веб-інтерфейс був створений для людей, які мають право на використання IOU.

І невеликі підсумки насамкінець

Як виявилося, зараз існує досить широкий спектр емуляторів та симуляторів обладнання компанії Cisco.
Це дозволяє практично повноцінно готуватися до іспитів різних треків (класичного R/S, Service Provider і навіть Data Center).
Приклавши певні зусилля можна збирати і тестувати найрізноманітніші топології, проводити дослідження вразливостей та за необхідності випускати емульоване обладнання реальну мережу.

(Міст Бей Брідж, що сполучає Сан-Франциско з Трежер-Айленд, був перетворений на найбільшу у світі світлову скульптуру. При цьому були використані комутатори Cisco.)

===========================

Доповнення від eucariot.

Хотілося б сказати про симулятор обладнання Huawei.

eNSP

Enterprise Network Simulation Platform симулює маршрутизатори рівня Enterprize, комутатори та кінцеве обладнання. По суті, ближчий до Cisco Packet Tracer, має зрозумілий графічний інтерфейс, є саме симулятором.

Поширюється абсолютно безкоштовно – достатньо зареєструватися на сайті.

Реалізує безліч функцій справжнього устаткування, власне, лише досить специфічні речі не можна продати. Доступні MSTP, RRPP, SEP, BFD, VRRP, різні IGP, GRE, BGP, MPLS, L3VPN.
Можна запускати мультикаст, тобто ви вибираєте відеофайл на сервері і через налаштовану мережу на клієнті можна дивитися відео (це ми обов'язково використовуємо у випуску СДСМ про мультикас).

Можна відловлювати пакети вайршарком.

Не дуже багато з ним працював, але глюків не виявлено, завантаження процесора цілком допустиме.

А також, подейкують, Що існує спеціальний суперпотужний емулятор Huawei, що повністю реалізує всі можливості high-end маршрутизаторів, яким користується Huawei TAC, але всім відомо, що це лише чутки.

Доброго часу.
Коли мова заходить про те, як емулювати 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
-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 (детальніше 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 потрібна на host «ubuntu».
Обкладинка: license for this key and host from the following location:

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

Відображення в вашому файлі як 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/

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