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?
Hello @kikilala ,
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 nmcli.
@kikilala
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.
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.
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.
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.
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.
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.