GNS3 1.0 beta и Cisco IOU

5922ae4ca30a4a80a903c3f5d8e4c60a.pngВсем привет! Совсем недавно вышла публичная бета популярного симулятора сетевого оборудования 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_trackl3-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, так как последний подсоединяется ко всем устройствам в разных окнах, а не вкладках.Теперь осталось лишь проверить, всё ли работает.5bc49ab3733b4494835abc17cc1238ed.pngУ меня всё заработало, надеюсь, что и у вас тоже. Скрин, конечно, не мой :)Замечания и наблюдения Под Windows я пользовался лишь второй альфой GNS3, при большом количестве устройств загрузка процессора доходила до 70–80%, и иногда всё сильно подтормаживало. Поэтому с момента появления публичной беты я использую GNS3 в виртуалке ubuntu. Судя по ощущениям — так работать намного комфортнее.Примечание Извиняюсь, если какие-то команды в терминале должны использоваться без sudo или вообще другие, я не специалист по Linux.

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

© Habrahabr.ru