mirror of
https://github.com/systemd/systemd
synced 2024-09-06 08:46:19 +00:00
![Lennart Poettering](/assets/img/avatar_default.png)
To me this is the last major basic functionality that couldn't be configured via credentials: the network. We do not invent any new format for this, but simply copy relevant creds 1:1 into /run/systemd/network/ to open up the full functionality of networkd to VM hosts.
165 lines
7 KiB
XML
165 lines
7 KiB
XML
<?xml version='1.0'?> <!--*-nxml-*-->
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
|
|
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->
|
|
|
|
<refentry id="systemd-network-generator.service" xmlns:xi="http://www.w3.org/2001/XInclude">
|
|
|
|
<refentryinfo>
|
|
<title>systemd-network-generator.service</title>
|
|
<productname>systemd</productname>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>systemd-network-generator.service</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>systemd-network-generator.service</refname>
|
|
<refname>systemd-network-generator</refname>
|
|
<refpurpose>Generate network configuration from the kernel command line</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<para><filename>systemd-network-generator.service</filename></para>
|
|
<para><filename>/usr/lib/systemd/systemd-network-generator</filename></para>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para><filename>systemd-network-generator.service</filename> is a system service that translates
|
|
<varname>ip=</varname> and related settings on the kernel command line (see below) into
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>, and
|
|
<citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
configuration files understood by
|
|
<citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
and
|
|
<citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.
|
|
</para>
|
|
|
|
<para>Files are generated in <filename>/run/systemd/network/</filename>.</para>
|
|
|
|
<para>Note: despite the name, this generator executes as a normal systemd service and is
|
|
<emphasis>not</emphasis> an implementation of the
|
|
<citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
|
concept.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Kernel command line options</title>
|
|
|
|
<para>This tool understands the following options:</para>
|
|
|
|
<variablelist class='kernel-commandline-options'>
|
|
<varlistentry>
|
|
<term><varname>ip=</varname></term>
|
|
<term><varname>nameserver=</varname></term>
|
|
<term><varname>rd.route=</varname></term>
|
|
<term><varname>rd.peerdns=</varname></term>
|
|
<listitem>
|
|
<para>Translated into
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
files.</para>
|
|
|
|
<para>In addition to the parameters <citerefentry
|
|
project='man-pages'><refentrytitle>dracut.cmdline</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
|
defines the <varname>ip=</varname> option accepts the special value
|
|
<literal>link-local</literal>. If selected, the network interfaces will be configured for
|
|
link-local addressing (IPv4LL, IPv6LL) only, DHCP or IPv6RA will not be enabled.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v245"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>ifname=</varname></term>
|
|
<term><varname>net.ifname-policy=</varname></term>
|
|
<listitem>
|
|
<para>Translated into
|
|
<citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
files.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v245"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><varname>vlan=</varname></term>
|
|
<term><varname>bond=</varname></term>
|
|
<term><varname>bridge=</varname></term>
|
|
<term><varname>bootdev=</varname></term>
|
|
<listitem>
|
|
<para>Translated into
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
files.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v245"/>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<!-- unsupported:
|
|
team=<teammaster>:<teamslaves>
|
|
bootdev=
|
|
BOOTIF=
|
|
bootdev=
|
|
bootdev=
|
|
bootdev=
|
|
-->
|
|
</variablelist>
|
|
|
|
<para>See
|
|
<citerefentry project='man-pages'><refentrytitle>dracut.cmdline</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
|
and
|
|
<citerefentry><refentrytitle>systemd-udevd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
|
|
for option syntax and details.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Credentials</title>
|
|
|
|
<para><command>systemd-network-generator</command> supports the service credentials logic as implemented
|
|
by
|
|
<varname>ImportCredential=</varname>/<varname>LoadCredential=</varname>/<varname>SetCredential=</varname>
|
|
(see <citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
|
|
details). The following credentials are used when passed in:</para>
|
|
|
|
<variablelist class='system-credentials'>
|
|
<varlistentry>
|
|
<term><varname>network.netdev.*</varname></term>
|
|
<term><varname>network.link.*</varname></term>
|
|
<term><varname>network.network.*</varname></term>
|
|
|
|
<listitem><para>These credentials should contain valid
|
|
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.link</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>
|
|
configuration data. From each matching credential a separate file is created. Example: a passed
|
|
credential <filename>network.link.50-foobar</filename> will be copied into a configuration file
|
|
<filename>50-foobar.link</filename>.</para>
|
|
|
|
<para>Note that the resulting files are created world-readable, it's hence recommended to not include
|
|
secrets in these credentials, but supply them via separate credentials directly to
|
|
<filename>systemd-networkd.service</filename>.</para>
|
|
|
|
<xi:include href="version-info.xml" xpointer="v256"/></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>Note that by default the <filename>systemd-network-generator.service</filename> unit file is set up
|
|
to inherit the these credentials from the service manager.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para><simplelist type="inline">
|
|
<member><citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry></member>
|
|
<member><citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
|
<member><citerefentry project='man-pages'><refentrytitle>dracut</refentrytitle><manvolnum>8</manvolnum></citerefentry></member>
|
|
</simplelist></para>
|
|
</refsect1>
|
|
|
|
</refentry>
|