lunes, 7 de febrero de 2011

Introducción a NetKit( II ): creando redes

Introducción a Netkit( I ): Instalación

Lo dicho es hecho, y a lo hecho...  seguimos con la segunda parte de la introducción a NetKit, ahora veremos como crear y configurar laboratorios pequeños ( sin routers, que es lo mismo pero hay que enrutar ), las conexiones hacia internet se demorarán probablemente hasta el fin de semana ya que se necesitan permisos de root en el host :P .


Nota: Recordad que las variables de entorno PATH y NETKIT_HOME tienen que estar como se especifica en la primera parte, la del man es opcional.

Por comodidad supondremos que tenemos un directorio solamente para esto ( mkdir ~/netkit  ), $HOME/netkit/, desde ahí haremos y desharemos.

Por ahora nos limitaremos a un montaje mínimo, vamos a crear un laboratorio con dos máquinas ( m1 y m2 ) conectadas a un hub ( lo que aquí llaman un dominio de colisión ).

Lo primero será crear el archivo "lab.conf" en ~/netkit, el contenido será este:

m1[0]=HUB1
m2[0]=HUB1


La sintaxis es simple, en cada línea:
< máquina >[ < índice de interfaz > ]=< dominio de colisión >

Ahora solo queda crear una carpeta con el nombre de cada máquina que esté en el laboratorio, en este caso m1 y m2, por ahora quedarán vacías pero todo lo que se meta ahí aparecerá en el '/' de la máquina .

Y ya está, si escribimosel siguiente comando levantaremos las dos máquinas
lstart .   # ( o lstart ~/netkit )


Ahora mismo las máquinas están conectadas al mismo dominio de colisión ( el mismo "hub" ), pero no se pueden comunicar entre ellas ya que las interfaces no están configuradas, esto se puede hacer asignando una ip a una máquina y otra IP del mismo segmento a la otra, por ejemplo, 10.1.1.1 y 10.1.1.2, esto se puede hacer con:
ifconfig < interfaz > < ip >

Siendo la interfaz en este caso eth0 ( si hubiera otra eth0 o eth1, y así ), y la ip la escojida para esa máquina.

Cuando nos aburramos de jugar podemos cerrar el laboratorio con:

  • "lhalt ~/netkit" # o si ya estámos en el directorio lhalt .
  • Haciendo vhalt < máquina > a cada máquina
  • Haciendo poweroff o halt desde la propia máquina virtual

En caso de querer volver a iniciar el laboratorio nos dirá que ya existen archivos *.disk (que guardan el contenido de las máquinas) y que las opciones son borrarlos con lclean ~/netkit o continuar con lo anterior con lrestart ~/netkit

Todo esto está muy bien si hay pocas máquinas, pero si el laboratorio es una red grande puede ser repetitivo levantar las interfaces una y otra vez, lo que se hace al principio se puede automatizar con un archivo < nombre máquina >.startup , que define lo que hará cada máquina, por ejemplo:

#!/bin/sh
ifconfig < interfaz > < ip >


Nota: estos archivos necesitan permisos de ejecución, se les pueden dar con
chmod +x < nombre de archivo >

Cuando hayamos acabado con las dos máquinas las iniciaremos y comprobamos que pueden comunicarse desde el principio.



Además el archivo lab.conf permite modificar otros parámetros de las máquinas, de esta forma se puede por ejemplo modificar la cantidad de memoria RAM de una máquina en concreto: 
< máquina >[MEM]=< memoria en megabytes >

Para más opciones consultad el man de lstart.

La próxima vez veremos como crear un laboaratorio más complejo, dos switches conectados estre sí, y cada uno a otra máquina, y veremos como hacer para enrutar el tráfico.

Hasta la próxima

3 comentarios:

  1. realmente quien eres kenkeira
    un hacker, un ingeniero en sistemas
    o quien diablos eres realmente

    ResponderEliminar
  2. Aprendiz de lo que haga falta... mientras parezca entretenido :)

    ResponderEliminar
  3. como iniciar un laboratorio de netkit pero escrito con python?

    ResponderEliminar