ARGH udev won't stop renaming my interfaces!

Solution 1:

Actually I did get it to work eventually with PCI address ID. Two things, you have to:

  1. Put/edit this in etc/default/grub:

    GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=1 biosdevname=0
    

    then do a sudo update-grub

  2. Put your desired names into /etc/udev/rules.d/70-persistent-net.rules, like this:

    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", KERNELS=="0000:03:00.0", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
    

    Where 0000:03:00.0 is your PCI address you located in your dmesg output.

Note: No need to disable IPV6, I forgot that flag was in there. We just don't use it, so we disable it for safety.

Solution 2:

  1. Append this to /etc/default/grub:

    GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0"
    
  2. Update bootloader :

    sudo update-grub
    
  3. Reboot!

    reboot
    

Tested on ubuntu 15.10