Practica 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Universidad de Alcalá Laboratorio: Redes de Computadores

Departamento de Automática Grado en Ingeniería Informática

1. OBJETIVOS.
El objetivo de esta práctica es aprender a utilizar la herramienta de emulación de redes
Netkit / NetGUI, y emplearla para adquirir y aplicar los conocimientos necesarios para
la configuración y análisis de redes de datos basadas en TCP/IP.

2. ACTIVIDADES.
 Presentación y estudio de la aplicación Netkit y NetGUI para emular diferentes
topologías de redes y poder realizar su configuración
 El alumno deberá estudiar con las aplicaciones TCPdump y Wireshark los
resultados de las capturas de tráfico de red obtenidas a partir de las
transferencias de datos realizadas.

3. EJERCICIOS.
3.1 Introducción: emulación de redes con Netkit y NetGUI.
Netkit es el resultado del trabajo conjunto del Computer Network Research Group de la
Universidad Roma Tre y el grupo de usuarios de Linux LUG Roma 3. Se trata de un
entorno software que permite realizar experimentos con redes de ordenadores virtuales
sin necesidad de disponer de dispositivos de comunicaciones ni de ordenadores reales.
Accedemos a ella a través de este enlace: http://wiki.netkit.org/

NetGUI ha sido desarrollada por el Grupo de Sistemas y Comunicaciones de la


Universidad Rey Juan Carlos. Se trata de una interfaz gráfica para el sistema Netkit que
permite editar diagramas de redes, arrancar las máquinas virtuales (ordenadores y
routers) y pararlos, e interaccionar con las consolas de las máquinas virtuales. Esta
herramienta de emulación de redes la utilizaremos para adquirir y aplicar los
conocimientos necesarios en la configuración y análisis de redes de datos basadas en
TCP/IP. Accedemos a ella a través de este enlace: http://mobiquo.gsyc.es/netgui/

3.2 Instalación de Netkit y NetGUI.


Se procederá a explicar como se ha de realizar la instalación manual sobre cualquier
distribución de Linux (por si no se encontrase instalada en nuestro equipo), para ello
seguiremos los siguientes puntos:

1. Es interesante instalar los siguientes paquetes software, en caso de no estar


implementados en la distribución de Linux que se utilice:
 firefox
 xwit
 telnetd
 Java Runtime Environment 1.4.x o superior

2. Las instrucciones de instalación junto con los paquetes a descargar se encuentran


en: http://mobiquo.gsyc.es/netgui/. Aquí disponemos de un fichero
INSTALACION.TXT donde nos describe los pasos a realizar para proceder a la
instalación dependiendo de la distribución de Linux con la que estemos
trabajando.
3. Es imprescindible antes de empezar a trabajar con la aplicación de NetGUI,
consultar el manual facilitado “Pract_1 Introduccion_NetGUI.pdf “.

Curso 2015/16
Página 2
Universidad de Alcalá Laboratorio: Redes de Computadores
Departamento de Automática Grado en Ingeniería Informática

3. 3 User Mode Linux (UML).


Netkit está basado en UML (User-Mode-Linux). UML permite arrancar una máquina
Linux como un proceso de usuario corriendo dentro de una máquina anfitriona. Desde el
punto de vista de la máquina anfitriona, UML es un proceso normal de usuario, véase
figura 1. Desde el punto de vista de un proceso que corre dentro de UML, UML es un
kernel, proporcionando memoria virtual y acceso a dispositivos, lo que denominamos
máquina virtual.

Fig. 1 - UML como un proceso de Linux

El kernel UML no se comunica directamente con el hardware, lo hace a través del


kernel de Linux de la máquina anfitriona. Los procesos que corren dentro de UML
funcionan igual que dentro de una máquina real Linux, ya que UML proporciona su
propio espacio de direccionamiento de kernel y de proceso, su sistema de gestión de
memoria y planificado, véase figura 2.

Fig. 2 Máquina virtual y máquina anfitriona

El sistema de ficheros que utiliza UML para arrancar cada máquina virtual se encuentra
almacenado en un único fichero. Ahí es donde se encuentra el kernel de Linux y la
configuración de una máquina virtual. Cuando queremos arrancar una máquina virtual,
UML la arranca basándose en el kernel instalado en ese sistema de ficheros.

Curso 2015/16
Página 3
Universidad de Alcalá Laboratorio: Redes de Computadores
Departamento de Automática Grado en Ingeniería Informática

Gracias a UML podemos ejecutar un conjunto de máquinas virtuales dentro de una


máquina real, la máquina anfitriona. Las máquinas virtuales se conectan a través de
dominios de colisión virtuales (figura 3). Una máquina virtual puede funcionar como un
equipo terminal, un router o un switch.

Fig. 3 - Conexión de máquinas virtuales a través de dominios de colisión

Valiéndose de la tecnología UML se desarrolló la herramienta Netkit, que es un


conjunto de comandos que permiten configurar y conectar fácilmente máquinas
virtuales, y un sistema de ficheros que contiene las herramientas necesarias para llevar a
cabo la configuración en las máquinas virtuales. Y para que a la hora de trabajar con
esta aplicación resultase más sencillo y ameno, se desarrollo herramienta Netgui, que es
una interfaz gráfica que nos permite introducir los comandos de arranque y
configuración necesarios para Netkit de una forma sencilla.

3.4 Configuración de una LAN.


