Networking

No ifcfg by default in new installations

Fedora 36 no longer includes NetworkManager support for legacy network configuration (ifcfg) files by default in new installations.

Long ago, networking in Fedora was configured using network service, which was a set of shell scripts that sourced snippets of configuration from /etc/sysconfig/network-scripts/ifcfg-* ("ifcfg files"). The ifcfg files compatible with the legacy network service were kept when NetworkManager was introduced.

As the NetworkManager feature set was expanding beyond what the legacy network service could support, the ifcfg files written by NetworkManager could no longer be guaranteed to be compatible. NetworkManager eventually gained support for connection types completely unknown to the legacy network service and ended up using a more streamlined configuration file format for those, known as a "keyfile".

NetworkManager’s use of various configuration files is, in fact, configurable and extensible with plugins. Prior to Fedora 33, NetworkManager by default was configured to enable both ifcfg files and keyfiles, with the former taking precedence when possible. The precedence changed in Fedora 33 to prefer keyfiles. The precedence has an effect when a network connection profile is created. Once the connection profile exists, NetworkManager is unable to convert the profile to a different configuration backend, which affects legacy configuration files created on older systems.

For the time being, the ifcfg plugin is still available for installation, albeit in a subpackage that is not automatically included in new installations. The appropriate RPM tags will ensure the subpackage with the ifcfg plugin will be installed on upgrades. A migration tool will be provided for users who’d like to remove the legacy package from their systems after upgrade.

System integrators and administrators might use tools that drop in ifcfg files during automated installations (e.g. via kickstart or a configration management tool). They will need to update their tools - either convert the ifcfg files to keyfiles, or include the ifcfg subpackage.