2013-11-10 23:52:53 +04:00
<?xml version='1.0'?> <!-- * - nxml - * -->
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of systemd.
Copyright 2013 Tom Gundersen
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http: / / w w w . g n u . o r g / l i c e n s e s /> .
-->
2013-11-13 01:44:18 +04:00
<refentry id= "systemd-networkd.service" conditional= 'ENABLE_NETWORKD' >
2013-11-10 23:52:53 +04:00
<refentryinfo >
<title > systemd-networkd.service</title>
<productname > systemd</productname>
<authorgroup >
<author >
<contrib > Developer</contrib>
<firstname > Tom</firstname>
<surname > Gundersen</surname>
<email > teg@jklm.no</email>
</author>
</authorgroup>
</refentryinfo>
<refmeta >
<refentrytitle > systemd-networkd.service</refentrytitle>
<manvolnum > 8</manvolnum>
</refmeta>
<refnamediv >
<refname > systemd-networkd.service</refname>
<refname > systemd-networkd</refname>
<refpurpose > Network manager</refpurpose>
</refnamediv>
<refsynopsisdiv >
<para > <filename > systemd-networkd.service</filename> </para>
<para > <filename > /usr/lib/systemd/systemd-networkd</filename> </para>
</refsynopsisdiv>
<refsect1 >
<title > Description</title>
<para > <command > systemd-networkd</command> is a system
service that manages networks. It detects and configures
2013-11-26 14:52:38 +04:00
network devices as they appear, as well as creating virtual
network devices.</para>
2013-11-10 23:52:53 +04:00
<para > Network configurations applied before networkd is started
are not removed, and configuration applied by networkd are not
removed when networkd exits. This ensures restarting networkd
2013-12-26 05:47:45 +04:00
does not cut the network connection, and, in particular, that
it is safe to transition between the initrd and the real root,
2013-11-10 23:52:53 +04:00
and back.</para>
</refsect1>
2013-11-26 14:52:38 +04:00
<refsect1 > <title > Configuration Files</title>
<para > The configuration files are read from the files located in the
2013-11-10 23:52:53 +04:00
system network directory <filename > /usr/lib/systemd/network</filename> ,
the volatile runtime network directory
<filename > /run/systemd/network</filename> and the local administration
network directory <filename > /etc/systemd/network</filename> .
2013-11-26 14:52:38 +04:00
All configuration files are collectively sorted and processed in lexical order,
2013-11-10 23:52:53 +04:00
regardless of the directories in which they live. However, files with
identical filenames replace each other. Files in
<filename > /etc</filename> have the highest priority, files in
<filename > /run</filename> take precedence over files with the same
2013-12-26 05:47:45 +04:00
name in <filename > /usr/lib</filename> . This can be used to override a
2013-11-26 14:52:38 +04:00
system-supplied configuration file with a local file if needed; a symlink in
<filename > /etc</filename> with the same name as a configuration file in
2013-12-26 05:47:45 +04:00
<filename > /usr/lib</filename> , pointing to <filename > /dev/null</filename> ,
2013-11-26 14:52:38 +04:00
disables the configuration file entirely.</para>
<refsect2 > <title > Virtual Network Devices</title>
<para > Netdev files must have the extension <filename > .netdev</filename> ;
other extensions are ignored. Virtual network devices are created as soon
as networkd is started.</para>
<para > The <literal > [Bridge]</literal> section accepts the following
keys:</para>
<variablelist class= 'network-directives' >
<varlistentry >
<term > <varname > Name</varname> </term>
<listitem >
<para > The interface name used when creating the
bridge. This option is compulsory.</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2 > <title > Networks</title>
<para > Network files must have the extension <filename > .network</filename> ;
other extensions are ignored. Networks are applied to links whenever the links
appear.</para>
<para > The network file contains a <literal > [Match]</literal> section,
which determines if a given network file may be applied to a given device;
and a <literal > [Network]</literal> section specifying how the device should
be configured. The first (in lexical order) of the network files that
matches a given device is applied.</para>
<para > A network file is said to match a device if each of the entries in the
<literal > [Match]</literal> section matches, or if the section is empty.
The following keys are accepted:</para>
<variablelist class= 'network-directives' >
<varlistentry >
<term > <varname > MACAddress</varname> </term>
<listitem >
<para > The hardware address.</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <varname > Path</varname> </term>
<listitem >
<para > The persistent path, as exposed by the udev
property <literal > ID_PATH</literal> .</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <varname > Driver</varname> </term>
<listitem >
<para > The driver currently bound to the device, as
exposed by the udev property <literal > DRIVER</literal> .
</para>
</listitem>
</varlistentry>
<varlistentry >
<term > <varname > Type</varname> </term>
<listitem >
<para > The device type, as exposed by the udev property
2014-01-04 07:22:06 +04:00
<literal > DEVTYPE</literal> .</para>
2013-11-26 14:52:38 +04:00
</listitem>
</varlistentry>
<varlistentry >
<term > <varname > Name</varname> </term>
<listitem >
<para > The device name, as exposed by the udev property
<literal > INTERFACE</literal> .</para>
</listitem>
</varlistentry>
</variablelist>
<para > The <literal > [Network]</literal> section accepts the following keys:</para>
<variablelist class= 'network-directives' >
<varlistentry >
<term > <varname > Description</varname> </term>
<listitem >
<para > A description of the device. This is only used for
presentation purposes.</para>
</listitem>
</varlistentry>
2014-01-04 00:07:01 +04:00
<varlistentry >
<term > <varname > DHCP</varname> </term>
<listitem >
<para > A boolean. When true enables basic DHCPv4 support.</para>
</listitem>
</varlistentry>
2013-11-26 14:52:38 +04:00
<varlistentry >
<term > <varname > Address</varname> </term>
<listitem >
<para > A static IPv4 or IPv6 address and its prefix length,
separated by a '/' character. The format of the address must
be as described in
<citerefentry > <refentrytitle > inet_pton</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry>
2013-12-08 02:23:18 +04:00
. This is a short-hand for an [Address] section only containing an Address key (see below).</para>
2013-11-26 14:52:38 +04:00
</listitem>
</varlistentry>
<varlistentry >
<term > <varname > Gateway</varname> </term>
<listitem >
<para > The gateway address, which must be in the format described in
<citerefentry > <refentrytitle > inet_pton</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry>
2013-12-08 02:23:18 +04:00
. This is a short-hand for a [Route] section only containing a Gateway key.</para>
2013-11-26 14:52:38 +04:00
</listitem>
</varlistentry>
2014-01-14 00:28:53 +04:00
<varlistentry >
<term > <varname > DNS</varname> </term>
<listitem >
<para > A DNS server address, which must be in the format described in
<citerefentry > <refentrytitle > inet_pton</refentrytitle> <manvolnum > 3</manvolnum> </citerefentry>
.</para>
</listitem>
</varlistentry>
2013-11-26 14:52:38 +04:00
<varlistentry >
<term > <varname > Bridge</varname> </term>
<listitem >
<para > The name of the bridge to add the configured link to.</para>
</listitem>
</varlistentry>
</variablelist>
<para > The <literal > [Address]</literal> section accepts the following keys:</para>
<variablelist class= 'network-directives' >
<varlistentry >
<term > <varname > Address</varname> </term>
<listitem >
2014-01-05 00:13:47 +04:00
<para > As in the <literal > [Network]</literal> section. This key is mandatory.</para>
2013-11-26 14:52:38 +04:00
</listitem>
</varlistentry>
<varlistentry >
<term > <varname > Label</varname> </term>
<listitem >
<para > An address label.</para>
</listitem>
</varlistentry>
2013-12-08 02:03:19 +04:00
</variablelist>
<para > The <literal > [Route]</literal> section accepts the following keys:</para>
<variablelist class= 'network-directives' >
<varlistentry >
<term > <varname > Gateway</varname> </term>
<listitem >
2014-01-05 00:13:47 +04:00
<para > As in the <literal > [Network]</literal> section. This key is mandatory.</para>
2013-12-08 02:03:19 +04:00
</listitem>
</varlistentry>
<varlistentry >
<term > <varname > Destination</varname> </term>
<listitem >
<para > The destination prefix of the route. Possibly followed by a slash and the
prefixlength, if ommitted a full-length host route is assumed.</para>
</listitem>
</varlistentry>
2014-01-14 00:28:53 +04:00
</variablelist>
<para > The <literal > [DHCPv4]</literal> section accepts the following keys:</para>
<variablelist class= 'network-directives' >
<varlistentry >
<term > <varname > UseDNS</varname> </term>
<listitem >
<para > When true (the default) the DNS servers received from the DHCP server will
be used, and take precedence over any statically configured ones.</para>
</listitem>
</varlistentry>
2014-01-14 02:07:59 +04:00
<varlistentry >
<term > <varname > UseMTU</varname> </term>
<listitem >
<para > When true (the default) the interface maximum transmission unit
from the DHCP server will be used on the current link.</para>
</listitem>
</varlistentry>
2013-11-26 14:52:38 +04:00
</variablelist>
2014-01-14 00:28:53 +04:00
2013-11-26 14:52:38 +04:00
</refsect2>
2013-11-10 23:52:53 +04:00
</refsect1>
<refsect1 >
<title > See Also</title>
<para >
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
<citerefentry > <refentrytitle > udev</refentrytitle> <manvolnum > 7</manvolnum> </citerefentry> ,
</para>
</refsect1>
</refentry>