I hadn't considered vms with multiple nics and having them enumerated correctly might be worth more than fixing this issue.
On an existing vm with one interface, /etc/udev/rules.d/70-persistent-net.rules might be something like:
# PCI device 0x8086:0x100f (e1000) SUBSYSTEM ... ATTR{address}=="00:50:56:80:68:23" ... NAME="eth0"
After a clone the file still has the previous line but also an additional line:
# PCI device 0x8086:0x100f (e1000) SUBSYSTEM ... ATTR{address}=="00:50:56:80:13:f7" ... NAME="eth1"
So the result is there is still only one interface and it's eth1 but the rest of the networking configuration is looking for eth0.
I hadn't considered vms with multiple nics and having them enumerated correctly might be worth more than fixing this issue.
On an existing vm with one interface, /etc/udev/ rules.d/ 70-persistent- net.rules might be something like:
# PCI device 0x8086:0x100f (e1000) =="00:50: 56:80:68: 23" ... NAME="eth0"
SUBSYSTEM ... ATTR{address}
After a clone the file still has the previous line but also an additional line:
# PCI device 0x8086:0x100f (e1000) =="00:50: 56:80:13: f7" ... NAME="eth1"
SUBSYSTEM ... ATTR{address}
So the result is there is still only one interface and it's eth1 but the rest of the networking configuration is looking for eth0.