systemd/man/systemd.network.5
2014-11-20 15:28:12 +01:00

485 lines
11 KiB
Groff

'\" t
.TH "SYSTEMD\&.NETWORK" "5" "" "systemd 217" "systemd.network"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
systemd.network \- Network configuration
.SH "SYNOPSIS"
.PP
\fInetwork\fR\&.network
.SH "DESCRIPTION"
.PP
Network setup is performed by
\fBsystemd-networkd\fR(8)\&.
.PP
Network files must have the extension
\&.network; other extensions are ignored\&. Networks are applied to links whenever the links appear\&.
.PP
The
\&.network
files are read from the files located in the system network directory
/usr/lib/systemd/network, the volatile runtime network directory
/run/systemd/network
and the local administration network directory
/etc/systemd/network\&. 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
/etc
have the highest priority, files in
/run
take precedence over files with the same name in
/usr/lib\&. This can be used to override a system\-supplied configuration file with a local file if needed; a symlink in
/etc
with the same name as a configuration file in
/usr/lib, pointing to
/dev/null, disables the configuration file entirely\&.
.SH "[MATCH] SECTION OPTIONS"
.PP
The network file contains a
"[Match]"
section, which determines if a given network file may be applied to a given device; and a
"[Network]"
section specifying how the device should be configured\&. The first (in lexical order) of the network files that matches a given device is applied\&.
.PP
A network file is said to match a device if each of the entries in the
"[Match]"
section matches, or if the section is empty\&. The following keys are accepted:
.PP
\fIMACAddress=\fR
.RS 4
The hardware address\&.
.RE
.PP
\fIPath=\fR
.RS 4
The persistent path, as exposed by the udev property
"ID_PATH"\&. May contain shell style globs\&.
.RE
.PP
\fIDriver=\fR
.RS 4
The driver currently bound to the device, as exposed by the udev property
"DRIVER"
of its parent device, or if that is not set the driver as exposed by
"ethtool \-i"
of the device itself\&.
.RE
.PP
\fIType=\fR
.RS 4
The device type, as exposed by the udev property
"DEVTYPE"\&.
.RE
.PP
\fIName=\fR
.RS 4
The device name, as exposed by the udev property
"INTERFACE"\&. May contain shell style globs\&.
.RE
.PP
\fIHost=\fR
.RS 4
Matches against the hostname or machine ID of the host\&. See
"ConditionHost="
in
\fBsystemd.unit\fR(5)
for details\&.
.RE
.PP
\fIVirtualization=\fR
.RS 4
Checks whether the system is executed in a virtualized environment and optionally test whether it is a specific implementation\&. See
"ConditionVirtualization="
in
\fBsystemd.unit\fR(5)
for details\&.
.RE
.PP
\fIKernelCommandLine=\fR
.RS 4
Checks whether a specific kernel command line option is set (or if prefixed with the exclamation mark unset)\&. See
"ConditionKernelCommandLine="
in
\fBsystemd.unit\fR(5)
for details\&.
.RE
.PP
\fIArchitecture=\fR
.RS 4
Checks whether the system is running on a specific architecture\&. See
"ConditionArchitecture="
in
\fBsystemd.unit\fR(5)
for details\&.
.RE
.SH "[NETWORK] SECTION OPTIONS"
.PP
The
"[Network]"
section accepts the following keys:
.PP
\fIDescription=\fR
.RS 4
A description of the device\&. This is only used for presentation purposes\&.
.RE
.PP
\fIDHCP=\fR
.RS 4
Enables DHCPv4 and/or DHCPv6 support\&. Accepts
"both",
"none",
"v4"
or
"v6"\&.
.RE
.PP
\fIDHCPServer=\fR
.RS 4
A boolean\&. Enables a basic DHCPv4 server on the device\&. Mostly useful for handing out leases to container instances\&.
.RE
.PP
\fIIPv4LL=\fR
.RS 4
A boolean\&. When true, enables IPv4 link\-local support\&.
.RE
.PP
\fIIPv4LLRoute=\fR
.RS 4
A boolean\&. When true, sets up the route needed for non\-IPv4LL hosts to communicate with IPv4LL\-only hosts\&. Defaults to false\&.
.RE
.PP
\fILLMNR=\fR
.RS 4
A boolean or
"resolve"\&. When true, enables Link\-Local Multicast Name Resolution on the link, when set to
"resolve"
only resolution is enabled, but not announcement\&. Defaults to true\&.
.RE
.PP
\fIAddress=\fR
.RS 4
A static IPv4 or IPv6 address and its prefix length, separated by a
"/"
character\&. Specify this key more than once to configure several addresses\&. The format of the address must be as described in
\fBinet_pton\fR(3)\&. This is a short\-hand for an [Address] section only containing an Address key (see below)\&. This option may be specified more than once\&.
.sp
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\&.
.RE
.PP
\fIGateway=\fR
.RS 4
The gateway address, which must be in the format described in
\fBinet_pton\fR(3)\&. This is a short\-hand for a [Route] section only containing a Gateway key\&. This option may be specified more than once\&.
.RE
.PP
\fIDNS=\fR
.RS 4
A DNS server address, which must be in the format described in
\fBinet_pton\fR(3)\&. This option may be specified more than once\&.
.RE
.PP
\fIDomains=\fR
.RS 4
The domains used for DNS resolution over this link\&.
.RE
.PP
\fINTP=\fR
.RS 4
An NTP server address\&. This option may be specified more than once\&.
.RE
.PP
\fIBridge=\fR
.RS 4
The name of the bridge to add the link to\&.
.RE
.PP
\fIBond=\fR
.RS 4
The name of the bond to add the link to\&.
.RE
.PP
\fIVLAN=\fR
.RS 4
The name of a VLAN to create on the link\&. This option may be specified more than once\&.
.RE
.PP
\fIMACVLAN=\fR
.RS 4
The name of a MACVLAN to create on the link\&. This option may be specified more than once\&.
.RE
.PP
\fIVXLAN=\fR
.RS 4
The name of a VXLAN to create on the link\&. This option may be specified more than once\&.
.RE
.PP
\fITunnel=\fR
.RS 4
The name of a Tunnel to create on the link\&. This option may be specified more than once\&.
.RE
.SH "[ADDRESS] SECTION OPTIONS"
.PP
An
"[Address]"
section accepts the following keys\&. Specify several
"[Address]"
sections to configure several addresses\&.
.PP
\fIAddress=\fR
.RS 4
As in the
"[Network]"
section\&. This key is mandatory\&.
.RE
.PP
\fIPeer=\fR
.RS 4
The peer address in a point\-to\-point connection\&. Accepts the same format as the
"Address"
key\&.
.RE
.PP
\fIBroadcast=\fR
.RS 4
The broadcast address, which must be in the format described in
\fBinet_pton\fR(3)\&. This key only applies to IPv4 addresses\&. If it is not given, it is derived from the
"Address"
key\&.
.RE
.PP
\fILabel=\fR
.RS 4
An address label\&.
.RE
.SH "[ROUTE] SECTION OPTIONS"
.PP
The
"[Route]"
section accepts the following keys\&. Specify several
"[Route]"
sections to configure several routes\&.
.PP
\fIGateway=\fR
.RS 4
As in the
"[Network]"
section\&. This key is mandatory\&.
.RE
.PP
\fIDestination=\fR
.RS 4
The destination prefix of the route\&. Possibly followed by a slash and the prefixlength\&. If omitted, a full\-length host route is assumed\&.
.RE
.PP
\fIMetric=\fR
.RS 4
The metric of the route\&. An unsigned integer
.RE
.SH "[DHCP] SECTION OPTIONS"
.PP
The
"[DHCP]"
section accepts the following keys:
.PP
\fIUseDNS=\fR
.RS 4
When true (the default), the DNS servers received from the DHCP server will be used and take precedence over any statically configured ones\&.
.RE
.PP
\fIUseMTU=\fR
.RS 4
When true, the interface maximum transmission unit from the DHCP server will be used on the current link\&. Defaults to false\&.
.RE
.PP
\fISendHostname=\fR
.RS 4
When true (the default), the machine\*(Aqs hostname will be sent to the DHCP server
.RE
.PP
\fIUseHostname=\fR
.RS 4
When true (the default), the hostname received from the DHCP server will be used as the transient hostname\&.
.RE
.PP
\fIUseDomains=\fR
.RS 4
When true (not the default), the domain name received from the DHCP server will be used for DNS resolution over this link\&.
.RE
.PP
\fIUseRoutes=\fR
.RS 4
When true (the default), the static routes will be requested from the DHCP server and added to the routing table with metric of 1024\&.
.RE
.PP
\fICriticalConnection=\fR
.RS 4
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\&.
.RE
.PP
\fIVendorClassIdentifier=\fR
.RS 4
The vendor class identifier used to identify vendor type and configuration\&.
.RE
.PP
\fIRequestBroadcast=\fR
.RS 4
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\&.
.RE
.PP
\fIRouteMetric=\fR
.RS 4
Set the routing metric for routes specified by the DHCP server\&.
.RE
.SH "EXAMPLE"
.PP
\fBExample\ \&1.\ \&/etc/systemd/network/50-static.network\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[Match]
Name=enp2s0
[Network]
Address=192\&.168\&.0\&.15/24
Gateway=192\&.168\&.0\&.1
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&2.\ \&/etc/systemd/network/80-dhcp.network\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[Match]
Name=en*
[Network]
DHCP=both
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&3.\ \&/etc/systemd/network/bridge-static.network\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[Match]
Name=bridge0
[Network]
Address=192\&.168\&.0\&.15/24
Gateway=192\&.168\&.0\&.1
DNS=192\&.168\&.0\&.1
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&4.\ \&/etc/systemd/network/bridge-slave-interface.network\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[Match]
Name=enp2s0
[Network]
Bridge=bridge0
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&5.\ \&/etc/systemd/network/ipip.network\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[Match]
Name=em1
[Network]
Tunnel=ipip\-tun
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&6.\ \&/etc/systemd/network/sit.network\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[Match]
Name=em1
[Network]
Tunnel=sit\-tun
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&7.\ \&/etc/systemd/network/gre.network\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[Match]
Name=em1
[Network]
Tunnel=gre\-tun
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&8.\ \&/etc/systemd/network/vti.network\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[Match]
Name=em1
[Network]
Tunnel=vti\-tun
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.PP
\fBsystemd\fR(1),
\fBsystemd-networkd\fR(8),
\fBsystemd.netdev\fR(5)