Archive for the ‘Virtualización’ Category

Montaje de ficheros .vdi (ficheros de imagen de VirtualBox) desde Linux

May 3, 2014

Revisando el blog El valle del Viento Helado, me he encontrado con un post de hace 2 años donde, entre otras cosas, viene esta información sobre cómo se puede montar un archivo VDI (archivos de VirtualBox) en Linux:

Montar ficheros .vdi desde Linux

Para poder montar archivos .vdi (los discos duros del VirtualBox) es necesario recurrir a qemu y a la utilidad qemu-ndb que viene incluido en el paquete. El kernel de Linux debe de tener soporte para Network Block Device, que permite que Linux sea un servidor remoto de su sistema de ficheros. Los pasos que hay que dar, aparte de tener instalado qemu y de asegurarase que el kernel tiene soporte para nbd compilado como módulo:

modprobe nbd
qemu-nbd -c /dev/nbd0 fichero.vdi
ls -al /dev/nbd0p*
mount -t ext3 /dev/nbd0p1 /mnt

La secuencia de órdenas anterior realiza los siguientes pasos:

  1. Carga el módulo de network block device.
  2. Usando qemu, asigna el dispositivo /dev/nbd0 con el fichero que se le indica
  3. Las particiones que tiene el dispositivo aparecerán una ver ejecutada la orden anterior como /dev/nbd0pN, donde N es un entero que indica el número de partición: de la 1 a la 4 indica particiones primarias.
  4. Montamos la primera partición en /mnt

Una vez que se ha acabado de usar los discos, se desmonta la partición que se está usando y se desactiva el network block device que se ha creado con qemu-nbd:

umount /mnt
qemu -d /dev/nbd0

Por defecto, el sistema creará 16 network block devices que se pueden usar para ver los ficheros .vdi.

Directorio web de máquinas virtuales

June 14, 2012

CloudZoom es un sitio web que proporciona una manera simple, rápida y conveniente para encontrar máquinas virtuales de múltiples proveedores y para su uso con VMware, Amazon, Xen, KVM, Parallels y VirtualBox.

 

Exploit que se aprovecha de un error grave de los chips de Intel

March 20, 2009

Leyendo Barrapunto.com me he encontrado el siguiente post (he resaltado lo que más me ha llamado la atención con negrita):

Leo en networkworld.com que hoy se presenta un nuevo exploit que se aprovecha de un error grave de los chips de Intel. Los investigadores Joanna Rutkowska y Loïc Duflot van a publicar un articulo y código de ejemplo para un nuevo exploit del SMM que se instala a través de una vulnerabilidad del sistema de cache de los chips Intel. El exploit permite hacer una escalada de privilegios desde el anillo 0 hasta el SMM en muchas placas Intel modernas. Joanna, que ya era conocida por descubrir Blue Pill hace unos años, ha aclarado que no van a publicar un rootkit, pero que sin embargo seria posible usar este exploit para instalar rootkits de SMM ya existentes.
Lo preocupante de un exploit de este tipo es que el SMM tiene mas privilegios que el hypervisor y que no es controlable por ningún sistema operativo. Así que este no es capaz ni de interceptar ni de desactivar las interrupciones de este sistema. En la practica, no hay forma de saber que se esta ejecutando en ese nivel del sistema y no hay nada que el sistema operativo pueda hacer.

La razón de publicarlo ahora es que ambos investigadores avisaron a Intel hace un año y todavía no se ha resuelto. Es mas, la primera mención sobre la posibilidad de un ataque de este tipo es del 2005, por parte de la propia Intel. En resumen, esa vulnerabilidad lleva ahí años, y si la conocían tanto Intel como estos dos investigadores la han descubierto, hay razones para creer que pudiera haber más personas que la conozcan y que hasta la estén usando. En palabras de la propia Joanna:

