Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I've just installed a Fedora 19 on VMware workstation 9. The default network device is "ens33" instead of "eth0" on RHEL.

The reason I have to use "eth0" is that the license component of one of our products has be to be linked with "eth0".

There are some posts discussing about similar issues, most of which are for older OS. I haven't found one that exactly match my situation.

Can anyone advise please. Thank you.

share|improve this question
    
Fedora 19 is significantly different from RHEL 5.5 as in the question this was marked a duplicate of, and the answer isn't the same. –  mattdm Aug 24 '13 at 3:39
add comment

4 Answers 4

The easiest way to restore the old way Kernel/modules/udev rename your ethernet interfaces is supplying these kernel parameters to Fedora 19:

  1. net.ifnames=0
  2. biosdevname=0

To do so follow this steps:

  1. Edit /etc/default/grub
  2. At the end of GRUB_CMDLINE_LINUX line append "net.ifnames=0 biosdevname=0"
  3. Save the file
  4. Type "grub2-mkconfig -o /boot/grub2/grub.cfg"
  5. Type "reboot"

If you didn't supply these parameters during the installation, you will probably need to adjust and/or rename interface files at /etc/sysconfig/network-scripts/ifcfg-*.

Up to Fedora 18, just biosdevname=0 was enough.

As an example, in a certain machine, in a exhaustive research, I got:

-No parameters: NIC identified as "enp5s2".
-Parameter biosdevname=0: NIC identified as "enp5s2".
-Parameter net.ifnames=0: NIC identified as "em1".
-Parameter net.ifnames=0 AND biosdevname=0: NIC identified as "eth0".

share|improve this answer
    
Thank you very much for the detailed steps! Everything MathWorks was providing me was for much older versions of Fedora. –  Dr. Watson Aug 31 '13 at 17:47
    
@dr-watson: Up to Fedora 14, ethX was the default naming for ethernet interfaces. In Fedora 15, the Consistent Network Device Naming was implemented. From Fedora 15 up to 18, just biosdevname=0 was enough to keep ethX naming. You are welcome. –  Guilsson Sep 2 '13 at 22:56
1  
This solution also works on Fedora 20. Thanks. –  heuristicus Dec 22 '13 at 14:27
add comment

You can do this using a udev rule, like so:

cat > /etc/udev/rules.d/99-rename-to-eth0.rules << EOF
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="$(cat /sys/class/net/ens33/address)", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
EOF
share|improve this answer
    
Thanks Chris. it works. –  YM Jiang Jul 7 '13 at 7:29
    
If Chris's solution helped you, then it's polite to both him and future readers of your question (like me) to mark his solution as the accepted answer. Especially because it's simpler, less destructive, and easier to undo than most of the proposals I've seen elsewhere on the web. –  Daniel H Feb 19 at 12:31
add comment

In Fedora 20, things seem to have changed a bit further.

1) grub kernel arguments
Yes, both "net.ifnames=0" and "biodevame=0" seem necessary.

2) /etc/sysconfig/network-scripts/ifcfg-ethX
Yes, these are necessary, too.

3) /etc/udev/rules.d/60-net.rules
If you have multiple interfaces and want to control naming of each device rather than letting the kernel do in its own way, /etc/udev/rules.d/60-net.rules seems necessary to override /usr/lib/udev/rules.d/60-net.rules like the following.

# PCI device 0x1011:0x0019 (tulip) {SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:c0:f0:4c:f5:78", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x10ec:0x8168 (r8169) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="60:a4:4c:b5:26:48", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

4) yum remove biosdevname seems unecessary.

share|improve this answer
    
+1, works in F20. –  AkiRoss 18 hours ago
add comment

This is different in Fedora 19 than in previous releases. There are two things to address:

  1. Remove biosdevname if it is installed. (yum remove biosdevname, or put -biosdevname in your kickstart.
  2. Disable the udev rule: ln -s /dev/null /etc/udev/rules.d/80-net-name-slot.rules

More info can be found at http://fedoraproject.org/wiki/Features/SystemdPredictableNetworkInterfaceNames

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.