Make NetworkManager prefer ethernet over wifi if both present

Just a couple things:

You could try these commands in your environment to see if they work and bring desired results:

  • auto Ethernet
  • auto ethX (Replace X with whatever number your kernel assigns (run ifconfig to check))

Alternatively, you can have a look at your IP routes found by issuing:

sudo route -n

By looking at the output, see if wlan0 is on all routes.

Several other questions have been asked with this and the only way to get Linux to favour an interface (by default it is eth0 but in your case, something went awry) is to manipulate the metrics.

You can configure the metric for an interface using ifmetric which manipulates the metric on an interface you specify. I haven't tested this on Fedora per se, but I can see it is in the repositories. So, issue:

yum install ifmetric

Then when it is installed, you will want to go to:

/etc/network/interfaces

Use vi, nano, emacs, whatever editor you use and then add underneath whichever interface you want to configure (in this case eth0):

up ifmetric eth0 X

X relates to a number determining the priority, 0 by default is the highest priority, but to avoid hitting static/default routes, use something above 2. Then you will want to add a higher number to wlan0. So:

up ifmetric eth0 10

and under wlan0:

up ifmetric wlan0 20

Your file should be looking like this:

 iface eth0 inet dhcp
    up ifmetric eth0 10

iface wlan0 inet dhcp
    up ifmetric wlan0 20

Let us know if it helps!

EDIT: Just come across a few links:

How do I configure a linux machine to ignore wifi when connected via LAN?

How do I set the priority of network connections in Ubuntu?

EDIT 2:

There is also a metric field in Network Manager GUI!