Si hay un bug en alguna parte y se queda sin arreglar el tiempo suficiente, esta garantizado que otra gente la (re)descubrirá y la explotara, antes o después. Así que, no culpen a los investigadores que buscan y publican información acerca de estos errores, en realidad están haciéndole un favor a nuestra sociedad.
Añadido: enlace donde ha sido publicado el White Paper y el exploit:

http://invisiblethingslab.com/itl/Resources.html

Loads of VDI images!! (and cool info about VDI file format)

March 3, 2009

With this two links you have access to loads of  virtual machines (most of them are GNU/Linux) that you can download for free and can save you the pain of downloading an ISO, burning it, reboot, install, etc.

  1. http://virtualbox.wordpress.com
  2. http://VirtualBoxImages.com

Don’t forget to say thanks to the webmasters 😉

If you’re interested in the file format of the VirtualBox VMs, you definitly should read this thread on the forums which explains a lot of interesting things about this disk image format and how you can make the most of it. For example, it answers questions like:

Manual de configuracion de redes con VirtualBox traducido al Español

March 3, 2009

Por si no lo conocéis, VirtualBox es un programa que nos permite ejecutar un sistema operativo dentro de otro, lo que viene muy bien para probar nuevos sistemas sin perder el acceso a nuestro sistema operativo favorito. Ambos sistemas se pueden comunicar como si estuvieran conectados s través de una red física real. Esto, en ocasiones puede ser complicado de configurar y para eso viene muy bien tener la documentación a mano.

Sin embargo, ésta está en inglés, pero para quien no se le de bien ese lenguaje hay gente realizando traducciónes desinteresadas. Hoy he visto un documento en PDF que traduce la parte del manual relacionada con la configuración de la red. Se puede descargar aquí.

El manual está bastante bien pero hay que tener en cuenta que no está hecho a partir de la última versión (en el momento de escribir esto, es la 2.1.4) por lo que quizás encuentres pequeñas diferencias si estás totalmente actualizado.

Instalación de Virtual Box en Debian y configuración de la red virtual

November 17, 2008

En mi experiencia, lo más problemático del uso de V.Box es la configuración de la red, así que pongo aquí estas instrucciones basadas en un artículo similar de la revista UXI nº16.

VirtualBox OSE es un programa de virtualización con licencia GPL, con el que puedes ejecutar un sistema operativo como si fuera una aplicación de otro (por ejemplo, Windows en Linux y viceversa). Tengo que corregir al artículo original, que dice que es el primer sistema de virtualización libre, porque antes de que apareciese, al menos ya existían Bochs y QEMU (del que VBox toma partes del código).

Es muy bueno en el uso de servidores, pues cuenta con un sistema de snapshots que nos permite regresar hacia el estado anterior en que se encontraba el sistema operativo cuando hicimos la snapshot. Además, posee funcionalidades para reconocimiento de cdrom, puertos usb, varios adaptadores de red, y algo muy importante: siendo mucho más ligero que el VMWare, su homólogo propietario que cuenta con versiones para GNU/Linux y Windows, nos permite incluso ejecutar cualquier sistema virtualizado que hayamos creado con este, por lo que nunca será un inconveniente su uso, sino todo un ahorro de memoria. Más información en http://www.virtualbox.org/wiki/News

Para la instalación de la máquina virtual libre VirtualBox en Debian es necesario seguir esta secuencia de pasos:

1.0- Instalar software necesario para poder instalar la máquina virtual

1.1- Instalar headers (cabeceras) del kernel

Para ello si usamos un kernel linux-image-2.6.X instalar los headers del mismo (linuximage-2.6.X)
En nuestro caso, usando Debian Etch con el kernel linux-image-2.6.18-6-686 o linuximage-2.6.18-5-686 instale las cabeceras linuxheaders-2.6.18-6-686 o linuximage-2.6.18-5-686 respectivamente. Ademas usando testing tambien he usado VirtualBox con el kernel linux-image-2.6.22-3-686 e instalando linux-headers-2.6.22-686. Ejemplo para instalar los headers:

apt-get install linux-headers-2.6.18-6-686

1.2- Instalando build-essential

Simplemente hay que ejecutar: apt-get install build-essential

1.3- Instalando software necesario para configurar la red

apt-get install bridge-utils

2.0- Instalando y configurando la máquina virtual

2.1- Instalando el software necesario:

Para ello es necesario ejecutar en la consola:

aptitude install virtualbox-ose virtualbox-osesource
module-assistant
m-a prepare
m-a a-i virtualbox-ose

Nota: es necesario aclarar que estos paquetes no están en los repositorios oficiales de Debian estable, por lo que si los necesitamos instalar en esta version de Debian, necesitaremos configurar los repositorios de backports a los cuales tengamos acceso (donde se colocan los paquetes de Debian Lenny o Sid compilados para estable – como en el caso de virtualbox o la maquina virtual 6 de java y muchos otros) . Otra opción sería buscarlos por Internet o compilarlos nosotros mismos para Debian estable (algo que no aconsejo para usuarios principiantes). Tampoco aconsejo configurar los repositorios testing o inestable para instalarlos, pues puede causar problemas en tu sistema.

2.2- Adicionando nuestro usuario al grupo vboxusers

Para que nuestro usuario pueda ejecutar la maquina virtual, es necesario adicionarlo al grupo vboxusers. En mi caso, el usuario de mi máquina es usuario. En el caso de quien use esta documentación debe sustituir dicho nombre por el del usuario con el que quiera ejecutar la maquina virtual. Para ello ejecutaremos esto:

adduser usuario vboxusers
usermod -aG vboxusers usuario

2.3- Haciendo que se cargue el módulo del kernel para el uso de VirtualBox

Para ello debemos editar el archivo /etc/modules, en el cual se colocan los módulos del kernel que queremos que se ejecuten. Para ello hay que ejecutar lo siguiente:

nano /etc/modules

Ahí escribimos:

vboxdrv

Al reiniciar nuestro sistema ya tendremos nuestra máquina virtual lista para comenzar a darle uso.

Notas:
1- Si no queremos reiniciar, podemos ejecutar modprobe vboxdrv, lo cual nos carga este módulo del kernel al instante, aunque si no editamos el fichero mencionado, la próxima vez que reiniciemos nuestro sistema no estará cargado el módulo.
2- Para comprobar que el modulo del kernel se esta cargando en nuestro sistema podemos ejecutar la orden:

lsmod | grep vboxdrv

Debe darnos una salida parecida a esta:

vboxdrv 47456 0

3.0- Configurando la red para que lograr nuestra máquina virtual tenga red

3.1- Editando archivos de configuración de la red

Para hacer que cuando creemos nuestra máquina virtual, ésta se pueda comunicar con las demás máquinas de nuestra LAN o Internet debemos editar el archivo de configuración de la red de nuestra maquina (la maquina en la cual estamos instalando VirtualBox). Para ello editar el archivo interfaces a través del siguiente comando:

nano /etc/network/interfaces

De este archivo les muestro un ejemplo de la configuración de mi ordenador:

auto lo
iface lo inet loopback
iface br0 inet static
address 10.33.2.151
netmask 255.255.255.0
network 10.33.2.0
broadcast 10.33.2.255
gateway 10.33.2.254
bridge_ports all
auto br0

Como puedes ver, la interfaz eth0 ha sido cambiada por br0 en iface br0 inet static y auto br0. Además, se ha introducido el parámetro bridge_ports all. Con este ejemplo de configuración mostrado, sólo necesitarás adaptarlo a la subred usada para cada caso específico cambiando su dirección IP, máscara de red, broadcast y gateway. Hasta aquí, si hemos configurado adecuadamente el fichero mencionado anteriormente, sólo nos queda reiniciar nuestros servicios de red.

