IFCFG(5) Network configuration IFCFG(5)NAMEifcfg - common elements of network interface configuration
SYNOPSIS
/etc/sysconfig/network/ifcfg-*
VARIABLES
The following is a list of variables that can be put in the configura‐
tion file, with an example in parentheses. * marks the default. For
the meaning of suffix, see the section Multiple addresses.
STARTMODE {manual*|auto|hotplug|ifplugd|nfsroot|off}
Choose when the interface should be set up.
manual
Interface will be set up if ifup is called manually
(without option boot or hotplug)
auto
Interface will be set up as soon as it is available (and
service network was started). This either happens at boot
time when network is starting or via hotplug when a
interface is added to the system (by adding a device or
loading a driver). To be backward compliant onboot, on
and boot are aliases for auto.
hotplug
This mode is nearly the same as auto. The difference
between auto and hotplug is that the latter does not make
rcnetwork fail if the interface cannot be brought up.
ifplugd
The interface will be controlled from ifplugd. At initial
ifup only ifplugd will be started for this interface.
Then if ifplugd detects a link if calls ifup again which
finally sets the interface up. See also variable
IFPLUGD_PRIORITY below.
nfsroot
Nearly like auto, but interfaces with this startmode will
never be shut down via rcnetwork stop. ifdown <inter‐
face> -o force still works. Use this when you use a root
filesystem via network. This mode is used automatically
for all interfaces with iBFT firmware.
off
Will never be activated.
IFPLUGD_PRIORITY
If there multiple interfaces have STARTMODE=ifplugd and a
nonzero priority, only one of them will be set up at a time.
Every time one of these interfaces is (un)plugged the interface
with highest priority (and plugged cable) will be set up.
Default is IFPLUGD_PRIORITY='0' causing set up as when the cable
is plugged. Note: This is not supported for e.g. bridge inter‐
faces or bridge ports.
BOOTPROTO {static*|dhcp|dhcp4|dhcp6|autoip|dhcp+autoip|6to4|none}
Setup protocol. If this variable is empty or missing, it
defaults to static.
static
A fixed addresses specified in IPADDR and related vari‐
ables and static routing as defined in routes and
ifroute-<interface name> files is configured.
dhcp4 dhcp6 dhcp
A DHCPv4, DHCPv6 or both clients are started to configure
the interface. The setup is considered successful, when
at least one dhcp client configures the interface. Addi‐
tionally to the dhcp client configuration, fixed
addresses and routes may also be specified.
Note:
Static routes without explicit interfaces will also
replace routes to the same destination (network) config‐
ured by dhcp clients on any interface!
Static routes with explicit interface will also replace
routes to the same destination (network) configured by
dhcp clients on this interface.
autoip dhcp+autoip
may be used for a IPv4 zeroconf setup or as fall back to
autoip if dhcp fails.
6to4
to set up IPv6 tunnel interfaces running in the "6to4"
mode.
See also ifcfg-tunnel(5) manual page.
none
For bonding slaves, to skip the link-layer (MTU, MAC
address) setup and IP configuration of the interface in
ifup. The bonding script handles the link layer settings
itself at enslave time. See also ifcfg-bonding(5) man
page. Note: Do not use to just skip the IP setup -- use
BOOTPROTO="static" without any addresses in the IPADDR
variables (or routes) instead.
ibft
This mode is obsolete. The iSCSI Boot Firmware Table
(iBFT) firmware (/sys/firmware/ibft), is always read.
When the iBFT settings are available for the interface,
only the ibft settings are used and the ifcfg config file
isn't read / ignored completely. When specified in the
ifcfg file of a non-iBFT interface, behaviour is same to
none as the interface is set up in the initrd.
IPADDR[suffix] {IPv4|IPv6}[/PREFIXLEN]
IP address, either IPv4 or IPv6. You may add /<prefixlength> in
both cases and omit NETMASK or PREFIXLEN. If you need more then
one IP address use this variable multiple times with different
suffixes added. See section Multiple addresses below. If no
address is configured the interface will just be activated (UP).
PREFIXLEN[suffix]
Number of bits in IPADDR that form the network address. Alterna‐
tively add a prefix-length to IPADDR or use NETMASK. PREFIXLEN
is preferred over NETMASK. but highest priority has a prefix-
length added to the IP address in the variable IPADDR.
NETMASK[suffix]
Network mask. Alternatively add a prefix-length to IPADDR or use
PREFIXLEN. This variable is ignored if a prefix-length is spec‐
ified.
BROADCAST[suffix]
Network broadcast. If you omit the broadcast address, it will be
calculated from netmask or prefix-length. You can affect the
calculation with the variable DEFAULT_BROADCAST in /etc/syscon‐
fig/network/config. See the description there.
REMOTE_IPADDR[suffix]
The remote IP address of a point to point connection
LABEL[suffix]
Each address may be tagged with a label string. In order to
preserve compatibility with Linux-2.0 net aliases, this string
must coincide with the name of the device or must be prefixed
with the device name followed by colon. This may be useful with
Multiple addresses (see below).
SCOPE[suffix]
The scope of the area where this address is valid. The avail‐
able scopes are listed in file /etc/iproute2/rt_scopes. Prede‐
fined scope values are:
global - the address is globally valid.
site - (IPv6 only) the address is site local, i.e. it is
valid inside this site.
link - the address is link local, i.e. it is valid only
on this device.
host - the address is valid only inside this host.
MTU Set the maximum transfer unit (MTU) for this interface.
IP_OPTIONS[suffix]
Any other option you may want to give to the ip add add ...
command. This string is appended to the command.
LLADDR Set an individual link layer address (MAC address).
LINK_OPTIONS
Here you may add any option valid with ip link set up ...
INTERFACETYPE
In case ifup cannot determine the interface type properly, you
may specify the correct type in this variable to override the
behavior and force ifup to handle the interface differently than
it detected from system or config. Please always open a bug
report when it is required to set the type.
ETHTOOL_OPTIONS [ suffix ]
If this variable is not empty ifup will call ethtool with this
options. See the ethtool (8) manual page for available options.
If the option string starts with a '-' (e.g. '-K iface rx on'),
then the second word in the string will be replaced with the
current interface name. Otherwise (e.g. 'autoneg off speed 10')
ifup prepends '-s <interface>'. The optional variable suffix
can be used to apply every setting separately, e.g.:
ETHTOOL_OPTIONS='autoneg off speed 10'
ETHTOOL_OPTIONS_gro='-K iface gro off'
ETHTOOL_OPTIONS_lro='-K iface lro off'
The ethtool (8) utility stops applying the settings at first
failure and may not apply remaining settings. The NIC driver may
reject settings as not supported (e.g. '-K iface lro off') or
also when the link is not up.
ETHTOOL_WAIT <seconds>
When not empty, it causes to wait specified number of seconds
before starting to apply ETHTOOL_OPTIONS (driver initialization
time).
ETHTOOL_UP_REPEAT {no*|yes}
Repeat the attempt to set the ETHTOOL_OPTIONS after the link is
up.
ETHTOOL_UP_WAIT <seconds>
When not empty, it causes to wait specified number of seconds
before starting to repeat to apply ETHTOOL_OPTIONS after the
link has been set up.
RUN_POLL_TCPIP {yes*|no}
Controls running /etc/ppp/poll.tcpip when a dialup connection is
established.
PRE_UP_SCRIPT, POST_UP_SCRIPT, PRE_DOWN_SCRIPT and POST_DOWN_SCRIPT
Here you can hook a script (better: an executable) to perform
individual actions before/after the interface is set up or
before/after the interface is set down. If you use relative
filenames ifup will look for them in /etc/sysconfig/net‐
work/scripts but you may use absolute paths as well. They were
called scripts, because they usually are scripts, but you may
add also binaries here. If they are scripts, they must be made
executable.
These scripts will be called with nearly the same arguments as
ifup. The only difference is that the configuration-name
(optional for ifup) is always set with the name determined by
getcfg. The configuration name is stored in the variable $CONFIG
which may be used inside the ifcfg- configuration file.
If BOOTPROTO=dhcp then the post up and pre down scripts will not
be executed immediately by ifup/ifdown. Instead dhcpcd calls
ifup/ifdown with a special option always after it sets, changes
or removes the IP address. Therefore post up scripts will be
executed after the interface is really up which may be much
later if dhcp did not get a lease immediately. And pre down
scripts are called after dhcp shut down the interface (not
before as 'pre' would indicate. This is a problem of dhcpcd).
TUNNEL, TUNNEL_*
Using this variable you may set up different tunnels. See ifcfg-
tunnel (5) manual page.
ETHERDEVICE
Needed only for virtual LANs (802.1q). It contains the real
interface to use for the vlan interface. See ifcfg-vlan (5) man‐
ual page.
BONDING_MASTER, BONDING_SLAVE_*, BONDING_OPTS, BONDING_MODULE_OPTS
These are used to set up interface bonding. See ifcfg-bonding
(5) manual page.
GENERAL VARIABLES
There are some general settings in the file /etc/sysconfig/network/con‐
fig. If needed you can also set every general variable as an individ‐
ual variable in the ifcfg-* files.
DEFAULT_BROADCAST
GLOBAL_POST_UP_EXEC
GLOBAL_PRE_DOWN_EXEC
CHECK_DUPLICATE_IP
SEND_GRATUITOUS_ARP
DEBUG
USE_SYSLOG=
MODIFY_RESOLV_CONF_DYNAMICALLY
MODIFY_NAMED_CONF_DYNAMICALLY
MODIFY_RESOLV_CONF_STATIC_DNS
CONNECTION_SHOW_WHEN_IFSTATUS
CONNECTION_CHECK_BEFORE_IFDOWN
CONNECTION_CLOSE_BEFORE_IFDOWN
CONNECTION_UMOUNT_NFS_BEFORE_IFDOWN
CONNECTION_SEND_KILL_SIGNAL
MANDATORY_DEVICES
WAIT_FOR_INTERFACES
FIREWALL
LINKLOCAL_INTERFACES
IFPLUGD_OPTIONS
Please see the description of these variables in /etc/sysconfig/net‐
work/config.
Multiple addresses
You can extend the variable name IPADDR by any string you like. For
example IPADDR_1, IPADDR-FOO or IPADDRxxx. Use these variables for
your IP addresses. If you need some additional parameters for these
addresses, then just add the same extension to these variable names:
BROADCAST, NETMASK, PREFIXLEN, REMOTE_IPADDR, LABEL, SCOPE, IP_OPTIONS.
Example:
IPADDR_AAA=1.2.3.4
NETMASK_AAA=255.0.0.0
BROADCAST_AAA=1.2.3.55
IPADDR_BBB=10.10.2.3/16
LABEL_BBB=BBB
and so on ...
You do not need to set a label for any address. But then you should not
use ifconfig any longer; go and use ip. If you want to use ifconfig
then omit the label for your main address and set a number as label for
every additional address.
BUGS
Please report bugs at <http://www.suse.de/feedback>
AUTHOR
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 manual page
Michal Ludvig <mludvig@suse.cz> -- tunnel support
SEE ALSO
/etc/sysconfig/network/ifcfg.template, ifcfg-bonding(5), ifcfg-tun‐
nel(5), ifcfg-vlan(5), ifcfg-wireless(5), ifup(8).
sysconfig August 2004 IFCFG(5)