Algunas veces al clonar servidores Linux nos podemos encontrar con este tipo de errores:

ifup eth0

Activando interfaz eth0: El dispositivo eth0 no parece estar presente, retrasando la inicialización.

En este caso estamos tratando con un CentOS 6.4 x64.

Este error es debido a que al clonar el servidor o importarlo, el entorno de virtualización nos ha asignado una MAC diferente a la que teníamos anteriormente.

CentOS detecta la nueva MAC como si se tratase de un nuevo dispositivo, y nos lo añade al UDEV. El UDEV nos permite trabajar de forma más eficaz con equipos con muchos dispositivos (en lugar de tener una lista interminable en el /dev).

Tenemos pues que seguir estos sencillos pasos:

- Primero accedemos al fichero de configuración de Udev :

vi /etc/udev/rules.d/70-persistent-net.rules

# This file was automatically generated by the /lib/udev/write_net_rules

# program, run by the persistent-net-generator.rules rules file.

#

# You can modify it, as long as you keep each rule on a single

# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",

ATTR=="00:0c:29:42:29:eb", ATTR=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="00:0c:29:5a:bb:48", ATTR=="1", KERNEL=="eth*", NAME="eth2"

Como podemos ver en este ejemplo disponemos de dos tarjetas, la eth0 corresponde al servidor original, mientras que la eth2 se ha creado al iniciar el clon y disponer de una nueva MAC.

Simplemente comentaremos la eth0 (o eliminamos la línea) y pondremos que la eth2 es en realidad la eth0. Quedaria algo asi:

# This file was automatically generated by the /lib/udev/write_net_rules

# program, run by the persistent-net-generator.rules rules file.

#

# You can modify it, as long as you keep each rule on a single

# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x100f (e1000)

#SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",

ATTR=="00:0c:29:42:29:eb", ATTR=="1", KERNEL=="eth*", NAME="eth0"

# PCI device 0x8086:0x100f (e1000)

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",

ATTR=="00:0c:29:5a:bb:48", ATTR=="1", KERNEL=="eth*", NAME="eth0"

- A continuación debemos editar nuestro fichero de configuración de la eth0, ya que en este fichero constará aun como MAC la de la primera tarjeta:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

Una vez realizados los cambios simplemente reiniciamos el servicio.

service network restart