NAME¶
/etc/network/interfaces - interface configuration
database
DESCRIPTION¶
The /etc/network/interfaces file is used to specify how
network interfaces are configured. The file is processed by
ifquery(8), ifup(8) and ifdown(8) to introspect and
change system state.
In most cases, syntax from legacy implementations is supported as
well, but that syntax is not discussed in detail here.
FILE SYNTAX¶
The interface configuration database is composed of a series of
stanzas. Hash symbols designate comments, which are ignored by the
system.
A stanza is a collection of triples, where a triple is a key and
value combination that is related to an object. Triples which are not
associated with an object are considered to be part of the root of
the configuration tree.
All keywords are case-sensitive and are expected to be
lower-case.
The following is a simple example of a stanza:
auto eth0
iface eth0
address 203.0.113.2/24
gateway 203.0.113.1
This stanza defines an interface named eth0 which is
configured with an address of 203.0.113.2 and gateway of
203.0.113.1.
SUPPORTED KEYWORDS FOR UNASSOCIATED TRIPLES¶
auto object
Designates that object should be automatically
configured by the system when appropriate.
iface object
Begins a new declaration for object. Any child
keyword associated with the declaration will be stored inside
object.
source filename
Includes the file filename as configuration
data.
source-directory directory
Includes the files in directory as configuration
data.
template object
Begins a new declaration for object, like
iface, except that object is defined as a template.
SUPPORTED KEYWORDS FOR OBJECT TRIPLES¶
Any keyword may be used inside an interface declaration block, but
the system will only respond to certain keywords by default:
address address
Associates an IPv4 or IPv6 address in CIDR notation with
the parent interface. If an IP address without a prefix length is given a
given netmask attribute is used if present. If neither a prefix length
nor a netmask are given a /24 or /64 prefix length is presumed for IPv4
/ IPv6 as of compatibility reasons to classic ifupdown.
netmask netmask
Associates a fallback netmask with the parent interface
for addresses which do not have a CIDR length set. This option is for
backwards compatibility and should not be used in new deployments.
point-to-point address
Sets the given IPv4 address as the peer address on
the interface. This setting only takes effect for the IPv4 address familiy and
only makes sense in combination with a /32 netmask. For compatiblity with
ifupdown and ifupdown2, pointopoint is an alias for this
parameter.
gateway address
Associates an IPv4 or IPv6 address with the parent
interface for use as a default route (gateway). This usually is given once for
IPv4 and once for IPv6 (in a Dual-Stack setup).
link-type link-type
Denotes the link-type of the interface. When set to
dummy, the interface is created as a virtual dummy interfaces. When set
to veth the interface is created as virtual veth interface
(pair).
veth-peer-name peer-name
Denotes the name of the veth peer interfaces. If not set
the kernel will name the veth peer interface as vethN with N being an
integer number.
alias alias
Sets the given alias on the interface.
requires interfaces...
Designates one or more required interfaces that must be
brought up before configuration of the parent interface. Interfaces associated
with the parent are taken down at the same time as the parent.
inherit object
Designates that the configured interface should inherit
configuration data from object. Normally object must be a
template.
use executor
Designates that an executor should be used. See
EXECUTORS section for more information on executors.
pre-down command
Runs command before taking the interface
down.
down command
Runs command when the interface is taken
down.
post-down command
Runs command after taking the interface
down.
pre-up command
Runs command before bringing the interface
up.
up command
Runs command when the interface is brought
up.
post-up command
Runs command after bringing the interface
up.
Additional packages such as bonding, bridge,
tunnel, vrf and vxlan add additional keywords to this
vocabulary.
EXECUTORS¶
The use keyword designates that an executor should
be used. This system is extendable by additional packages, but the most
common executors are:
batman
The interface is a B.A.T.M.A.N. adv. mesh interface.
Configuration of B.A.T.M.A.N. adv. interfaces requires the batctl
untiliy to be installed.
bond
The interface is a bonded interface. Configuration of
bonded interfaces requires the bonding package to be installed.
bridge
The interface is an ethernet bridge. Configuration of
ethernet bridges requires the bridge package to be installed.
dhcp
Use a DHCP client to learn the IPv4 address of an
interface.
forward
Configures forwarding settings on the interface.
loopback
Designates the interface as a loopback device.
ppp
Designates the interface as a PPP device. Configuration
of PPP interfaces require the ppp and probably the pppoe
packages to be installed.
tunnel
The interface is a tunnel. Configuration of tunnels
requires the tunnel package to be installed on Alpine Linux.
vrf
The interface is a VRF. Configuration of VRFs requires
the vrf package to be installed.
vxlan
The interface is a Virtual Extensible LAN (VXLAN) tunnel
endpoint.
wifi
The interface is a Wi-Fi (IEEE 802.11) client interface.
Configuration of the WiFi client interface requires the wireless-tools
package to be installed. The wpa_supplicant package must also be
installed to connect to hotspots using WPA-based security.
wireguard
The interface is a Wireguard VPN tunnel endpoint.
Check interfaces-<executor>(5) for further informaton
about a given executor and available configuration parameters.
If the auto_executor_selection ifupdown-ng.conf option is
enabled, use statements will automatically be added for executors
when their configuration statements are present in the interfaces file.
EXAMPLES¶
Configure a bridge interface br0 with bond0 attached
to it, which is a failover between eth0 and eth1. This
requires the bonding and bridge packages to be installed:
auto br0
iface br0
use bridge
requires bond0
address 203.0.113.2/24
gateway 203.0.113.1
iface bond0
use bond
requires eth0 eth1
bond-mode 802.3ad
bond-xmit-hash-policy layer2+3
Configure a network interface to use DHCP to learn its IPv4
address:
auto eth0
iface eth0
use dhcp
AUTHORS¶
Ariadne Conill <ariadne@dereferenced.org>
Maximilian Wilhelm <max@sdn.clinic>