Sie sind auf Seite 1von 29

Prcticas de redes de ordenadores con VirtualBox

Este tutorial est basado y probado en la versin 3.2.4r62467 de VirtualBox. Las mquinas virtuales (VM, Virtual Machine) utilizan un S.O. Linux, en concreto la distribucin Fedora Core 11.

Creacin de mquinas virtuales a partir de una mquina virtual base (Referencia: http://forum.virtualbox.org/viewtopic.php?f=1&t=23586&start=0) En este apartado se crear una mquina virtual base que ser clonada para generar varias mquinas virtuales iguales. Para estas mquinas clonadas slo se guardarn las diferencias entre los discos duros con la VM base, de forma que se reducir notablemente el espacio requerido en disco. As, si el disco duro de una VM requiere por ejemplo 5GB, una VM base y 3 clonadas requeriran 20GB. Sin embargo, al usar discos diferenciales (differencing disks) slo se requeriran 5GB + el espacio necesario para guardar las diferencias (del orden de pocas centenas de MB, dependiendo de esas diferencias).

Esta idea ya es habitual en otras soluciones, como los clones enlazados (linked clones) de VMWare. Aunque tambin es posible utilizar este concepto en VirtualBox, no se puede hacer directamente a travs de mens sencillos ni es trivial su uso. Sin embargo, los siguientes pasos lo permiten, reducindose as las necesidades de almacenamiento de un ordenador donde queramos crear varias VMs similares. Paso 1. Crear una mquina virtual base: New Name=VMbase, OS=Linux, Version=Fedora (e.g. memoria base=256Mb, create new hard disk with dynamically expanding storage, e.g. con 30GB).

Paso 2. Instalar el S.O. E.g. Fedora Core 11, devices mount CD/DVD-ROM elegir la imagen .iso o el DVD con FC11 para instalarlo. Se instala como cualquier PC. Paso 3. El disco duro de esa mquina hay que hacerlo inmutable, para que no pueda modificarse. Para ello:

a) Desconectar el disco duro de la mquina virtual (Settings Storage Open Virtual Media Manager elegir el disco duro y pulsar Release).

b) En la lnea de comandos ejecutar: VBoxManage modifyhd <VDI> --type


immutable

<VDI> es el nombre del disco duro (File Virtual Media Manager fichero <VDI>.vdi; tambin se puede obtener con el comando VBoxManage showvminfo<VMName>, donde <VMName> es el nombre de la mquina virtual creada).
VBoxManage.exe showhdinfo"C:\Users\Jorge\.VirtualBox\HardDisks\VMbase.vdi"

Paso 4. Crear la mquina virtual que ser un clon de la mquina virtual base (igual que paso 1).

Paso 5. Conectar el disco duro inmutable a la mquina virtual clon. Al arrancar se creara un disco duro diferencial (differencing disk) con las diferencias entre el disco duro base y los cambios que ejecutemos en esta mquina virtual (no hay que arrancar la mquina en este paso).

Paso 6. Encontrar el identificador UUID del disco duro diferencial ejecutando VBoxManage showvminfo <VMName>, donde <VMName> es el nombre de la mquina virtual clon.

Paso 7. Hacer que el disco duro diferencial no se elimine cada vez que arrancamos la VM clon (opcin por defecto). Para ello ejecutaremos VBoxManage modifyhd <UUID> --autoreset off.

Paso 8. Repetir los pasos 4 al 7 tantas veces como mquinas virtuales clones queramos crear, e.g. VMbase_clone1, VMbase_clone2 y VMbase_clone3.

Hay que considerar las limitaciones del HW donde estamos ejecutando las VMs, principalmente memoria, procesador y disco duro. Por ejemplo, si la memoria es de 1GB y ejecutamos a la vez 3 mquinas virtuales con 256MB cada una, dejaramos al sistema anfitrin (S.O. de la mquina real) con 1GB 3*256MB = 256MB, lo que hara que nuestro sistema fuese muy lento. En este ejemplo sera imposible ejecutar simultneamente 4 o ms mquinas virtuales (por falta de memoria). Configuracin de mltiples redes entre las mquinas virtuales El escenario que se quiere montar en este ejemplo es el representado por la siguiente figura:

