ifcfg − common elements of network interface configuration
/etc/sysconfig/network/ifcfg-*
The following
is a list of variables that can be put in the configuration
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 <interface> still works. Use this when you use a root filesystem via network.
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 interfaces or bridge ports.
BOOTPROTO {static*|dhcp|dhcp4|dhcp6|autoip|dhcp+autoip|6to4|none|ibft}
Setup protocol. If this variable is empty or missing, it defaults to static.
static |
A fixed addresses specified in IPADDR and related variables 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. Additionally 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) configured 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 and bridge ports to skip the interface configuration. It is also recommended (instead of static) for interfaces configured with STARTMODE=nfsroot (for nfs- and iscsi-root installation), where the setup is done in the initrd and inconsistencies could break it. | ||
ibft |
For interfaces with iSCSI Boot Firmware Table (iBFT) firmware, defined in ACPI 3.0b specification, intended to use together with STARTMODE=nfsroot. Causes reading of the iBFT settings (/sys/firmware/ibft) for the interface and override the BOOTPROTO setting internally to dhcp when the origin flag is set to IpPrefixOriginDdhcp (3), otherwise to none. |
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. Alternatively 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 specified.
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/sysconfig/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 available scopes are listed in file /etc/iproute2/rt_scopes. Predefined 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
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>’.
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/network/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) manual page.
BONDING_MASTER, BONDING_SLAVE_*, BONDING_OPTS, BONDING_MODULE_OPTS
These are used to set up interface bonding. See ifcfg-bonding (5) manual page.
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.
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/network/config.
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.
Please report bugs at <http://www.suse.de/feedback>
Christian Zoz
<[email protected]> -- ifup script
Michal Svec <[email protected]> -- ifup script
Bjoern Jacke -- ifup script
Mads Martin Joergensen <[email protected]> -- ifup manual
page
Michal Ludvig <[email protected]> -- tunnel support
/etc/sysconfig/network/ifcfg.template, ifcfg-bonding(5), ifcfg-tunnel(5), ifcfg-vlan(5), ifcfg-wireless(5), ifup(8).
Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.
Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.
Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.
Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.
The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.
Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.
Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.
Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.