systemd.network.xml revision 4bb278e51e81ea3c5c62e1f7e296309b0fac8e3d
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen<?xml version='1.0'?> <!--*-nxml-*-->
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen<!--
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen This file is part of systemd.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen Copyright 2013 Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen systemd is free software; you can redistribute it and/or modify it
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen under the terms of the GNU Lesser General Public License as published by
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen the Free Software Foundation; either version 2.1 of the License, or
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen (at your option) any later version.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen systemd is distributed in the hope that it will be useful, but
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen WITHOUT ANY WARRANTY; without even the implied warranty of
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen Lesser General Public License for more details.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen You should have received a copy of the GNU Lesser General Public License
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen along with systemd; If not, see <http://www.gnu.org/licenses/>.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen-->
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen<refentry id="systemd.network" conditional='ENABLE_NETWORKD'>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <refentryinfo>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <title>systemd.network</title>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <productname>systemd</productname>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <authorgroup>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <author>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <contrib>Developer</contrib>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <firstname>Tom</firstname>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <surname>Gundersen</surname>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <email>teg@jklm.no</email>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </author>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </authorgroup>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </refentryinfo>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <refmeta>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <refentrytitle>systemd.network</refentrytitle>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <manvolnum>5</manvolnum>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </refmeta>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <refnamediv>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <refname>systemd.network</refname>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <refpurpose>Network configuration</refpurpose>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </refnamediv>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <refsynopsisdiv>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para><filename><replaceable>network</replaceable>.network</filename></para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </refsynopsisdiv>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <refsect1>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <title>Description</title>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>Network setup is performed by
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>Network files must have the extension <filename>.network</filename>;
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen other extensions are ignored. Networks are applied to links whenever the links
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen appear.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The <filename>.network</filename> files are read from the files located in the
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen system network directory <filename>/usr/lib/systemd/network</filename>,
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen the volatile runtime network directory
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <filename>/run/systemd/network</filename> and the local administration
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen network directory <filename>/etc/systemd/network</filename>.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen All configuration files are collectively sorted and processed in lexical order,
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen regardless of the directories in which they live. However, files with
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen identical filenames replace each other. Files in
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <filename>/etc</filename> have the highest priority, files in
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <filename>/run</filename> take precedence over files with the same
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen name in <filename>/usr/lib</filename>. This can be used to override a
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen system-supplied configuration file with a local file if needed; a symlink in
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <filename>/etc</filename> with the same name as a configuration file in
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <filename>/usr/lib</filename>, pointing to <filename>/dev/null</filename>,
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen disables the configuration file entirely.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The network file contains a <literal>[Match]</literal> section,
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen which determines if a given network file may be applied to a given device;
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen and a <literal>[Network]</literal> section specifying how the device should
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen be configured. The first (in lexical order) of the network files that
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen matches a given device is applied.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>A network file is said to match a device if each of the entries in the
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <literal>[Match]</literal> section matches, or if the section is empty.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen The following keys are accepted:</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <variablelist class='network-directives'>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>MACAddress=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The hardware address.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Path=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The persistent path, as exposed by the udev
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen property <literal>ID_PATH</literal>. May contain shell
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen style globs.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Driver=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The driver currently bound to the device, as
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen exposed by the udev property <literal>DRIVER</literal>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen of its parent device, or if that is not set the driver
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen as exposed by <literal>ethtool -i</literal> of the
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen device itself.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Type=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The device type, as exposed by the udev property
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <literal>DEVTYPE</literal>.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Name=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The device name, as exposed by the udev property
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <literal>INTERFACE</literal>. May contain shell style
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen globs.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Host=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>Matches against the hostname or machine ID of the
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen host. See <literal>ConditionHost=</literal> in
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen for details.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Virtualization=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>Checks whether the system is executed in a virtualized
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen environment and optionally test whether it is a specific
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen implementation. See <literal>ConditionVirtualization=</literal> in
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen for details.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>KernelCommandLine=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>Checks whether a specific kernel command line option is
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen set (or if prefixed with the exclamation mark unset). See
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <literal>ConditionKernelCommandLine=</literal> in
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen for details.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Architecture=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>Checks whether the system is running on a specific
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen architecture. See <literal>ConditionArchitecture=</literal> in
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen for details.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </variablelist>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The <literal>[Network]</literal> section accepts the following keys:</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <variablelist class='network-directives'>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Description=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>A description of the device. This is only used for
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen presentation purposes.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>DHCP=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>A boolean. When true, enables basic DHCPv4 support.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
848e3e24b00a61130f20226ef5f051433d478c69Umut Tezduyar Lindskog <varlistentry>
848e3e24b00a61130f20226ef5f051433d478c69Umut Tezduyar Lindskog <term><varname>IPv4LL=</varname></term>
848e3e24b00a61130f20226ef5f051433d478c69Umut Tezduyar Lindskog <listitem>
848e3e24b00a61130f20226ef5f051433d478c69Umut Tezduyar Lindskog <para>A boolean. When true, enables IPv4 link-local support.
aba496a58acf9d9c61314de71353550e579f85eeUmut Tezduyar Lindskog If <literal>DHCP=</literal> is also true, acquiring DHCP address
aba496a58acf9d9c61314de71353550e579f85eeUmut Tezduyar Lindskog will deprecate previously acquired IPv4 link-local address or
d28315e4aff91560ed4c2fc9f876ec8bfc559f2dJan Engelhardt stop acquiring process if one has not been acquired before.
848e3e24b00a61130f20226ef5f051433d478c69Umut Tezduyar Lindskog </para>
848e3e24b00a61130f20226ef5f051433d478c69Umut Tezduyar Lindskog </listitem>
848e3e24b00a61130f20226ef5f051433d478c69Umut Tezduyar Lindskog </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Address=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>A static IPv4 or IPv6 address and its prefix length,
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen separated by a <literal>/</literal> character. Specify this
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen key more than once to configure several addresses.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen The format of the address must be as described in
cb44f25c12f6203ad1f173d5b32d4059f446508eTom Gundersen <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
cb44f25c12f6203ad1f173d5b32d4059f446508eTom Gundersen This is a short-hand for an [Address] section only containing
cb44f25c12f6203ad1f173d5b32d4059f446508eTom Gundersen an Address key (see below). This option may be specified
cb44f25c12f6203ad1f173d5b32d4059f446508eTom Gundersen more than once.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </para>
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering <para>If the specified
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering address is 0.0.0.0
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering (for IPv4) or [::]
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering (for IPv6) a new
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering address range of the
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering requested size is
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering automatically
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering allocated from a
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering system-wide pool of
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering unused ranges. The
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering allocated range is
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering checked against all
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering current network
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering interfaces and all
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering known network
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering configuration files to
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering avoid IP range
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering conflicts. The default
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering system-wide pool
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering consists of
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering 192.168.0.0/16,
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering 172.16.0.0/12 and
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering 10.0.0.0/8 for IPv4,
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering and [fc00::] for
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering IPv6. This
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering functionality is
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering useful to manage a
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering large number of
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering dynamically created
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering network interfaces
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering with the same network
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering configuration and
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering automatic address
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering range
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering assignment.</para>
4bb278e51e81ea3c5c62e1f7e296309b0fac8e3dLennart Poettering
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Gateway=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The gateway address, which must be in the format described in
cb44f25c12f6203ad1f173d5b32d4059f446508eTom Gundersen <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
cb44f25c12f6203ad1f173d5b32d4059f446508eTom Gundersen This is a short-hand for a [Route] section only containing a Gateway
cb44f25c12f6203ad1f173d5b32d4059f446508eTom Gundersen key. This option may be specified more than once.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>DNS=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>A DNS server address, which must be in the format described in
06f021a8048583d66202e3ac5cd0a12386d33ac2Tom Gundersen <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
cb44f25c12f6203ad1f173d5b32d4059f446508eTom Gundersen This option may be specified more than once.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Bridge=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The name of the bridge to add the link to.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Bond=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The name of the bond to add the link to.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>VLAN=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The name of a VLAN to create on the link. This option
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen may be specified more than once.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
fe6b2d55bcb379d01664ed28cea40634cb6b52e3Tom Gundersen <varlistentry>
fe6b2d55bcb379d01664ed28cea40634cb6b52e3Tom Gundersen <term><varname>MACVLAN=</varname></term>
fe6b2d55bcb379d01664ed28cea40634cb6b52e3Tom Gundersen <listitem>
fe6b2d55bcb379d01664ed28cea40634cb6b52e3Tom Gundersen <para>The name of a MACVLAN to create on the link. This option
fe6b2d55bcb379d01664ed28cea40634cb6b52e3Tom Gundersen may be specified more than once.</para>
fe6b2d55bcb379d01664ed28cea40634cb6b52e3Tom Gundersen </listitem>
fe6b2d55bcb379d01664ed28cea40634cb6b52e3Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </variablelist>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>An <literal>[Address]</literal> section accepts the following keys.
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen Specify several <literal>[Address]</literal> sections to configure several
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen addresses.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <variablelist class='network-directives'>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Address=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Broadcast=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The broadcast address, which must be in the format described in
70a44afee385c4afadaab9a002b3f9dd44aedf4aJan Engelhardt <citerefentry><refentrytitle>inet_pton</refentrytitle><manvolnum>3</manvolnum></citerefentry>.
70a44afee385c4afadaab9a002b3f9dd44aedf4aJan Engelhardt This key only applies to IPv4 addresses. If it is not given, it is
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen derived from the <literal>Address</literal> key.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Label=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>An address label.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </variablelist>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The <literal>[Route]</literal> section accepts the following keys. Specify
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen several <literal>[Route]</literal> sections to configure several routes.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <variablelist class='network-directives'>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Gateway=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>As in the <literal>[Network]</literal> section. This key is mandatory.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>Destination=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The destination prefix of the route. Possibly followed by a slash and the
b8bde11658366290521e3d03316378b482600323Jan Engelhardt prefixlength. If ommitted, a full-length host route is assumed.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </variablelist>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>The <literal>[DHCPv4]</literal> section accepts the following keys:</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <variablelist class='network-directives'>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>UseDNS=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>When true (the default), the DNS servers received from the DHCP server will
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen be used and take precedence over any statically configured ones.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>UseMTU=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>When true, the interface maximum transmission unit from the DHCP server will
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen be used on the current link. Defaults to false.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>UseHostname=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>When true (the default), the hostname received from the DHCP server
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen will be used as the transient hostname.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <term><varname>CriticalConnection=</varname></term>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>When true, the connection will never be torn down even if the DHCP lease
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen expires. This is contrary to the DHCP specification, but may be the best choice
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen if, say, the root filesystem relies on this connection. Defaults to false.</para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </listitem>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </varlistentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </variablelist>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </refsect1>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <refsect1>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <title>Example</title>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <example>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <title>/etc/systemd/network/50-static.network</title>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <programlisting>[Match]
eac684ef1c29684b1bcd27a89c38c202e568e469Tom GundersenName=enp2s0
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen[Network]
eac684ef1c29684b1bcd27a89c38c202e568e469Tom GundersenAddress=192.168.0.15/24
eac684ef1c29684b1bcd27a89c38c202e568e469Tom GundersenGateway=192.168.0.1</programlisting>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </example>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <example>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <title>/etc/systemd/network/80-dhcp.network</title>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <programlisting>[Match]
eac684ef1c29684b1bcd27a89c38c202e568e469Tom GundersenName=en*
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen[Network]
eac684ef1c29684b1bcd27a89c38c202e568e469Tom GundersenDHCP=yes</programlisting>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </example>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma <example>
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma <title>/etc/systemd/network/bridge-static.network</title>
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma <programlisting>[Match]
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpomaName=bridge0
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma[Network]
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpomaAddress=192.168.0.15/24
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpomaGateway=192.168.0.1
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpomaDNS=192.168.0.1</programlisting>
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma </example>
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma <example>
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma <title>/etc/systemd/network/bridge-slave-interface.network</title>
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma <programlisting>[Match]
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpomaName=enp2s0
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma[Network]
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpomaBridge=bridge0</programlisting>
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma </example>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </refsect1>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <refsect1>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <title>See Also</title>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma <citerefentry><refentrytitle>systemd-networkd</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
f47c5c47d1a7bcfa1842ff7cc52b1f7fc1d86bcfpoma <citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </para>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen </refsect1>
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen
eac684ef1c29684b1bcd27a89c38c202e568e469Tom Gundersen</refentry>