PDA

Ver la versión completa : bridge en vmware server



jordi25
02-02-2008, 19:48
Hola

Estoy intentado configurar una red con vmware y no veo que hago mal. El objetivo es tener el vmware instalado con dos máquinas virtuales y que una de ellas se conecte a través de la otra a la red real, actuando esta última como bridge y no como router.
Como no me funcionaba probé con una máquina real con dos interfícies de red y la configuré de la siguiente manera:



ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 up


Conecté eth0 al router con un cable normal y eth1 a un portàtil con un cable cruzado y configuré el portátil como si estuviera conectado directamente al router poniendo como default gw la ip del router y una ip del mismo rango, y podía hacer pings y navegar sin problema.

Después volví a hacer lo mismo en la vmware pero no funcionó. He provado varias cosas y creo que el problema está en la configuración que hago de la vmware en el host.
La idea es:
-instalar la vmware en la máquina HOST
-crear una máquina virutal llamada "máquina1" con 2 interfícies de red.
*eth0 como bridge (connectada a vmnet0 haciendo un bridge con la interfície real)
*eth1 como hostonly en la vmnet2
-crear un bridge con las instrucciones siguientes (que funcionaba con los equipos reales):


ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 up

-crear otra máquina virtual llamada "máquina2" con una interfaz hostonly en la vmnet2
-configurar-la como si fuera una máquina real
*IP del rango del router
*default gateway-> IP del router

Se supone que máquina2 sólo se podrá salir de la LAN si lo hace a través de máquina1, que se supone que une vmnet2 con vmnet0 (que está conectada a la tarjeta real y permite salir al exterior).

El problema es que no funciona y yo no entiendo porqué. Véis algun error en este planteamiento?

Si aquí no está el error, debe venir anterior a eso, en el momento de ejecutar el vmware-config.pl y configurar el networking, que no sé qué tengo que poner.

Primero detecta la interfície eth0 y pregunta si quieres usarla en modo bridge.
Aquí no hay dudas y le digo que sí.

Luego pregunta si quieres crear más interfícies. Le digo que si, y que quiero que sea hostonly. Ahora me pide si quiero que me busque una dirección de red que no esté utilizada para la vmnet1 (prové con la vmnet1 y con la vmnet2 y pasa lo mismo) o si se la quiero asignar yo una.
Aquí es donde tengo la duda. Tendría que configurar vmnet1 (o la vmnet2... la que vaya a utilizar)para que tuviera una dirección de red del mismo rango que las de la red normal? No importa la dirección de red que le assigne, sino que todas las máquinas virtuales que conecte a ella sean del mismo rango?

Alguien me podría decir que estoy haciendo mal?

Muchas gracias por vuestra atención

Saludos

jordi25
08-02-2008, 19:06
Hola

Ya tengo el bridge funcionando.
El problema es que estaba siguiendo un howto para hacerlo y me saltaba un paso (que estaba en el howto pero yo no hacía)...

Al ejecutar vmware_config.pl se puede configurar la parte de networking como viene por defecto, aceptando la ip de red que nos busca el programa de configuración. Entiendo que esa dirección de red la deberíamos respetar para comunicarnos con el host directamente (que sería el objetivo normal de la red hostonly), pero como no es nuestro caso (que sólo nos queremos comunicar a través del bridge) podemos ignorarla y configurar en la segunda màquina virtual una ip del rango de nuestro router y la ip del router como gw (igual que configuraríamos cualquier máquina de nuestra red). (si el motivo no es correcto, corregidme, por favor).

En la creación de las Máquinas viruales:

maquina 1 (bridge):
-eth0: bridged
-eth1: hostonly

-ejecutamos los comandos parar hacer el bridge:

ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 up

máquina 2:
-eth0: hostonly

-ip del rango de la red real (no de la vmnet1)
-gw de la red real (ip del router)


Lo importante para que funcione es que las interfaces que entran en el bridge se puedan poner en modo promiscuo. En linux, por defecto solo puede poner las interfaces virtuales en modo promiscuo el usuario root, y como no es buena idea ejecutar la vmware como root, se propone darle permisos de lectora escriptura a un grupo del usuario. Para ello se pueden añadir las siguientes líneas al final de la sección de start en /etc/init.d/vmware

chgrp <usergroup> /dev/vmnet0
chgrp <usergroup> /dev/vmnet1
chmod g+rw /dev/vmnet0
chmod g+rw /dev/vmnet1


Saludos