Pull to refresh

Эмулятор UNetLab — революционный прыжок

Reading time 9 min
Views 202K
Данная статья посвящена новому Эмулятору UNL, с помощью которого вы можете создавать свои собственные виртуальные стенды для подготовки как к экзаменам CCNP/CCIE, так для решения своих инженерных задач.



Что такое UNetLab


UNenLab (Unified Networking Lab, UNL) – это мульти-вендорная и многопользовательская платформа для создания и моделирования самых различных лабораторий и дизайнов, которая позволяет смоделировать виртуальную сеть из маршрутизаторов, коммутаторов, устройств безопасности и др.

Это продолжение того же девелопера, который в своё время создал веб фронтенд для IOU. Теперь разработка iou-web завершена, разрабатывается только UNetLab и является незаменимым инструментом для подготовки к CCIE, сетевого инженеринга, в том числе и Troubleshooting. Это, по сути, убийца GNS, IOU и даже VIRL.

UnetLab – полностью бесплатен. Вы можете запускать столько экземпляров оборудования (роутеров, коммутаторов, устройств безопасности и т.д) сколько вы хотите и какого хотите. Например, в том же Cisco VIRL Personal Edition вы ограничены 15-ю узлами и набор устройств довольно скромный. Например полноценную ASA получить не представляется возможным, равно как и маршрутизатор с Serial-интерфейсом.

Поддержка оборудования в UNetLab очень широкая. Вы можете запускать Cisco IOL-образы, образы из VIRL (vIOS-L2 и vIOS-L3), образы ASA Firewall (как портируемые 8.4(2), 9.1(5), так и официальные ASAv), образ Cisco IPS, образы XRv и CSR1000v, образы dynamips из GNS, образы Cisco vWLC и vWSA, а также образы других вендоров, таких как Juniper, HP, Checkpoint и т.д.

Кроме того, начиная с версии UNetLab 0.9.54 появилась многопользовательский функционал. На одной и той же VM, каждый авторизованный пользователь может создавать свои стенды независимо друг от друга, а также совместно работать с общим стендом, который разделяют несколько пользователей одновременно. При этом пользователи запускают общий стенд независимо друг от друга.

На текущий момент поддерживаются следующий список оборудования:
  • Aruba ClearPass
  • Alcatel 7750 SR
  • Arista vEOS
  • Brocade Virtual ADX
  • Citrix Netscaler VPX virtual
  • Checkpoint Firewall
  • Cisco ASA (porting)
  • Cisco ASAv
  • Cisco CSR 1000V
  • Cisco IPS (porting)
  • Cisco IOS 1710/3725/7206 (dynamips, ethernet only)
  • Cisco IOL (for Cisco internal use only)
  • Cisco NX-OSv – titanium (for VIRL customers only)
  • Cisco vIOS (for VIRL customers only)
  • Cisco vIOS L2 (for VIRL customers only)
  • Cisco XRv
  • Cisco WSA virtual appliance
  • Cisco Wireless controller – vwlc
  • Extreme Networks virtual
  • F5 BIG-IP LTM VE
  • Fortinet FortiGate (new)
  • HP VSR1000
  • Juniper Olive (porting)
  • Juniper Networks vMX router
  • Juniper vSRX
  • Palo Alto VM-100 Firewall
  • VyOS
  • MS Windows hosts

С более подробным списком можно ознакомится на сайте разработчиков.

Самые существенные плюсы UnetLAB по сравнению с Cisco VIRL
  • Полностью бесплатен
  • Практически полноценная поддержка L2 (за счет EOS-коммутатора, который полностью cisco-like)
  • Широкая поддержка Cisco оборудования
  • Число запускаемых узлов ничем неограничен, кроме ваших ресурсов (CPU, RAM)
  • Мультивендорность
  • Многопользовательский функционал
  • Низкие требования к ресурсам ПК

Данная платформа подойдет как новичкам для подготовки к CCNA/CCNP, так и для профессионалов для подготовки CCIE Routing and Switching, CCIE Security, CCIE Service Provides, CCIE Data Centers и т.д, а также для других разнообразных инженерных задач.

