]> git.ipfire.org Git - thirdparty/systemd.git/blob - man/networkd.conf.xml
Merge pull request #19290 from yuwata/network-dhcp-do-not-configure-twice
[thirdparty/systemd.git] / man / networkd.conf.xml
1 <?xml version='1.0'?>
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5 <!--
6 SPDX-License-Identifier: LGPL-2.1-or-later
7
8 Copyright © 2014 Vinay Kulkarni
9 -->
10
11 <refentry id="networkd.conf" conditional='ENABLE_NETWORKD'
12 xmlns:xi="http://www.w3.org/2001/XInclude">
13 <refentryinfo>
14 <title>networkd.conf</title>
15 <productname>systemd</productname>
16 </refentryinfo>
17
18 <refmeta>
19 <refentrytitle>networkd.conf</refentrytitle>
20 <manvolnum>5</manvolnum>
21 </refmeta>
22
23 <refnamediv>
24 <refname>networkd.conf</refname>
25 <refname>networkd.conf.d</refname>
26 <refpurpose>Global Network configuration files</refpurpose>
27 </refnamediv>
28
29 <refsynopsisdiv>
30 <para><filename>/etc/systemd/networkd.conf</filename></para>
31 <para><filename>/etc/systemd/networkd.conf.d/*.conf</filename></para>
32 <para><filename>/usr/lib/systemd/networkd.conf.d/*.conf</filename></para>
33 </refsynopsisdiv>
34
35 <refsect1>
36 <title>Description</title>
37
38 <para>These configuration files control global network parameters.
39 Currently the DHCP Unique Identifier (DUID).</para>
40
41 </refsect1>
42
43 <xi:include href="standard-conf.xml" xpointer="main-conf" />
44
45 <refsect1>
46 <title>[Network] Section Options</title>
47
48 <para>The following options are available in the [Network] section:</para>
49
50 <variablelist class='network-directives'>
51 <varlistentry>
52 <term><varname>SpeedMeter=</varname></term>
53 <listitem><para>Takes a boolean. If set to yes, then <command>systemd-networkd</command>
54 measures the traffic of each interface, and
55 <command>networkctl status <replaceable>INTERFACE</replaceable></command> shows the measured speed.
56 Defaults to no.</para></listitem>
57 </varlistentry>
58
59 <varlistentry>
60 <term><varname>SpeedMeterIntervalSec=</varname></term>
61 <listitem><para>Specifies the time interval to calculate the traffic speed of each interface.
62 If <varname>SpeedMeter=no</varname>, the value is ignored. Defaults to 10sec.</para></listitem>
63 </varlistentry>
64
65 <varlistentry>
66 <term><varname>ManageForeignRoutingPolicyRules=</varname></term>
67 <listitem><para>A boolean. When true, <command>systemd-networkd</command> will remove rules
68 that are not configured in .network files (except for rules with protocol
69 <literal>kernel</literal>). When false, it will not remove any foreign rules, keeping them even
70 if they are not configured in a .network file. Defaults to yes.
71 </para></listitem>
72 </varlistentry>
73
74 <varlistentry>
75 <term><varname>ManageForeignRoutes=</varname></term>
76 <listitem><para>A boolean. When true, <command>systemd-networkd</command> will remove routes
77 that are not configured in .network files (except for routes with protocol
78 <literal>kernel</literal>, <literal>dhcp</literal> when <varname>KeepConfiguration=</varname>
79 is true or <literal>dhcp</literal>, and <literal>static</literal> when
80 <varname>KeepConfiguration=</varname> is true or <literal>static</literal>). When false, it will
81 not remove any foreign routes, keeping them even if they are not configured in a .network file.
82 Defaults to yes.</para></listitem>
83 </varlistentry>
84
85 <varlistentry>
86 <term><varname>RouteTable=</varname></term>
87 <listitem><para>Defines the route table name. Takes a whitespace-separated list of the pairs of
88 route table name and number. The route table name and number in each pair are separated with a
89 colon, i.e., <literal><replaceable>name</replaceable>:<replaceable>number</replaceable></literal>.
90 The route table name must not be <literal>default</literal>, <literal>main</literal>, or
91 <literal>local</literal>, as these route table names are predefined with route table number 253,
92 254, and 255, respectively. The route table number must be an integer in the range 14294967295.
93 This setting can be specified multiple times. If an empty string is specified, then the list
94 specified earlier are cleared. Defaults to unset.</para></listitem>
95 </varlistentry>
96
97 </variablelist>
98 </refsect1>
99
100 <refsect1>
101 <title>[DHCP] Section Options</title>
102
103 <para>This section configures the DHCP Unique Identifier (DUID) value used by DHCP
104 protocol. DHCPv6 client protocol sends the DHCP Unique Identifier and the interface
105 Identity Association Identifier (IAID) to a DHCP server when acquiring a dynamic IPv6
106 address. DHCPv4 client protocol sends IAID and DUID to the DHCP server when acquiring
107 a dynamic IPv4 address if <option>ClientIdentifier=duid</option>. IAID and DUID allows
108 a DHCP server to uniquely identify the machine and the interface requesting a DHCP IP.
109 To configure IAID and ClientIdentifier, see
110 <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
111 </para>
112
113 <para>The following options are understood:</para>
114
115 <variablelist class='network-directives'>
116 <varlistentry>
117 <term><varname>DUIDType=</varname></term>
118 <listitem><para>Specifies how the DUID should be generated. See
119 <ulink url="https://tools.ietf.org/html/rfc3315#section-9">RFC 3315</ulink>
120 for a description of all the options.</para>
121
122 <para>The following values are understood:
123 <variablelist>
124 <varlistentry>
125 <term><option>vendor</option></term>
126 <listitem><para>If <literal>DUIDType=vendor</literal>, then the DUID value will be generated using
127 <literal>43793</literal> as the vendor identifier (systemd) and hashed contents of
128 <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
129 This is the default if <varname>DUIDType=</varname> is not specified.
130 </para></listitem>
131 </varlistentry>
132
133 <varlistentry>
134 <term><option>uuid</option></term>
135 <listitem><para>If <literal>DUIDType=uuid</literal>, and <varname>DUIDRawData=</varname> is not set,
136 then the product UUID is used as a DUID value. If a system does not have valid product UUID, then
137 an application-specific
138 <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>
139 is used as a DUID value. About the application-specific machine ID, see
140 <citerefentry><refentrytitle>sd_id128_get_machine_app_specific</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
141 </para></listitem>
142 </varlistentry>
143
144 <varlistentry>
145 <term><option>link-layer-time[:<replaceable>TIME</replaceable>]</option></term>
146 <term><option>link-layer</option></term>
147 <listitem><para>If <literal>link-layer-time</literal> or <literal>link-layer</literal> is specified,
148 then the MAC address of the interface is used as a DUID value. The value <literal>link-layer-time</literal>
149 can take additional time value after a colon, e.g. <literal>link-layer-time:2018-01-23 12:34:56 UTC</literal>.
150 The default time value is <literal>2000-01-01 00:00:00 UTC</literal>.
151 </para></listitem>
152 </varlistentry>
153 </variablelist>
154 </para>
155
156 <para>In all cases, <varname>DUIDRawData=</varname> can be used to override the
157 actual DUID value that is used.</para></listitem>
158 </varlistentry>
159
160 <varlistentry>
161 <term><varname>DUIDRawData=</varname></term>
162 <listitem><para>Specifies the DHCP DUID value as a single newline-terminated, hexadecimal string, with each
163 byte separated by <literal>:</literal>. The DUID that is sent is composed of the DUID type specified by
164 <varname>DUIDType=</varname> and the value configured here.</para>
165
166 <para>The DUID value specified here overrides the DUID that
167 <citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
168 generates from the machine ID. To configure DUID per-network, see
169 <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
170 The configured DHCP DUID should conform to the specification in
171 <ulink url="http://tools.ietf.org/html/rfc3315#section-9">RFC 3315</ulink>,
172 <ulink url="http://tools.ietf.org/html/rfc6355">RFC 6355</ulink>. To configure IAID, see
173 <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum>
174 </citerefentry>.</para>
175
176 <example>
177 <title>A <option>DUIDType=vendor</option> with a custom value</title>
178
179 <programlisting>DUIDType=vendor
180 DUIDRawData=00:00:ab:11:f9:2a:c2:77:29:f9:5c:00</programlisting>
181
182 <para>This specifies a 14 byte DUID, with the type DUID-EN (<literal>00:02</literal>), enterprise number
183 43793 (<literal>00:00:ab:11</literal>), and identifier value <literal>f9:2a:c2:77:29:f9:5c:00</literal>.
184 </para>
185 </example>
186 </listitem>
187 </varlistentry>
188 </variablelist>
189 </refsect1>
190
191 <refsect1>
192 <title>See Also</title>
193 <para>
194 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
195 <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
196 <citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
197 <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
198 <citerefentry><refentrytitle>sd_id128_get_machine_app_specific</refentrytitle><manvolnum>3</manvolnum></citerefentry>
199 </para>
200 </refsect1>
201
202 </refentry>