VirtualBox

VirtualBox

Esta página te ayuará a comenzar a usar FreedomBox en una máquina virtual empleando VirtualBox. Aunque las imágenes VirtualBox se emplean sobre todo para pruebas y desarrollo también se pueden emplear para uso normal si te sobran recursos en alguna de tus máquinas. Este enfoque es útil si:

Regularmente se publican imágenes FreedomBox precompiladas para VirtualBox en formato VDI, propio de VirtualBox. Contienen un sistema operativo Debian GNU/Linux y una instalación de FreedomBox con todas sus dependencias, lista para ser ejecutada en cualquier sistema operativo soportado por VirtualBox (Windows, Linux, Macintosh, y Solaris).

Una alternativa más aventurera que descargar una de estas imágenes es instalar Debian sobre VirtualBox y luego instalar FreedomBox encima.

VirtualBox está disponible en://www.virtualbox.org (o el administrador de paquetes de tu distribución.

1. Descarga

Sigue las instrucciones de la página de descargas para descargar y verificar una imagen VirtualBox. Las imágenes están disponibles en freedombox.org.

2. Crear una máquina virtual

  1. Descomprime la imagen VDI descargada (herramienta para Windows, Mac).

  2. Crea una VM nueva en el interfaz de usuario de VirtualBox con tipo de sistema operativo Linux y Version Debian (32/64-bit según la imagen descargada).

VirtualBox Name and OS dialog

  1. En el diálogo Disco duro elige Usar un archivo de disco duro virtual existente y selecciona el fichero .vdi que extrajiste en el paso 1.

Diálogo de Disco Duro de VirtualBox

  1. Cuando esté, vé a Configuración -> [Red] -> [Adaptador 1]->[Conectado a:] de la máquina y elige el tipo de red que quieras que use la máquina de acuerdo a la explicación de Cnfiguración de Red de más abajo. El tipo recomendado es la opción Adaptador puente, pero sé consciente de que esto expone los servicios de FreedomBox a toda tu red local.

Configuración de red recomendeda para VirtualBox

Observación: Es importante asegurarse de que has proporcionado el adaptador de red correcto en el paso de arriba. Por ejemplo, si la máquina virtual está ejecutándose en un portatil conectado a una red Wi-Fi, se tiene que elegir el interfaz inalámbrico (empieza por wlp) como se muestra en la captura de pantalla.

3. Primer arranque

Cuando estés satisfecho con la configuración de la máquina virtual haz clic en el botón de inicio del interfaz de usuario de VirtualBox y tu nueva FreedomBox arrancará.

Al terminar de arrancar la consola de la máquina virtual mostrará la pantalla textual de más abajo. A partir de aquí la mayoría de la interacción con FreedomBox tendrá lugar en tu navegador a través de su interfaz web.

Consola FreedomBox tras un arrancar con éxito

Si todo fué bien hasta aquí deberías poder acceder al the interfaz web de FreedomBox dirigiendo un navegador de la máquina anfitriona a https://freedombox.local.

En caso de no poder resolver freedombox.local necesitas averiguar la dirección IP de tu FreedomBox como se describe en Averiguar la dirección IP de la máquina virtual. Accede pues a esta IP desde un navegador que esté en la misma red que la máquina virtual (por ejemplo el anfitrión). Si todo está bien se te muestra ahora un mensaje de bienvenida y se te invita a completar el proceso de primer arranque.

FreedomBox te da la bienvenida al primer arranque

Esto principalmente consiste en dar de alta un usuario administrador para el sistema.

4. Usar

Para más detalles consulta la página de uso de !FreedomBox.

Puedes ingresar en el sistema Debian GNU/Linux con el usuario dado de alta durante el primer arranque del FreedomBox desde la consola de VirtualBox o en remoto mediante SSH.

Tras ingresar puedes hacerte root con el comando sudo su.

5. Compilar imágen

Si quieres compilar tus propias imágenes en vez de descargar las imágenes disponibles se puede hacer usando Freedom Maker.