В отличие от предыдущего проекта IOU-WEB, в UNetLAB реализован полностью графический интерфейс дизайна топологии, примерно так, как это делается в GNS. Теперь нет необходимости писать netmap файлы для каждой топологии. Недостатком является полное отсутствие совместимости с предыдущим проектом. Файлы топологий собранные в iou-web необходимо переписывать для UNL. Но в последней версии разработчики предоставляют скрипт который поможет автоматизировать процесс.

Также в UNL включена поддержка так называемой Custom Topology, т.е кликабельных красивых картинок-диаграмм, которые вы можете нарисовать в MS Visio и импортировать в вашу лабу, так как это было в iou-web.



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

Установка UNetLab


UnetLAB поставляется в виде отдельной виртуальной машины основанной на Linux Ubuntu 14 x64. В комплект НЕ входят образы какого-либо оборудования. Например, использование образов IOU не законно, если ты не сотрудник Cisco. Даже для обучения. По этой причине сами образы L2IOU и L3IOU не предоставляются, равно как и другие образы (например образы из VIRL). При желании вы можете найти их в Интернете, а также на официальных сайтах производителей, например Cisco ASAv, Cisco XRv, Cisco CSR1000v, Juniper vSRX и т.п.

На сайте разработчика UnetLAB имеются всеобъемлющие инструкции по инсталляции тех или иных образов в среду UNL. Далее мы рассмотрим установку VM UNetLAB на VmWare Workstation или VmPlayer, а также установку под ESXi.

Ставим виртуальную машину


Для начала нам понадобится vmware player для установки нашей виртуальной машины. Скачать можно с сайта VmWare, так же подойдет Vmware Workstation или ESXi vsphere. После установки vmware player необходимо скачать виртуальную машину UNetLAB примерно 700Mb с сайта разработчика и открыть при помощи VmWare Player или VM Workstation файл .ova



В течении нескольких секунд VM будет создана.



Далее необходимо выбрать меню “Edit virtual machine settings” вашей VM и настроить соответствующее ресурсы CPU и памяти. По умолчанию для VM стоит 1G, 1 CPU и 1 NIC (сетевой интерфейс). Для простейших задач этого хватит, но для серьезного CCIE стенда, данные параметры необходимо увеличить. Я использовал 6 CPU и 12Gb на моем 16G ноутбуке. А под ESXi выделил 8 vCPU и 24Gb. Все зависит от того, что вы хотите запускать. Если например вы готовитесь для сдачи CCIE SP или CCIE Security, то памяти надо выделить побольше. Для CCIE RS хватит 4Gb и 1CPU.



В заключении обязательно включите опцию “Virtualize Intel VT-x/EPT or AMD-V/RVI” в настройках CPU. UNetLAB умеет определять в какой среде она запущена, а также доступны ли ей команды виртуализации CPU. Если у вас Поддержка CPU виртуализации выключена в BIOS, или процессор не поддерживает виртуализацию, UnetLAB детектирует это и выдаст соответствующие предупреждение при загрузке. Вы все еще сможете запускать 32бит образы, такие как IOL или vIOS, но не сможете запускать 64бит образы, такие как ASAv, vSRX и т.п. Поэтому обязательно стоит включить поддержку виртуализации для VM UNetLAB. Если UNetLAB развертывается в среде ESXi, то аналогичная опция должна быть включена в настройках CPU виртуальной машины UNetLAB.

Запуск виртуальной машины UNetLAB


После старта VM вы должны зайти на ее Linux-консоль используя [b]root/unl[/b] в качестве логина и пароля. Сразу после этого запускается скрипт инициализации, который предлагает вам настроить такие параметры, как IP-адрес сетевого интерфейса, имя хоста, время и т.п. Просто следуйте инструкциям на экране.



После первоначальной настройки виртуальная машина перегрузится. После установки Виртуальной машины, зайдите на нее под пользователем root и выполните обновление с текущей версии до последней. На сегодняшний день это UNetLab 0.9.54, командами

apt-get update
apt-get -o Dpkg::Options::="--force-overwrite" install unetlab

