- Cisco IOL (IOS on Linux)
- Имитированые Cisco, идентичные натуральным
- 1. Симуляторы
- 1.1. Cisco Packet Tracer (CPT)
- 1.2. Boson NetSim
- 2. Эмуляторы
- 2.1. Dynamips + Dynagen
- 2.2. IOU/IOL + WebIOL
- 2.3. Виртуальные машины для QEMU/VMWare/…
- 3. Виртуальные лаборатории
- 3.1. Cisco VIRL
- 3.2. GNS3
- 3.3. iou-web → UNetLab → EVE-NG
- 4. Бонус: удалённая лаборатория производителя
- Заключение
Cisco IOL (IOS on Linux)
Recommended IOL image versions:
Note: The older IOL versions might not work. Avoid using IOL L3 15.5.2T (it has serious freeze console bug after some time of running)
Type | EVE Image Name | Version | NVRAM | RAM |
---|---|---|---|---|
L2/L3 Switch | i86bi_linux_l2-adventerprisek9-ms.SSA.high_iron_20190423.bin | Cisco IOS Software, Linux Software (I86BI_LINUXL2-ADVENTERPRISEK9-M), Version 15.2(CML_NIGHTLY_20190423 ) | 1024 | 1024 |
L2/L3 Switch | i86bi_LinuxL2-AdvEnterpriseK9-M_152_May_2018.bin | Cisco IOS Software, Linux Software (I86BI_LINUXL2-ADVENTERPRISEK9-M), Version 15.2(CML_NIG HTLY_20180510)FLO_DSGS7 | 1024 | 1024 |
L3 router | i86bi_LinuxL3-AdvEnterpriseK9-M2_157_3_May_2018.bin | Cisco IOS Software, Linux Software (I86BI_LINUX-ADVENTERPRISEK9-M), Version 15.7(3)M2, Compiled Wed 28-Mar-18 11:18 by prod_rel_team | 1024 | 1024 |
L3 Router | i86bi_linux-adventerprisek9-ms.156-3.M3a.bin | Cisco IOS Software, Linux Software (I86BI_LINUX-ADVENTERPRISEK9-M), Version 15.6(3)M3a, Compiled Tue 19-Sep-17 10:03 by prod_rel_team | 1024 | 1024 |
L3 Router | L3-ADVENTERPRISEK9-M-15.4-2T.bin | Cisco IOS Software, Linux Software (I86BI_LINUX-ADVENTERPRISEK9-M), Version 15.4(2)T4, Compiled Thu 08-Oct-15 21:21 by prod_rel_team | 1024 | 1024 |
Instructions |
---|
Other versions should also be supported following bellow’s procedure. IOL or IOS On Linux, also called IOU or IOS On Unix. IOL, is a simulator available for Cisco internal use only. IOL refers to the Linux version, compiled for i386 architecture. IOU refers to the Unix (Solaris) version compiled for Sparc architecture. The term IOU usually refers to IOL too. Because IOL is an internal IOS version, IOL can be used by Cisco employees or by authorized customers only. Upload the downloaded image to the EVE using for example FileZilla or WinSCP to: /opt/unetlab/addons/iol/bin/ . Type following command to fix permissions: IOL images must end with the “.bin” extension and must be executable. License must be stored under the same path. IOU/IOL license is bound to the hostname and domain name of the server. A test should be made to check if IOU/IOL images can run properly. Google for how to create iourc license file. Bellow is an EXAMPLE how it should look like: Источник Имитированые Cisco, идентичные натуральнымНедавно я столкнулся с проблемой выбора среды для изучения некоторых фич маршрутизаторов Cisco. Раньше я пользовался GNS3, а сейчас решил посмотреть, что изменилось в мире. Как выяснилось, прогресс шагнул далеко вперёд. Погружаясь в пучину статей и форумов, я обнаружил что огромное количество информации из них уже устарело. Чтобы не запутаться в многообразии ПО, я сделал себе небольшую шпаргалку (актуальность — март 2020 г.). Теперь я хочу выложить её на суд общественности. Во-первых, чтобы не пропадала (мне кажется, кому-то это может пригодиться, так как в одном месте я упоминания всех средств разом так и не нашёл). Во-вторых, возможно, в комментариях мне укажут на ошибки в описаниях и это позволит улучшить обзор. Итак, если у вас нет под рукой «железного» коммутатора/маршрутизатор(а/ов) для подготовки к экзаменам/отработки фич перед внедрением/повышения квалификации, то скорее всего вас выручат: 1. СимуляторыЭтот класс программного обеспечения имитирует работу оригинального ПО, но им не является. ПО симулятора содержит существенные упрощения и предназначено только для воспроизведения внешнего поведения исследуемого объекта. Симуляторы обладают собственным набором багов, производительностью и реализуют не весь функционал. Поэтому, в основном их применяют на низких ступенях обучения. Искушённым специалистам они не подойдут. Но начинающим – самое то. 1.1. Cisco Packet Tracer (CPT)Самый известный симулятор для Cisco. В Интернет (и на Хабре в частности) есть очень много материалов, посвящённых работе с ним. Этот инструмент хорошо знаком тем, кто изучает Cisco на официальных курсах производителя. Позволяет составлять достаточно сложные сети из коммутаторов Catalyst 2960, ISR (Integrated Service Router), симуляторов ПК и нескольких других, менее значительных элементов. Текущая версия 7.3. Надо отметить, что CPT развивается существенно медленнее технологий своего производителя. Так, например, там вы не найдете никакой современной линейки типа Catalyst 9200, но при этом там присутствуют такие динозавры как Catalyst 2950, который добросовестно имитирует подключение без Auto-MDI, 3560 и даже неуправляемый концентратор (не путайте с коммутатором). Все сетевые инструменты (анализатор, терминальный клиент и т.д.) уже включены в интерфейс CPT в собственной реализации (что и не мудрено, так как на самом деле внутри симулятора сетевых пакетов в привычном виде просто нет). Поэтому воспользоваться любимыми Wireshark и PuTTY никак не удастся. Зато в нём есть отладчик, который позволяет пошагово визуализировать прохождение пакета в сети – такой фичей другие инструменты похвастаться не могут. Кстати, в Cisco ASA есть команда packet-tracer, которая позволяет проверить настройки межсетевого экрана. Так вот, она никакого отношения к Packet Tracer не имеет. 1.2. Boson NetSimЕщё один, симулятор, ориентированный на подготовку к экзаменам треков CCNA и CCNP официальной сертификации Cisco. Доступен по адресу https://www.boson.com/netsim-cisco-network-simulator. Симулятор платный: цена колеблется от 179$ до 349$ за разные версии экзаменов. Доступен только под Windows. Представляет собой некий сборник лабораторных работ, сгруппированный по темам экзамена. Как можно наблюдать по скриншотам, интерфейс состоит из нескольких секций: описание задачи, карта сети, в левой части находится список всех лаб. Закончив работу, можно проверить результат и узнать все ли было сделано. Есть возможность создания собственных топологий, с некоторыми ограничениями. [1] 2. ЭмуляторыЭмуляторы – это программы, предназначенные для запуска оригинального или слегка изменённого программного обеспечения на x86 или x64 платформе (в данном случае). Работа эмуляторов гораздо ближе к работе реального оборудования, нежели работа симуляторов. Хотя и тут могут быть небольшие отличия. Рассмотрим наиболее распространённые эмуляторы сетевых устройств Cisco. 2.1. Dynamips + DynagenЭмулятор маршрутизаторов Cisco, который может работать в Windows, Linix и Mac OS X. Распространяется по лицензии GNU GPLv2 (чего нельзя сказать об образах, которые он использует). Позволяет запускать виртуальную машину с оригинальным образом ОС от старых маршрутизаторов семейств 1700, 3725, 7200 и некоторых других. Позволяет имитировать интерфейсы Ethernet и вымирающие ATM и Serial. При этом Dynamips не может работать с прошивками коммутаторов, так как их ОС ориентированы на использование ASIC, которые во множестве встречаются в коммутаторах и очень сложно имитируются на x86 системах. Впервые Dynamips был опубликован в 2005 году. Его разрабатывал Christophe Fillot. Однако, уже в 2007 году, на версии 0.2.8 он бросил этот проект. Википедия пишет, что существует версия 0.2.15 от 2015 г., но страница с пруфом недоступна. Для Dynamips существовал консольный фронтенд Dynagen. Операционная система Cisco IOS очень консервативна, поэтому некоторые фичи вы сможете без проблем изучать даже на таком старом ПО. Однако, есть проблема с образами ОС: официально приобрести IOS для 7200 и других уже давно нельзя, ибо пребывают они в состоянии не только End of Sale (29.09.2012), но и Last Date of Support (30.09.2017) [2]. Поэтому легально использовать Dynamips нельзя. Хотя вряд ли можно считать ущерб для компании Cisco от такого использования хоть сколько-нибудь значимым для инициации преследования, но всё может быть. 2.2. IOU/IOL + WebIOLСледующий эмулятор это Cisco IOS on UNIX – IOU и его вариация Cisco IOS on Linux – IOL. Представляет собой двоичный исполняемый файл, содержащий операционную систему L3 коммутатора Catalyst (L2IOU, да L2 – это не опечатка) или многофункционального маршрутизатора — ISR (L3IOU), скомпилированную производителем для запуска в UNIX/Linux. IOU характеризуется очень низким потреблением ресурсов (относительно других эмуляторов). И в отличии от Dynamips он может запускать ПО для коммутаторов. Для IOL существует официальный графический фронтенд WebIOL (не путать с неофициальным iou-web [3]), который позволяет формировать из устройств сложные сетевые топологии. Проблема в том, что IOU разработан Cisco Systems для внутреннего использования, поэтому он доступен только сотрудникам и партнёрам. Несмотря на это, в Интернет есть инструкции по его скачиванию и установке. Однако следует помнить, что это нелегально. К сожалению, мне не удалось найти информацию о том, развивается ли сейчас IOL или его вытеснили образы для QEMU и VMWare, о которых речь пойдёт далее. Если кто-то знает о судьбе IOU, прошу поделиться пруфами для улучшения этого абзаца. 2.3. Виртуальные машины для QEMU/VMWare/…В соответствии с общим трендом на виртуализацию (и виртуализацию сетевых функций в частности – NFV, Network Functions Virtualization) сама Cisco Systems всё больше и больше продуктов выпускает в виде т.н. Virtual Appliance или, проще говоря, обычных виртуальных машин, предназначенных для запуска в распространённых гипервизорах: QEMU, VMWare, Hyper-V и др. Так, например, в виде виртуальных машин доступны следующие продукты.
Эти программные продукты можно приобрести у производителя (хоть некоторые из них и очень недёшево). Раньше образы были доступны для ознакомления на сайте https://cisco.com. Теперь для их загрузки требуется действующий сервисный контракт на продукт, либо секретная ссылка от менеджера Cisco или их партнёра. Тем не менее большинство образов есть на торрентах и в течении 60-90 дней они обеспечивают полную функциональность. Но использование таких образов не совсем легально.
Эти образы не распространяются отдельно, но их можно извлечь из лабораторной среды VIRL, речь о которой пойдёт далее. К сожалению, лицензионное соглашение по VIRL не описывает отдельного использования IOSv, поэтому здесь могут возникнуть юридические казусы даже при приобретённом VIRL. Ещё не следует путать (а их даже google и Яндекс иногда путают в выдаче) уже рассмотренный L2IOU и IOSvL2. Это разные программные продукты. [5] 3. Виртуальные лабораторииОдна виртуальная машина – это хорошо, но компьютерная сеть – это всё-таки совокупность независимых узлов. Поэтому, зачастую, возникает потребность запустить несколько эмулированных устройств и заставить их взаимодействовать как единое целое. Сделать это вручную возможно, но такой подход затруднителен. Поэтому существуют программные продукты, которые позволяют автоматизировать создание виртуальных сетевых окружений и снабдить его графическим интерфейсом. Отдельного устоявшегося термина для них нет, поэтому здесь будем называть их виртуальными лабораториями. 3.1. Cisco VIRLВ первую очередь необходимо упомянуть официальную виртуальную лабораторию от Cisco. Это Cisco VIRL (Virtual Internet Routing Lab). Актуальная версия 1.6. Официальный сайт — http://virl.cisco.com (забавно, что в 2020 году сайт, созданный одним из крупнейших производителей решений в области сетевой безопасности, не имеет TLS версии). Продукт распространяется в виде виртуальной машины или пакета для установки на «голое железо». Стоимость составляет негуманные 199$ за 365 дней и не более чем 20 виртуальных сетевых узлов (срочная подписка на локальное ПО – всё очень модно и современно). На Packet.net есть облачная версия VIRL. VIRL уже включает в себя учебные версии образов IOSv, IOSvL2, IOS XRv, NX-OSv, CSR1000v, ASAv. Так же в него могут быть добавлены сторонние виртуальные машины других сетевых производителей. Для работы с VIRL используется собственный GUI клиент VM Maestro. 3.2. GNS3Следующая виртуальная лаборатория это GNS (Graphical Network Simulator). Первая версия GNS появилась в 2007 году и представляла собой графический интерфейс для Dynamips, написанный на Qt. В 2014 году проект был сильно переработан (по утверждениям разработчиков он сохранил в себе только 5% кода) и появился GNS3. Причём «3» это не совсем версия, а скорее название. Актуальная версия GNS3: 2.2. Теперь GNS3 позволяет запускать не только образы Dynamips, но и QEMU, а также взаимодействовать с IOU и другими виртуальными машинами. Приложение является «толстым», т.е. запускается непосредственно на машине, на которой находится. Для эмуляции устройств оно может использовать виртуальные машины, расположенные на этом же хосте или удалённо. Поддерживается работа в Linux, Windows и Mac OS X. Большим плюсом GNS3 является возможность использования тех же инструментов, что и для работы с реальным «железом»: PuTTY, SecureCRT, Wireshark и др. GNS3 распространяется бесплатно по лицензии GNU GPL. Для того, чтобы его скачать необходимо зарегистрироваться на официальном сайте проекта: https://gns3.com, а затем отправить запрос(!) на получение дистрибутива, который рассматривается до 2(!) «business days». Редкий образчик сетевой бюрократии (интересно, что там проверяют в течении этого времени?). В комментариях @exhalance подсказал, что можно воспользоваться страницей проекта на github.com/GNS3/gns3-gui/releases — «без регистрации и смс». Несмотря на то, что сам продукт бесплатный, на его сайте есть магазин, где приторговывают софтом (образами), учебными материалами и просто сувенирами. Дополнено: Оказывается, у GNS3 есть WebUI, но он пока ещё бета: https://github.com/GNS3/gns3-web-ui 3.3. iou-web → UNetLab → EVE-NGНу и наконец, на сладкое, у меня в обзоре осталась виртуальная лаборатория EVE-NG (The Emulated Virtual Environment – Next Generation). Её история началась с того, что в 2012 г. Andrea Dainese опубликовал неофициальный веб-интерфейс для IOL: iou-web. Затем он научил свою лабораторию работать с другими эмуляторами и таким образом в 2014 г. появилась UNetLab. А в 2017 Alain Degreffe создал форк проекта UNetLab, который назвал EVE-NG. У автора исходного UNetLab тоже были большие планы на развитие проекта и выпуск второй версии [3], однако постепенно он забросил эту идею: «Don’t ask for UNetLab2 and go with GNS3, VIRL or EVE-NG» — написал он по итогу. Таким образом, EVE-NG является единственной актуальной веткой продукта. Текущая версия: 2.0 EVE-NG поддерживает многопользовательскую работу с лабораторией. В том числе в разных ролях. Например, студент, собирающий лабу, и присматривающий за ним преподаватель. 4. Бонус: удалённая лаборатория производителяПомимо симуляторов и эмуляторов можно ещё воспользоваться удалённым доступом к железу. Cisco официально представляет очень интересные сервисы: https://Developer.cisco.com/ и https://dCloud.cisco.com. В этих сервисах есть набор песочниц (Sandbox), как виртуальных, так и аппаратных(!), позволяющих пощупать новое оборудование. Доступ к сервисам предоставляется по учётной записи Cisco. Вполне подойдёт учётная запись NetAcad.com (если вы уже регистрировались для доступа к CPT или курсам). Однако, количество доступных лаб будет зависеть от вашего статуса. Учётная запись партнёра или заказчика даёт больше возможностей, чем простого ученика. Developer ориентирован на программистов, решающих задачи сетевой автоматизации, поэтому представленные топологии достаточно просты. Их задача – дать возможность «пощупать» API железа. Но несмотря на простоту топологий, в некоторых случаях такой инструмент может дать то, чего не даст виртуальная лаборатория. Например, мне вчера удалось познакомиться с командной строкой железного Cisco 9000 и веб-интерфейсом Cisco WLC 9800. А dCloud знакомит с новыми продуктами. Подключение к лаборатории в большинстве случаев осуществляется через фирменный VPN-клиент от Cisco — AnyConnect. Т.е. ваша машина оказывается в сети песочницы. А это значит, что удалённую лабораторию вы можете объединить… с локальным GNS3[8] или EVE-NG! ЗаключениеВ заключении хочу обобщить сказанное небольшой схемой (а то маленькая шпаргалка разрослась в большую портянку и это при том, что я очень поверхностно описал только самые главные особенности инструментов): Изменения: добавил информацию о dCloud Источник |