Beware this content is over a year old and considered stale. It may no longer be accurate and/or reflect the understanding of the author but remains here for reference only. Please keep this in mind as you use this content.

If you’ve recently performed an apt-get update && apt-get upgrade only to find that your server is no longer accessible, then the culprit could be a package called biosdevname included in a possible grub or kernal update (TBC).

That package is supposed to provide a more consistent network device naming convention for all network interfaces. For more information, see this Stack Overflow question: How does “biosdevname” really work? or the Red Hat Networking Guide.

If you enter ifconfig -a, you’ll probably no longer see your defined interface named in /etc/network/interfaces eth0 anymore but something like p10p1 (pXXpX variant). You won’t simply be able to rename your network interface from p10p1 to eth0, you’ll have to disable biosdevname altogether.

Use the below at your own risk! Backup before doing anything.

Check if the package is installed:

$ sudo dpkg -s biosdevname

Remove the feature:

$ sudo apt-get remove biosdevname

Then update the existing initramfs kernel image:

$ sudo update-initramfs -u

Then restart the server:

$ sudo reboot

Source: Stack Overflow answers by solsTiCe, oler and an old post by Nelson Minar.