I ran into a software licensing problem where in RHEL 7.x which now uses consistent network device naming and or biosdevname and or predictable network interface names. Software did not work having a network interface name of something like enp0s31f6, it wants to see eth.

so my network name for one network port off the motherboard is named enp0s31f6

I can modify /etc/default/grub with GRUB_CMDLINE_LINUX="rhgb verbose ifnames=0 biosdevname=0" however that doesn't reach the end goal after doing a grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg and a reboot I still see enp0s31f6.

Not until doing nmcli connection modify enp0s31f6 connection.interface-name eth0 followed by a reboot do i then see only eth0 using ifconfig and everything works.

Is there a better and/or easier way of ensuring eth is the name of network interfaces? Keeping in mind it's easy if it's just one so eth0, but when you have a quad nic card I simply want eth0..eth3 like in the good old days.

I thought having eth0 and eth1 and eth2 and eth3 was pretty good consistent device network naming. Now I get enp this and xyz that for interface names :(

1 Answer 1


I tried out udev some days ago, and didn't find out much. One thing in the end worked though:


I "renamed" that file and now I have eth0.

For restarting udev I think was udeavadm control -e.

Stopping is also very easy:

Note that systemd-udevd.service contains Restart=always and so as a result, this option restarts systemd-udevd. If you want to stop systemd-udevd.service, please use the following: systemctl stop systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service

I was so desparate I pasted that -- it works! Then I found that file 80-net-link...

"# do not edit this file, it will be overwritten on update."

(I know. I'll rename it again)

It contains:


So I replaced .rules with .ruleXXX, and I have "eth0" again.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .