Digging around google a bit more I came up with different rules, and fingers crossed, they seem to work! SUBSYSTEM=="net", SYSFS{address}=="00:1b:21:4d:c3:e8", NAME="eth0" # pro/1000gt SUBSYSTEM=="net", SYSFS{address}=="00:e0:81:b5:7a:30", NAME="eth1" # internal 1 SUBSYSTEM=="net", SYSFS{address}=="00:e0:81:b5:7a:31", NAME="eth2" # internal 2
Don't touch udev, expecting admins to write udev rules for network interface binding is just not realistic. Udev rules are meant to be static across hardware reconfigurations while ifcfg files are meant to be modified to suit your current configuration.
Use HWADDR="00:1b:21:4d:c3:e8" in the ifcfg files along with NAME=eth0 for eth0 and so on.
I read a while ago that udev overrode ifcfg-* settings so I did a clean install of 5.4 and changed: ifcfg-eth0 to ifcfg-eth9 (file name) eth0 to eth9 (inside the file) the last number of the HWADDR line
The nic came up as eth0 with the old/original mac address after a reboot.
So we unfortunately have to write udev rules when we have nic naming problems...