wiki:Version2/VirtualBox

Version 6 (modified by trac, 7 years ago) (diff)

--

Requisitos

Una vez instalado VirtualBox a través del gestor de paquetes de tu distribución procedemos a configurarlo para usarlo como cliente Opengnsys. Estos pasos se han probado en ArchLinux usando la versión 4.1.2 de VirtualBox.

Módulos

Hay que asegurarse de que los módulos: vboxdrv, vboxnetflt y vboxnetadp se encuentren cargados. Añádelos a /etc/modules (o /etc/rc.conf para ArchLinux) para asegurar que lo estén en cada arranque:

vboxdrv
vboxnetflt
vboxnetadp

También se pueden cargar manualmente con el comando modprobe, por ejemplo:

# modprobe vboxdrv

Configuración de VirtualBox

Lo primero que necesitamos es la Oracle VM VirtualBox Extension Pack. Se puede descargar desde http://www.virtualbox.org/wiki/Downloads. Una vez descargado abrimos VirtualBox y seleccionamos en el menú: File -> Preferences. Se nos abrirá una ventana donde seleccionamos la opción Extensions. Le damos al botón de añadir una y buscamos el archivo descargado. Tardará unos instantes en instalarse. Sin cerrar la ventana de preferencias, seleccionamos ahora la opción Network. Añadiremos una nueva interfaz de red que probablemente se llame vboxnet0. Podemos editarla y rellenar con estos datos por ejemplo:

IPv4 Address: 172.16.0.1
IPv4 Netmask: 255.255.255.0

El resto de datos no tienen porque rellenarse y el servidor DHCP lo desactivamos. Ya podemos cerrar la ventana de preferencias.

Configuración de dnsmasq

En el fichero de configuración /etc/dnsmasq.conf tenemos que fijarnos en que al menos la interfaz que se va a usar sea la que acabamos de crear con VirtualBox, probablemente vboxnet0. También se puede añadir maquinas para que tengan IP fijas. Por ejemplo podría quedar así el fichero de configuración:

interface=vboxnet0
dhcp-range=172.16.0.2,172.16.0.254,1h
dhcp-option=option:router,172.16.0.1
dhcp-option=option:dns-server,80.58.0.33,80.58.32.97
dhcp-option=option:domain-name,example.com

dhcp-host=aa:bb:cc:dd:ee:02,172.16.0.2
dhcp-host=aa:bb:cc:dd:ee:03,172.16.0.3

dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/opt/opengnsys/tftpboot/

Que no se nos olvide reiniciar este servicio después de aplicar los cambios.

Configuración de maquinas virtuales

Accedemos a la configuración de una maquina virtual que haya sido previamente creada, para ello presionamos sobre el botón Settings después de seleccionarla. La maquina debe estar apagada. Le damos a la opción System. Habilitamos la opción Network dentro de la opción Boot order y la ponemos en primer lugar. Luego nos vamos a la opción Network y ponemos Attached to: a Host-only y la interfaz a la que creamos anteriormente, probablemente vboxnet0. También podemos aprovechar para cambiar la MAC y usar alguna que hayamos configurado como IP fija en dnsmasq.

Con esto es suficiente para que las máquinas virtuales arranquen por red. Si queremos además que tengan internet hay que seguir el siguiente paso.

Configuración para ofrecer internet

En el fichero /etc/sysctl.conf buscamos la línea ‘net.ipv4.ip_forward’ y la descomentamos para que quede así:

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

Para que tenga efecto sin tener que reiniciar podemos usar el comando:

# sysctl -p

Además hay que arreglar esta regla de iptables:

# iptables -t nat -I POSTROUTING -s 172.16.0.0/24 -j MASQUERADE

Si se quiere que se ejecute al inicio en cada arranque se deberá configurar manualmente según la distribución.