20 ноября 2010 г.

Настройка GNS3. Виртуальные компьютеры для проекта сети.

Лабораторная работа CCNA Cisco Packet Tracer GNS3 Virtual PC
Вопрос о том, как добавить конечную станцию в GNS3 в общем-то стоит не очень остро. Давно доступны для скачивания qemu-образы маленьких linux-ов. Можно добавить любой из доступных маршрутизаторов. Но эти решения будут забирать ресурсы системы, которой и так нелегко с GNS3. Поэтому и обходился пока без конечных узлов сети. В тоже время, когда выполнял одну лабораторную работу и в GNS3 и в Cisco Pacet Tracer, хотелось иметь одинаковые топологии и там и там. Абсолютно случайно нашел интересный проект Virtual PC Simulator, в котором решается проблема конечных узлов для топологии GNS3. VPC позволяет эмулировать до 9-и виртуальных хостов, и обеспечивает базовую функциональность, необходимую для диагностики работы сети.
Для того чтобы включить VPC-хосты в топологию, нужно сначала скачать и распаковать содержащуюся в архиве директорию в каталог с GNS3. После чего нужно заменить библиотеку cygwin1.dll библиотекой из архива, предварительно сохранив предыдущую версию библиотеки с другим именем. Кроме этого нужно отредактировать файл startup.vpc, указав всем виртуальным хостам адреса. Пример есть внутри файла. Это позволит избежать длительной задержки при старте vpcs.exe, так как два первых VPC настроены на DHCP.
После того, как была заменена библиотека и отредактирован startup.vpc, запускаем GNS3 и vpcs.exe. В окне запущенного vpcs выполняем команду show, которая показывает необходимые для дальнейшей настройки параметры LPORT и RPORT. Здесь нужно быть очень внимательным, так как параметры LPORT ( Local Port ) и RPORT ( Remote Port ) показаны для программы vpcs.exe. В настройках объекта Cloud в свойствах NIO_UDP их нужно будет вводить в обратном порядке: в поле Local Port вводить параметр vpcs.exe RPORT, а в поле Remote Port  - LPORT.  Не перепутать. У меня с первого раза не получилось. Запутался. Теперь нужно создать объект Cloud с иконкой PC, для того чтобы виртуальные компьютеры выглядели более наглядно. Это делается в Symbol Manager, и было описано ранее. Я свой объект назвал VPC. Теперь все готово. Можно создавать новый проект и добавлять виртуальные станции в него.
Для того чтобы добавить виртуальный компьютер в проект, нужно перетянуть созданный объект Cloud  в поле построителя, и сконфигурировать интерфейс  NIO_UDP. Для конфигурирования NIO_UDP необходимо на этом объекте вызвать контекстное меню, в котором перейти на закладку NIO_UDP, и ввести значения: Local Port - RPORT, Remote Host - 127.0.0.1, Remote Port - LPORT. Эту процедуру нужно повторять для каждого создаваемого виртуального компьютера, меняя значения RPORT и LPORT, согласно полученных из вывода команды show данных.
В заключение хочу поделиться некоторыми наблюдениями о данном программном продукте. У меня при его использовании возникла пара проблем. Первой из которых было полное зависание моего рабочего компьютера, сразу после запуска vpcs.exe. Это происходило в том случае, когда в startup.vpc мной были внесены неправильные сетевые настройки. В частности, когда настраивал первых 4-е VPC на одну подсеть, я не поменял адрес шлюза по умолчанию ( на тот момент это мне было не нужно). После этого vpcs.exe запустился и выдал в консоль сообщение об ошибке. Через пару секунд компьютер перестал реагировать. Я не смог запустить Task Manager для того чтобы снять задачу, и компьютер пришлось перегружать через reset.  Вторая замеченная мной проблема - это полная неработоспособность VPC2. У меня этот VPC не участвует в сети. Это даже видно из вывода команды show. Для всех VPC устанавливается адрес IP v6 по умолчанию, а для VPC2 - нет. В любом случае, 8-и виртуальных компьютеров будет достаточно для выполнения лабораторных работ по CCNA. Даже более чем.  

11 комментариев:

Анонимный комментирует...

Как минимум, забавная приблуда. Но нужна ли она для выполнения лаб? Я думаю, что если собираешься тестить лабораторные работы в GNS3, то уже позаботишься о том чтобы "мозгов" хватало. Думаю найти немного денег на планку памяти не составит труда, когда планируешь свою подготовку к CCNA...

Dave комментирует...

У меня на ноутбуке нет свободных слотов для установки дополнительных планок. Но пока хватает. Первопричиной было отсутствие взаимопонимания между мной qemu и GNS3. У меня не открывались консоли к qemu-хостам. Начал искать решение в google и наше вот это. Через 20 минут уже свободно добавлял виртуальные хосты в топологию GNS3. Подумал что тема может быть интересной.

Ugo комментирует...

У меня тоже 2-й VPC не пашет. Сразу не понял в чем дело. Думал что что-то напутал в самом проекте GNS3, а потом обратил внимание на отличия в show. И вис он у меня, пока cygwin1.dll не поменял на ту что шла вместе с VPC

Анонимный комментирует...

Может ли работать такая конструкция - два гипервизора запущены на 192.168.1.3 и 192.168.1.4, GNS3 и vpcs запускаются на 192.168.1.2. в конфиге VPC в GNS3 пишу nio_udp:30000:192.168.1.2:20000 и т.д. соединяю роутер с VPC, настраиваю адреса там и там, все как надо, но связности нет. wireshark на 192.168.1.2 показывает пакеты from 192.168.1.3:30000 to 192.168.1.2:20000, а обратно ничего не уходит. Если делать все в пределах одной машины, то работает как надо. Можно ли добиться работы в моей конфигурации?

Dave комментирует...

Если честно, никогда не пытался разнести это на разные хосты. Мне кажется, что проблема в том, что для vpcs RPORT на 127.0.0.1, и нет возможности указать RPORT на другом IP.

Анонимный комментирует...

Решил проблему подключением VPCs через свитчи, которые работают под управлением локального гиервизора. Пришлось немного руками поправить в net-файле, чтобы загнать все свитчи под общий гипервизор. После этого все работает.

Dave комментирует...

Кстати, да. Я так глубоко не копал... Если не секрет, зачем такая сложная система? На одной машине не "умещалось"?

Анонимный комментирует...

Больше академический интерес ). Динамипсы крутятся на 2х не очень производительных компах (P4 - WinXP и P3 - FreeBSD) и на EeePC 901. На нем же запускаю GNS3 и vpcs. Я только начал с этим всем копаться, экспериментирую. Конечно, один мощный комп удобнее для симуляции, вопросов нет.

Dave комментирует...

Опыт, сам по себе, достаточно интересный. Я в свое время бросил GNS3, потому что моему компьютеру очень трудно было. Потом, конечно проапгрейдился и все стало ок.

Анонимный комментирует...

Мой коллега (CCIE) говорит - бросай GNS, юзай только динаген. Он делал лабы по 12 и более роутеров, все крутилось под фрей на 4х-ядерном пне.

Dave комментирует...

Дело в том, что GNS3 - это всего лишь более удобный интерфейс к Dynagen. Его проще освоить, меньше разбираться и читать, а следовательно быстрей можно приступить к выполнению лабораторных работ. Которые, в рамках курса CCNA, не такие уж комплексные. Так что можно пока потерпеть некоторые недочеты GNS3. А там "будем посмотреть".

Отправить комментарий