cisco

Dynamips/Dynagen: Calcolo del valore idlepc

In un post precedente mi sono occupato di Dynagen, un simulatore per router Cisco.

A corredo è stato sviluppato Dynagen, un front-end per l’emulatore che usa dei file di configurazione (INI style) per la creazione di laboratori complessi e che consente la gestione semplificata attraverso una CLI di management. Tutto questo grazie alla possibilità di eseguire Dynamips in modalità Hypervisor, creando cioè un server TCP per il controllo delle connessioni dei router emulati.
Alcuni laboratori (5/6 o più router emulati) possono portare ad un eccessivo consumo di CPU (100%) con conseguente rallentamento delle prestazioni generali del sistema.
La soluzione esiste e consiste nel settare il parametro idlepc, che è legato al modello del router e all’immagine IOS usata.
Questo problema è riconducile al fatto che Dynamips non sa quando il router virtule è in uno stato idle (non operativo) oppure quando sta effettivamente facendo del lavoro “utlile”.
IL valore idlepc cerca di ovviare al problema, stabilendo una soglia che riesce ad identificare un idle loop nell’IOS emulato.

Questo valore riduce in maniera significativa il consumo di CPU; segue un breve tutorial su come recuperare questo valore.
Dapprima è necessario avviare il laboratorio Dynagen, avendo cura però di avviare solamente una istanza del Router/IOS di cui si vuole calcolare il valore.

Si può ad esempio inserire nel file di configurazione .net la direttiva

autostart = False

e poi avviare dalla console Dynagen il router

=> start “nome router”

Per verificare che solo un router sia avviato, dare il seguente comando di controllo sulla console Dynagen

=> list

A questo punto è necessario telnettarsi sull’istanza del router avviato; nel caso il router fosse “brand new” a schermo si ha la classica domanda “Would you like to enter the initial configuration dialog?”, rispondere NO e attendere tutti i messaggi di debug del router, in modo tale che lo stesso sia nello stato idle.
A questo punto basta tornare sulla console Dynagen e digitare il seguente comando

=> idlepc get “nome router”

A schermo compariranno una serie di valori, alcuni dei quali marcati con un asterisco. Selezionare uno di questi e premere INVIO.
A questo punto il carico CPU dovrebbe scendere in maniera consistente (top).

Nel caso in cui questo non accada, basta ripetere di nuovo il comando e provare un nuovo valore.
Una volta trovato questo valore è buona cosa memorizzarlo per poter far si che da ora in poi a quell’immagine sia sempre associato il valore idlepc ottimale.

=> idlepc save “nome router” db

E’ comunque possibile memorizzare il valore trovato direttamente nel file di configurazione del laboratotioo, utilizzando la direttiva “idlepc = XXXXX

Nel caso in cui Dynagen non trovi alcun valore idlepc, ripetere il processo, riavviando il laboratorio.
E’ importante capire che questo valore non è legato al sistema operativo, all’hardware o alla versione del software installato, ma unicamente all’immagine IOS usata.

Segue il link all’ottimo tutorial che include anche questo processo, tutorial a cui questo post è inspirato

http://dynagen.org/tutorial.htm

Tags: , , ,

Giovedì, Agosto 9th, 2007 Dynamips/Dynagen, Linux, Networking Nessun commento

Simulatore per Router Cisco - Dynamips

Finalmente ho deciso di studiare per la certificazione CCNA Cisco, così mi sono messo alla ricerca sia di documentazione ma soprattutto di un tool (chiaramente OpenSource) per simulare i Router Cisco e fare qualche test.

Chiaramente qualcosa è uscito fuori, il Cisco 7200 Simulator - Dynamips, un emulatore inizialmente nato per il 7200 ma che attualmente supporta una buona varietà di Router

  • Serie 3600
    3620, 3640, 3660
  • Serie 3700
    3724, 3745
  • Serie 2600
    dal 2610 al 2650XM, 2691

Come chiaramente scritto sul sito, essendo un simulatore non può rimpiazzare un router reale, le performance non sono neanche comparabili.
La release corrente è la 0.2.7, disponibile sotto licenza GPL2 per Linux (32 e 64) e Winzo$$ (via CygWin, richiede WinPCAP >= 0.4)

Riferimenti utili

Al più presto una guida all’installazione e configurazione su Ubuntu :)

Tags: , , ,

Giovedì, Giugno 7th, 2007 Dynamips/Dynagen, Linux, Networking 1 commento

VPN Client Cisco per Linux - Testato fino a Ubuntu 8.10 (Intrepid Ibex)

[UPDATE: 15 Ottobre 2008]
Cisco ha finalmente risolto i problemi di compilazione che si riscontravano sul kernel 2.6.x e il client compila su Ubuntu 8.04 e Ubuntu 8.10 (testato) senza problemi

Riporto le istruzioni per la compilazione del modulo

1. Untar the VPN Client
# tar xzf vpnclient-linux-x86_64-4.8.02.0030-k9.tar.gz

2. Change to the vpnclient directory
# cd vpnclient

3. Install the client
#./vpn_install

Volevo segnalare la pagina di Alexander Griesser (costantemente aggiornata) in cui ci sono i link per scaricare le ultime versioni del Client VPN (mirror su project.tuxx) e le istruzioni per la compilazione

http://projects.tuxx-home.at/?id=cisco_vpn_client

La versione attuale del client è la 4.8.02

[/UPDATE]

[UPDATE: 1 Ago 2007]
Ho provato la patch con il kernel 2.6.21 e funziona correttamente
[/UPDATE]

Con l’aggiornamento a Ubuntu Feisty mi sono ritrovato a dover reinstallare il VPN Client della Cisco, in particolare l’ultima versione disponibile 4.8.00.0490 del Gennaio 2006 mi pare.
Ubuntu Feisty arriva direttamente con il Kernel 2.16.20 e con questo kernel la versione originale del client non compila!!! :(

giovanni@devel-lap:~$ uname -a
Linux devel-lap 2.6.20-13-generic #2 SMP Sun Mar 25 00:21:25 UTC 2007 i686 GNU/Linux

La causa sono alcuni cambiamenti nel Kernel a partire dalla versione 2.6.19; è comunque possibile applicare una patch che potete scaricare direttamente QUI

Di seguito le istuzioni per l’installazione

1. Scompattare il VPN Client
# tar xzf vpnclient-linux-4.8.00.0490-k9.tar.gz

2. Scaricare la Patch
# wget -q http://tuxx-home.at/projects/cisco-vpnclient/vpnclient-linux-2.6.19.diff

3. Applicare la patch
# cd vpnclient
# patch <../vpnclient-linux-2.6.19.diff
patching file IPSecDrvOS_linux.c
patching file frag.c
patching file interceptor.c
patching file linuxcniapi.c

4. Installare finalmente il client :)
#./vpn_install

La patch è “pensata” per il 2.6.19 ma funziona correttamente anche con il 2.6.20 :)

Ecco il link al post originale
http://www.tuxx-home.at/archives/2006/12/07/T09_36_48/

Tags: ,

Venerdì, Marzo 30th, 2007 Linux Nessun commento

Tag Cloud

Random @flickr

San Quirico d'Orcia Bunaken National Park - Mandarin Fish dscn0662.jpg Foto di gruppo Great Barrier Reef
Guarda altre foto >