NAME

        /etc/network/interfaces  - network interface configuration for ifup and
        ifdown
 

DESCRIPTION

        /etc/network/interfaces contains network interface configuration infor‐
        mation  for the ifup(8) and ifdown(8) commands.  This is where you con‐
        figure how your system is connected to the network.
 
        Lines starting with ‘#’ are ignored. Note that end-of-line comments are
        NOT supported, comments must be on a line of their own.
 
        A line may be extended across multiple lines by making the last charac‐
        ter a backslash.
 
        The file consists of  zero  or  more  "iface",  "mapping",  "auto"  and
        "allow-" stanzas. Here is an example.
 
               auto lo eth0
               allow-hotplug eth1
 
               iface lo inet loopback
 
               mapping eth0
                    script /usr/local/sbin/map-scheme
                    map HOME eth0-home
                    map WORK eth0-work
 
               iface eth0-home inet static
                    address 192.168.1.1
                    netmask 255.255.255.0
                    up flush-mail
 
               iface eth0-work inet dhcp
 
               iface eth1 inet dhcp
 
        Lines  beginning with the word "auto" are used to identify the physical
        interfaces to be brought up when ifup is run with the -a option.  (This
        option  is  used by the system boot scripts.)  Physical interface names
        should follow the word "auto" on the same line.  There can be  multiple
        "auto"  stanzas.   ifup  brings  the  named  interfaces up in the order
        listed.
 
        Lines beginning with "allow-" are  used  to  identify  interfaces  that
        should  be  brought  up automatically by various subsytems. This may be
        done using a command such as "ifup --allow=hotplug  eth0  eth1",  which
        will  only  bring up eth0 or eth1 if it is listed in an "allow-hotplug"
        line. Note that "allow-auto" and "auto" are synonyms.
 
        Stanzas beginning with the word "mapping" are used to determine  how  a
        logical interface name is chosen for a physical interface that is to be
        brought up.  The first line of a mapping stanza consists  of  the  word
        "mapping"  followed  by  a  pattern in shell glob syntax.  Each mapping
        stanza must contain a script definition.  The named script is run  with
        the  physical  interface  name as its argument and with the contents of
        all following "map" lines (without the leading  "map")  in  the  stanza
        provided to it on its standard input. The script must print a string on
        its standard output before exiting.  See  /usr/share/doc/ifupdown/exam‐
        ples for examples of what the script must print.
 
        Mapping a name consists of searching the remaining mapping patterns and
        running the script corresponding to the first match; the script outputs
        the name to which the original is mapped.
 
        ifup  is  normally  given  a  physical  interface  name  as  its  first
        non-option argument.  ifup also uses this name as the  initial  logical
        name  for  the  interface  unless it is accompanied by a  suffix of the
        form =LOGICAL, in which case ifup chooses LOGICAL as the initial  logi‐
        cal name for the interface.  It then maps this name, possibly more than
        once according to successive mapping specifications,  until no  further
        mappings  are  possible.   If  the  resulting  name is the name of some
        defined logical interface then ifup attempts to bring up  the  physical
        interface  as  that  logical  interface.   Otherwise ifup exits with an
        error.
 
        Stanzas defining logical interfaces start with a line consisting of the
        word  "iface" followed by the name of the logical interface.  In simple
        configurations without mapping stanzas this name should simply  be  the
        name  of  the  physical  interface  to which it is to be applied.  (The
        default mapping script is, in effect, the echo command.)  The interface
        name  is  followed by the name of the address family that the interface
        uses.  This will be "inet" for TCP/IP networking,  but  there  is  also
        some support for IPX networking ("ipx"), and IPv6 networking ("inet6").
        Following that is the name of the method used to configure  the  inter‐
        face.
 
        Additional  options  can  be  given  on subsequent lines in the stanza.
        Which options are available  depends  on  the  family  and  method,  as
        described  below.   Additional  options  can be made available by other
        Debian packages.  For example, the wireless-tools package makes  avail‐
        able a number of options prefixed with "wireless-" which can be used to
        configure  the  interface  using  iwconfig(8).   (See  wireless(7)  for
        details.)
 
        Options  are usually indented for clarity (as in the example above) but
        are not required to be.
        The following "command" options are  available  for  every  family  and
        method.   Each of these options can be given multiple times in a single
        stanza, in which case the commands are executed in the order  in  which
        they  appear  in  the stanza.  (You can ensure a command never fails by
        suffixing "|| true".)
 
        pre-up command
               Run command before bringing the interface up.  If  this  command
               fails then ifup aborts, refraining from marking the interface as
               configured, prints an error message, and exits  with  status  0.
               This behavior may change in the future.
 
        up command
 
        post-up command
               Run  command  after  bringing the interface up.  If this command
               fails then ifup aborts, refraining from marking the interface as
               configured  (even  though it has really been configured), prints
               an error message, and exits with status 0.   This  behavior  may
               change in the future.
 
        down command
 
        pre-down command
               Run  command  before taking the interface down.  If this command
               fails then ifdown aborts, marks the  interface  as  deconfigured
               (even  though  it  has  not really been deconfigured), and exits
               with status 0.  This behavior may change in the future.
 
        post-down command
               Run command after taking the interface down.   If  this  command
               fails  then  ifdown aborts, marks the interface as deconfigured,
               and exits with status  0.   This  behavior  may  change  in  the
               future.
 
        There  exists  for  each  of  the  above  mentioned options a directory
        /etc/network/if-<option>.d/ the scripts in which are run (with no argu‐
        ments) using run-parts(8) after the option itself has been processed.
 
        All  of  these  commands have access to the following environment vari‐
        ables.
 
        IFACE  physical name of the interface being processed
 
        LOGICAL
               logical name of the interface being processed
 
        ADDRFAM
               address family of the interface
 
        METHOD method of the interface (e.g., static)
 
        MODE   start if run from ifup, stop if run from ifdown
 
        PHASE  as per MODE, but with finer granularity, distinguishing the pre-
               up, post-up, pre-down and post-down phases.
 
        VERBOSITY
               indicates  whether --verbose was used; set to 1 if so, 0 if not.
 
        PATH   the  command   search   path:   /usr/local/sbin:/usr/local/bin:‐
               /usr/sbin:/usr/bin:/sbin:/bin
 
        Additionally,  all  options given in an interface definition stanza are
        exported to the environment in upper case with "IF_" prepended and with
        hyphens  converted  to underscores and non-alphanumeric characters dis‐
        carded.
        This section documents the methods available in the inet  address  fam‐
        ily.
 
    The loopback Method
        This method may be used to define the IPv4 loopback interface.
 
        Options
 
               (No options)
 
    The static Method
        This  method  may be used to define ethernet interfaces with statically
        allocated IPv4 addresses.
 
        Options
 
               address address
                      Address (dotted quad) required
 
               netmask netmask
                      Netmask (dotted quad) required
 
               broadcast broadcast_address
                      Broadcast address (dotted quad)
 
               network network_address
                      Network address (dotted quad) required for 2.0.x kernels
 
               metric metric
                      Routing metric for default gateway (integer)
 
               gateway address
                      Default gateway (dotted quad)
 
               pointopoint address
                      Address of  other  end  point  (dotted  quad).  Note  the
                      spelling of "point-to".
 
               media type
                      Medium type, driver dependent
 
               hwaddress class address
                      Hardware  Address. class is one of ether, ax25, ARCnet or
                      netrom. address is dependent on the above choice.
 
               mtu size
                      MTU size
 
    The manual Method
        This method may be used to define interfaces for which no configuration
        is done by default. Such interfaces can be configured manually by means
        of up and down commands or /etc/network/if-*.d scripts.
 
        Options
 
               (No options)
 
    The dhcp Method
        This method may be used to obtain an address via DHCP with any  of  the
        tools:  dhclient, pump, udhcpc, dhcpcd. (They have been listed in their
        order of precedence.) If you have a complicated DHCP setup  you  should
        note  that  some of these clients use their own configuration files and
        do not obtain their configuration information via ifup.
 
        Options
 
               hostname hostname
                      Hostname to be requested (pump, dhcpcd, udhcpc)
 
               leasehours leasehours
                      Preferred lease time in hours (pump)
 
               leasetime leasetime
                      Preferred lease time in seconds (dhcpcd)
 
               vendor vendor
                      Vendor class identifier (dhcpcd)
 
               client client
                      Client identifier (dhcpcd, udhcpc)
 
               hwaddress class address
                      Hardware Address. class is one of ether, ax25, ARCnet  or
                      netrom. address is dependent on this choice.
 
    The bootp Method
        This method may be used to obtain an address via bootp.
 
        Options
 
               bootfile file
                      Tell the server to use file as the bootfile.
 
               server address
                      Use  the  IP  address  address  to  communicate  with the
                      server.
 
               hwaddr addr
                      Use addr as the hardware address instead of  whatever  it
                      really is.
 
    The ppp Method
        This  method uses pon/poff to configure a PPP interface. See those com‐
        mands for details.
 
        Options
 
               provider name
                      Use name as the provider (from /etc/ppp/peers).
 
    The wvdial Method
        This method uses wvdial to configure a PPP interface. See that  command
        for more details.
 
        Options
 
               provider name
                      Use name as the provider (from /etc/ppp/peers).
 
    The ipv4ll Method
        This  method  uses avahi-autoipd to configure an interface with an IPv4
        Link-Layer address (169.254.0.0/16 family). This method is  also  known
        as  "APIPA"  or "IPAC", and often colloquially referred to as "Zeroconf
        address".
 
        Options
 
               (No options)
        This section documents the methods available in the ipx address family.
 
    The static Method
        This  method  may  be  used  to setup an IPX interface. It requires the
        ipx_interface command.
 
        Options
 
               frame type
                      type of ethernet frames to use (e.g. 802.2)
 
               netnum id
                      Network number
 
    The dynamic Method
        This method may be used to setup an IPX interface dynamically.
 
        Options
 
               frame type
                      type of ethernet frames to use (e.g. 802.2)
        This section documents the methods available in the inet6 address  fam‐
        ily.
 
    The loopback Method
        This method may be used to define the IPv6 loopback interface.
 
        Options
 
               (No options)
 
    The static Method
        This  method  may be used to define interfaces with statically assigned
        IPv6 addresses.
 
        Options
 
               address address
                      Address (colon delimited) required
 
               netmask mask
                      Netmask (number of bits, eg 64) required
 
               gateway address
                      Default gateway (colon delimited)
 
               media type
                      Medium type, driver dependent
 
               hwaddress class address
                      Hardware Address. class is one of ether, ax25, ARCnet  or
                      netrom. address is dependent on this choice.
 
               mtu size
                      MTU size
 
    The manual Method
        This method may be used to define interfaces for which no configuration
        is done by default. Such interfaces can be configured manually by means
        of up and down commands or /etc/network/if-*.d scripts.
 
        Options
 
               (No options)
 
    The v4tunnel Method
        This  method may be used to setup an IPv6-over-IPv4 tunnel. It requires
        the ip command from the iproute package.
 
        Options
 
               address address
                      Address (colon delimited)
 
               netmask mask
                      Netmask (number of bits, eg 64)
 
               endpoint address
                      Address of  other  tunnel  endpoint  (IPv4  dotted  quad)
                      required
 
               local address
                      Address of the local endpoint (IPv4 dotted quad)
 
               gateway address
                      Default gateway (colon delimited)
 
               ttl time
                      TTL setting
        The  ifup  and ifdown programs work with so-called "physical" interface
        names.  These names are assigned to hardware by the  kernel.   Unfortu‐
        nately  it can happen that the kernel assigns different physical inter‐
        face names to the same hardware at different times; for  example,  what
        was  called  "eth0"  last time you booted is now called "eth1" and vice
        versa.  This creates a problem if you want to configure the  interfaces
        appropriately.   A  way  to  deal  with  this problem is to use mapping
        scripts that choose logical interface names according to the properties
        of  the  interface  hardware.  See the get-mac-address.sh script in the
        examples directory for an example of such a mapping script.   See  also
        Debian bug #101728.
 
        It  is not currently possible to divide up /etc/network/interfaces into
        multiple files.  A feature that would make this possible is  some  sort
        of inclusion directive.  No such feature exists in the current ifupdown
        program.  For more information see Debian bug #159884.
 

AUTHOR

        The  ifupdown  suite  was  written  by  Anthony  Towns   <aj@azure.hum‐
        bug.org.au>.     This    manpage   was   contributed   by   Joey   Hess
        <joey@kitenet.net>.
        ifup(8), iwconfig(8), run-parts(8).
 
        For advice on configuring this package read the  Network  Configuration
        chapter    of    the    Debian    Reference    manual,   available   at
        http://www.debian.org/doc/manuals/reference/ch-gateway.en.html  or   in
        the debian-reference-en package.
 
        Examples   of   how   to   set   up   interfaces   can   be   found  in
        /usr/share/doc/ifupdown/examples/network-interfaces.gz.
 
 

Powered by the Ubuntu Manpage Repository generator
Maintained by Dustin Kirkland