Como se observa, cada VM tiene un interfaz de red hacia el exterior (conexin a Internet) y otros interfaces (1 2) hacia las otras VMs (redes 1 y 2, internas entre mquinas virtuales). Configuracin del interfaz que accede al exterior (Internet) mediante NAT (Referencia: http://www.virtualbox.org/manual/UserManual.html#changenat) Hay que hacer que cada mquina tenga una direccin distinta en el acceso al exterior, ya que, al partir de la misma VM base, inicalmente tienen la misma direccin IP. Por defecto, se utiliza una direccin del rango 10.0.x.0/24 para cada interfaz conectado al exterior, empezando por x=2 (primer interfaz de red direccin 10.0.2.15; segundo interfaz de red direccin 10.0.3.15, ). En nuestro ejemplo se utilizarn los rangos 192.168.10+x.0/24, siendo x=1, 2 3 segn la VM de la que se trate. Para modificar la direccin de cada mquina se puede utilizar el comando:

VMbase_clone1:

VBoxManage --natnet1"192.168.11/24" VMbase_clone2: VBoxManage --natnet1"192.168.12/24" VMbase_clone3: VBoxManage --natnet1"192.168.13/24"

modifyvm modifyvm modifyvm

"VMbase_clone1" "VMbase_clone2" "VMbase_clone3"

As sern de redes diferentes y no habr conflicto de direcciones. NOTA: Si algn interfaz (de otras redes, e.g. internas entre mquinas virtuales) tiene definida una pasarela (gateway), el interfaz de red que accede al exterior no funcionar correctamente porque la ruta por defecto la defini el primer interfaz. Dicho de otro modo, no debe haber definida ninguna ruta por defecto para que el interfaz que accede al exterior aada una ruta por defecto a travs del motor de red de VirtualBox (direccin 2 de la red NAT creada, e.g. 192.168.11.2). Configuracin de interfaces para redes entre mquinas virtuales En primer lugar, hay que configurar los interfaces de red y las redes a las que se conectarn las VMs. El caso que se muestra es el de la VM VMbase_clone2, ya que es la que tiene mayor complejidad. Tendr un interfaz que se conecta al exterior mediante NAT, otro conectado a la red interna (entre VMs) red1 y un ltimo conectado a la red internared2. En VirtualBox Machine Settings Network:

La configuracin de la VM debe quedar:

Despus habr que configurar los interfaces de red en el Sistema Operativo instalado. En el caso de Fedora Core 11 se puede utilizar System Administration Network:

Tambin se podra hacer modificando directamente los ficheros /etc/sysconfig/networkscripts/ifcfg-ethX (en Fedora Core y RedHat, en otras distribuciones puede ser diferente):

Adems de configurar los interfaces de red de las diferentes VMs, hay que realizar algunos cambios para conseguir el escenario deseado:

VMbase_clone1: creacin de ruta hacia la red 2

route add -net 172.16.2.0 netmask 255.255.255.0 gw 172.16.1.222

VMbase_clone2: actuacin como router (reenvo de paquetes)

echo 1 > /proc/sys/net/ipv4/ip_forward

VMbase_clone3: creacin de ruta hacia la red 1

route add -net 172.16.1.0 netmask 255.255.255.0 gw 172.16.2.222

Otras opciones de red interesantes (no siempre harn falta) deshabilitar el uso (no aceptar y no enviar) de mensajes ICMP redirects (para informar de rutas ms directas):
echo 0 > /proc/sys/net/ipv4/conf/all/accept_redirects echo 0 > /proc/sys/net/ipv4/conf/default/accept_redirects echo 0 > /proc/sys/net/ipv4/conf/<ethX>/accept_redirects,

donde <ethX> es

el interfaz de red deseado (e.g. eth0)


echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects echo 0 > /proc/sys/net/ipv4/conf/<ethX>/send_redirects,

donde <ethX> es el

interfaz de red deseado (e.g. eth0) Para que estos cambios sean permanentes, se pueden copiar los comandos a los ficheros $HOME\.bashrc de las respectivas mquinas virtuales (e.g. gedit $HOME\.bashrc & y aadir los comandos al final del fichero). Para probar que todo funciona correctamente, se puede hacer un ping entre todos los ordenadores. VirtualBox Guest Additions (VBTools) Esta herramienta permite mejorar la interaccin entre el Sistema Operativo anfitrin (host) y el Sistema Operativo husped (guest). Por ejemplo, permite cambiar el foco entre uno y otro cuando el ratn sale de la ventana de VirtualBox, permite copiar texto en el portapapeles y pegarlo en el otro Sistema Operativo, etctera. En VirtualBox Devices Install Guest Additions se monta un CDROM con el programa a instalar.

Tras instalarlo hay que decirle al S.O. que lo ejecute al arrancar. En el caso de FC11 sera enSystem Preferences Startup programs Add (name=vboxclient,command=/usr/bin/VBoxClient-all, comment=VirtualBox User Session Services) (comprobar si lo aade automticamente).

Directorios compartidos Una manera sencilla para compartir ficheros entre el S.O. anfitrin y el S.O. husped sera utilizar una memoria usb. Sin embargo, sera ms sencillo poder tener un directorio del disco duro que fuese accesible tanto para la mquina real como para la mquina virtual. Esto se conoce como directorio compartido.

Para crear un directorio compartido, en VirtualBox VM settings shared folders (+) directory (e.g. d:\work), name(e.g. work).

En Linux dentro del fichero $home\.bashrc (el fichero que ejecuta comandos y procesos al arrancar la sesin del usuario puede variar en funcin de la distribucin de Linux utilizada), hay que incluir la lnea mount -t vboxsf work /mnt/work.

Uso bsico de la herramienta YUM Comprobacin de la existencia de un paquete para su posterior instalacin:
yum list nombre_de_paquete,

e.g. yum list xinetd

Instalacin de un paquete:

yum install nombre_de_paquete_completo,

e.g. yum install xinetd.i586

Instalacin del superservidor xinetd:


yum install xinetd.i586

Instalacin del servidor de telnet (requiere xinetd):


yum install telnet-server.i586

Instalacin de un servidor de FTP: Pasos a seguir para instalar vsftpd: 1) yum install vsftpd 2) Editar el fichero /etc/vsftpd.conf:

