среда, 17 декабря 2008 г.

СИМУЛЯТОР CISCO: GNS3 > DYNAGEN > DYNAMIPS.

Не так давно начал испытывать нехватку в знаниях первых трех уровней модели OSI и вот решил пополнить знания. Лидер в данной области, безусловно, корпорация Cisco. Решил сдавать экзамен CCNA 640-802.. и знания пополню, и бумажка будет на стене красоваться :)

Первым делом нашел литературу, после этого начал искать симуляторы/эмуляторы оборудования cisco (реальное оборудование стоит достаточно дорого). В поле зрение попали следующие программные продукты: Packet Tracer, Boson Netsim, Dynamips.

Больше всего заинтересовал последний продукт – Dynamips, потому как другие названные продукты поддерживают ограниченное количество команд.

Dynamips позволяет эмулировать Cisco IOS на компьютере под управление Windows или Linux, нечто похожее на VMWare или Virtual PC.

Чистый Dynamips не очень удобен в плане конфигурирования. Если необходимо создать тестовую среду, состоящую из трех и более маршрутизаторов, то это может оказаться проблемой и отнимет много времени. Для упрощения настройки тестовой среды используется Dynagen. Dynagen – это некая надстройка над Dynamips, с ее помощью создается ini-файлы с описанием запускаемой среды. Достаточно хороший инструмент, но было бы хорошо использовать графическую оболочку для конфигурирования. Для это как раз есть GNS3 (Graphical Network Simulator) – это графическая надстройка над Dynagen. О ней и пойдет речь в этом посте. :)

Для начала необходимо загрузить необходимые инструменты.

Нам понадобится:

После того как все перечисленное загружено, можно приступать к установке.

Для начала устанавливаем GNS3. Тут проблем не должно возникнут. В ходе установки будет установлен WinPCAP – некий драйвер(ы)/библиотека(и) для доступа к нижним сетевым уровням.

Далее необходимо распаковать образы Cisco IOS. Я проделывал это с помощью Winrar.

После этого запускаем GNS3.

При первом запуске появляется окно, в котором предлагается указать первоначальные настройки – расположение образов Cisco IOS [2], расположение Dynamips [1].

Для начала нажимаем на [1] (тоже самое можно сделать позже, используя главное меню Edit > Preference), появляется диалоговое окно Preference. На вкладке Dynamips, в Executable path указываем путь к Dynamips. Если при установке использовался полный пакет (GNS3-x.x-win32-all-in-one), то ничего менять не надо, просто нажимаем кнопку Test. Должна появиться зеленая надпись: Dynamips successfully started. Нажимаем кнопку Apply, затем ОК.

Далее необходимо указать путь к образам Cisco IOS. Для этого жмем на кнопку [2] или, если вы закрыли это диалоговое окно, выбираем пункт меню Edit > IOS images and hypervisors. Появится диалоговое окно, в котором необходимо указать образы Cisco IOS, которые будут использоваться для запуска. Для этого нажимаем кнопку […] рядом с Image File и выбираем образ Cisco IOS. В поле Platform и Model указываем платформу и модель. IDLE PC оставляем пустым. Нажимаем Save.

Необходимо продолжить эти действия для других образов, которые вы будете запускать.

Нажимаем кнопку Close для закрытия диалогового окна.

На данный момент поддерживаются следующие платформы:

1710, 1720, 1721, 1750, 1751, 1760, 2610, 2610XM, 2611, 2611XM, 2620, 2620XM, 2621, 2621XM, 2650XM, 2651XM, 2691, 3620, 3640, 3660, 3725, 3745, 7200

Теперь можно приступать к созданию тестовой среды.

Попробуем создать простенькую тестовую среду, состоящую из одного маршрутизатора, Ethernet-коммутатора и компьютера.

Для этого в главном окне программы из левой панели Nodes Types перетаскиваем необходимые нам устройства в рабочую панель, она расположена по центру главного окна.

Сначала перетаскиваем маршрутизатор. Я настроил Cisco IOS для маршрутизатора 2691, поэтому помещаю в рабочую область маршрутизатор 2691 (Router 2691).


Нажимаем правой кнопкой на добавленном маршрутизаторе и выбираем меню Configure. Появляется диалоговое окно Node configuration. В данном окне можно задать различные параметры маршрутизатора (память, диски, слоты, конфигурационные регистры). В данный момент нас ничего не интересует в этом окне, поэтому закрываем его.

Стартуем маршрутизатор. Нажимаем правой кнопкой на маршрутизаторе и выбираем в контекстном меню Start. Заметно как комп начал немного подтормаживать. Открыв диспетчер задач можно увидеть, что загрузка процессора 100%.


Для того чтобы уменьшить загрузку цп, необходимо сконфигурировать параметр idlepc. Для этого нажимаем правой кнопкой на пиктограмме маршрутизатора и выбираем пункт меню Idle pc. После этого начинается подсчет значений idlepc. После этого появится диалоговое окно IDLE PC в котором предлагается выбрать одно из подсчитанных значений. Наиболее лучшее значение помечается звездочкой (“*”). Если не появились записи помеченные звездочкой или загрузка ЦП не уменьшилась, следует выбрать другие значения, для этого повторите описанную выше процедуру. Загрузка процессора происходит по причине того что Dynamips не знает когда Cisco IOS находится в режиме бездействия, или когда производит какие-то операции.

После этого подсоединяемся к консоли маршрутизатора. Для этого нажимаем правой кнопкой на пиктограмме маршрутизатора и выбираем пункт меню Console. Попадаем в консоль маршрутизатора.


