Hoy he tenido que estar peleando un rato con una Debian tras hacer un pequeño cambio de hardware. El cambio consistía en cambiar los discos duros de un servidor a otro (identicos) para una tarea de mantenimiento.
En el fichero de interfaces, no estaban especificadas las direcciones MAC de las tarjetas de red, por lo que en principio supuse que no habría conflicto al moverlo a otro hardware, pero no era así. Al intentar arrancar la red en el nuevo equipo aparecía un error similar al siguiente:
# /etc/init.d/networking restart SIOCSIFADDR: No such device eth0: ERROR while getting interface flags: No such device eth1: ERROR while getting interface flags: No such device Bind socket to interface: No such device Failed to bring up eth0 Failed to bring up eth1
Resulta que Debian guarda una especie de caché con las direcciones MAC de las tarjetas de red, por lo que al encontrar un equipo igual pero con MAC distinta no le apetecía arrancar la red. La solución pasa por eliminar esta caché.
El fichero en el que se encuentra el problema será uno de estos dos:
/etc/udev/rules.d/70-persistent-net.rules
/etc/udev/rules.d/z25_persistent-net.rules
Personalmente como tenía prisa directamente he borrado el fichero, reiniciado el sistema y solucionado. Es probable que cambiando o borrando la MAC en el fichero se solucione, pero borrarlo funciona por lo que parece la solución más fácil ;)