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 -> GNS3 Server -> Remote Servers, добавляем адрес и порт веб сервера на виртуалке, в нашем случае это 192.168.56.101, 8000 TCP, нажимаем Add -> Apply.

    Открываем 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, так как последний подсоединяется ко всем устройствам в разных окнах, а не вкладках.

    Теперь осталось лишь проверить, всё ли работает.



    У меня всё заработало, надеюсь, что и у вас тоже. Скрин, конечно, не мой.

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


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

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 19

      +2
      Дмитрий, спасибо огромное!
        0
        Спасибо за подробную инструкцию.
        Есть один небольшой вопрос — чем оправдано использование GNS3, когда в IOU все отлично запускается и работает и не надо отдельно шаманить со свитчингом? (для подготовки к CCNP пока хватает). Опыт работы с GNS3 минимален, так что сравнивать не могу — просто интересуюсь.

        Какие есть уникальные фичи?
          0
          IOU для подготовки к свичу недостаточно, потому что не работает очень много функций, например, pvlan, DAI, dhsp-snooping, HSRP, q-in-q и т.п. Он покрывает от силы 70% потребностей при подготовке к данному экзамену… Единственное, в чём он хорош — построение больших тестовых топологий типа VPN mpls и MST.
            0
            Ну да, я пока только роут изучаю, возможности оценить готовность к свичу не было.
            Тогда получается, что и GNS3 не покрывает потребностей подготовки, т.к. свичинг там все равно из IOU, так?
              0
              Да, получается так. Мне для подготовки к switch потребовался реальный 3560 и пара 2960.
                0
                В таком случае вопрос остается открытым, чем GNS3 реально лучше IOU?
                  0
                  Нормальный GUI к IOU/Dynamips. То есть можно смешивать топологии с разными устройствами, при желании, можно прикрутить даже HP/Juniper.
                    0
                    В GNS3 есть возможность выбора хардварных платформ, плюс возможно эмуляция любого «боевого» образа IOS. А вот производительность хуже, да.
                      0
                      выбор платформ из 3600, 2600, и 7200. Боевые образы из 12.х, которые сильно уже неактуальны. На 7200 до 15.1 если не ошибаюсь, которые тоже уже не актуальны.
                        0
                        Нe обещанный VIRL, кто спорит. Для препродакшен лаборатории не пойдет. Для обучения же приближенность к реальному железу ближе IOU. Мне кажется это несомненный плюс.

                        А у кого иные цели и нужны свежие фишки — так ведь CSR1000V, NEXUS 1000V, XRv, ASA1000v. В принципе, тоже самое, что в VIRL (CML) и будет, но уже сейчас.
              0
              Я с вами не согласен. Да, некоторые фичи не работают, но многие команды принимаются. Например, те же PVLAN: 3550 их не поддерживают, а 3560 дорогие. Так что лучше так, чем никак.
              Сам я готовлюсь к CCNP SWITCH сейчас, и меня всё устраивает.
            0
            Привет.
            Обсудили эту новость в подкасте. В шоуноутах дам ссылку на эту статью тоже.
            Я думал, после той новости, ты уже забыл про обещание написать статью.
            Спасибо.
              0
              Всегда пожалуйста!
              Нет, не забыл ничего. Ленивый я, к сожалению.
              0
              Для MacOS проблему в vboxwrapper никто не решил?
                0
                Строю простейшую схему (проверки ради), свич IOU и к нему подключаю 2 VPCs, указываю для каждого VPC айпишник из одной подстети, запускаю пинг между двумя VPC — фиг :(
                Подскажите, работает у кого это, или я что-то не так делаю?
                  0
                  Гм… что-то оно не работает и со штатным эмулятором свича в GNS, где-то я чего-то не допонимаю видимо…
                  0
                  Спасибо за статью, мне понравилась!
                  Но меня мучают вопросы:
                  1. Зачем объединять GNS и виртуалку c Cisco IOU? Или это такой «костыль» для возможности использовать Switching?
                  2. Подключение виртуалки в настройках «GNS3 server, remote server», это для того, чтобы использовать образы, которые в неё загрузили? Почему бы их не загрузить в самой GNS3?

                  Я пользовался ранней версией и подключал образы в самой GNS3, поэтому мне не понятны манипуляции с виртуалкой. Например в этой статье http://habrahabr.ru/post/196228/ написано про вирталку на vmware, в которой так же можно подключить образы L2, L3 и загрузить лабу IOU.

                  Only users with full accounts can post comments. Log in, please.