|  | <?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://www.gnu.org/licenses/>. | 
|  | --> | 
|  |  | 
|  | <refentry id="systemd-networkd.service" conditional='ENABLE_NETWORKD'> | 
|  |  | 
|  | <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 | 
|  | network devices as they appear, as well as creating virtual | 
|  | network devices.</para> | 
|  |  | 
|  | <para>To configure low-level link settings independently of | 
|  | networks, see | 
|  | <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry> | 
|  | .</para> | 
|  |  | 
|  | <para>Network configurations applied before networkd is started | 
|  | are not removed, and static configuration applied by networkd | 
|  | are not removed when networkd exits. This ensures restarting | 
|  | networkd does not cut the network connection, and, in particular, | 
|  | that it is safe to transition between the initrd and the real root, | 
|  | and back.</para> | 
|  | </refsect1> | 
|  |  | 
|  | <refsect1><title>Configuration Files</title> | 
|  | <para>The configuration files are read from the files located in the | 
|  | 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>. | 
|  | All configuration files are collectively sorted and processed in lexical order, | 
|  | 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 | 
|  | name in <filename>/usr/lib</filename>. This can be used to override a | 
|  | 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 | 
|  | <filename>/usr/lib</filename>, pointing to <filename>/dev/null</filename>, | 
|  | disables the configuration file entirely.</para> | 
|  |  | 
|  | <refsect2><title>Virtual Network Devices</title> | 
|  | <para>Virtual Network Device 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>[NetDev]</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> | 
|  | <varlistentry> | 
|  | <term><varname>Kind</varname></term> | 
|  | <listitem> | 
|  | <para>The netdev kind. Currently, <literal>bridge</literal>, | 
|  | <literal>bond</literal> and <literal>vlan</literal> | 
|  | are supported. This option is compulsory.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | </variablelist> | 
|  |  | 
|  | <para>The <literal>[VLAN]</literal> section only applies for netdevs of kind <literal>vlan</literal>, | 
|  | and accepts the following key:</para> | 
|  |  | 
|  | <variablelist class='network-directives'> | 
|  | <varlistentry> | 
|  | <term><varname>Id</varname></term> | 
|  | <listitem> | 
|  | <para>The VLAN ID to use. An integer in the range 0–4094. | 
|  | 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> | 
|  | of its parent device. | 
|  | </para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term><varname>Type</varname></term> | 
|  | <listitem> | 
|  | <para>The device type, as exposed by the udev property | 
|  | <literal>DEVTYPE</literal>.</para> | 
|  | </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> | 
|  | <varlistentry> | 
|  | <term><varname>DHCP</varname></term> | 
|  | <listitem> | 
|  | <para>A boolean. When true, enables basic DHCPv4 support.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term><varname>Address</varname></term> | 
|  | <listitem> | 
|  | <para>A static IPv4 or IPv6 address and its prefix length, | 
|  | separated by a <literal>/</literal> character. The format of the address must | 
|  | be as described in | 
|  | <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry> | 
|  | . This is a short-hand for an [Address] section only containing an Address key (see below).</para> | 
|  | </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> | 
|  | . This is a short-hand for a [Route] section only containing a Gateway key.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <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> | 
|  | <varlistentry> | 
|  | <term><varname>Bridge</varname></term> | 
|  | <listitem> | 
|  | <para>The name of the bridge to add the link to.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term><varname>Bond</varname></term> | 
|  | <listitem> | 
|  | <para>The name of the bond to add the link to.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term><varname>VLAN</varname></term> | 
|  | <listitem> | 
|  | <para>The name of a VLAN to create on the link. This option | 
|  | may be specified more than once.</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> | 
|  | <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term><varname>Broadcast</varname></term> | 
|  | <listitem> | 
|  | <para>The broadcast address, which must be in the format described in | 
|  | <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry> | 
|  | . This key only applies to IPv4 addresses. If it is not given, it is | 
|  | derived from the <literal>Address</literal> key.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term><varname>Label</varname></term> | 
|  | <listitem> | 
|  | <para>An address label.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | </variablelist> | 
|  |  | 
|  | <para>The <literal>[Route]</literal> section accepts the following keys:</para> | 
|  |  | 
|  | <variablelist class='network-directives'> | 
|  | <varlistentry> | 
|  | <term><varname>Gateway</varname></term> | 
|  | <listitem> | 
|  | <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para> | 
|  | </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> | 
|  | </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> | 
|  | <varlistentry> | 
|  | <term><varname>UseMTU</varname></term> | 
|  | <listitem> | 
|  | <para>When true, the interface maximum transmission unit from the DHCP server will | 
|  | be used on the current link. Defaults to false.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term><varname>UseHostname</varname></term> | 
|  | <listitem> | 
|  | <para>When true (the default), the hostname received from the DHCP server | 
|  | will be used as the transient hostname.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | <varlistentry> | 
|  | <term><varname>CriticalConnection</varname></term> | 
|  | <listitem> | 
|  | <para>When true, the connection will never be torn down even if the DHCP lease | 
|  | expires. This is contrary to the DHCP specification, but may be the best choice | 
|  | if, say, the root filesystem relies on this connection. Defaults to false.</para> | 
|  | </listitem> | 
|  | </varlistentry> | 
|  | </variablelist> | 
|  |  | 
|  | </refsect2> | 
|  | </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> |