chiark / gitweb /
service: add FailureAction= option
[elogind.git] / man / systemd-networkd.service.xml
index 7585832..ca35a88 100644 (file)
 
                 <para>Network configurations applied before networkd is started
                 are not removed, and static configuration applied by networkd
-                is not removed when networkd exits. This ensures restarting
-                networkd does not cut the network connection, and, in particular,
+                is not removed when networkd exits. Dynamic configuration applied by
+                networkd may also optionally be left in place on shut-down. 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>
+
+                <para>Nameservers configured in networkd, or received over DHCP
+                are exposed in <filename>/run/systemd/network/resolv.conf</filename>.
+                This file should not be used directly, but only through a symlink
+                from <filename>/etc/resolv.conf</filename>.</para>
         </refsect1>
 
         <refsect1><title>Configuration Files</title>
                 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>A virtual network device is only created if the
-                        <literal>[Match]</literal> section matches the current
-                        environment, or if the section is empty. The following keys are accepted:</para>
-
-                        <variablelist class='network-directives'>
-                                <varlistentry>
-                                        <term><varname>Host=</varname></term>
-                                        <listitem>
-                                                <para>Matches against the hostname or machine ID of the
-                                                host. See <literal>ConditionHost=</literal> in
-                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-                                                for details.
-                                                </para>
-                                        </listitem>
-                                </varlistentry>
-                                <varlistentry>
-                                        <term><varname>Virtualization=</varname></term>
-                                        <listitem>
-                                                <para>Checks whether the system is executed in a virtualized
-                                                environment and optionally test whether it is a specific
-                                                implementation. See <literal>ConditionVirtualization=</literal> in
-                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-                                                for details.
-                                                </para>
-                                        </listitem>
-                                </varlistentry>
-                                <varlistentry>
-                                        <term><varname>KernelCommandLine=</varname></term>
-                                        <listitem>
-                                                <para>Checks whether a specific kernel command line option is
-                                                set (or if prefixed with the exclamation mark unset). See
-                                                <literal>ConditionKernelCommandLine=</literal> in
-                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-                                                for details.
-                                                </para>
-                                        </listitem>
-                                </varlistentry>
-                                <varlistentry>
-                                        <term><varname>Architecture=</varname></term>
-                                        <listitem>
-                                                <para>Checks whether the system is running on a specific
-                                                architecture. See <literal>ConditionArchitecture=</literal> in
-                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-                                                for details.
-                                                </para>
-                                        </listitem>
-                                </varlistentry>
-                        </variablelist>
-
-                        <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
-                                                netdev. 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>
+                network directory <filename>/etc/systemd/network</filename>.</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>. May contain shell
-                                                style globs.</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, or if that is not set the driver
-                                                as exposed by <literal>ethtool -i</literal> of the
-                                                device itself.</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>. May contain shell style
-                                                globs.</para>
-                                        </listitem>
-                                </varlistentry>
-                                <varlistentry>
-                                        <term><varname>Host=</varname></term>
-                                        <listitem>
-                                                <para>Matches against the hostname or machine ID of the
-                                                host. See <literal>ConditionHost=</literal> in
-                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-                                                for details.
-                                                </para>
-                                        </listitem>
-                                </varlistentry>
-                                <varlistentry>
-                                        <term><varname>Virtualization=</varname></term>
-                                        <listitem>
-                                                <para>Checks whether the system is executed in a virtualized
-                                                environment and optionally test whether it is a specific
-                                                implementation. See <literal>ConditionVirtualization=</literal> in
-                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-                                                for details.
-                                                </para>
-                                        </listitem>
-                                </varlistentry>
-                                <varlistentry>
-                                        <term><varname>KernelCommandLine=</varname></term>
-                                        <listitem>
-                                                <para>Checks whether a specific kernel command line option is
-                                                set (or if prefixed with the exclamation mark unset). See
-                                                <literal>ConditionKernelCommandLine=</literal> in
-                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-                                                for details.
-                                                </para>
-                                        </listitem>
-                                </varlistentry>
-                                <varlistentry>
-                                        <term><varname>Architecture=</varname></term>
-                                        <listitem>
-                                                <para>Checks whether the system is running on a specific
-                                                architecture. See <literal>ConditionArchitecture=</literal> in
-                                                <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
-                                                for details.
-                                                </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. Specify this
-                                                key more than once to configure several addresses.
-                                                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>An <literal>[Address]</literal> section accepts the following keys.
-                        Specify several <literal>[Address]</literal> sections to configure several
-                        addresses.</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. Specify
-                        several <literal>[Route]</literal> sections to configure several routes.</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>
+                <para>Networks are configured in <filename>.network</filename> files, see
+                <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                and virtual network devices are configured in <filename>.netdev</filename> files, see
+                <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+                </para>
         </refsect1>
 
         <refsect1>
                 <title>See Also</title>
                 <para>
                         <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
-                        <citerefentry><refentrytitle>udev</refentrytitle><manvolnum>7</manvolnum></citerefentry>
+                        <citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
+                        <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                        <citerefentry><refentrytitle>systemd-network-wait-online.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
                 </para>
         </refsect1>