VMware genera multiples interfaces de red, eth1, eth2, eth3… WTF ?

8 09 2012

Me encontré con un problema con VMware al mover una maquina guest virtual de una computadora real (host) a otra. Al descargar una maquina virtual de Internet, la levante en VMware Player y me encontré que al listar las interfaces de red en la maquina guest (que a efectos de este evento, corria Linux), me listaba 2 interfaces:

  • lo (interfaz de loopback que todas las maquinas tienen)
  • eth3 (interfaz ethernet con la cual me queria conectar a la red en la que estaba)

Al momento de hacer las pruebas, tenia configurada la interfaz de red virtual desde el Host en modo Bridge, no me gusta mucho el NAT en maquinas virtuales a menos que lo necesite por algún motivo particular.

Luego de configurar la interfaz en la maquina guest, la red funciona ok, tengo trafico, tengo internet.. etc, etc. Todo bien.
Es en este momento que me llama la atención de porque la interfaz en la maquina guest, recién encendida, la lista como «eth3» y no como «eth0» como siempre lo hace en un sistema linux. No tengo mas interfaces configuradas o conectadas, por lo que no debería de ser asi.

Luego de buscar un rato, me encuentro con este post en el foro de LinuxQuestions.Org, que parece que hay un problema moviendo una maquina virtual de una computadora a otra. Cada instancia de VMware genera una dirección MAC para conectarle a la virtual guest, y a menos que tengamos vmware configurado igual en ambas computadoras host, esa dirección MAC es diferente en cada instancia.

Por lo que al mover una virtual de una pc a otra, y encendiéndola claro, el sistema deja registro de la interfaz de red que le fue conectada, identificándola con su dirección MAC, por lo que va a tener una lista interna de todas las interfaces que le fueron conectadas, cada una con una denominación independiente. Por eso «eth3», para el sistema, ya se le habían conectado 3 interfaces ethernet previamente, con MACs diferentes.

Funcionalmente no hay problema, como dije antes, la red funciona bien. Pero para quienes somos mas quisquillosos, el archivo que tenemos que modificar esta en:

/etc/udev/rules/

Lo que tenemos que buscar es un archivo con extencion «xxx.rule» que tenga en el nombre la palabra «net«.

Dentro de ese archivo encontraran la lista de las múltiples direcciones MAC que fueron conectadas al sistema, y su denominación especifica (eth0, eth1, wlan0, wlan1, ath0, ath1, etc).
Todo lo que tienen que hacer es eliminar las que no existan mas o cambiar el nombre de la que quieran.

Recuerden hacer un respaldo del archivo antes como siempre debemos hacer antes de modificar un archivo del sistema.

cp /etc/udev/rules/archivo-ejemplo-net.rule /etc/udev/rules/archivo-ejemplo-net.bak

Bien, espero que a alguien le sirva, yo en particular aprendí otra vez algo nuevo e interesante! 😀

Saludos tuxeros

Link al enlace original: http://www.linuxquestions.org/questions/debian-26/eth0-device-not-found-why-689751/