После обновления VM желательно еще раз перезагрузить, так как будет обновлен linux-kernel.

Далее с помощью браузера можно зайти на веб-интерфейс UNetLAB. Вводим в строке браузера адрес виртуальной машины, который мы задали во время начальной установки, например, 10.0.200.91, и мы увидим интерфейс UNetLAB.



Начиная с версии 0.9.54 введена многопользовательская поддержка, в связи с чем был немного изменен web-интерфейс. Теперь необходимо пройти авторизацию. Используйте login: admin и password: unl.

Добавляем образы устройств


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

Вторая особенность — это то, что образы IOU должны иметь расширение .bin, поэтому убедитесь, что вы добавляете его к имени файла.

Нам необходимо для работы как минимум два образа — L2 и L3. Cisco идет в ногу со временем и эти два уровня не разделяются явно на канальный и сетевой. В данный момент L3 более или менее соответствует маршрутизатору уровня ISR, а L2 – коммутатору уровня 3560. Самая свежая версия на сегодня это IOS 15.5T для маршрутизаторов и IOS 15.1 для коммутаторов.

Образы добавляются в UNetLAB из CLI. Т.е вы должны загрузить IOU образ по SCP в папку /opt/unetlab/addons/iol/bin и настроить права доступа к ним с помощью команды.

/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

Вот как это может выглядеть в конечном результате:



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

# cat /opt/unetlab/addons/iol/bin/iourc
[license]
unl01 = 0123456789abcdef;

Для того, чтобы протестировать, что образы IOU будут у нас запускаться, выполните следующие команды.

# cd /opt/unetlab/addons/iol/bin
# touch NETMAP
# LD_LIBRARY_PATH=/opt/unetlab/addons/iol/lib /opt/unetlab/addons/iol/bin/L3-ADVENTERPRISEK9-M-15.4-2T.bin 100

Здесь L3-ADVENTERPRISEK9-M-15.4-2T.bin – это IOU образ L3-маршрутизатора который мы загрузили, а 100 – это просто ID запущенного устройства. Может быть любым числом.

Если у вас появилось на экране, что-то типа:



То, значит, образы IOU запускаются корректно и могут быть использованы в вашем стенде.

Создаем свою топологию в UNetLAB


Из меню Lab->Actions выбираем “Add a new lab” и назовем ее скажем IOL test и нажимаем кнопку ADD:



Далее мы попадаем в режим редактирования нашей топологии. Здесь вы должны добавить в вашу топологию те устройства, с которыми вы будете работать. Так как мы импортировали только образы IOU мы будем добавлять только L2 и L3 IOU устройства. Из меню Actions выбираем пункт Nodes.



Перед вами откроется низ спадающий список со всем поддерживаемым оборудованием. Но так как мы импортировали только IOU образы, нам необходимо выбрать из списка Cisco IOL.



В появившимся окне свойств мы можем выбрать образ IOU, который мы хотим запускать, в данном случае это L3 маршрутизаторы, а также количество таких устройств (в данном случае 2), объемы памяти для каждого устройства (по умолчанию 256Mb), имя устройства, его графическое представление в топологии количество портов Ethernet и Serial.



Указав все параметры, жмем ADD и на экране появятся два роутра.



Давайте сделаем небольшое отступление и добавим ASA Firewall (porting) и IOU коммутатор. IOU-коммутатор добавляется в топологию так же, как и IOU маршрутизатор — выбором пункта меню Cisco IOL. А вот для ASA выбирается пункт Cisco ASA.



Обратите внимание на объем RAM. По умолчанию там стоит 256Mb. С таким объемом ASA не запустится, минимально можно выставить 512-768Mb. Добавив еще два устройства мы получим все четыре устройства нашей топологии на экране.



Теперь данные устройства необходимо связать друг с другом. Для этого в UNL есть понятие Networks (сеть) и соответствующий пункт меню.



Устройства в UNL не связываются как GNS через прямой провод (Direct Link), а связываются через сеть (Network). Общее правило такое, что два устройства связываются друг с другом через один и тот же Network (сеть), так как если бы вы соединяли их одним проводом. Просто объявите для провода свой уникальный Network.

