Langue: en

Version: August 2004 (openSuse - 09/10/07)

Section: 8 (Commandes administrateur)


ifup - start a preconfigured net interface.
ifdown - stop a (preconfigured) net interface.
ifstatus - show the state of a (preconfigured) net interface.
ifrenew - renews the dhcp lease on a net interface.
ifprobe - checks if the configuration for the interface has changed


if{up,down,status,renew,probe} [ <configuration-name> ] <hardware-description> [-o options ]


We use the terms configuration, interface and device in a dedicated way. A device is always a piece of hardware representing a network interface, a PCI or PCMCIA card or a USB device. An interface then is the name of the network interface it gets from the kernel when the device has been registered. A configuration is a set of parameters which can be assigned to an interface like IP addresses or routes.

It is intentional that a configuration does not need to belong to an interface, but to a device. For built-in devices there is most of the time a fixed relation between devices and interfaces, but this is no longer the case when using hotpluggable devices. With such devices (like PCMCIA or USB) you cannot always know which interface name you will get. So even if the interface name changes the interface to a certain device will always have the right setup.


ifup is used to bring up a preconfigured interface for networking. It is usually invoked by the network script at boot time or by the PCMCIA/hotplug system. It can also be used to start interfaces manually on the command line. It activates the link, adds addresses and other parameters and sets up the routes for an interface. ifdown is used to set down the interface and flush all its addresses. It is possible to let ifdown check the interface if it is still used before setting it down. If configured it may then get rid of the using processes or refuse setting it down. Have a look at /etc/sysconfig/network/config to enable this feature. ifstatus checks if the interface and its routes were set up properly. ifrenew is used to renew the dhcp lease on the desired interface without shutting the interface down. It only restarts the corresponding dhcpcd or dhclient process. ifprobe checks if any of the configuration files for this interface have been changed since the interface is up. Checked files are the corresponding ifcfg-*, ifroute-*, ifservices-* and common configuration files config, dhcp and routes.

<hardware-description> may just be the interface name.
But it can be more. It describes the device of the interface to be set up. As there is no fixed relation between devices and the names their interfaces get from the kernel, it might be necessary to specify the device exactly. The hardware-description may be the current interface name, the MAC address or the bus location where the device resides. It has to be compliant with the device naming rules as specified in getcfg(8). ifup uses getcfg to obtain all missing information, for example the interface name of a device with given hardware-description.
ifup uses getcfg also to get the best matching configuration for the interface. Every configuration is stored in files below /etc/sysconfig/network which are named ifcfg-<configuration-name>. <configuration-name> is the name of a configuration that should be used to set up the interface. It may be used to circumvent the automatic search for a configuration with getcfg. In this case the configuration names are not restricted. For example if you have a configuration file ifcfg-my-special you may call ifup my-special <hwdesc>.


See /usr/share/doc/packages/sysconfig/README.Persistent_Interface_Names for more information about that.


The following are options to be specified after the -o switch.
Only set up the interface if the configuration has the STARTMODE=auto (or boot, onboot or hotplug.)
Alias for 'auto'.
Like auto, but do some extra jobs, because hotplug indicates that the interface was just (un)registered. These extra jobs contain (if configured): starting/stopping ifplugd, renaming interface and removing all status files at ifdown.
This is default operation mode and sets up interfaces with STARTMODE=manual. If option 'rc' is used which implies mode 'auto', you can force mode 'manual'.
Special option for the use in rcnetwork (/etc/init.d/network). See section rcnetwork below.
Indicates that script is called from dhcp client. When a interface has BOOTPROTO=dhcp ifup/down does not execute any post action immediately. After dhcp client got a lease and has set ip address, it calls ifup again, this time with option 'dhcp'. In this run we finish interface setup.
If there are interfaces based on this interface, ifdown takes these depending interfaces down first. If you don't like that, use 'nodeps'.
Use provider <n> instead that from config file. Only usefull for dialup interfaces.
Be verbose.
With nosyslog the scripts don't send messages to syslog even if the configuration variable USE_SYSLOG is set to "yes". This is default for ifstatus only. If you want also ifstatus messages send to syslog then call it with syslog.


The script itself.
General configuration options. See section GENERAL VARIABLES below.
/etc/sysconfig/network/ifcfg- <configuration-name>
The files containing the configuration of the devices. An example that shows a typical configuration with the name ifcfg-eth0:





/etc/sysconfig/network/ifroute- <configuration-name>
You can specify individual routes for every configuration in these files. See routes (5) for a detailed description.
Scripts in these directories will be executed when any interface is started, if-up.d, and when any interface is stopped, if-down.d. They have to be executable and may also be binary. The execution of these programs is controlled by the variables GLOBAL_POST_UP_EXEC and GLOBAL_PRE_DOWN_EXEC in the network configuration file /etc/sysconfig/network/config These are not interface specific, and can have any name. If you need interface/configfile specific scripts to be executed have a look at PRE_UP_SCRIPT, POST_UP_SCRIPT, PRE_DOWN_SCRIPTand POST_DOWN_SCRIPT.
/etc/sysconfig/network/ifservices- <configuration-name>/
If you don't have a permanent network connection and like that certain services are not started at boot time unconditionaly but later after the network connection was established then you can add these services here. See ifservices (5) for a detailed description.
A template for writing ifcfg-* files.


There are some general settings in the file /etc/sysconfig/network/config. If needed you can also set every general variable as an individual variable in the ifcfg-* files. Please see the description of these variables in /etc/sysconfig/network/config.

For dhcp there are additional global options in /etc/sysconfig/network/dhcp. Also these are described there and can be used individually in ifcfg-* files.


At boot time network devices are initialized asynchronously via hotplug. Once this initialisation process registered an interface for it this will also trigger a hotplug event which will call ifup. If service network was still not started ifup will just exit. As soon as service network is active ifup will do its job and set up the interface. Therefore the job of the network start script consists of:

- set the 'network active' flag

- set up all interfaces already available

- wait for mandatory interfaces which are still not there

- set up tunnel, vlan, et al.

At boot time the scripts tries to determine the list of mandatory devices automatically. It considers all interfaces that have a startmode 'auto' or are considered as mandatory. Normally it waits 20 seconds for them and exits then with failed is any mandatory interface is still missing.

Alternatively you may specify all mandatory devices manually in the variable MANDATORY_DEVICES in the file. /etc/sysconfig/network/config. There you may also tweak the timeout in WAIT_FOR_INTERFACES.

The network script will only set up devices with with startmodes auto, onboot or hotplug. To set up an interface with startmode manual you have to call ifup manually. (rcnetwork calls 'ifup ... -o rc').


ifstatus interface

ifup and rcnetwork write status files in /var/run/sysconfig. If something went completely wrong this files might be interesting.


Please report bugs at <http://www.suse.de/feedback>


Christian Zoz <zoz@suse.de> -- ifup script

Michal Svec <msvec@suse.cz> -- ifup script

Bjoern Jacke -- ifup script

Mads Martin Joergensen <mmj@suse.de> -- ifup manpage 

Michal Ludvig <mludvig@suse.cz> -- tunnel support


ifcfg(5), routes(5), ifservices(5), ifcfg-wireless(5), ifcfg-tunnel(5), ifcfg-vlan(5), ifcfg-bonding(5), getcfg(8).