RHEL 8 Deprecated Network Scripts
Solution 1
Note that custom commands in
/sbin/ifup-local
,ifdown-pre-local
andifdown-local
scripts are not executed.If any of these scripts are required, the installation of the deprecated network scripts in the system is still possible with the following command:
~]# yum install network-scripts
So, anything contained in the RHEL 8 network-scripts
RPM file or relying on functionality of that RPM is now deprecated. In particular, if you previously used scripts like /sbin/ifup-local
to set up some advanced routing or other specialized network configuration, now it's time to find out a new way to do that.
Note that when NetworkManager was introduced into RHEL, it included - and still does - a configuration back-end that uses the old configuration file locations, but with a new NetworkManager infrastructure and an extended version of the old configuration script syntax. So the /etc/sysconfig/network-scripts/ifcfg-*
files will still be there and using the same syntax, although they will now be parsed by NetworkManager and not executed as sourced scripts.
The deprecated network-scripts
package essentially contains:
- the SysVinit-style service script
/etc/init.d/network
- the
ifup*
,ifdown*
,init.ipv6-global
andnetwork-functions*
scripts you've used to seeing in the/etc/sysconfig/network-scripts/
directory - classic versions of
/usr/sbin/ifup
and/usr/sbin/ifdown
(which would override the compatibility wrappers fornmcli
that are present by default) - the
/usr/sbin/usernetctl
command - and the associated documentation and example files
So, when you're not using the deprecated network-scripts
RPM, you would now expect the /etc/sysconfig/network-scripts/
directory to only contain the ifcfg-*
files for your network interfaces, and possibly route-*
files for custom routes, but no other files at all. If you needed the usernetctl
command, it's among the deprecated functionality and you should start using the appropriate nmcli
subcommands as its replacement.
ifup
and ifdown
will still be available, but now do their job through NetworkManager
, unless you install the deprecated network-scripts
RPM.
Solution 2
We in our environment have seen some instability when we use NetworkManager to configure the network using kickstart while performing a PXE install of RHEL 7, which is why we had to manually configure the network interfaces; and we also decided to disable NetworkManager in our configuration, but now with this news we are moving towards NetworkManager.
As of now RHEL still supports the usage of legacy behaviour using network-scripts rpm instead of initscripts.
https://access.redhat.com/solutions/3777201
The article below covers this topic in more detail in case you still wish to use NM_CONTROLLED=no in your configuration file and disable NM.
https://www.golinuxcloud.com/unit-network-service-not-found-rhel-8-linux/
But looks like the smart choice would be to slowly adapt NetworkManager and follow up with Red Hat support for any issues with NM as we don't know when Red Hat will start completely forcing NM on the users.
Solution 3
RHEL 8 still supports network-scripts, and it's available by default in the minimal config.
Check the Configuring and managing networking chapter in the RHEL documentation.
Also see these tutorials: How to configure a static IP address on RHEL 8 and How to configure a static IP address on RHEL 8 and Centos 8.
Related videos on Youtube
KevinO
Updated on September 18, 2022Comments
-
KevinO over 1 year
I was reading about RHEL 8, and this statement is made:
Network scripts are deprecated in Red Hat Enterprise Linux 8 and they are no longer provided by default. The basic installation provides a new version of the ifup and ifdown scripts which call the NetworkManager service through the nmcli tool.
OK, so to me this would imply that
/etc/sysconfig/network-scripts
would no longer be used, though it is unclear from my reading what is supposed to replaceifcfg-eth0
(or similar).But then I read this page about static IP addresses, which asserted:
The procedure to configure a static IP address on RHEL 8: Create a file named
/etc/sysconfig/network-scripts/ifcfg-eth0
as follows:DEVICE=eth0 BOOTPROTO=none ONBOOT=yes PREFIX=24 IPADDR=192.168.2.203
Restart network service on RHEL 8:
systemctl restart NetworkManager
ORsudo nmcli connection reload
So, is it only the
ifup
andifdown
that are deprecated, but the configuration files remain? Is the distinction betweenscripts
andconfiguration files
, even though they seem lumped under a single chapter? Chapter 12 of the RHEL defixed network scripts as the:Chapter 12. Network Scripts
...configuration files for network interfaces and the scripts to activate and deactivate them are located in the/etc/sysconfig/network-scripts/
directory.So, what constitutes what is deprecated? It doesn't seem to be the scripts in
/etc/sysconfig/network-scripts
since that apparently is still an appropriate way to configure a static IP.I do not yet have a RHEL 8 box running, so I am hoping someone can shed light on what it is one is supposed to avoid.