interfaces(5) File Formats Manual interfaces(5)

/etc/network/interfaces - interface configuration database

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.

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.

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.

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.

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.

gateway address

Associates an IPv4 or IPv6 address with the parent interface for use as a default route (gateway).

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.

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.

use option

Designates that an option should be used. See OPTIONS section for more information on options.

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 and vrf add additional keywords to this vocabulary.

The use keyword designates that an option should be used. This system is extendable by additional packages, but the most common options are:

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.

loopback

Designates the interface as a loopback device.

tunnel

The interface is a tunnel. Configuration of tunnels requires the tunnel package to be installed.

vrf

The interface is a VRF. Configuration of VRFs requires the vrf package to be installed.

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

Ariadne Conill <ariadne@dereferenced.org>
2020-07-24