Failed to start Raise network interfaces after upgrading to 16.04
Reason
The problem was caused by Predictable-Network-Interface-Names from systemd/udev.
Possible solution
According to this source you can either:
- You disable the assignment of fixed names, so that the unpredictable kernel names are used again. For this, simply mask udev's rule file for the default policy: ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
- You create your own manual naming scheme, for example by naming your interfaces "internet0", "dmz0" or "lan0". For that create your own .link files in /etc/systemd/network/, that choose an explicit name or a better naming scheme for one, some, or all of your interfaces. See systemd.link(5) for more information.
- You pass the net.ifnames=0 on the kernel command line
Applied solutions
I did create a new file 10-rename-network.rules
in /etc/udev/rules.d/
and added the following content to it:
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="ff:ff:ff:ff:ff:ff", NAME="eth0"
where
eth0
= desired network interface name, used in/etc/network/interfaces
ff:ff:ff:ff:ff:ff
= hardware mac address of the network device
I'd recommend rebooting after completing this to make sure the change is sticky.
Solved by changing file /etc/network/interfaces.d/setup from:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
to:
auto lo
iface lo inet loopback
allow-hotplug eth0
iface eth0 inet dhcp