GNS3 1.0 beta и Cisco IOU

в 21:10, , рубрики: Cisco, GNS3, switching, Сетевое оборудование, Сетевые технологии

GNS3 1.0 beta и Cisco IOU
Всем привет!
Совсем недавно вышла публичная бета популярного симулятора сетевого оборудования GNS3 1.0. Интересен он в первую очередь тем, что стал поддерживать switching (раньше поддерживал лишь routing) с помощью Cisco IOU. Так как я пользуюсь им, начиная с альфа-версии, то решил написать небольшой гайд, как подружить GNS3 и IOU.
Дисклеймер. Cisco IOU могут использовать только сотрудники компании Cisco.
Ниже представлена инструкция и для Windows, и для Linux.

Windows

На официальном сайте GNS3 скачиваем All in One Installer под Windows.
Вместе с GNS3 будет предложено установить SuperPutty, Wireshark, WinPcap и некоторые другие программы.
После установки уже можно пользоваться базовой функциональностью этого симулятора (routing) с помощью Dynamips. Но на этом этапе IOU ещё не заработает.
Нам необходим VirtualBox, виртуалка OVA, созданная командой GNS3, и IOU образы (images).
Выложить ссылки на IOU images я не могу, что не отменяет того факта, что можно найти в Интернете всё что нужно. На сегодняшний день самыми популярными являются эти 2 образа:
l2-adventerprise-ms.nov11-2013-team_track
l3-adventerprisek9-15.4.1T

Скачать виртуалку можно здесь.
Открываем VirtualBox, добавляем эту виртуалку с помощью File -> Import Appliance. Заходим в настройки VM -> Serial Ports -> снимаем галочку Enable serial port, сохраняем настройки и запускаем виртуалку.
Заходим в браузер по адресу http://<адрес вашей виртуалки>:8000/upload, если вы используете настройки по умолчанию для VirtualBox, то адрес будет таким:
192.168.56.101:8000/upload
Добавляем IOU images сюда и копируем путь к каждому образу, например:
/home/gns3/GNS3/images/i86bi-linux-l3-adventerprisek9-15.4.1T.bin
Открываем GNS3 -> Edit -> Preferences -> IOU Devices, в поле IOU path добавляем скопированный путь и нажимаем Save. Проделываем для каждого образа.
Выбираем раздел IOS on UNIX, и в поле Path to IOURC указываем путь к текстовому файлу лицензии IOURC (выложить я его, к сожалению, не могу).
Всё, теперь можно добавлять IOU устройства из панели Routers -> IOU device или Switches -> IOU device.

Linux (на примере Ubuntu x64 14.04)

Для того, чтобы работал GNS3 1.0 под Linux, нам нужно убедиться, что у нас установлены python3, pip, pyQt:

sudo apt-get install python3 python3-pip python3-pyqt4

Также нам необходимо собрать Dynamips из исходников:

sudo apt-get install libelf-dev uuid-dev libpcap0.8-dev cmake git
git clone git://github.com/GNS3/dynamips.git
cd dynamips
mkdir build
cd build
cmake ..
sudo make install

А теперь собрать GNS3 GUI и Server:

cd ~
git clone https://github.com/GNS3/gns3-gui.git
cd gns3-gui
sudo python3 setup.py install
cd ~
git clone https://github.com/GNS3/gns3-server.git
sudo apt-get install python3-zmq python3-tornado python3-netifaces
cd gns3-server
sudo python3 setup.py install

Чтобы избавиться от ошибок при заходе в настройки, можно установить VirtualBox, собрать и установить vboxwrapper:

cd ~
git clone https://github.com/GNS3/vboxwrapper
sudo apt-get install python-pip
cd vboxwrapper
sudo python2 setup.py install
sudo cp vboxwrapper.py tcp_pipe_proxy.py vboxcontroller_4_3.py /usr/local/lib/python2.7/dist-packages/

Осталось лишь установить iouyap, чтобы IOU заработал. Можно скачать уже скомпилированный или собрать из исходников. Я выбрал первый вариант:

tar -zxvf iouyap.tar.gz
sudo cp iouyap /usr/local/bin/iouyap

Прежде, чем мы перейдём к настройке, нам необходимо сделать ещё кое-что. Дело в том, что GNS3 будет запускать некоторые 32-битные бинарники на 64-битной системе. Для этого необходимо выполнить дополнительные действия:

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libstdc++6:i386
sudo apt-get install libssl1.0.0:i386
sudo ln -s /lib/i386-linux-gnu/libcrypto.so.1.0.0 /lib/i386-linux-gnu/libcrypto.so.4

Как и в случае с установкой под Windows, нам необходимо иметь IOU образы (images) и файл лицензии iourc.
Осталось лишь настроить GNS3 и всё готово.
Запускаем gns3 с помощью команды gns3 в терминале.
Заходим в Edit -> Preferences. В разделе GNS3 Server прописываем путь: /usr/local/bin/gns3server
В разделе Dynamips прописываем путь: /usr/local/bin/dynamips
В разделе VirtualBox прописываем путь: /usr/local/bin/vboxwrapper
В разделе IOS on Unix прописываем путь к iouyap: /usr/local/bin/iouyap и путь к файлу лицензии iourc.
В разделе IOU Devices в поле IOU path прописываем путь для каждого образа и нажимаем Save.
Опционально, можно поменять консоль в разделе General -> Console Applications. Для GNS3 я использую KDE Konsole вместо Gnome Terminal, так как последний подсоединяется ко всем устройствам в разных окнах, а не вкладках.
Теперь осталось лишь проверить, всё ли работает.
GNS3 1.0 beta и Cisco IOU
У меня всё заработало, надеюсь, что и у вас тоже. Скрин, конечно, не мой :)

Замечания и наблюдения

  • Под Windows я пользовался лишь второй альфой GNS3, при большом количестве устройств загрузка процессора доходила до 70-80%, и иногда всё сильно подтормаживало. Поэтому с момента появления публичной беты я использую GNS3 в виртуалке ubuntu. Судя по ощущениям — так работать намного комфортнее.
    Примечание

    Извиняюсь, если какие-то команды в терминале должны использоваться без sudo или вообще другие, я не специалист по Linux.
  • Теперь можно готовиться к CCIE без реального оборудования, что не может не радовать. К сожалению, некоторые фичи не работают. Проблема не в GNS3, а в доступных образах. Надеюсь, что скоро в IOU внедрят поддержку этих фич. Например, не работают Private VLAN, L3 PortChannel, DHCP snooping и некоторые другие фичи.
  • В новом GNS3 используется другой формат файла топологии (теперь это JSON), который несовместим с предыдущей версией GNS3, из-за чего все доступные лабы просто так не запустятся (правда при желании можно написать скрипт конвертации из одного в другой).

Автор: Sourg

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js