Cambiar anonymous_enable=YES a anonymous_enable=NO para deshabilitar el uso de FTP annimo. Descomentar local_enable=YES para habilitar el uso de cuentas en la mquina local (i.e. el servidor FTP). Comentar listen=YES para permitir que xinetd pueda escuchar en su lugar.

Para configurarlo con xinetd: (Referencia: http://www.polarhome.com:793/~anujhere/2008/07/01/vsftpd-integrationwith-xinetd-on-linux/): 1) Crear un fichero /etc/xinetd.d/vsfpt con las entradas siguientes:
# default: off # description: The vsftpd FTP server serves FTP connections. It uses # normal, unencrypted usernames and passwords for authentication. service ftp{ disable = no socket_type = stream wait = no user = root server = /usr/sbin/vsftpd nice = 10 #allow only 10.1.10.2 machine only_from = 10.1.10.2 }

2) Editar el fichero /etc/vsftpd/vsftpd.conf y comentar la lnea con listen=YES. 3) Reiniciar el servicio xinetd.
/sbin/service xinetd reload

Para comprobar la configuracin se ejecuta el comando:

netstat -a |grep ftp

Y para eliminar conflictos en tiempo de arranque hay que para el servicio vsftpd.
chkconfig vsftpd off

Una vez comprobado que vsftpd est integrado con xinetd, hay que comprobar que xinetd arranca de forma automtica.
chkconfig xinetd on

Instalacin de wireshark:
yum install wireshark-gnome

Otras cosas: # Instalar KDE en Ubuntu (Referencia: http://www.my-guides.net/en/content/view/120/26/)


sudo aptitude update && sudo aptitude install kubuntu-kde4-desktop

(Referencia: http://www.watchingthenet.com/switch-between-gnome-and-kde-desktopsin-ubuntu-or-kubuntu.html) # KDE: sudo apt-get install kubuntu-desktop # GNOME: sudo apt-get install ubuntu-desktop Terminal en el men contextual: # KDE Terminal en men contextual (Referencia: http://ubuntuforums.org/showthread.php?t=455627) En un terminal, ejecutar kcontrol. Entonces, navegar al desktop behaviour mouse button actions right button custom menu 1 pulsar el botn edit, y configurar cualquier accin u opcin que se requiera al men contextual (botn derecho del ratn). # GNOME: apt-get install nautilus-open-terminal

Das könnte Ihnen auch gefallen