Cisco Packet Tracer 5.0

Hacía ya mucho que no probaba la utilidad de Cisco para hacer laboratorios llamada  Packet Tracer pero han anunciado hace pocos días la nueva versión 5.0 y me he decidido a probarla. La verdad es que la versión 4.0 y 4.1 no me dejaron un bien sabor de boca y la verdad es que ignoré por completo esta utilidad sobre todo desde que conocí dynamips. He de reconocer que esta versión me está dejando muy buen sabor de boca especialmente ahora que estoy mirando la curricula de CCNA 4.0 y que viene repleta de actividades muy interesantes y muy prácticas relacionadas y para hacer con el Packet Tracer (y que en posteriores artículos iré comentando).

Iré ampliando este artículo e incluso iré escribiendo otros según vaya conociendo mejor esta utilidad, pero si quiero comentar una de las posibilidades y enlaces con la curricula CCNA que he probado hoy. En la curricula CCNA 4.0 exploration vienen unos ficheros para el Packet Tracer que son actividades para configurar routers y switches y según vamos avanzando nos va indicando el progreso en tanto por ciento y al final de la actividad podemos ver si está correcto o no y en que hemos fallado con lo cual podemos seguir las actividades y quedarnos tranquilos de si lo hemos hecho bien o no (ver captura 1).
Captura 1: Resultado de actividad
Como se puede ver en la captura 2 podemos hacer laboratorios bastante decentes aunque la disponibilidad de switches (2950-24, 2950T, 2960, genérico) y routers (1841, 2620, 2621, 2811, genérico) es limitada y no podemos elegir la versión de IOS (cosa que si se puede en dynamips).
Captura 2: Pantalla principal
Si pinchamos en un dispositivo (ya sea router, switch, etc) no sale un ventana con tres pestañas, Physical, Config y CLI, la cuales nos permiten configurar el dispositivo como si fuera uno físico. El CLI es realmente un CLI real, funciona el autocomplementar (usando el tabulador) e incluso funciona la ayuda (tecleando ?).
En las capturas 3 y 4 podemos ver la ventana del dispositivo (al hacer click sobre él) donde la captura 3 es la parte física del dispositivo en la cual podemos hacer zoom a la imagen del mismo y nos da información de los módulos y conexiones que tiene. En la captura 2 tenemos el CLI que es lo mismo que si nos conectamos a la consola.
Captura 3: Ventana dispositivo- pestaña física
Captura 4: Ventana dispositivo- pestaña CLI
En definitiva creo que hay que darle una oportunidad a esta utilidad de Cisco orientada con fines educativos, especialmente mirando a las certificaciones de Cisco. La única pega es que no está disponible de forma libre, es decir que si no estás en un curso de cisco no tienes acceso a ella, la verdad es que desconozco los requisitos para utilizar la herramienta, pero sé que está disponible en la web cisco.netacad.net una vez que te autenticas y entras en un curso o currícula.
Los que tengáis acceso a la web de Cisco podéis descargar el Packet Tracer desde este enlace en sus versiones para Windows o Linux, esperemos que Cisco se dé cuenta de los muchos ingenieros de red que usamos OSX y saque una versión para OSX, ya no solo de esta utilidad si no de otras muchas.

Compilar Dynamips

En este artículo voy a mostrar como compilar Dynamip para Mac (tanto intel como PowerPC, ambas requieren MacPorts instalado) y para Linux Debian, pero es bastante sencillo compilar para cualquier otra plataforma y hay mucha documentación en internet.


Compilar para Mac OSX (Vía MacPorts):

Es lo más sencillo y cómodo ya que todo lo han hecho ya los chicos de MacPorts (gracias):

sudo port install dynamips

Compilar para Mac OSX (Power PC):

Primero creamos un directorio temporal:

mkdir dynamips
cd dynamips

Instalamos las librerías necesarias:

sudo port install libpcap
sudo port install libelf

y descargamos el source de dynamips (en este ejemplo la versión 0.2.8-RC2) y lo descomprimimos:

wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2.tar.gz
tar xvfz dynamips-0.2.8-RC2.tar.gz
cd dynamips-0.2.8-RC2

Para poder compilar en PowerPC hay que realizar algunos cambios en el Makefile, aquí tenéis el patch:

--- dynamips-0.2.8-RC2/Makefile 2007-10-14 10:43:07.000000000 +0200
+++ Makefile    2008-01-11 01:03:01.000000000 +0100
@@ -3,7 +3,8 @@

 # Replace x86 by amd64 for a build on x86_64.
 # Use "nojit" for architectures that are not x86 or x86_64.
-DYNAMIPS_ARCH?=x86
+# DYNAMIPS_ARCH?=x86
+DYNAMIPS_ARCH?=nojit

 # Change this to 0 if your system doesn't support RFC 2553 extensions
 HAS_RFC2553?=1
@@ -62,8 +63,10 @@
    DESTDIR=/usr
 else
 ifeq ($(shell uname -s), Darwin)
-   CFLAGS+=-I/usr/local/include -mdynamic-no-pic -D_FILE_OFFSET_BITS=64
-   LIBS=-L/usr/local/lib -L. -ldl -lelf -lpthread
+   LOCALBASE?=/opt/local
+   CFLAGS+=-I$(LOCALBASE)/include -I$(LOCALBASE)/include/libelf \
+      -I/usr/local/include -mdynamic-no-pic -D_FILE_OFFSET_BITS=64
+   LIBS=-L$(LOCALBASE)/lib -L/usr/local/lib -L. -ldl -lelf -lpthread
 else
 ifeq ($(shell uname -s), SunOS)
    CFLAGS+=-I/usr/local/include -DINADDR_NONE=0xFFFFFFFF \

Una vez aplicado el patch al Makefile (o si lo prefieres descargalo Makefile ) podemos proceder a compilar:

make

Saldrán muchos warnings que realmente no sé que significan ni si es correcto ignorarlos, pero a pesar de todo el programa funciona de forma correcta.

Ya solo queda pasarle el comando strip para reducir el tamaño del ejecutable y ponerle permisos de ejecución.

strip dynamips
chmod +x dynamips

Compilar para Linux (Debian):

Primero creamos un directorio temporal:

mkdir dynamips
cd dynamips

Instalamos las librerías necesarias:

apt-get install libpcap0.8 libpcap0.8-dev
apt-get install libelf1 libelf-dev
apt-get install debhelper

y descargamos el source de dynamips (en este ejemplo la versión 0.2.8-RC2) y lo descomprimimos:

wget http://www.ipflow.utc.fr/dynamips/dynamips-0.2.8-RC2.tar.gz
tar xvfz dynamips-0.2.8-RC2.tar.gz
cd dynamips-0.2.8-RC2

Como dynamips viene preparado para construir un paquete .DEB, procedemos a realizar dicho paquete (a mi me hizo falta hace el chmod aunque no está de más hacerlo):

chmod +x debian/rules
dpkg-buildpackage

La versión que nos genera es la 0.2.8-RC2 pero como los fichero Debian no han sido modificados el fichero resultante tendrá como versión 0.2.6-RC2, es solo el nombre del fichero .DEB. También posiblemente nos dé algún warning, especialmente del fichero .DSC que podemos ignorar.

Para que el fichero nos indique la versión correcta debemos editar antes de compilar los 2 sigueintes fichero y poner la versión correcta:

vim debian/files
vim debian/changelog

Ya solo queda instalar (o actualizar) el paquete como otro cualquiera

cd ..
dpkg -i dynamips_0.2.8-RC2-1_i386.deb