Материал просмотрен 7,736 раз(а)

Здравствуйте! Сегодня я хочу поведать об одном интересном инструменте сетевого инженера как 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. Так же нам потребуется программа WinSCP для закачки файлов по защищённому протоколу.
  6. Запускаем виртуалку, залогиниваемся root:unl. Видим приглашение http://192.168.241.129/ в консоли.
    Приглашение

    Приглашение

    У вас IP адрес может отличаться.

  7. Открываем в браузере этот IP и увидим веб-интерфейс. Залогиниться можно под учётными данными admin:unl
  8. При помощи WinSCP закачиваем на сервер (создаём подключение по scp с учётными данными root:unl на ip)
    WINSCP

    WINSCP

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

    [license]
    unl01 = 8e9612bfeb93d1a1

    Если вдруг по каким-то причинам образы не смогут запуститься, например изменилось имя хоста или ещё что, можно воспользоваться кейгеном (в архиве из шага 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

    Запускаем образ

    Запускаем образ

    Запустился L2 коммутатор

    Запустился L2 коммутатор

    Останавливаем коммутатор <Ctrl+C> и идём дальше.

  11. Теперь будем работать в веб-интерфейсе. Если у нас получился 10 шаг, то дальше не должно возникнуть сложностей. Залогиниваемся, в верхнем меню выбираем LABS. В разделе Actions выбираем Add a new lab
    Добавляем новую лабораторку

    Добавляем новую лабораторку

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

    Новая лаба

    Новая лаба

    Добавляем активные устройства (Nodes). Здесь огромный выбор и коммутаторов и маршрутизаторов разных вендоров. Мы закачали пока что только IOL.

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

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

    Поэтому добавлять будем IOL. Сразу 3 штуки, сменим иконку и уберём Serial интерфейсы.

    Добавляем 3 свитча

    Добавляем 3 свитча

    Для соединения нам понадобятся линии связи. Здесь это называется Networks. Добавим три сети

    Добавляем 3 сети

    Добавляем 3 сети

    Теперь правой кнопкой мыши кликнем на ноде и выберем пункт Interfaces.

    Связываем

    Связываем

    Здесь выберем соответствующие сети на каждый интерфейс

     

    Соединяем интерфейсы

    Соединяем интерфейсы

    Вот какая топология получилась

    Топология

    Топология

    Откроем лабу для запуска

    Открываем лабу

    Открываем лабу

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

    Запуск топологии

    Запуск топологии

    Попадём в консоль к устройству. Кстати, если под нодой иконка треугольничка, значит нода запущена, если квадрат – значит остановлена.

    Прителнетимся к девайсу

    Прителнетимся к девайсу

    Чтобы было легче прителнечиваться к устройствам, можно воспользоваться правкой ассоциаций протоколов. Файл реестра:
    Windows Registry Editor Version 5.00

    [HKEY_CLASSES_ROOT\telnet]
    @="URL:Telnet Protocol"
    "EditFlags"=dword:00000002
    "FriendlyTypeName"="@ieframe.dll,-907"
    "URL Protocol"=""
    "BrowserFlags"=dword:00000008

    [HKEY_CLASSES_ROOT\telnet\DefaultIcon]
    @="c:\\putty.exe,0"

    [HKEY_CLASSES_ROOT\telnet\shell]
    @=""

    [HKEY_CLASSES_ROOT\telnet\shell\open]

    [HKEY_CLASSES_ROOT\telnet\shell\open\command]
    @="\"c:\\putty.exe\" %1"

    Сохраняем файл как 1.reg и импортируем в реестр.

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

STP

Спасибо за внимание! Дальше мы будем добавлять в эту платформу образы Linux и Windows!