Для построения лаборатории для экспериментов\самообучения прекрасно подходит связка dynamips+dynagen
скачатьPort: dynamips-0.2.7_2
Path: /usr/ports/emulators/dynamips
Info: Cisco 3600/7200 Simulator
Port: dynagen-0.11.0
Path: /usr/ports/emulators/dynagen
Info: Text-based front end for Dynamips development versionЭмулятор доступен для Linux/*BSD/Windows/Mac OS X, так же необходимо иметь образ самого ios'а.
После установки вначале надо запустить гипервизор
$ ./dynamips -H 7200
Cisco Router Simulation Platform (version 0.2.8-RC2-x86)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: Nov 11 2007 11:11:35
ILT: loaded table "mips64j" from cache.
ILT: loaded table "mips64e" from cache.
ILT: loaded table "ppc32j" from cache.
ILT: loaded table "ppc32e" from cache.
Hypervisor TCP control server started (port 7200).далее пишем конфиг для dynagen
Я приведу пример для трех роутеров которые залинкованны между собой и подключенны эзернетами к виртуальному свитчу в разные vlan'ы
Не копируйте параметр idlepc, он подбирается индивидуально, для начала просто закомментируйте его.
Запускаем dynagen:
$ ./dynagen ../conf/rip.net
Reading configuration file...
Network successfully loaded
Dynagen management console for Dynamips and Pemuwrapper 0.11.0
Copyright (c) 2005-2007 Greg Anuzelli, contributions Pavel Skovajsa
=>Смотрим список роутеров:
=> list
Name Type State Server Console
R1 7200 stopped localhost:7200 2000
R2 7200 stopped localhost:7200 2001
R3 7200 stopped localhost:7200 2002
sw1 ETHSW always on localhost:7200 n/a Запускаем первый маршрутизатор:
=> start R1
100-VM 'R1' startedподключаемся к нему:
$ telnet 127.0.0.1 2000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connected to Dynamips VM "R1" (ID 0, type c7200) - Console port
L1R1>ждем когда ios полностью загрузится и подбираем для него idlepc (без этого параметра роутеры будут сильно съедать cpu)
=> idlepc get R1
Please wait while gathering statistics...
1: 0x624b22e0 [50]
2: 0x6176232c [22]
3: 0x61272d18 [21]
4: 0x61272f18 [34]
* 5: 0x61273064 [54]
6: 0x61273914 [29]
7: 0x61273954 [39]
8: 0x61273974 [31]
9: 0x612741dc [21]
10: 0x612748a8 [43]
Potentially better idlepc values marked with "*"Наиболее подходящий параметр dynagen пометит звездой *
Копируем его, выключаем dynagen, вносим параметр в конфиг (можно для всех трех роутеров т.к. ios используется один и тот же), запускаем dynagen снова, все ... можно эксперементировать.
=> stop R1
100-VM 'R1' stopped
=> exit
Exiting...
snow:bin pascal$ ./dynagen ../conf/rip.net
Reading configuration file...
Network successfully loaded
Dynagen management console for Dynamips and Pemuwrapper 0.11.0
Copyright (c) 2005-2007 Greg Anuzelli, contributions Pavel Skovajsa
=> start /all
Warning: Starting R1 with no idle-pc value
100-VM 'R1' started
100-VM 'R2' started
100-VM 'R3' started
=>