VMWare y la red

En VMWare a la hora de crear un dispositivo de red se puede elegir entre:

1. NAT: en el host aparecerá como la interfaz vmnet8, pero no podremos hacer nada con esta interfaz,
por ejemplo usar Iptables para restringir las Ips que se pueden alcanzar desde el sistema que se
ejecuta dentro de Vmware. El motivo es que no se usa realmente el NAT del núcleo sino un
demonio, vmnet-natd, por lo que los paquetes no pasan realmente por vmnet8. Si se quiere abrir
puertos, basta con editar el fichero /etc/vmware/vmnet8/nat.conf

2. Bridge: también se implementa utilizando un demonio privativo, en este caso vmnet-bridge, en lugar
de utilizar el soporte del núcleo, por lo que no se puede restringir la red con iptables sobre la interfaz
vmnet2. Como en el caso de vmnet8, realmente el tráfico no pasa por esta interfaz.

3. Host only: aparentemente este modo es el más limitado. Pues bien, en realidad es el más flexible,
pues por la interfaz de red que crea, vmnet1, sí que pasan todos los paquetes. De este modo podemos
utilizar esta interfaz para hacer NAT a través de iptables, o crear un bridge con brctl. Al usar
iptables, podemos restringir el tráfico como con cualquier otra unidad de red.

En Qemu hay dos formas de utilizar la red. Por defecto se usa -net socket, que sería el equivalente al
modo NAT de Vmware. Mediante la opción -redir se pueden abrir puertos de servidor. Una diferencia
interesante sobre Vmware es que esta solución se implementa enteramente en espacio de usuario, por lo
que no se crea interfaz de red ni se precisa cargar ningún módulo del kernel, lo que es bueno porque en el
caso de Vmware es un módulo privativo que activa la marca “tained” del kérnel, con lo que perdemos
toda opción de soporte. Además así no hay que tener privilegios de superusuario para instalar Qemu
(Vmware no requiere privilegios para ejecutarse, pero sí hace falta para insertar el módulo en el kernel).

Las interfaces de red vmnet1, vmnet2, vment8, se crean al ejecutar vmware-config, en la parte de
configuración de red. Una posibilidad interesante si vamos a ejecutar varios sistemas simultáneamente o
si queremos que un sistema tenga más de una interfaz es crear más de un dispositivo de red para “host
only”, de modo que aparte de vmnet1 haya otros. De otro modo todas las máquinas virtuales estarán
conectadas a la misma red, la de vmnet1. Así, una máquina podrá tener la IP 192.168.152.128, otra la
192.168.152.129 y el host la 192.168.152.1; las dos máquinas virtuales se verán la una a la otra y podrán
comunicarse, aunque eso sí, con un sniffer una máquina no verá el tráfico de los otros nodos.

La red vmnet1 que crea Vmware es de máscara de red 255.255.255.0; ejecuta un servidor DHCP
automáticamente, cuya configuración y arrendamientos pueden verse en /etc/vmware/vmnet1. Pero nada
impide que podamos cambiar esta configuración, pues se emula a una interfaz ethernet. Por ejemplo un
nodo puede cambiar su IP a otra de la red o incluso crear un alias y usar una red distinta, tanto en el host
como en las máquinas virtuales.

Si usamos vmnet1 para hacer NAT utilizando iptables, hay que tener en cuenta que habrá que configurar
la red de la máquina virtual para añadirle una ruta por defecto y la configuración del DNS y que el
firewall deberá permitir que llegue al servidor DNS. Para pasar la configuración de DNS y ruta por
defecto podemos usar el servidor DHCP de Vmware: “option routers” y “option domain-name-servers”.

 

Fuente:

Utilización y Administración avanzada de sistemas GNU/Linux y aplicaciones Software Libre para estudiantes universitarios
Virtualización y redes en GNU/Linux
José María Peribáñez