Cuando creas una máquina virtual con VirtualBox, con las opciones de red por defecto, esta cuenta con conexión a cualquier recurso en la red al que tenga acceso la máquina anfitriona (conexión a Internet incluida) y puede compartir archivos con ella si configuramos la opción de «Directorios Compartidos», pero entre máquina anfitriona y máquina virtual no existe ninguna otra posible conexión. La máquina virtual tampoco es accesible de ninguna forma desde otra máquina de nuestra red local y si abrimos dos máquinas virtuales en la misma máquina anfitriona tampoco pueden verse entre si. Esto puede cambiarse fácilmente para que cualquier máquina virtual que creemos sea totalmente visible, tanto por la máquina anfitriona, como por cualquier otra máquina física (o virtual, en esta u otra máquina anfitriona configurada por este mismo método) como si se tratase verdaderamente de una máquina real conectada de forma independiente a nuestra red. Nos ponemos a ello.
Partimos de una máquina anfitriona con Debian o una distribución derivada (Ubuntu, Kubuntu, etc.), que ya tiene Virtualbox instalado y cuenta con una única interfaz de red (eth0
). Lo primero que tenemos que hacer es instalar el paquete bridge-utils
.
josemaria@valeria:~$ sudo apt-get install bridge-utils
Luego editamos la configuración de nuestro interface ethernet (/etc/network/interfaces) y lo dejamos de esta forma:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto br0
iface br0 inet dhcp
bridge_ports eth0 vbox0 vbox1
Las líneas en negritas son las que hemos añadido. En ellas estamos definiendo dos interfaces virtuales (vbox0
y vbox1
) que están ligados a nuestro interfaz físico real (eth0
) y que tomaran una IP de forma dinámica a través de un servicio DHCP que debemos de tener disponible en nuestra red. Esto no quiere decir que no podamos ponerles direcciones fijas a nuestras máquinas virtuales: Estas tendrán disponible este servicio, si existe, desde su arranque pero luego nosotros podremos configurarlas perfectamente mediante IP’s estáticas sin ningún problema, ya dentro del sistema operativo que hayamos elegido para ellas. Por cierto: hemos creado dos interfaces por que es lo que necesitamos (yo, en concreto, quiero hacer prácticas para los chicos con un windows 2003 server y un windows xp que deben de verse para que el segundo se conecte al dominio definido por el primero) pero, lógicamente, podríamos definir una sóla. O diez 🙂 .
Ahora editamos el archivo de configuración de interfaces de virtualbox (/etc/vbox/interfaces
) y añadimos las siguientes líneas:
vbox0 josemaria br0
vbox1 josemaria br0
En ellas redefinimos los dos nuevos interfaces virtuales que hemos creado (vbox0
y vbox1
) y declaramos el usuario de la máquina anfitriona que tiene permiso para usarlos.
Ya casi estamos. Ahora reiniciamos, por este orden, la interfaz de red física de nuesta máquina anfitriona y luego virtualbox:
josemaria@valeria:~$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces...
(...)
bound to 192.168.1.10 -- renewal in 39314 seconds.
[ OK ]
josemaria@valeria:~$ sudo /etc/init.d/virtualbox-ose restart
* Shutting down VirtualBox host networking
* done.
* Starting VirtualBox host networking
* done.
Luego iniciamos Virtualbox y configuramos la red de las máquinas que queremos hacer accesibles de esta forma:
Y con esto ya si que hemos acabado. En el siguiente pantallazo (ampliable si hacéis click en él) podéis ver como mis dos máquinas virtuales se ven perfectamente (la XP tomando su IP mediante DHCP, el 2003 server con IP estática configurada manualmente), la autenticación de dominio entre ellos se ha hecho perfectamente y ambas son visibles también desde la máquina anfitriona.
@jmanzanoA http://t.co/2F5jTzSIiG
gracias por su ayuda pero se explica muy bien el problema es que yo no le entendi, podria ser mas claro que el agua del rio Lerma. Gracias
:-)……………………………………………………………………………………………………………………………………….?????????????????????????????????????????????????????????
MOL: esto tiene más de cuatro años aquí. Virtualbox tiene ya un modo bridge mucho más sencillo sólamente con escoger la opción en la configuración del interfaz de red.
A mi no me sale.
vbox0: ERROR while getting interface flags: No such device
vbox1: ERROR while getting interface flags: No such device
hola muy bueno este blog e interesante, no soy del palo
de ustedes con respecto a la informatica, mi idea es, si me pueden ayudar, poner en red dos maquinas una con win 98 y la otra win xp, en la primera tengo un programa de facturacion que no se puede volver a instalar y en la otra con win xp seria instalar el virtual box y cargar win 98 para poder trabajar a travez de esta y realizar facturas via red….se podra hacer esto?? gracias
Hola, muy bueno tu blog, y este articulo se acerca a lo que busco, trato de hacer esto mismo pero en donde el anfitrion sea windows… es posible? se siguen pasos similares?
Gracias
Efectivamente, Eduardo, las nuevas versiones de VirtualBox simplifican esta operativa y basta elegir el modo bridge o puente para que funcione. Lo dijimos hace unos meses por aquí
Bueno, a mi no me funciono de esta forma. Yo tengo un MACOSX es decir UNIX tengo instalado virtualbox con 2 maquinas virtuales una con linux ubuntu y otra con windows. No podia acceder desde fuera con la configuracion predeterminada de vbox, asi q probe que el adaptador sea el anfitrion. NO FUNCIONO, probe todas las opciones y la unica que me sirve hasta el momento para que sean visibles desde toda la red… incluso desde mi portatil y desde algun ordenador remoto (otro pais) es poniendo el adaptador como puente, entonces hago un /etc/init.d/networking restart y por fin recibo una ip desde mi router
Oye estoy virtualizando en una laptop Acer-Aspire, pero en esta la interfaz se llama ath0 y no se encuentra en el archivo /etc/network/interfaces, ya que son drivers compilados de madwifi, intente agregarla al archivo, y luego agregar las interfaces virtuales a /etc/vbox/interfaces, pero lo unico que consegui fue descomponer mi inalambrica.
Aún así tengo ganas de compartir con mi red innalambrica a mis interfaces virtualizadas.
Tendrás algún tutorial o alguna página donde pueda informarme para intentar hacer esto.
Muchas gracias y saludos!!
Hola,
espero que me puedas ayudar, tengo instalado un red hat 5.2 y sobre el instale un virtualbox 3.0.4 y levante una maquina virtual de ubuntu, la maquina local(red hat 5.2) tiene una IP estatica y no tengo dhcp entonces configure la tarjeta de red por consola en ubuntu de esta manera ifconfig eth1 192.168.xxx.xxx broadcast 192.168.xxx.xxx netmask 255.255.xxx.xxx up esto lo tuve que hacer asi porque solo instale el modo texto en la maquina virtual defini bridge y tambien modifique el archivo
/etc/network/interface
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
sin embargo no puedo hacer ping a la ip de la maquina local
me puedes hechar la mano gracias