Cápsulas de palabras

9 febrero, 2010

Error eth0 después de clonar con VMWare

Filed under: IT Admin — Etiquetas: , , , , — kyletgn @ 09:38

Tras clonar una imagen vmware me encontré con un problema, eth0 no se levantaba en la máquina  virtual Ubuntu.

Tras un rato de búsqueda en google encontré una solución que consistía en editar /etc/ftab para eliminar una dirección MAC generada incorrectamente. Entonces descubrí que Ubuntu a partir de Hardy Heron no tiene este fichero, así que investigando más profundamente el sistema de ficheros encontré una referencia a la dirección MAC referenciada en el fichero de configuración de vmware (que tiene extensión vmx) en /etc/udev/rules.d/70-persistent-net.rules. Nota: el fichero en cuestión en Debian se llama  /etc/udev/rules.d/z25_persistent-net.rules

Primer Método – borrar el fichero .rules

La manera más fácil de solucionar esto consiste en mover/eliminar el fichero de reglas

# Ubuntu
sudo mv /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-net.rules.old.1
#Debian
sudo mv /etc/udev/rules.d/z25_persistent-net.rules /etc/udev/rules.d/z25_persistent-net.rules.old.1

Segundo Método – editar el fichero .rules

La segunda forma es eliminar la línea en que el fichero menciona eth0 que contenga la dirección MAC incorrecta y reemplazar eth1 por eth0 en la siguiente línea. Tras hacer un /etc/init.d/networking start eth0 debería trabajar correctamente y la conectividad se vería restaurada.

El ejemplo extraído a continuación sale de una ubuntu 9.04

El antiguo /etc/udev/rules.d/70-persistent-net.rules tenía este contenido:

more /etc/udev/rules.d/70-persistent-net.rules.old.1
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:95:wx:yz", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:95:st:uv", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

El fichero editado tendría que quedar así:

more /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:50:56:95:st:uv", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Gracias a Stuart por esta buena guía.

http://muffinresearch.co.uk/archives/2008/07/13/vmware-siocsifaddr-no-such-device-eth0-after-cloning/

Blog de WordPress.com.