6. Consejos y resolución de problemas

6.1. Configuratción de red

VirtualBox proporciona muchas opciones para tipos de red. Cada cual con sus ventajas y desventajas. Para más información acerca de cómo funcionan diferentes tipos de red en VirtualBox consultar la documentación de redes de VirtualBox. https://www.virtualbox.org/manual/ch06.html

Para una configuración simple se recomienda que uses un único interfaz de red en tu máquina invitada. Esto hará que el script de primer arranque configure automáticamente ese interfaz como una red interna con configuración de red automática. Dentro de la máquina invitada la red se configura automáticamente y todos los servicios se dejan disponibles en este interfaz de red. Para más información acerca de como se configuran las redes por defecto en FreedomBox mira la sección Redes.

Lo que resta es dejar estos servicios disponibles para la máquina anfitriona y otras máquinas de la red. Tienes que elegir uno de los siguientes tipos de red para el interfaz de red de tu máquina invitada. Para establecer un tipo de red en particular para el adaptador de red de la invitada vé a la configuración de la máquina virtual, sigue por las opciones de red, y selecciona ahí el adaptador que quieres configurar. Entonces establece el tipo de red de entre la lista de redes disponibles.

  1. La opción primera y recomendada es usar el tipo de red puenteada. Esta opción expone a la máquina invitada a la misma red a la que está conectado el antifrión. La invitada obtiene la información para la configuración de la red de un router o servidor DHCP de la red. La invitada aparecerá como una máquina más de la red. Una ventaja principal de esta configuración es que tanto el anfitrión como las demás máquinas de la red podrán acceder a los servicios proporcionados por la invitada sin más configuración. La única limitación de este enfoque es que si el anfitrión no está conectado a ninguna red la invitada quedará sin configurar y no será accesible ni siquiera desde el anfitrión.

  2. El segundo método es el tipo de red sólo-anfitrión. Con un interfaz de red de la invitada configurado de este modo, sólo estará accesible desde el anfitrión, así que no tienes acceso desde internet a la invitada. Todos los servicios de la invitada están accesibles al anfitrión sin más configuración.

  3. La tercera opción es usar el tipo de red NAT. Este es el tipo de red que VirtualBox asigna por defecto a una máquina virtual recién creada. Esta opción funciona aunque el anfitrión no esté conectado a ninguna red. La invitada se configura automáticamente y puede acceder a internet y a las redes locales a las que se pueda conectar el anfitrión. No obstante los servicios proporcionados por la invitada requiren configuración de redireccionamiento de puertos para estar disponibles desde fuera.

    Para configurar esto ve a la configuración de la máquina virtual -> [Red] -> [Adaptador] -> [NAT] -> [Reenvío de puertos]. Mapea un puerto como el 2222 del anfitrión al puerto 22 de la invitada y podrás ingresar por SSH a la FreedomBox desde el anfitrión así:

     ssh -p 2222 fbx@localhost

    Mapea el puerto 4443 del anfitrión al puerto 443 de la invitada. Esto deja disponible el servicio HTTPS de FreedomBox al anfitrión usando la URL https://localhost:4443 Necesitarás añadir un mapeo desde el anfitrión a la invitada para cada servicio similar.

  4. La última opción es crear 2 interfaces de red, 1 solo-anfitrión y 1 del tipo NAT. De este modo puedes acceder a la invitada sin más configuración y tienes acceso a internet en la invitada. La invitada será invisible a otras máquinas de la red.

Resumen de varios tipos de red:

-

Invitada accesible desde otras máquinas

Invitada accesible desde el anfitrión

Funciona sin redirección de puertos

Funciona sin anfitrión conectado a la red

Invitada tiene acceso a internet

Puenteado

(./)

(./)

(./)

{X}

(./)

solo-anfitrión

{X}

(./)

(./)

(./)

{X}

NAT

(./)

(./)

{X}

(./)

(./)

Red interna

{X}

(./)

(./)

(./)

(./)

