Einführung und Installation des Cisco Simulators Dynamips mit dem Front-End Dynagen
<DRUCK-Version als PDF>
Download des Dynagen&Dynamips
Die Programmierer des Dynagen haben auf ihrer Website
http://dynagen.org/ eine URL abgelegt, die zum aktuellen
Emulator-Paket führt. Ich selber bin unter
http://sourceforge.net/project/showfiles.php?group_id=160317
fündig geworden. Im folgenden Text beziehe ich mich auf die
Dynagen Version 0.10.1 mit dem Emulator Dynamips Version 0.2.8-RC1.
Installation des Simulator-Paketes
Nach dem download des Paketes folgt die Installation. In meinem Falle
habe ich mich für die „Windows Installer Package“
entschieden, da ich mit dem Windows XP auf meinem AMD 3500+ mit 2GB Ram
gut klar komme.
Also starte ich das Package mit einem Doppel-Klick, gefolgt vom
aufpoppen des Setup Wizards. Ein Klick auf „Next“ und
„I Agree“ und schon war alles in C:\Programme\Dynamips
installiert.
Ich habe die IOS Files von Cisco, wie unter
C:\Programme\Dynamips\docs\tutorial.htm beschrieben, in das Verzeichnis
C:\Programme\Dynamips\images gelegt. Damit das Starten der später
genutzten Router nicht ewig dauert, habe ich die .bin-Files auch gleich
entzippt und mit der Endung .image gekennzeichnet. Da der Emulator
eigentlich für Linux gedacht ist, habe ich in der
C:\Programme\Dynamips\dynagen.ini noch den Speicherpfad für die
Idledb auf das Image-Verzeichnis umgebogen. Also in meinem Falle sieht
der Kopf der dynagen.ini jetzt so aus:
# -----------------------------------------------------------------------------
# idledb option
# Specify the file that stores the idle-pc database
# Defaults to the user's home directory
# Usage:
idledb = C:\Programme\Dynamips\images\dynagenidledb.ini
Anlegen eines Routers
Nun zum eigentlichen Thema, wir legen einen Router an. Ich erkläre es mal am Beispiel eines simulierten Cisco 2691 Routers.
Auf eurem Windows-Desktop sollte sich jetzt eine Verknüpfung mit
dem Namen „Dynagen Sample Labs“ sein. In diesem
Verzeichnis erzeugen wir uns jetzt
ein Unterverzeichnis mit dem Namen C2691. Wir kopieren aus dem
Verzeichnis „simple1“ die „simple1.net“ in
unser neues Verzeichnis C2691. Noch umbennen in „c2691.net“
und mit einem ASCII-Editor öffnen.
Der Text sieht dann zunächst wie folgt aus:
# Simple lab
[localhost]
[[7200]]
image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image
# On Linux / Unix use forward slashes:
# image = /opt/7200-images/c7200-jk9o3s-mz.124-7a.image
npe = npe-400
ram = 160
[[ROUTER R1]]
s1/0 = R2 s1/0
[[router R2]]
# No need to specify an adapter here, it is taken care of
# by the interface specification under Router R1
Das passen wir jetzt für unseren C2691 an und ändern den Ursprungstext in folgenden Text ab:
# Cisco 2691 Emulator
[localhost]
workingdir = C:\Programme\Dynamips\sample_labs\C2691\
[[2691]]
image = C:\Programme\Dynamips\images\C2691-adventerprisek9-mz.124-15.T1.image
ram = 256
confreg = 0x2102
ghostios = true
sparsemem = true
[[ROUTER C2691]]
model = 2691
console = 2000
aux = 3000
mac = 12:34:56:78:90:AB
# slot1 = NM-1FE-TX
slot1 = NM-16ESW
wic0/0 = WIC-1T
wic0/1 = WIC-1T
wic0/2 = WIC-1T
Starten des simulierten C2691 Routers
Zu erst muss der „Dynamips Server“ gestartet werden.
Einfach auf das Icon auf dem Desktop klicken. Es sollte dann ein
DOS-Fensterchen aufpoppen. Als nächstes den Router starten. Die
Datei findest du auf dem Desktop in dem verknüpften Verzeichnis
„Dynagen Sample Labs“, dann „C2691“. Ebenfalls
anklicken und die editerte „c2691.net“ durch Doppelklick
starten. Das Resultat sollte ein weiteres DOS-Fensterchen sein, mit der
Warnung das kein IDLE-PC Wert gesetzt ist. Zum IDLE-PC Wert kommen
wir gleich, jedoch testen wir jetzt die Erreichbarkeit unseres Routers
in dem wir ein Telnet auf 127.0.0.1 Port 2000 ausführen. Wenn
alles geklappt hat, meldet sich der Router und du bist auf dem
Console-Port.
IDLE-PC Wert
Was hat es mit dem IDLE-PC Wert auf sich? Mit diesem Wert legt man die
Anzahl der CPU-Zyklen für das entsprechende IOS fest, die Details
stehen unter
C:\Programme\Dynamips\docs\tutorial.htm. Wie wirkt sich dieser Wert
aus? Ganz einfach, schau mal mit STRG+ALT+Entfernen unter
Systemleistung was deine CPU gerade so macht. Bei mir sind es 100% -
also eine schlechte Umgebung um mehrere Router zu starten. Der IDLE-PC
Wert ändert dieses gravierend. Im folgenden Test stellen wir
ihn für das
genutzte IOS mal ein. Der Wert muss übrigens für jedes IOS
neu ermittelt werden!!!
Okay, jetzt ermitteln wir den Wert für den C2691 mit dem IOS C2691-adventerprisek9-mz.124-15.T1.image.
Der Router sollte zu Ende gebootet haben, dann in das Dynagen DOS-Fensterchen reingehen und schauen wir der Router heißt:
=> list
Name
Type
State
Server Console
C2691 c2691 running localhost:7200 2000
Jetzt lassen wir den Simulator mögliche Werte einsammeln und uns die besten mit * Kennzeichnen.
Sollte beim ersten Anlauf kein Wert mit * dabei sein kontrolliert
bitte, ob der Router zu Ende gebootet hat und nicht im
Initialconfiguration-Dialog hängt!!
Wie gesagt, sollte kein * dabei sein einfach nochmal den Idlepc-Wert suchen lassen und das geht so:
=> idlepc get C2691
Please wait while gathering statistics...
* 1: 0x60bc0034 [54]
2: 0x60bc0470 [50]
3: 0x60bc0628 [39]
4: 0x60bc0650 [31]
* 5: 0x6027b100 [58]
6: 0x6027b178 [26]
7: 0x60bc482c [60]
* 8: 0x60594970 [58]
9: 0x60bbee00 [69]
10: 0x60bbee34 [24]
Potentially better idlepc values marked with "*"
Enter the number of the idlepc value to apply [1-10] or ENTER for no change:
In meinem Falle nehme ich die Zeile 8 und schwups, schon ist die CPU von meinem PC wieder im grünen Bereich.
Den Wert speichere ich dann auch gleich mal in die .net Datei.
=> idlepc save C2691
idlepc value saved to section: ROUTER C2691
Und lege sie in der Idle-PC Datenbank für dieses IOS ab.
=> idlepc save C2691 db
idlepc value for image "C2691-adventerprisek9-mz.124-15.T1.image" written to the database
Und schon ist der Cisco 2691 zu gebrauchen. Die CPU eures Rechners
sollt bei einem guten IDLE-PC Wert so zwischen 10% bis 20% Last auf den
Simulatorprozess verwenden.
Wenn ihr wie am Anfang des Text besprochen die C:\Programme\Dynamips\dynagen.ini angepasst habt, könnt ihr jederzeit den IDLE-PC Wert nachschlagen oder falls notwendig löschen und neu ermitteln.