3.2- Reiniciando servicios de red

Sólo necesitaremos teclear una orden en la consola, que es:

/etc/init.d/networking restart

3.3- Creando la interfaz de red para el usuario que la usará.

Para crear la interfaz de red y que sea usada por el usuario que ejecutará el Virtualbox sólo debemos teclear en la consola el siguiente comando:

VBoxAddIF vbox0 usuario br0

Una vez ejecutado, nos debe mostrar una salida similar a esta:

VirtualBox host networking interface creation utility, version 1.5.6_OSE
(C) 2005-2007 innotek GmbH
All rights reserved.
Creating the permanent host networking interface "vbox0" for user usuario.

Nota: En el comando especificado anteriormente, usuario es el usuario que ejecutará la maquina virtual, es decir, el usuario con el que trabajamos en nuestra maquina.

3.4- Configurando VirtualBox luego de ser ejecutado

En este paso, lo primero que haremos será ejecutar VirtualBox. Lo podemos hacer ejecutando la combinación de teclas alt+f2 y escribiendo virtualbox. Luego crearemos una nueva máquina virtual pulsando en Nueva (o New) y seguir una secuencia de pasos bastante intuitiva. Tras haber creado la máquina virtual, pulsaremos sobre configuración / red y en donde se le dice la interfaz a usar marcamos anfitrión (host interface si la tenemos en inglés) y en el cuadro de dialogo de abajo, donde dice nombre de la interfaz (interface name) ponemos:

vbox0

Hasta aquí, solo para estar seguro de que los cambios han tenido efecto (ejemplo: que no se cierre la sesión nuestro usuario se quede sin permisos para iniciar una máquina virtual) reiniciamos nuestro sistema y procedemos a instalar cuantos sistemas operativos necesitemos sin necesidad de tener que instalarlos en la propia máquina física.

Nota aclaratoria:

Paralelamente a la realización de esta documentación, se fue haciendo lo descrito en un ordenador con Debian etch instalado y usando el kernel linux-image-2.6.18-6-686 y todo funcionó a la perfección luego de reiniciar el sistema.

Fecha en que fue elaborado el documento: 6 de febrero del 2008

21 emuladores de consolas de videojuegos en Linux

November 14, 2008

En LinuxLinks han realizado una lista de 21 emuladores que nos ofrecen la posibilidad de jugar a multitud de juegos de diferentes consolas de videojuegos. Aquí va una traducción de esa lista, vía MuyLinux:

1. Nintendo

DEsMuMe: emulador de Nintendo DS.
FCEUX: emulador de la NES tanto para PAL como para NTSC.
KiGB
: emulador para la Game Boy, Game Boy Color y Super Game Boy.
Mednafen
: emulador para la Game Boy, Game Boy Color y Game Boy Advance.
Mupen64Plus: emulador de la Nintendo 64.
Nestopia
: Emulador NES.
TuxBoy: Fork del emulador GNUBoy de la Game Boy y Game Boy Color.
VisualBoyAdvance: emulador de la Game Boy Advance con soporte de ROMs GBA, GBC, y SGB.
ZSNES: emulador de la Super Nintendo Entertainment System.

2. Sega

DGen/SDL: emulador de Sega Genesis.
Gens: emulador de Sega Megadrive, MegaCD y 32X.
lxdream: emulador de la Dreamcast.
Meka: emulador multimáquina que nació como emulador de la Sega Master System.
Yabause: emulador de la Sega Saturn.

3. Sony

ePSXe: emulador de la PlayStation 1.
PCSX: emulador avanzado de la PlayStation 1.
PCSX2: emulador de la PlayStation 2.
pSX: emulador autocontenido de la PlayStation 1.

4. Arcade

AdvancedMAME: versión no oficial de MAME/MESS.
GnGeo
: emulador de la Neo-Geo.
SDLMAME: un port del famoso emulador MAME.