If you have more than one NIC attached to your VM, do not expect /etc/udev/rules.d/70-persistent-net.rules to be anything other than an empty file.
(Well, it will be an empty file if you have only one NIC but there no question which one is going to be eth0 in that case.)
It turns out that /lib/udev/rules.d/75-persistent-net-generator.rules has some special cases in it...
Code:
# ignore KVM virtual interfaces
ENV{MATCHADDR}=="52:54:00:*", GOTO="persistent_net_generator_end"
# ignore VMWare virtual interfaces
ENV{MATCHADDR}=="00:0c:29:*|00:50:56:*", GOTO="persistent_net_generator_end"
# ignore Hyper-V virtual interfaces
ENV{MATCHADDR}=="00:15:5d:*", GOTO="persistent_net_generator_end"
...all of which result in those interfaces not being written into 70-persistent-net.rules.
Hopefully, this will prevent some of you from pounding your heads against your desks.