Для нашего простого стенда необходимо три линка. Устройтва ASA, R1 и R2 все подключаются к коммутатору SW1. Поэтому в меню Networks выбираем количество сетей 3 и ждем ADD.



По умолчанию имя для сети начинается с Net и наши сети будут называться Net1, Net2 и Net3. Но имена можно всегда поменять, чтобы точно знать какая сеть куда должна вести. Тип сети ставим по умолчанию Bridge. О типах сетей расскажем в одной из следующих статей. Во вкладке Objects можно увидеть созданные сети, равно как и объекты устройств и их параметры. Сети которые не подключены к интерфейсам устройств в топологии (вкладка Topology) не показываются.



Далее нам необходимо соединить устройства друг с другом. Т.к сети определены, мы можем это сделать через контекстное меню Interfaces конкретного устройства. Во вкладке Topology нашей топологии выберем нужное устройство, например, роутер R1 и кликаем на него правой кнопкой мыши.



В появившимся контекстном меню выбираем Interfaces. Откроется окно, в котором показывается все интерфейсы устройства и каким сетям они подключены:



Если интерфейс не подключен ни какой сети, он показан как Disconnected. В нашем случае R1 имеет 4 Ethernet интерфейса e0/0 – e0/3 и 4 Serial интерфейса s1/0 – s1/3. Нам нужно подсоединить e0/0 к коммутатору e0/0. Поэтому выбираем для интерфейса e0/0 сеть Net1 и нажимаем Save.



В топологии появилась сеть Net1 подключенная к интерфейсу e0/0 роутера R1. Повторим туже процедуру, но для коммутатора SW1 и подключим его интерфейс e0/0 к сети Net1.



Теперь R1 и SW1 соединены Ethernet линком и могут взаимодействовать друг с другом. Аналогичным образом соединим R2 e0/0 с SW1 e0/1 через Net2, a ASA e0 c SW1 e0/2 через Net3. Вот что получилось:



После того, как дизайн закончен, можно попробовать запустить наш стенд. Из меню Actions выбираем «Open this Lab», затем кликаем правой кнопкой на устройство и нажимаем Start:



Когда устройство запустилось успешно, у него меняется индикатор состояния с квадратика (символ Stop) на треугольник (символ Play).



Повторите тоже самое для каждого устройства в топологии. Дадим им минуты три для полной загрузки. Теперь можно получить доступ ко всем устройствам. Однако по умолчанию клик на устройствах будет приводить к запуску стандартного telnet клиента. Это не очень удобно, особенно если учесть, что в последних версиях Windows он уже не предустановлен. Гораздо привычнее использовать PuTTY или SecureCRT.



Зайдем на роутер R1, поднимем интерфейс e0/0 в UP и убедимся, что все работает. Ротуер R1 видим по CDP наш коммутатор SW1.

Теперь назначим на интерфейс e0/0 маршрутизатора R1 IP-адрес 192.168.1.1/24, а на e0/0 ASA интерфейс 192.168.1.12/24 и убедимся, что все работает.



Заключение


С появлением UNetLab работа с образами не представляет особой сложности, все реализовано достаточно логично. Во многих случаях этот эмулятор оставляет далеко позади GNS/Dynamips, VIRL, особенно когда идет речь о разнообразных моделях устройств в стенде, не только коммутаторах и маршрутизаторах. А аж об оборудовании других вендоров речь вообще не идет. Например, если нужно смоделировать взаимодействие оборудование разных вендоров друг с другом, например, IPSEC VPN туннель между Cisco ASA и Juniper SRX или Checkpoint Firewall и т.п



Также UNetLab значительно менее ресурсоемок как и IOU, чем тот же VIRL. На сегодняшний день UNetLab остается лучшим инструментом как для подготовки к CCNP/CCIE, так и для моделирования разнообразных инженерных задач.

Полезные ссылки и используемые материалы


Сайт разработчика UNetLab
Статьи по UNetLab на русском
Лаборатория сетей CiscoLAB.
Tags:
Hubs:
+17
Comments 19
Comments Comments 19

Articles