I got this after copying a VMWare image onto another machine in Debian.
SIOCSIFADDR No such device eth0 error while getting interface flags
1.) Find and edit the device line in persisent-net.rules
note it will be prefixed with something like z25
or something else.
vi /etc/udev/rules.d/z25_persistent-net.rules
The easiest way is to comment anything out.
If you are feeling lazy you can just reboot your computer and everything should come back. If you don't want to reboot follow steps 2 & 3 below.
2.) Now restart udev /etc/init.d/udev restart
3.) Reload the Module. I found the name is pcnet32
So in my case you unload the module like this: modprobe -r pcnet32
Now reload the module: modprobe pcnet32
Now if you do: ifup eth0
everything should be fine.
I copied the same VM again and got the same error, I tried commenting out those lines and rebooting and it wouldn't work. I tried deleting all lines and there was no luck. Later on I noticed that another line was adding my device at "eth3". I changed that reference to eth0 but still could not bring it up.
The solution was to just delete this file: z25_persistent-net.rules
After a reboot my ethernet card was working again. This is a really annoying feature of Debian and UDEV.
siocsifaddr, eth, interface, flags, ethernet, cani, copying, vmware, debian, edit, persisent, prefixed, z, vi, etc, udev, _persistent, easiest, lazy, reboot, restart, init, reload, module, pcnet, unload, modprobe, ifup, doesn, copied, vm, commenting, rebooting, wouldn, deleting, adding, quot, reference, delete, feature,