November 27, 2021, 9:28am
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?
November 27, 2021, 9:46am
“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.
November 27, 2021, 11:56am
As an alternative you could also look at
November 27, 2021, 1:05pm
Welcome to the 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
November 27, 2021, 1:31pm
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.
December 5, 2021, 8:47am
networkd is far easier to use than nmcli. This is the right tool to setup simple networking.
December 6, 2021, 12:22pm
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.
December 7, 2021, 9:52pm
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.
December 10, 2021, 1:41am
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.
December 10, 2021, 5:23am
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.
December 10, 2021, 7:44am
Because the network manager service is the default for Fedora.
December 10, 2021, 9:19am
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
sudo systemctl preset-all
December 10, 2021, 1:24pm
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.
December 10, 2021, 2:35pm
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.