Эмуляция Cisco ASA в GNS3 на Ubuntu 11.10

14 ноября 2011 г.

imageСуществует множество статей на тему GNS3, но ни одна из них не затрагивала вопрос эмуляции Cisco ASA. Собственно тема эта довольно разжевана в Сети и если в качестве хостовой ОС выступает Windows проблем вообще не должно возникнуть, достаточно просто скачать готовый All-in-one инсталятор с оффсайта. Если же в качестве хостовой ОС выступает Linux, тут уже придется произвести кое-какие действия. А именно — самостоятельно скомпилировать qemu с патчами, для поддержки UDP туннелей. Тут перед пользователем встает выбор: либо поступить так, как написано в how-to опубликованном в блоге GNS3 (установка из исходников), либо самостоятельно собрать пакеты и установить их «православным методом» (кстати недавно на Хабре был полезный топик на тему: «Почему не стоит пользоваться make install»).

Итак, приступим… Хостовая ОС — Ubuntu 11.10. В репозитариях имеется GNS3 0.7.4, QEMU 0.14.1, Dynamips 0.2.8 RC2. Для начала ставим GNS3 из репозитария, для того что бы сразу подтянулись все его зависимости:

m0ps@pc:~$ sudo apt-get install gns3

Настраиваем его под свои нужды, проверяем что работает эмуляция IOS. Далее приступаем к сборке qemu. Первым делом нам нужно установить «несколько» пакетов, которые потребуются для самостоятельной сборки deb пакетов:

m0ps@pc:~/GNS3/Install/temp/qemu-kvm-0.14.1+noroms$
sudo apt-get install dpkg-dev bcc debhelper hardening-wrapper iasl libaio-dev libasound2-dev libattr1-dev libcurl4-gnutls-dev libgnutls-dev libncurses5-dev libpci-dev libpulse-dev libsasl2-dev libsdl1.2-dev libx11-dev nasm quilt texi2html texinfo uuid-dev zlib1g-dev

Теперь нам нужны исходники qemu из которых собирались deb пакеты для Ubuntu:

m0ps@pc:~/GNS3/Install/temp$ apt-get source qemu

В результате скачиваются 3 файла: qemu-kvm_0.14.1+noroms-0ubuntu6.dsc, qemu-kvm_0.14.1+noroms-0ubuntu6.diff.gz, qemu-kvm_0.14.1+noroms.orig.tar.gz, и в директорию qemu-kvm-0.14.1+noroms распаковывается архив с исходными текстами. Теперь идем сюда и скачиваем архив с патчами для qemu от проекта GNS3. Распаковываем их в директорию с исходниками qemu и применяем их:

m0ps@pc:~/GNS3/Install/temp/qemu-kvm-0.14.1+noroms$ for i in *.patch; do patch -p1 -i $i; done

Далее нам необходимо увеличить версию qemu, т.к. если версия установленного пакета будет одинакова с версией установленной из репозитария, то при следующем обновлении самосборные пакеты будут заменены на пакеты из репозитария. Для этого редактируем changelog файл:

m0ps@pc:~/GNS3/Install/temp/qemu-kvm-0.14.1+noroms$ vi debian/changelog

добавив в его начала информацию по аналогии с остальными записями:

qemu-kvm (0.14.1+noroms-0ubuntu7) oneiric; urgency=low

* UDP patches from GNS3 Team.

— GNS3 Team Mon, 24 Oct 2011 16:00:00 +0300

Здесь мы указываем что наши пакеты будут иметь версию 0ubuntu7 (на данный момент версия 0ubuntu6). Когда в репозитарии версия пакета обновиться до 0ubuntu7 нам придется проделать все (скачать исходники, наложить патчи, скомпилировать и установить пакеты) заново, увеличив версию еще на единичку (к примеру 0ubuntu8). Следующим шагом собираем пакеты из исходников:

m0ps@pc:~/GNS3/Install/temp/qemu-kvm-0.14.1+noroms$dpkg-buildpackage -b -uc -us

В результате, в директории на уровень выше, мы получим следующие пакеты: kvm_84+dfsg-0ubuntu16+0.14.1+noroms+0ubuntu7_i386.deb qemu_0.14.1+noroms-0ubuntu7_i386.deb qemu-common_0.14.1+noroms-0ubuntu7_all.deb qemu-kvm_0.14.1+noroms-0ubuntu7_i386.deb Первый нам не нужен, остальные те, которые нас интересуют. Инсталируем их:

m0ps@pc:~/GNS3/Install/temp/$sudo dpkg -i qemu-common_0.14.1+noroms-0ubuntu7_all.deb m0ps@pc:~/GNS3/Install/temp/$sudo dpkg -i qemu-kvm_0.14.1+noroms-0ubuntu7_i386.deb m0ps@pc:~/GNS3/Install/temp/$sudo dpkg -i qemu_0.14.1+noroms-0ubuntu7_i386.deb

Вот и все, теперь можно строить лабы в GNS3 с использованием Cisco ASA. Модифицированные пакеты практически ничем не отличаются от оригинальных, их можно удалять, обновлять и т.д. с помощью пакетного менеджера не нарушая общую идеологию современных ОС — установка софта из пакетов.

P.S. Процесс подготовки софта Cisco ASA для запуска в GNS3 и сама настройка GNS3 прекрасно описан в блоге GNS3. P.S.S. Вышеперечисленные действия можно проделать и на более старых релизах Ubuntu.

Теги: рубрика Linux
  • Похожие статьи
  • Предыдущие из рубрики