Qemu windows для gns3
В прошлом посте мы разобрали с вами как настроить AAA на устройствах cisco с использованием Cisco ACS 5.2 (с использованием локальной базы сервера). Но сегодня я предлагаю немного отвлечься от тематики настройки оборудования и посмотреть в сторону программы, где мы все это делаем, создаем, настраиваем и тренируемся. Конечно же это GNS3.
Как в прошлом, так и в предыдущих постах я использовал для работы на данный момент уже старую версию GNS3 0.8.7 (начинал вообще с версии 0.7.3 :)). Мне приходили просьбы обновить свои самые первые посты по установке и настройке GNS3, так как они становятся не такими уже и актуальными. Так что сегодня я и предлагаю рассмотреть новую версию этой замечательной программы.
Как всегда, кому интересно, добро пожаловать под кат…
На момент написания данного поста последняя версия GNS3 была 1.2.3. Надо сказать, огромное спасибо разработчикам. Они потрудились на славу. Поменяли много чего. Но обо всем по порядку.
Для начала, я предлагаю вам скачать актуальную версию программы. Сделать это можно на сайте www.gns3.com, но теперь необходимо пройти простейшую регистрацию и зайти потом в раздел download. Устанавливать и разбирать мы сегодня будем версию для Windows.
Сразу отмечу, что я не удалял старую версию, а устанавливал новую параллельно. Так сказать, для сравнения :). Так что при установке я буду обращать внимание где и что поменять, чтобы две версии не конфликтовали друг с другом. К слову сказать, если вы устанавливаете все с нуля, то пути к файлам и папкам вам менять не придется.
Скачав установочный файл (обычно это GNS3-1.2.3-all-in-one.exe) запускаем его (можно, на всякий случай, с правами администратора). Как всегда, появится первое приветственное окно. В нем нажимаем «Next». На следующем окне соглашаемся с лицензией и нажимаем «I Agree». Откроется окно:
Как я писал выше, я не удалял старую версию. Соответственно, чтобы все корректно работало, для новой версии необходимо создать новые папки и директории (по умолчанию, установка производится в те же папки и директории, в которых устанавливается/уже установлена и старая версия). Указываем новое имя и нажимаем «Next»:
На этой странице представлен перечень компонентов, которые будут установлены вместе с GNS3. Если вы устанавливаете все с нуля, то оставьте их все. Если же что-то уже у вас установлено, то уберите эти компоненты из отмеченных. Нажимаем «Next»:
Здесь указываем директорию, куда будет установлена новая версия GNS3. Выбрать ее можно, нажав «Browse…». Опять-таки, если вы устанавливаете все с нуля, то оставляйте тут все по умолчанию. Нажимаем «Install». Пойдет процесс установки. Если вы выбрали еще и установку компонент (WinPCAP, Wireshark и т.д.), то сначала будут установлены они (там все время далее, далее, далее. ). После окончания процесса нажимаем «Next». Откроется финальное окно. Пока запускать программу не будем, так что снимаем галку и нажимаем «Finish».
Перейдем в папку, куда установилась новая версия и создадим несколько папок, которые немного упростят дальнейшую работу. А именно: «Projects» — папка для хранения проектов, «Images» — для хранения образов устройств, «Temp» — для временных файлов, «Captures» — для файлов Wireshark.
Теперь находим ярлык и запускаем новую версию GNS3. При открытии сразу будет предложено сохранить новый проект. Пока отказываемся («Cancel»). Вот как выглядит новый интерфейс:
Симпатично, не правда ли :)? Теперь перейдем к непосредственной настройке программы. Идем в «Edit» — «Preferences» — «General»:
Здесь:
- 1. Прописываем пути к созданным ранее папкам. Таким образом, все у нас будет в одном месте, а не размазано по всему компьютеру;
- 2. Если кому-то всё-таки не нравится данный стиль, то изменить его можно именно в этой закладке (Legacy – дизайн старой версии);
- 3. Выставляются такие параметры как запускать диалоговое окно нового проекта при старте или нет, автоматически проверять обновления, использовать ручной режим добавления соединений (кстати, рекомендуется оставлять вкл.) и задается задержка в сек. между стартом устройств (когда нажимается кнопка запуска всех устройств сразу).
Расположение файла конфигурации (GNS3.ini) можно оставлять без изменения.
Переходим на вкладку «Console applications»:
Здесь устанавливаются настройки для программы, с помощью которой вы будете подключаться к устройствам. По умолчанию прописана программа Putty, но для выбора доступны и другие программы. Если вдруг в списке нет вашей программы, то необходимо будет добавить к ней путь.
Переходим в «Topology view»:
Здесь выставляются параметры рабочей области, куда будут добавляются устройства (размер, шрифт для подписей и т.д.).
Нажимаем кнопку «Apply» и переходим дальше в пункт «GNS3 server»:
Здесь указываются настройки локального GNS3-сервера. Я рекомендую, даже если вы устанавливаете все с нуля, прописать полный путь к соответствующему файлу. На вкладке «Remote servers» будут настройки удаленных серверов, если такие имеются. У нас их пока нет, так что нажимаем «Apply» и переходим к пункту «Packet capture»:
Здесь указываются настройки программы-снифера для сбора пакетов (в нашем случае это Wireshark). По умолчанию, для программы Wireshark указан путь для версии Windows 64 bit, у меня же стоит версия программы для 32 bit, соответственно надо заменить его на правильный. Если вы установили еще и дополнительную программу ResponseTimeViewer, то проверьте и этот путь. Нажимаем «Apply» и переходим к пункту «VPCS»:
Здесь указываются настройки для работы виртуальных машин, которые могут быть использованы для проверки вашей схемы (например, сделать ping, tracert и т.д.). Программа для их запуска устанавливается вместе с GNS3. Как и в предыдущих пунктах, снова указываем правильные пути к необходимым файлам. Для своего удобства, я переместил файл конфигурации vpc в папку, где установлена GNS3, но, если вы не хотите, можете этого не делать. В других закладках этого пункта меню можно оставить все по умолчанию. Нажимаем «Apply» и переходим к пункту «Dynamips»:
Здесь указываем настройки программы «Dynamips», которая отвечает за запуск IOS на сетевых устройствах, которые используются в GNS3. Указываем полный путь к необходимому файлу. В других вкладках можно оставить все по умолчанию. Нажимаем «Apply» и переходим к более интересному пункту «IOS routers», где прописываются соответствия IOS своим сериям роутеров и L3 свитчей:
Нажимаем на «New». Откроется wizard добавления нового устройства:
В первом окне нам предлагается указать, где находится файл IOS для будущего устройства. Нажимаем на «Browse…» (1). Если у вас IOS с расширением *.bin, то вам предложат сделать его декомпрессию (2). Соглашаемся. После этого, у вас в папке, где лежат IOS для устройств, создастся дополнительная папка «IOS», куда и попадет декомпрессированный файл, но уже с расширением *.image. Он то и будет у нас использоваться для устройства. Нажимаем «Next >»:
Здесь задаем имя устройства, выбираем платформу (скорее всего она выберется автоматически, исходя из версии IOS) и указываем модель. Если данный IOS будет использоваться для «коммутатора», то поставьте галку в соответствующем месте (1) и отображаться он на топологии будет как «EtherSwitch router». Нажимаем «Next»:
Здесь указывается размер выделяемой памяти (RAM), требуемого для запуска устройства. Можно оставлять по умолчанию для каждого IOS. Нажимаем «Next»:
Здесь, из выпадающего меню, выбираем модули с соответствующим количеством интерфейсов. (для эмуляции коммутатора обычно используется модуль NM-16ESW). В разных линейках роутеров эти модули разняться (есть и Serial, и Ethernet). Нажимаем «Next»:
Здесь можно задать параметр «Idle-PC», который не позволяет загрузить ваш процессор на 100%, но сделать это можно только если устройство запущено (не забудьте это сделать, когда запустите (делается это правой клавишей мыши по устройству и там параметр Idle-PC)). Так как у нас оно выключено, то просто нажимаем «Finish». Устройство появится в списке. Точно таким же способом добавляются и остальные устройства. В итоге у вас должен получиться набор из устройств:
Нажимаем «Apply». Далее по списку меню у нас настройка «IOS on UNIX», но сейчас это настраивать не будем и рассмотрим этот пункт более подробно чуть позже. Сейчас же перейдем к настройкам интеграции VirtualBox в GNS3. Переходим к пункту «VirtualBox»:
Здесь необходимо указать общие настройки для VirtualBox. В частности, прописать путь к файлу VBoxManage.exe. Если у вас уже установлена эта программа, то путь к нему уже будет прописан. Остальные закладки в этом пункте меню можно оставить без изменения. Переходим к непосредственному добавлению виртуальных машин («VirtualBox»—«VirtualBox VMs»). В открывшемся окне нажимаем «New»:
Если с общими настройками VirtualBox все в порядке, то появится выпадающий список ваших виртуальных машин. Выбираем нужную и нажимаем «Finish». Машина появится в списке. Если вам необходимо подправить ее параметры (например, выбрать сетевую карту, указать их кол-во и так далее), то выбирайте необходимую машину и нажимайте «Edit»:
Внеся необходимые вам настройки, нажимаем «OK» и затем «Apply».
Переходим к следующему пункту меню «QEMU». Здесь мы определим настройки для запуска cisco ASA, IDS, IOSv и так далее:
Здесь можно оставить все по умолчанию (если вы заметили, то практически в каждом пункте мы ничего не меняем в этих окнах. Настройки тут следует вносить, если у вас сервер GNS3 размещен где-то в другом месте (не на локальном компьютере) или есть необходимость поменять стандартные порты, которые использует GNS3 в своей работе («Advanced settings»)). Нажимаем «Apply» и переходим к пункту «QEMU VMs», в котором и добавим необходимые нам устройства. В открывшемся окне нажимаем «New»:
Начнем с добавления cisco ASA. Здесь сразу замечаем небольшой недостаток, что добавить и работать в дальнейшем, мы сможем только с версией прошивки 8.4(2). Т.е. более старую версию или вообще PIX по умолчанию добавить не получится. Итак, из выпадающего списка выбираем «ASA 8.4(2)» и нажимаем «Next»:
Здесь проверяем путь к файлу «qemu.exe» и устанавливаем размер памяти для устройства (по умолчанию, это 1024 Mb, именно столько требуется для запуска этой прошивки на реальном оборудовании). Нажимаем «Next»:
Здесь, нажимая «Browse…», указываем путь к двум файлам, необходимым для работы cisco ASA в GNS3 (надеюсь они у вас были заранее :)). Когда вы укажете путь к файлу и нажмете добавить, то вам предложат скопировать его в специальную папку «QEMU», как и при добавлении IOS для роутеров. Нажимаем «Finish». Устройство появится в списке.
Таким же образом добавляются и другие устройства, например, cisco IDS. Соответственно, для cisco IDS нужны немного другие файлы, чем для cisco ASA. Вот как выглядит конечный список:
Отмечу тот факт, что поддержка QEMU появилась относительно недавно и, как следствие, работает она не совсем стабильно (по крайней мере скажу лично за себя (зависание устройств, удаление интерфейсов при перезагрузке и т.д.). Так что для реализации схем с использованием cisco ASA и IDS я использую старую версию GNS3.
Нажимаем «Apply» и переходим к самому большому изменению в новой GNS3, а именно добавлению поддержки cisco IOS on Unix (IOU) с его функционалом.
Прежде чем настраивать непосредственно GNS3, необходимо сначала установить и настроить виртуальную машину, которая выступает сервером IOU. Для работы нам понадобятся:
- — файл GNS3 IOU VM.ova. Скачать его можно с сайта www.gns3.com из раздела «Download» — «APPLIANCES» OVA;
- — необходимые файлы (IOS) для IOU. Где и как их найти, думаю разберетесь сами;,
- — специальный файл-лицензия iourc.txt. Предоставлять я его не имею права, но посоветую заглянуть вот сюда.
Приступим. Я буду разворачивать файл в VirtualBox, так что открываем эту программу и импортируем конфигурацию:
Указываем путь к OVA – файлу и нажимаем «Next» (1). Появится окно с параметрами виртуальной машины. Нажимаем «Импорт» (2). Через небольшое время новая машина появится в списке.
Для подключения к этой виртуальной машине с вашего локального компьютера необходимо создать так называемую виртуальную сеть хоста и привязать виртуальный сетевой адаптер к ней. Для этого идем в VirtualBox-е в «Файл» — «Конфигурация» — «Сеть» — «Виртуальные сети хоста»:
Здесь создаем новую виртуальную сеть хоста и одновременно сетевой адаптер (1) (который появится в списке сетевых подключений вашего локального компьютера). У меня это VirtualBox Host-Only Ethernet Adapter #4. Заходим в его настройки (2). Назначаем ему IP-адрес (вкладка «Адаптер») и включаем DHCP – сервер (вкладка «DHCP сервер»). Запомните IP-адрес адаптера, он нам еще потребуется (отмечу, что это IP-адрес не виртуальной машины, а сетевого адаптера, появившегося на вашем локальном компьютере).
Далее идем в настройки нашей виртуальной машины. Выбираем ее из списка, затем из верхнего меню «Настроить» — «Сеть»:
Выбираем из выпадающего списка ранее созданную виртуальную сеть хоста и наживам «OK». Запускаем виртуальную машину (кнопка «Запустить» в верхнем меню).
Когда машина запуститься, заходим на нее (Логин: root, пароль: cisco). Если сетевые настройки выполнены правильно, то виртуальная машина получит IP-адрес по DHCP. Проверить это можно, увидев информацию о ссылке, через которую в дальнейшем будут загружаться IOS или выполнив команду ifconfig:
Открываем браузер и переходим по вышеуказанной ссылке. Откроется окно загрузки IOS:
Нажимаем на «Обзор» (1), выбираем соответствующий файл, затем нажимаем «upload» (2). Когда файлы загрузятся в виртуальную машину они появятся в списке ниже (3). Скопируйте ссылки на них в блокнот, они нам еще понадобятся.
С виртуальной машиной разобрались, теперь переходим к настройке GNS3. Открываем программу GNS3 и переходим в «Edit» — «Preferences» — «GNS3 server» — «Local server»:
Здесь, в параметрах «Host binding» из выпадающего списка выбираем IP-адрес VirtualBox Host-Only Ethernet Adapter #4 (это адаптер, который появился на локальном компьютере при создании новой виртуальной сети хоста). Далее проверяем TCP-порт (8000). Затем переходим на вкладку «Remote servers»:
Здесь, в параметрах «Host» указываем IP-адрес уже виртуальной машины GNS3 IOU VM (полученный ею по DHCP или выставленный вручную) (1), в параметрах «Port» указываем TCP-порт 8000 (2) и нажимаем «Add». Хоста появится в списке выше. Нажимаем «Apply» и переходим в «Edit» — «Preferences» — «IOS on UNIX» — «General Settings»:
Здесь указываем путь к специальному файлу-лицензии (где про него посмотреть, я указывал выше) и нажимаем «Apply». Далее идем в пункт меню «IOU devices» и добавим устройства, нажимаем «New»:
Здесь в первом открывшемся окне проверяем, что выбран «Server type» — Remote и правильно указан IP-адрес и порт для доступа к нему. Нажимаем «Next». Появится окно, где написано, что мы выбрали удаленный сервер и нам необходимо указать путь к файлу IOU на нем. Нажимаем «OK» и в следующем окне указываем следующее:
- 1. Имя будущего устройства;
- 2. Путь к файлу IOU, который мы загружали на сервер ранее;
- 3. Тип устройства (выбирается исходя из типа файла IOU, может быть L2 (коммутатор) и L3 (роутер или L2/L3-комутатор).
Нажимаем «Finish». Если все сделано правильно, то устройство появится в списке.
Ну вот и все, с большего все настроили и теперь можно творить :). Вроде как все запускается и работает:
Что можно сказать в итоге… Программа получилась очень даже отличная, но, как и во всех молодых версиях, существуют свои небольшие недостатки. Недостатки эти я считаю не существенны. И стоит отдать должное разработчикам, так как исправление различных багов и community у них на высоком уровне.
Но, как говориться, выбор остается за вами. А на этом, хочу закончить данный пост. Надеюсь, он вам поможет настроить под себя новую версию GNS3 и использовать ее для изучения сетевых технологий.
По всем возникающим вопросам обращайтесь ко мне через комментарии или лично. Координаты можно найти вот тут.
Если есть желание отблагодарить, то киньте немного WebMoney (Яндекс.Деньги, PayPal) или дайте ссылку на мой блог, если будете еще на каких-нибудь форумах или сайтах :).