blob: 65aecb62567724a20938d0dcf55d301d96ecfcaf [file] [log] [blame] [raw]
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
SPDX-License-Identifier: LGPL-2.1-or-later
Copyright © 2014 Vinay Kulkarni
-->
<refentry id="networkd.conf" conditional='ENABLE_NETWORKD'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>networkd.conf</title>
<productname>systemd</productname>
</refentryinfo>
<refmeta>
<refentrytitle>networkd.conf</refentrytitle>
<manvolnum>5</manvolnum>
</refmeta>
<refnamediv>
<refname>networkd.conf</refname>
<refname>networkd.conf.d</refname>
<refpurpose>Global Network configuration files</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><filename>/etc/systemd/networkd.conf</filename></para>
<para><filename>/etc/systemd/networkd.conf.d/*.conf</filename></para>
<para><filename>/usr/lib/systemd/networkd.conf.d/*.conf</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>These configuration files control global network parameters.
Currently the DHCP Unique Identifier (DUID).</para>
</refsect1>
<xi:include href="standard-conf.xml" xpointer="main-conf" />
<refsect1>
<title>[Network] Section Options</title>
<para>The following options are available in the [Network] section:</para>
<variablelist class='network-directives'>
<varlistentry>
<term><varname>SpeedMeter=</varname></term>
<listitem><para>Takes a boolean. If set to yes, then <command>systemd-networkd</command>
measures the traffic of each interface, and
<command>networkctl status <replaceable>INTERFACE</replaceable></command> shows the measured speed.
Defaults to no.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>SpeedMeterIntervalSec=</varname></term>
<listitem><para>Specifies the time interval to calculate the traffic speed of each interface.
If <varname>SpeedMeter=no</varname>, the value is ignored. Defaults to 10sec.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>ManageForeignRoutes=</varname></term>
<listitem><para>A boolean. When true, <command>systemd-networkd</command> will store any routes
configured by other tools in its memory. When false, <command>systemd-networkd</command> will
not manage the foreign routes, thus they are kept even if <varname>KeepConfiguration=</varname>
is false. Defaults to yes.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>[DHCP] Section Options</title>
<para>This section configures the DHCP Unique Identifier (DUID) value used by DHCP
protocol. DHCPv6 client protocol sends the DHCP Unique Identifier and the interface
Identity Association Identifier (IAID) to a DHCP server when acquiring a dynamic IPv6
address. DHCPv4 client protocol sends IAID and DUID to the DHCP server when acquiring
a dynamic IPv4 address if <option>ClientIdentifier=duid</option>. IAID and DUID allows
a DHCP server to uniquely identify the machine and the interface requesting a DHCP IP.
To configure IAID and ClientIdentifier, see
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
</para>
<para>The following options are understood:</para>
<variablelist class='network-directives'>
<varlistentry>
<term><varname>DUIDType=</varname></term>
<listitem><para>Specifies how the DUID should be generated. See
<ulink url="https://tools.ietf.org/html/rfc3315#section-9">RFC 3315</ulink>
for a description of all the options.</para>
<para>The following values are understood:
<variablelist>
<varlistentry>
<term><option>vendor</option></term>
<listitem><para>If <literal>DUIDType=vendor</literal>, then the DUID value will be generated using
<literal>43793</literal> as the vendor identifier (systemd) and hashed contents of
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
This is the default if <varname>DUIDType=</varname> is not specified.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>uuid</option></term>
<listitem><para>If <literal>DUIDType=uuid</literal>, and <varname>DUIDRawData=</varname> is not set,
then the product UUID is used as a DUID value. If a system does not have valid product UUID, then
an application-specific
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>
is used as a DUID value. About the application-specific machine ID, see
<citerefentry><refentrytitle>sd_id128_get_machine_app_specific</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>link-layer-time[:<replaceable>TIME</replaceable>]</option></term>
<term><option>link-layer</option></term>
<listitem><para>If <literal>link-layer-time</literal> or <literal>link-layer</literal> is specified,
then the MAC address of the interface is used as a DUID value. The value <literal>link-layer-time</literal>
can take additional time value after a colon, e.g. <literal>link-layer-time:2018-01-23 12:34:56 UTC</literal>.
The default time value is <literal>2000-01-01 00:00:00 UTC</literal>.
</para></listitem>
</varlistentry>
</variablelist>
</para>
<para>In all cases, <varname>DUIDRawData=</varname> can be used to override the
actual DUID value that is used.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>DUIDRawData=</varname></term>
<listitem><para>Specifies the DHCP DUID value as a single newline-terminated, hexadecimal string, with each
byte separated by <literal>:</literal>. The DUID that is sent is composed of the DUID type specified by
<varname>DUIDType=</varname> and the value configured here.</para>
<para>The DUID value specified here overrides the DUID that
<citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
generates from the machine ID. To configure DUID per-network, see
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
The configured DHCP DUID should conform to the specification in
<ulink url="http://tools.ietf.org/html/rfc3315#section-9">RFC 3315</ulink>,
<ulink url="http://tools.ietf.org/html/rfc6355">RFC 6355</ulink>. To configure IAID, see
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum>
</citerefentry>.</para>
<example>
<title>A <option>DUIDType=vendor</option> with a custom value</title>
<programlisting>DUIDType=vendor
DUIDRawData=00:00:ab:11:f9:2a:c2:77:29:f9:5c:00</programlisting>
<para>This specifies a 14 byte DUID, with the type DUID-EN (<literal>00:02</literal>), enterprise number
43793 (<literal>00:00:ab:11</literal>), and identifier value <literal>f9:2a:c2:77:29:f9:5c:00</literal>.
</para>
</example>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd_id128_get_machine_app_specific</refentrytitle><manvolnum>3</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>