RHEL 8 Deprecated Network Scripts

20,239

Solution 1

From your first link:

Note that custom commands in /sbin/ifup-local, ifdown-pre-local and ifdown-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 and network-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 for nmcli 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.

Share:
20,239

Related videos on Youtube

KevinO
Author by

KevinO

Updated on September 18, 2022

Comments

  • KevinO
    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 replace ifcfg-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 OR sudo nmcli connection reload

    So, is it only the ifup and ifdown that are deprecated, but the configuration files remain? Is the distinction between scripts and configuration 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.