Далее добавим в нашу сеть Ethernet-коммутатор. (Node Types – Ethernet switch).

Соединим Ethernet-интерфейс маршрутизатора с интерфейсом коммутатора.

Для этого на панели инструментов нажимаем на кнопку Add a link и соединяем маршрутизатор с коммутатором. На панели Topology Summary можно увидеть задействованные интерфейсы.


Теперь добавим в нашу сеть рабочую станцию.

В качестве рабочей станции я буду использовать Virtual PC Simulator. Простенький инструмент, не требует много памяти, для Ping’ов и tracert’ов сойдет. Также можно использовать в качестве рабочей станции другой маршрутизатор или реальную/виртуальную машину.

Для начала распаковываем скачанный архив. Запускаем vpcs.exe.

Если появляется сообщение

*** fatal error - system shared memory version mismatch detected - 0x8A88009C/0x2D1E009C. This problem is probably due to using incompatible versions of the cygwin DLL. Search for cygwin1.dll using the Windows Start->Find/Search facility and delete all but the most recent version. The most recent version *should* reside in x:\cygwin\bin, where 'x' is the drive on which you have installed the cygwin distribution. Rebooting is also suggested if you are unable to find another cygwin DLL.,

то находим более новую версию библиотеки cygwin1.dll (версию можно посмотреть в свойствах файла) и копируем ее в папку с vpcs.exe.

vpcs.exe – консольное приложение. Для того чтобы просмотреть информацию о прослушиваемых портах, назначенных ip адресах, вводим команду show.

Для переключения между виртуальными рабочими станциями вводим ее номер.

После этого необходимо сконфигурировать в GNS3 объект-компьютер.

Для этого в главном меню выбираем пункт Edit > Symbol Manager.

Появляется одноименное диалоговое окно, в котором в левой панели (Available symbols) выбираем Computer и нажимаем на кнопку [ > ]. В правой панели в Name указываем Computer, TypeCloud и нажимаем кнопку Apply. После этого нажимаем кнопку ОК для закрытия диалогового окна.


В панели Node Types должен появиться объект-компьютер Computer.

Перетаскиваем его в рабочую область.

Нажимаем на пиктограмме компьютера правой кнопкой и выбираем Configure.


Переходим на вкладку NIO UDP и вбиваем следующие настройка для нашего первого виртуального компьютера:

Local port: 30000

Remote host: 127.0.0.1

Remote port: 20000

Соединяем с коммутатор с компьютером.

В данном случае используется следующая схема:


То есть получается Virtual PC Simulator, 1 компьютер слушает на порту UDP:20000, а передает на порт UDP:30000, в свою очередь Dynamips слушает на порту UDP:30000, а передает на порт UDP:20000.

Затем конфигурируем ip адрес для компьютера №1. Для этого в консоли vpcs вводим следующее:

VPCS 1 >1

VPCS 1 >ip 192.168.1.50 192.168.1.1 24

PC1 : 192.168.1.50 255.255.255.0 gateway 192.168.1.1

VPCS 1 >

Далее консолью подсоединяемся к маршрутизатору и вводим следующее:

Router>ena

Router#conf term

Enter configuration commands, one per line. End with CNTL/Z.

Router(config)#int fa0/0

Router(config-if)#ip addr 192.168.1.1 255.255.255.0

Router(config-if)#no shut

Router(config-if)#

Router(config-if)#^Z

Router#

Командой ping посылаем эхо-запрос ICMP.

Router#ping 192.168.1.50

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.50, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max = 20/36/48 ms

Router#

Получаем в ответ 4 удачных ICMP это-ответа.

Все работает.

Думаю не составит труда сконфигурировать более сложную сеть.

Ну и на последок ссылки на сайты с более подробной информацией:




21 комментарий:

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

The author is really cool. But some of the commentators are just posting stupid words.

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

гуд post

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

Шикарный пост! Очень понравился)

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

С автором согласен.

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

купить матрас в киеве -=

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

Hi !!! Good job!
Wuzzap?

Efimov Gennady комментирует...

Анонимный пишет...
купить матрас в киеве -=

шикарный комент..

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

Thank you!!! You often have interesting posts! They put me in good spirits )

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

-ради этого я прочел всю статью. Люблю вас спасибо

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

I guess this post is concerning to study. Keep it going mate

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

Blestyashaya statya..

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

Благодарна автору такое на мой взгляд тоже важно знать.

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

тупо угар!!! супер

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

Обилие интересных статей на вашем блоге меня поражает! Автору – удачи и новых интересных постов!

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

Добрый день. У меня возникла проблема. Открываю консоль роутера, а дальше текст не набирается. Т.е. в консоле есть начальная строка "press enter to get the prompt", а дальше он ни на "enter" ни на какие другие клавиши не реагирует. Может я где-то ошибся в настройках? Спасибо.

Efimov Gennady комментирует...

Если и наблюдал такое поведение, то только при зависании компьютера, то есть когда утилизация CPU 100%. Побороть можно подобрав cpuid. Других причин не наблюдал.

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

Otlichno mne nravitsy.

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

Really enjoyed this post, how can I make is so that I receive an email when there is a fresh post?

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

Excellent post. I was checking constantly this blog and I’m impressed! Very useful info specially the last part

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


This is a good posting, I was wondering if I could use this write-up on my website:)))

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

Hello. I think it's better blog as i saw. Today is very important to have and read realy usefull information and topics. Thanks.