Fedora No Longer Support Manually Network Interface Setup Using ifcfg-eth0?

I’m using Fedora 35 minimum without gui for raspberry pi.

Trying to setup network interfaces manually by disabling Networkmanger service and using ifcfg-eth0 file but when system rebooted eth0 remained down and unconfigured.

So my question is does Fedora no longer support manually setup with ifcfg-eth0 file? All network interfaces has to be setup thru Networkmanger nmcli?

1 Like

“Initscripts’ ifcfg-rh Format in NetworkManager and its Future – Thomas Haller’s Blog” Initscripts’ ifcfg-rh Format in NetworkManager and its Future – Thomas Haller's Blog

Might be relevant to your question.


As an alternative you could also look at systemd.networkd


Hello @kikilala ,
Welcome to the :fedora: discussion area!. Maybe check out this link for using Fedora on the Pi, in particular I think in the howto’s they cover some of networking using nmcli.


I strongly suggest to get into the topic NetworkManager / nmcli because this is where network management centralizes on Fedora (and on many of the widespread distributions) and every update/upgrade your system gets will expect this.

The support for the old tools around ifconfig, ifup (and so on), and the related configs will decrease (these are legacy tools; not just on Fedora but on most widespread Linux distributions). Thus, at some point, you will have again the problem that such a configuration no longer works. Sooner or later you will have to deal with the NetworkManager anyway. Therefore, stick with the NetworkManager / nmcli to create a stable solution on the long term, which does not force you to regularly adjust manually.


networkd is far easier to use than nmcli. This is the right tool to setup simple networking.

I assume you mean systemd.networkd, that is what the NetworkManager command line tool nmcli does, it takes care of writing to the necessary files in order to configure a system unit to operate with systemd.

While there’s already an accepted answer, if you really want to use the ifcfg- files for configuration, you can:

systemctl disable Network-Manager
systemctl mask Network-Manager
systemctl enable network

And at your next reboot, the configs in the ifcfg- files will be used.

However, as was noted by others, the network service may not be around forever.

1 Like

Are you sure? I believe they are different. The configuration files for systemd-networkd and nmcli are in two different locations and NetworkManager service can be disabled if systemd-netoword service is up.

You’re absolutely correct.

That said, systemd-networkd isn’t running (but is definitely installed) on any of my systems. In fact, it’s disabled on all the Fedora 34 systems I have (15 or so, mostly VMs).

I generally install via kickstart, so I went back and checked my kickstart file to see how I set up networking (that’s done postinstall)

And I do not disable/mask systemd-networkd.service. However, I do enable the network service.

Perhaps enabling the network.service disables systemd-networkd? That seems unlikely though.

I’m doing a fresh install on a test VM right now with my current config and will confirm that systemd-networkd is disabled.

Then I’m going to modify the installation not to enable network.service and see if systemd-networkd is running.

I’ll follow up once that’s done.

Edit: I have confirmed via testing (as grumpey mentioned) that NetworkManager is enabled by default and systemd-networkd is not.

Again, you’re absolutely correct WRT Network Manager vs. systemd-networkd.

Edit: As grumpey pointed out (thanks again, grumpey!), NetworkManager is the default network interface manager/configurator for Fedora.

As such, disabling/masking NetworkManaer is the right call, since systemd-networkd isn’t enabled by default.

Because the network manager service is the default for Fedora.

1 Like

You can deploy own setup with a custom preset:

sudo mkdir -p /etc/systemd/system-preset
sudo tee /etc/systemd/system-preset/00-custom.preset << EOF > /dev/null
enable systemd-networkd.service
sudo systemctl preset-all
1 Like

Well, if you’re using Fedora Linux as default setup, it uses NetworkManager to do the networking configuration. If you’re using systemd.networkd then I believe networkctl is the command of choice.

1 Like

That explains things.

Thanks grumpey!

Thanks for the suggestion. It’s appreciated!

That said, I will continue to use the network service instead of NetworkManager or systemd-networkd until it’s no longer available.

I just checked on 2 systems (fedora 34 & 35) and confirmed that NetworkManager is the default config on fedora.

I believe there is a conflict when both network.service and NetworkManager.service are active. I also know there is a distinct difference in the file locations and structure for those 2 services.