Antes de continuar con los detalles de la práctica, se recomienda leer el manual de
usuario que se ha facilitado de NetGUI para consultar el modo básico operación.

Arrancamos NetGUI y accedemos a las herramientas de edición de red. Estas


herramientas nos permiten crear los siguientes elementos: Terminal, Router, Hub y
Conexiónes entre dos de los elementos anteriores

Una vez dibujados los elementos que queremos emular, arrancaremos la configuración
que nos abrirá las correspondientes consolas de configuración de los elementos que
hayamos dibujado inicialmente. Crearemos varias redes y las analizaremos:

Curso 2015/16
Página 4
Universidad de Alcalá Laboratorio: Redes de Computadores
Departamento de Automática Grado en Ingeniería Informática

Ejercicio1:
Vamos a crear una red de dos ordenadores conectados directamente a través un hub.

Fig. 4.

Para ello seguiremos los siguientes pasos:

1. Arrancar NetGUI (netgui.sh, en /usr/local/netkit/netgui/bin) y crea una red


como la de la Figura 4. Guarda la configuración de la red con Archivo→Guardar.
Elige como nombre de directorio p0, (sin espacios).

2. Arranca los ordenadores (pc1 y pc2) y comprueba la configuración de red en cada


uno de ellos con la orden ifconfig.

3. Las maquinas recién arrancadas no tienen configuradas sus interfaces de red


Ethernet, por lo que ninguna aplicación podrá intercambiar mensajes con otras
máquinas. Sólo podría hacerlo cada máquina consigo misma a través de la dirección
127.0.0.1, que está asignada a la interfaz de loopback lo. La interfaz de loopback es
virtual, los datagramas que se envían a través de la interfaz de loopback vuelven a la
misma máquina sin llegar a salir a la red.
En pc1 ejecuta el comando ping 127.0.0.1 Comprueba como la máquina pc1
responde a sus propios pings destinados a la dirección 127.0.0.1. Repítelo para pc2.

4. Asigna 2 direcciones IP diferentes a cada máquina pero que ambas direcciones se


encuentren dentro de la misma subred. Utiliza el comando ifconfig para asignar una
dirección IP a una interfaz.

pc1 con: $>ifconfig ethO 10.0.0.1 netmask 255.255.255.0


pc2 con: $>ifconfig ethO 10.0.0.2 netmask 255.255.255.0
(Automáticamente se generan las direcciones MAC de cada tarjeta de red)

5. Comprueba que las máquinas son alcanzables entre sí. Desde pc1 ejecuta el
comando ping 10.0.0.2, y desde pc2 ejecuta el comando ping 10.0.0.1.
Eso significa que la red está bien configurada y funcionando correctamente.

Curso 2015/16
Página 5
Universidad de Alcalá Laboratorio: Redes de Computadores
Departamento de Automática Grado en Ingeniería Informática

6. Reinicia los equipos (pc1 y pc2) y comprueba si siguen conectados. Intenta razonar
que ha pasado.

7. Para hacer cambios permanentes en las interfaces de los equipos es necesario


modificar el fichero /etc/network/interfaces. Este archivo contiene
información sobre las interfaces de red de un equipo y su configuración.

8. Antes de proceder a realizar estos cambios debemos levantar la interfaz. Para ello se
pueden usar estos comandos:
 if up eth0: levanta una interfaz y accede a la configuración del fichero
interfaces.
 ifconfig eth0 up: levanta una interfaz (se invoca indirectamente al
configurar una interfaz con este comando). Si no se especifica configuración,
la toma del fichero interfaces.

9. Modifica el archivo interfaces indicando las direcciones IP de cada equipo y


255.255.255.0 como máscara de subred. Para realizar estos cambios se puede
utilizar el editor vi, siguiendo lo expuesto en la Pág. 27 del manual facilitado
“Pract_1 Introduccion_NetGUI.pdf “.

10. Reinicia los equipos, comprueba que las interfaces de red están bien configuradas y
la red operativa (ver paso 5).

Vamos a analizar el tráfico que hay entre esas dos máquinas cuando realizamos un ping.
Para ello vamos a utilizar la herramienta tcpdump que permite capturar todo el tráfico de
una interfaz de red, y posteriormente lo analizaremos en la máquina anfitrión (real) con
wireshark.

1. Arrancaremos tcpdump en una de las máquinas virtuales (pc1) con la opción –l para
que la salida sea un buffer lineal y con la opción –w que permite guardar en un
fichero todo el tráfico capturado.
Ejemplo:
pc1:~# tcpdump –l –w /hosthome/pc1.eth0.cap

2. Lanzaremos ping desde la otra máquina virtual para que se envíen 3 paquetes.
Ejemplo:
pc2:~# ping –c3 10.0.0.1

3. Cuando haya terminado ping, cerraremos tcpdump con ctrl.+c

4. Para analizar el fichero que ha escrito tcpdump tendremos que arrancar el programa
wireshark en la máquina anfitriona, es decir, en la máquina real. Por tanto el fichero
donde está la captura hay que dejarlo en un directorio visible desde la máquina
anfitriona, ese directorio es el directorio /hosthome de la máquina virtual.
Dentro de una máquina virtual de NetGUI, al grabar cualquier fichero en el
directorio /hosthome permite guardar esos ficheros en la máquina real. (Todos los
ficheros grabados en el directorio /hosthome estarán en realidad en el $HOME del
usuario en la máquina real)

Curso 2015/16
Página 6

También podría gustarte