mirror of
https://git.proxmox.com/git/systemd
synced 2026-01-14 20:25:41 +00:00
195 lines
28 KiB
HTML
195 lines
28 KiB
HTML
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>systemd.network</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><style>
|
||
a.headerlink {
|
||
color: #c60f0f;
|
||
font-size: 0.8em;
|
||
padding: 0 4px 0 4px;
|
||
text-decoration: none;
|
||
visibility: hidden;
|
||
}
|
||
|
||
a.headerlink:hover {
|
||
background-color: #c60f0f;
|
||
color: white;
|
||
}
|
||
|
||
h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, dt:hover > a.headerlink {
|
||
visibility: visible;
|
||
}
|
||
</style><a href="index.html">Index </a>·
|
||
<a href="systemd.directives.html">Directives </a>·
|
||
<a href="../python-systemd/index.html">Python </a>·
|
||
<a href="../libudev/index.html">libudev </a>·
|
||
<a href="../libudev/index.html">gudev </a><span style="float:right">systemd 217</span><hr><div class="refentry"><a name="systemd.network"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>systemd.network — Network configuration</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><p><code class="filename"><em class="replaceable"><code>network</code></em>.network</code></p></div><div class="refsect1"><a name="idm214174099744"></a><h2 id="Description">Description<a class="headerlink" title="Permalink to this headline" href="#Description">¶</a></h2><p>Network setup is performed by
|
||
<a href="systemd-networkd.html"><span class="citerefentry"><span class="refentrytitle">systemd-networkd</span>(8)</span></a>.
|
||
</p><p>Network files must have the extension <code class="filename">.network</code>;
|
||
other extensions are ignored. Networks are applied to links whenever the links
|
||
appear.</p><p>The <code class="filename">.network</code> files are read from the files located in the
|
||
system network directory <code class="filename">/usr/lib/systemd/network</code>,
|
||
the volatile runtime network directory
|
||
<code class="filename">/run/systemd/network</code> and the local administration
|
||
network directory <code class="filename">/etc/systemd/network</code>.
|
||
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
|
||
<code class="filename">/etc</code> have the highest priority, files in
|
||
<code class="filename">/run</code> take precedence over files with the same
|
||
name in <code class="filename">/usr/lib</code>. This can be used to override a
|
||
system-supplied configuration file with a local file if needed; a symlink in
|
||
<code class="filename">/etc</code> with the same name as a configuration file in
|
||
<code class="filename">/usr/lib</code>, pointing to <code class="filename">/dev/null</code>,
|
||
disables the configuration file entirely.</p></div><div class="refsect1"><a name="idm214177924016"></a><h2 id="[Match] Section Options">[Match] Section Options<a class="headerlink" title="Permalink to this headline" href="#%5BMatch%5D%20Section%20Options">¶</a></h2><p>The network file contains a "<code class="literal">[Match]</code>" section,
|
||
which determines if a given network file may be applied to a given device;
|
||
and a "<code class="literal">[Network]</code>" section specifying how the device should
|
||
be configured. The first (in lexical order) of the network files that
|
||
matches a given device is applied.</p><p>A network file is said to match a device if each of the entries in the
|
||
"<code class="literal">[Match]</code>" section matches, or if the section is empty.
|
||
The following keys are accepted:</p><div class="variablelist"><dl class="variablelist"><dt id="MACAddress="><span class="term"><code class="varname">MACAddress=</code></span><a class="headerlink" title="Permalink to this term" href="#MACAddress=">¶</a></dt><dd><p>The hardware address.</p></dd><dt id="Path="><span class="term"><code class="varname">Path=</code></span><a class="headerlink" title="Permalink to this term" href="#Path=">¶</a></dt><dd><p>The persistent path, as exposed by the udev
|
||
property "<code class="literal">ID_PATH</code>". May contain shell
|
||
style globs.</p></dd><dt id="Driver="><span class="term"><code class="varname">Driver=</code></span><a class="headerlink" title="Permalink to this term" href="#Driver=">¶</a></dt><dd><p>The driver currently bound to the device, as
|
||
exposed by the udev property "<code class="literal">DRIVER</code>"
|
||
of its parent device, or if that is not set the driver
|
||
as exposed by "<code class="literal">ethtool -i</code>" of the
|
||
device itself.</p></dd><dt id="Type="><span class="term"><code class="varname">Type=</code></span><a class="headerlink" title="Permalink to this term" href="#Type=">¶</a></dt><dd><p>The device type, as exposed by the udev property
|
||
"<code class="literal">DEVTYPE</code>".</p></dd><dt id="Name="><span class="term"><code class="varname">Name=</code></span><a class="headerlink" title="Permalink to this term" href="#Name=">¶</a></dt><dd><p>The device name, as exposed by the udev property
|
||
"<code class="literal">INTERFACE</code>". May contain shell style
|
||
globs.</p></dd><dt id="Host="><span class="term"><code class="varname">Host=</code></span><a class="headerlink" title="Permalink to this term" href="#Host=">¶</a></dt><dd><p>Matches against the hostname or machine ID of the
|
||
host. See "<code class="literal">ConditionHost=</code>" in
|
||
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>
|
||
for details.
|
||
</p></dd><dt id="Virtualization="><span class="term"><code class="varname">Virtualization=</code></span><a class="headerlink" title="Permalink to this term" href="#Virtualization=">¶</a></dt><dd><p>Checks whether the system is executed in a virtualized
|
||
environment and optionally test whether it is a specific
|
||
implementation. See "<code class="literal">ConditionVirtualization=</code>" in
|
||
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>
|
||
for details.
|
||
</p></dd><dt id="KernelCommandLine="><span class="term"><code class="varname">KernelCommandLine=</code></span><a class="headerlink" title="Permalink to this term" href="#KernelCommandLine=">¶</a></dt><dd><p>Checks whether a specific kernel command line option is
|
||
set (or if prefixed with the exclamation mark unset). See
|
||
"<code class="literal">ConditionKernelCommandLine=</code>" in
|
||
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>
|
||
for details.
|
||
</p></dd><dt id="Architecture="><span class="term"><code class="varname">Architecture=</code></span><a class="headerlink" title="Permalink to this term" href="#Architecture=">¶</a></dt><dd><p>Checks whether the system is running on a specific
|
||
architecture. See "<code class="literal">ConditionArchitecture=</code>" in
|
||
<a href="systemd.unit.html"><span class="citerefentry"><span class="refentrytitle">systemd.unit</span>(5)</span></a>
|
||
for details.
|
||
</p></dd></dl></div></div><div class="refsect1"><a name="idm214177961488"></a><h2 id="[Network] Section Options">[Network] Section Options<a class="headerlink" title="Permalink to this headline" href="#%5BNetwork%5D%20Section%20Options">¶</a></h2><p>The "<code class="literal">[Network]</code>" section accepts the following keys:</p><div class="variablelist"><dl class="variablelist"><dt id="Description="><span class="term"><code class="varname">Description=</code></span><a class="headerlink" title="Permalink to this term" href="#Description=">¶</a></dt><dd><p>A description of the device. This is only used for
|
||
presentation purposes.</p></dd><dt id="DHCP="><span class="term"><code class="varname">DHCP=</code></span><a class="headerlink" title="Permalink to this term" href="#DHCP=">¶</a></dt><dd><p>Enables DHCPv4 and/or DHCPv6 support. Accepts
|
||
"<code class="literal">both</code>", "<code class="literal">none</code>",
|
||
"<code class="literal">v4</code>" or "<code class="literal">v6</code>".</p></dd><dt id="DHCPServer="><span class="term"><code class="varname">DHCPServer=</code></span><a class="headerlink" title="Permalink to this term" href="#DHCPServer=">¶</a></dt><dd><p>A boolean. Enables a basic DHCPv4 server on the
|
||
device. Mostly useful for handing out leases to container
|
||
instances.</p></dd><dt id="IPv4LL="><span class="term"><code class="varname">IPv4LL=</code></span><a class="headerlink" title="Permalink to this term" href="#IPv4LL=">¶</a></dt><dd><p>A boolean. When true, enables IPv4 link-local support.
|
||
</p></dd><dt id="IPv4LLRoute="><span class="term"><code class="varname">IPv4LLRoute=</code></span><a class="headerlink" title="Permalink to this term" href="#IPv4LLRoute=">¶</a></dt><dd><p>A boolean. When true, sets up the route needed for
|
||
non-IPv4LL hosts to communicate with IPv4LL-only hosts. Defaults
|
||
to false.
|
||
</p></dd><dt id="LLMNR="><span class="term"><code class="varname">LLMNR=</code></span><a class="headerlink" title="Permalink to this term" href="#LLMNR=">¶</a></dt><dd><p>A boolean or "<code class="literal">resolve</code>". When true, enables
|
||
Link-Local Multicast Name Resolution on the link, when set to
|
||
"<code class="literal">resolve</code>" only resolution is enabled, but not
|
||
announcement. Defaults to true.</p></dd><dt id="Address="><span class="term"><code class="varname">Address=</code></span><a class="headerlink" title="Permalink to this term" href="#Address=">¶</a></dt><dd><p>A static IPv4 or IPv6 address and its prefix length,
|
||
separated by a "<code class="literal">/</code>" character. Specify this
|
||
key more than once to configure several addresses.
|
||
The format of the address must be as described in
|
||
<a href="inet_pton.html"><span class="citerefentry"><span class="refentrytitle">inet_pton</span>(3)</span></a>.
|
||
This is a short-hand for an [Address] section only containing
|
||
an Address key (see below). This option may be specified
|
||
more than once.
|
||
</p><p>If the specified
|
||
address is 0.0.0.0
|
||
(for IPv4) or [::]
|
||
(for IPv6), a new
|
||
address range of the
|
||
requested size is
|
||
automatically
|
||
allocated from a
|
||
system-wide pool of
|
||
unused ranges. The
|
||
allocated range is
|
||
checked against all
|
||
current network
|
||
interfaces and all
|
||
known network
|
||
configuration files to
|
||
avoid address range
|
||
conflicts. The default
|
||
system-wide pool
|
||
consists of
|
||
192.168.0.0/16,
|
||
172.16.0.0/12 and
|
||
10.0.0.0/8 for IPv4,
|
||
and fc00::/7 for
|
||
IPv6. This
|
||
functionality is
|
||
useful to manage a
|
||
large number of
|
||
dynamically created
|
||
network interfaces
|
||
with the same network
|
||
configuration and
|
||
automatic address
|
||
range
|
||
assignment.</p></dd><dt id="Gateway="><span class="term"><code class="varname">Gateway=</code></span><a class="headerlink" title="Permalink to this term" href="#Gateway=">¶</a></dt><dd><p>The gateway address, which must be in the format described in
|
||
<a href="inet_pton.html"><span class="citerefentry"><span class="refentrytitle">inet_pton</span>(3)</span></a>.
|
||
This is a short-hand for a [Route] section only containing a Gateway
|
||
key. This option may be specified more than once.</p></dd><dt id="DNS="><span class="term"><code class="varname">DNS=</code></span><a class="headerlink" title="Permalink to this term" href="#DNS=">¶</a></dt><dd><p>A DNS server address, which must be in the format described in
|
||
<a href="inet_pton.html"><span class="citerefentry"><span class="refentrytitle">inet_pton</span>(3)</span></a>.
|
||
This option may be specified more than once.</p></dd><dt id="Domains="><span class="term"><code class="varname">Domains=</code></span><a class="headerlink" title="Permalink to this term" href="#Domains=">¶</a></dt><dd><p>The domains used for DNS resolution over this link.</p></dd><dt id="NTP="><span class="term"><code class="varname">NTP=</code></span><a class="headerlink" title="Permalink to this term" href="#NTP=">¶</a></dt><dd><p>An NTP server address. This option may be specified more than once.</p></dd><dt id="Bridge="><span class="term"><code class="varname">Bridge=</code></span><a class="headerlink" title="Permalink to this term" href="#Bridge=">¶</a></dt><dd><p>The name of the bridge to add the link to.</p></dd><dt id="Bond="><span class="term"><code class="varname">Bond=</code></span><a class="headerlink" title="Permalink to this term" href="#Bond=">¶</a></dt><dd><p>The name of the bond to add the link to.</p></dd><dt id="VLAN="><span class="term"><code class="varname">VLAN=</code></span><a class="headerlink" title="Permalink to this term" href="#VLAN=">¶</a></dt><dd><p>The name of a VLAN to create on the link. This option
|
||
may be specified more than once.</p></dd><dt id="MACVLAN="><span class="term"><code class="varname">MACVLAN=</code></span><a class="headerlink" title="Permalink to this term" href="#MACVLAN=">¶</a></dt><dd><p>The name of a MACVLAN to create on the link. This option
|
||
may be specified more than once.</p></dd><dt id="VXLAN="><span class="term"><code class="varname">VXLAN=</code></span><a class="headerlink" title="Permalink to this term" href="#VXLAN=">¶</a></dt><dd><p>The name of a VXLAN to create on the link. This option
|
||
may be specified more than once.</p></dd><dt id="Tunnel="><span class="term"><code class="varname">Tunnel=</code></span><a class="headerlink" title="Permalink to this term" href="#Tunnel=">¶</a></dt><dd><p>The name of a Tunnel to create on the link. This option
|
||
may be specified more than once.</p></dd></dl></div></div><div class="refsect1"><a name="idm214173296032"></a><h2 id="[Address] Section Options">[Address] Section Options<a class="headerlink" title="Permalink to this headline" href="#%5BAddress%5D%20Section%20Options">¶</a></h2><p>An "<code class="literal">[Address]</code>" section accepts the following keys.
|
||
Specify several "<code class="literal">[Address]</code>" sections to configure several
|
||
addresses.</p><div class="variablelist"><dl class="variablelist"><dt id="Address="><span class="term"><code class="varname">Address=</code></span><a class="headerlink" title="Permalink to this term" href="#Address=">¶</a></dt><dd><p>As in the "<code class="literal">[Network]</code>" section. This key is mandatory.</p></dd><dt id="Peer="><span class="term"><code class="varname">Peer=</code></span><a class="headerlink" title="Permalink to this term" href="#Peer=">¶</a></dt><dd><p>The peer address in a point-to-point connection. Accepts the same format as
|
||
the "<code class="literal">Address</code>" key.</p></dd><dt id="Broadcast="><span class="term"><code class="varname">Broadcast=</code></span><a class="headerlink" title="Permalink to this term" href="#Broadcast=">¶</a></dt><dd><p>The broadcast address, which must be in the format described in
|
||
<a href="inet_pton.html"><span class="citerefentry"><span class="refentrytitle">inet_pton</span>(3)</span></a>.
|
||
This key only applies to IPv4 addresses. If it is not given, it is
|
||
derived from the "<code class="literal">Address</code>" key.</p></dd><dt id="Label="><span class="term"><code class="varname">Label=</code></span><a class="headerlink" title="Permalink to this term" href="#Label=">¶</a></dt><dd><p>An address label.</p></dd></dl></div></div><div class="refsect1"><a name="idm214173283248"></a><h2 id="[Route] Section Options">[Route] Section Options<a class="headerlink" title="Permalink to this headline" href="#%5BRoute%5D%20Section%20Options">¶</a></h2><p>The "<code class="literal">[Route]</code>" section accepts the following keys. Specify
|
||
several "<code class="literal">[Route]</code>" sections to configure several routes.</p><div class="variablelist"><dl class="variablelist"><dt id="Gateway="><span class="term"><code class="varname">Gateway=</code></span><a class="headerlink" title="Permalink to this term" href="#Gateway=">¶</a></dt><dd><p>As in the "<code class="literal">[Network]</code>" section. This key is mandatory.</p></dd><dt id="Destination="><span class="term"><code class="varname">Destination=</code></span><a class="headerlink" title="Permalink to this term" href="#Destination=">¶</a></dt><dd><p>The destination prefix of the route. Possibly followed by a slash and the
|
||
prefixlength. If omitted, a full-length host route is assumed.</p></dd><dt id="Metric="><span class="term"><code class="varname">Metric=</code></span><a class="headerlink" title="Permalink to this term" href="#Metric=">¶</a></dt><dd><p>The metric of the route. An unsigned integer</p></dd></dl></div></div><div class="refsect1"><a name="idm214173274400"></a><h2 id="[DHCP] Section Options">[DHCP] Section Options<a class="headerlink" title="Permalink to this headline" href="#%5BDHCP%5D%20Section%20Options">¶</a></h2><p>The "<code class="literal">[DHCP]</code>" section accepts the following keys:</p><div class="variablelist"><dl class="variablelist"><dt id="UseDNS="><span class="term"><code class="varname">UseDNS=</code></span><a class="headerlink" title="Permalink to this term" href="#UseDNS=">¶</a></dt><dd><p>When true (the default), the DNS servers received from the DHCP server will
|
||
be used and take precedence over any statically configured ones.</p></dd><dt id="UseMTU="><span class="term"><code class="varname">UseMTU=</code></span><a class="headerlink" title="Permalink to this term" href="#UseMTU=">¶</a></dt><dd><p>When true, the interface maximum transmission unit from the DHCP server will
|
||
be used on the current link. Defaults to false.</p></dd><dt id="SendHostname="><span class="term"><code class="varname">SendHostname=</code></span><a class="headerlink" title="Permalink to this term" href="#SendHostname=">¶</a></dt><dd><p>When true (the default), the machine's hostname will be sent to the DHCP
|
||
server</p></dd><dt id="UseHostname="><span class="term"><code class="varname">UseHostname=</code></span><a class="headerlink" title="Permalink to this term" href="#UseHostname=">¶</a></dt><dd><p>When true (the default), the hostname received from the DHCP server
|
||
will be used as the transient hostname.</p></dd><dt id="UseDomains="><span class="term"><code class="varname">UseDomains=</code></span><a class="headerlink" title="Permalink to this term" href="#UseDomains=">¶</a></dt><dd><p>When true (not the default), the domain name received from the DHCP server
|
||
will be used for DNS resolution over this link.</p></dd><dt id="UseRoutes="><span class="term"><code class="varname">UseRoutes=</code></span><a class="headerlink" title="Permalink to this term" href="#UseRoutes=">¶</a></dt><dd><p>When true (the default), the static routes will be requested from the DHCP server
|
||
and added to the routing table with metric of 1024.</p></dd><dt id="CriticalConnection="><span class="term"><code class="varname">CriticalConnection=</code></span><a class="headerlink" title="Permalink to this term" href="#CriticalConnection=">¶</a></dt><dd><p>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.</p></dd><dt id="VendorClassIdentifier="><span class="term"><code class="varname">VendorClassIdentifier=</code></span><a class="headerlink" title="Permalink to this term" href="#VendorClassIdentifier=">¶</a></dt><dd><p>The vendor class identifier used to identify vendor type and configuration.</p></dd><dt id="RequestBroadcast="><span class="term"><code class="varname">RequestBroadcast=</code></span><a class="headerlink" title="Permalink to this term" href="#RequestBroadcast=">¶</a></dt><dd><p>Request the server to use broadcast messages before the IP address has been
|
||
configured. This is necessary for devices that cannot receive RAW packets, or that
|
||
cannot receive packets at all before an IP address has been configured. On the other
|
||
hand, this must not be enabled on networks where broadcasts are filtered out.</p></dd><dt id="RouteMetric="><span class="term"><code class="varname">RouteMetric=</code></span><a class="headerlink" title="Permalink to this term" href="#RouteMetric=">¶</a></dt><dd><p>Set the routing metric for routes specified by the DHCP server.</p></dd></dl></div></div><div class="refsect1"><a name="idm214173253344"></a><h2 id="Example">Example<a class="headerlink" title="Permalink to this headline" href="#Example">¶</a></h2><div class="example"><a name="idm214173252704"></a><p class="title"><b>Example 1. /etc/systemd/network/50-static.network</b></p><div class="example-contents"><pre class="programlisting">[Match]
|
||
Name=enp2s0
|
||
|
||
[Network]
|
||
Address=192.168.0.15/24
|
||
Gateway=192.168.0.1</pre></div></div><br class="example-break"><div class="example"><a name="idm214173251216"></a><p class="title"><b>Example 2. /etc/systemd/network/80-dhcp.network</b></p><div class="example-contents"><pre class="programlisting">[Match]
|
||
Name=en*
|
||
|
||
[Network]
|
||
DHCP=both</pre></div></div><br class="example-break"><div class="example"><a name="idm214173249824"></a><p class="title"><b>Example 3. /etc/systemd/network/bridge-static.network</b></p><div class="example-contents"><pre class="programlisting">[Match]
|
||
Name=bridge0
|
||
|
||
[Network]
|
||
Address=192.168.0.15/24
|
||
Gateway=192.168.0.1
|
||
DNS=192.168.0.1</pre></div></div><br class="example-break"><div class="example"><a name="idm214173248320"></a><p class="title"><b>Example 4. /etc/systemd/network/bridge-slave-interface.network</b></p><div class="example-contents"><pre class="programlisting">[Match]
|
||
Name=enp2s0
|
||
|
||
[Network]
|
||
Bridge=bridge0</pre></div></div><br class="example-break"><div class="example"><a name="idm214173246928"></a><p class="title"><b>Example 5. /etc/systemd/network/ipip.network</b></p><div class="example-contents"><pre class="programlisting">[Match]
|
||
Name=em1
|
||
|
||
[Network]
|
||
Tunnel=ipip-tun</pre></div></div><br class="example-break"><div class="example"><a name="idm214173245536"></a><p class="title"><b>Example 6. /etc/systemd/network/sit.network</b></p><div class="example-contents"><pre class="programlisting">[Match]
|
||
Name=em1
|
||
|
||
[Network]
|
||
Tunnel=sit-tun</pre></div></div><br class="example-break"><div class="example"><a name="idm214173244144"></a><p class="title"><b>Example 7. /etc/systemd/network/gre.network</b></p><div class="example-contents"><pre class="programlisting">[Match]
|
||
Name=em1
|
||
|
||
[Network]
|
||
Tunnel=gre-tun</pre></div></div><br class="example-break"><div class="example"><a name="idm214173242752"></a><p class="title"><b>Example 8. /etc/systemd/network/vti.network</b></p><div class="example-contents"><pre class="programlisting">[Match]
|
||
Name=em1
|
||
|
||
[Network]
|
||
Tunnel=vti-tun</pre></div></div><br class="example-break"></div><div class="refsect1"><a name="idm214173241232"></a><h2 id="See Also">See Also<a class="headerlink" title="Permalink to this headline" href="#See%20Also">¶</a></h2><p>
|
||
<a href="systemd.html"><span class="citerefentry"><span class="refentrytitle">systemd</span>(1)</span></a>,
|
||
<a href="systemd-networkd.html"><span class="citerefentry"><span class="refentrytitle">systemd-networkd</span>(8)</span></a>,
|
||
<a href="systemd.netdev.html"><span class="citerefentry"><span class="refentrytitle">systemd.netdev</span>(5)</span></a>
|
||
</p></div></div></body></html>
|