Comenzando por el principio... NetKit, conocido como "El sistema del hombre pobre para experimentar con redes de ordenadores" es un proyecto que pretende usar UML (User Mode Linux, un kernel que como su nombre indica, corre en espacio de usuario, en ring 3) para simular redes de ordenadores completos pero ligeros (normalmente Gnu/Linux Debian en modo texto).

A día de hoy, NetKit es completamente usable, muy útil para aprender sobre redes y mucho más accesible que montar una red física, con los inconvenientes que tendría tener que andar moviendose entre los distintos host, cablear todo y demás.

No explicaré ahora como montar redes con NetKit (intentaré hacerlo más adelante), lo que si haré es presentar un script que genera laboratorios listos para utilizar, la idea es que genere un entorno para jugar un CTF, pero aún le queda mucho camino ( añadir vulnerabilidades a los hosts, redes más aleatorias... ).

Los laboratorios de NetKit son conjuntos de máquinas que están pensadas para interactuar entre ellas, por ejemplo entre los laboratorios_oficiales hay algunos que sirven para aprender desde formas de enrutado hasta como funciona ARP.

El script se puede descargar de aquí [http://pastebin.com/gMu3qkHJ], y lo único que hay que hacer es ponerlo en un directorio vacío, los parámetros son:

./script -

Para seleccionar los parámetros del laboratorio por menús

./script

Para que genere el laboratorio por defecto (10 máquinas, 2 switches, 20 Megas de Ram por máquina)

./script cl

Para que borre el laboratorio actual (necesario entre un laboratorio y otro)

Una vez que el laboratorio esté listo, solo hay que lanzar el comando "lstart" del directorio de binarios de NetKit  y se pondrá en marcha.

Si el proceso se realiza con privilegios de root, se creará una interfaz en el host físico que comunica con el núcleo de la red virtual, para poder acceder directamente a la red a través de este tunnel se puede hacer:

sudo route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.254.2

Y eso es todo, este sería el resultado, con las máquinas de fondo y un terminal mandando un ping desde el host físico hacia dentro de la red:

[Referencias] Instalación_de_NetKit_y_NetGui http://netkit.org/ http://wiki.netkit.org/index.php/FAQ http://wiki.netkit.org/index.php/Labs_Official [Laboratorios oficiales]