ifservices-* - control network services with ifup/down




The directory /etc/sysconfig/network/ifservices-<configuration_name>/ is read by the script /etc/sysconfig/network/scripts/ifup-services which starts and stops system services when an interface is set up/down. ifup-services is used by /sbin/ifup, which is the command line user interface for setting up network interfaces.

This is useful if you don’t have a permanent network connection. If you sometimes boot without network and plug in the network cable later you can add links to system services in this directory. These services will then be started with ifup and stopped with ifdown.

The configuration name used for ifservices-* should match exactly the configuration name of the ifcfg-* file for the interface.

For the usage with NetworkManager (where you don’t necessarily need a ifcfg-* file) you can also use /etc/sysconfig/network/ifservices-<interface>-<essid>/ (for wlan interfaces) or if that does not exist /etc/sysconfig/network/ifservices-<interface>/. As a final fallback /etc/sysconfig/network/ifservices/ is checked as well. If NetworkManager is active services will be stopped after the interface is down.

The links in this directory are equal to the links in the runlevel directories /etc/init.d/rc*.d/ They have to point to service start scripts which are usually in /etc/init.d/. Links starting with ’S’ are start links, which are called in alphabetical order after ifup has set up the interface. Links starting with ’K’ are kill links which are called before ifdown takes down the interface. See also section Sequencing Directories in boot (7).


In this example we use an interface with MAC address 00:de:ad:be:af:00. This interface is not always physically connected. As soon as you plug in the cable ypbind and autofs should be started. When you pull the cable they should be stopped. This can be reached with:

in file /etc/sysconfig/network/ifcfg-eth-id-00:de:ad:be:af:00

... STARTMODE=ifplugd ...

in dir /etc/sysconfig/network/ifservices-eth-id-00:de:ad:be:af:00/

S10portmap -> /etc/init.d/portmap S20ypbind -> /etc/init.d/ypbind S30autofs -> /etc/init.d/autofs S20autofs -> /etc/init.d/autofs K30ypbind -> /etc/init.d/ypbind

Now you have to disable the start of this services at boot time

chkconfig ypbind off chkconfig autofs off


You may call scripts/create-ifservices-directory [<interface_name>] to create a directory with the links from this example. This will create the directory ifservices-<interface_name> or if no interface name was given ifservices-template.

Maybe you have to add also variable IFPLUGD_PRIORITY. For details about startmode ifplugd read ifup (8).

The service portmap had to be added because ypbind needs it. This service is still started at boot time because it does not need an active network connection. But ypbind may now be started earlier as usual. Therefore we make sure that portmap is started before. Starting an already running service again does not affect the service.


ifup(8), ifcfg(5).


Christian Zoz <>

openSUSE Logo