How-To Technical

How I got my eth0 back

After a recent Ubuntu Linux (server) installation inside in a virtual machine, I decided to move the virtual machine to new a new host where I can run it.  After the move I noticed that I could no longer connect to my system via the IP I had assigned.  So the story begins.

With the discovery that I no longer had network connectivity, I did an ‘ifconfig’ and noticed that my eth0 was missing.  So, I tried to force it to start by issuing the command ‘ifup eth0’ and go the following error:

eth0: ERROR while getting interface flags: No such device…
SIOCSIFADDR: No such device
eth0: ERROR while getting interface flags: No such device
eth0: ERROR while getting interface flags: No such device
Bind socket to interface: No such device
Failed to bring up eth0

I did some searching, as I have run into this issue in my past and could not remember for the life of me what I needed to do to correct this problem (the right way).  The method I used in the past was to edit /etc/network/interfaces and change iface eth0 inet (static or dhcp) to eth1  This would change my static or dynamic settings to use the new interface…  This is not what I wanted to; “lazy admin approach”.

What I did do is… wait! Here is some background info:  When a Virtual Machine starts up, it generates a new MAC address and a new UUID for the guest system. My system had already known of a MAC address and thus made a new one.

Back to what I did to correct my problem

Locating the file /etc/udev/rules.d/70-persistent-net.rules, I removed the former MAC address info and modified the new one, changing the existing eth1 to eth0, and issued a restart

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM==”net”, DRIVERS==”?*”, ATTRS{address}=”[bad mac]”, NAME=”eth0″