6.2. Averiguar la dirección IP de la máquina virtual

Esto depende del tipo de red que elijas. Con un Adaptador puente tu máquina virtual obtiene su dirección IP desde el servidor DHCP de tu red, que probáblemente sea tu router. Puedes probar algunas de las primeras direcciones IP o buscar una lista de dispositivos conectados en el interfaz web de tu router.

Si eliges Adaptador sólo-anfitrión la dirección IP la asigna el servidor DHCP de la red de tu VirtualBox. En el Administrador de VirtualBox vé a Archivo -> Preferencias -> Red -> Redes solo-anfitrión. Ahí puedes ver y editar el rango de direcciones. Típicamente obtienes direcciones asignadas cercanas al Límite Inferior de Direcciones.

Otra posibilidad para averiguar la dirección IP es ingresar mediante el Administrador de VirtualBox (o algún software similar). Las imágenes FreedomBox no tienen cuentas de usuario por defecto, así que necesitas establecer un usuario y contraseña iniciales usando el script passwd-in-image.

Ver también la Guía de inicio rápido para instrucciones sobre cómo escanear tu red para averiguar la dirección IP de la máquina virtual.

6.3. Problemas de red con macchanger

El paquete macchanger puede causar problemas de red con VirtualBox. Si tienes una dirección IP válida en el adaptador de red del anfitrión de la invitada (como 192.168.56.101) pero no puedes hacer ping o acceder al anfitrión (como 192.168.56.1) prueba a desinstalar macchanger:

$ dpkg --ignore-depends=freedombox-setup --remove macchanger 

Podrías necesitar eliminar a mano el script /etc/network/if-prep-up/macchanger. Si Debian se queja de dependencias unmet cuando usas un administrador de paquetes (apt-get, aptitude, dpkg) prueba a eliminar 'macchanger' de entre las dependencias de 'freedombox-setup' en el fichero /var/lib/dpkg/status.

6.4. Montar imágenes en local

Si quieres montar imágenes en local, usa lo siguiente para copiar imágenes compiladas fuera de la VirtualBox:

$ mkdir /tmp/vbox-img1 /tmp/vbox-root1
$ vdfuse -f freedombox-unstable_2013.0519_virtualbox-i386-hdd.vdi /tmp/vbox-img1/
$ sudo mount -o loop /tmp/vbox-img1/Partition1 /tmp/vbox-root1
$ cp /tmp/vbox-root1/home/fbx/freedom-maker/build/freedom*vdi ~/
$ sudo umount /tmp/vbox-root1
# $ sudo umount /tmp/vbox-img1 # corrupción aquí.

6.5. Arreglar la hora tras retomar una suspensión

La máquina virtual pierde la fecha/hora correcta tras suspender y retomar. Una forma de arreglarlo es crear una tarea cron que reinicie el servicio horario ntp. Puedes añadir como root una entrada crontab para reiniciar ntp cada 15 minutos tecleando 'crontab -e' y añadiendo esta linea:

*/15 * *   *   *     /etc/init.d/ntp restart

No reinicies este servicio con demasiada frecuencia porque esto aumenta la carga de los servidores NTP disponibles publica y gratuítamente.

6.6. Colisión de UUID en VirtualBox

Cuando esto ocurre VirtualBox muestra entre los Detalles el siguiente mensaje de error: Cannot register the hard disk A with UUID ... because a hard disk B with UUID ... already exists in the media registry

Crear varias máquinas virtuales a partir de la misma imágen causa colisiones por identificadores (hostname, IP, UUID, etc) que se suponen únicos. La mayoría se pueden tratar operando la máquina virtual una vez levantada. Pero VirtualBox se queja del UUID del disco antes de llegar ahí (durante la propia creación de la máquina virtual). Esto es habitual cuando desarrollas/pruebas p.ej. FreedomBox.

Puedes cambiar el UUID de un clon desde el terminal así:

$ VBoxManage internalcommands sethduuid ruta/al/fichero/vdi/del/disco


CategoryFreedomBox