How to rename an Ethernet interface?

It is possible. Please do:

gksudo gedit /etc/udev/rules.d/70-persistent-net.rules 

Swap eth0 and eth1. Proofread carefully, save and close gedit. Use any other text editor if you don't have gedit. Reboot immediately and you should be all set.


This renames em1 to eth0 for me on Ubuntu 14.04:

# Note: replace xx:xx... in the rule with the MAC address of your Nic>    
$ sudo vim /etc/udev/rules.d/75-persistent-net-generator.rules

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx", NAME="eth0"

# Change "em1" to "eth0" in your interfaces file.
$ sudo vim /etc/network/interfaces

$ sudo reboot

Credit: Billf's answer here: https://bbs.archlinux.org/viewtopic.php?id=156375

FYI, this was what I was originally seeing in logs:

$ sudo grep eth0 /var/log/dmesg
[    2.976463] e1000e 0000:00:19.0 eth0: registered PHC clock
[    3.003714] e1000e 0000:00:19.0 eth0: (PCI Express:2.5GT/s:Width x1) 18:03:73:e9:f2:36
[    3.031177] e1000e 0000:00:19.0 eth0: Intel(R) PRO/1000 Network Connection
[    3.058399] e1000e 0000:00:19.0 eth0: MAC: 10, PHY: 11, PBA No: E041FF-0FF
[    3.153759] systemd-udevd[167]: renamed network interface eth0 to em1

Looks like systemd-udevd was doing negative work and renaming eth0 to em1 in the first place. Not sure how to stop it from doing that, but renaming back to eth0 seems to work.

For the enthusiast who wants to know more... http://linux.dell.com/files/whitepapers/consistent_network_device_naming_in_linux.pdf