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
Example:
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM==”net”, DRIVERS==”?*”, ATTRS{address}=”[bad mac]”, NAME=”eth0″