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

532 lines
11 KiB
Groff

'\" t
.TH "SYSTEMD\&.NETDEV" "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.netdev \- Virtual Network Device configuration
.SH "SYNOPSIS"
.PP
\fInetdev\fR\&.netdev
.SH "DESCRIPTION"
.PP
Network setup is performed by
\fBsystemd-networkd\fR(8)\&.
.PP
Virtual Network Device files must have the extension
\&.netdev; other extensions are ignored\&. Virtual network devices are created as soon as networkd is started\&. If a netdev with the specified name already exists, networkd will use that as\-is rather than create its own\&. Note that the settings of the pre\-existing netdev will not be changed by networkd\&.
.PP
The
\&.netdev
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
A virtual network device is only created if the
"[Match]"
section matches the current environment, or if the section is empty\&. The following keys are accepted:
.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 "[NETDEV] SECTION OPTIONS"
.PP
The
"[NetDev]"
section accepts the following keys:
.PP
\fIDescription=\fR
.RS 4
A free\-form description of the netdev\&.
.RE
.PP
\fIName=\fR
.RS 4
The interface name used when creating the netdev\&. This option is compulsory\&.
.RE
.PP
\fIKind=\fR
.RS 4
The netdev kind\&. Currently,
"bridge",
"bond",
"vlan",
"macvlan",
"vxlan",
"ipip",
"gre",
"sit",
"vti",
"veth",
"tun",
"tap"
and
"dummy"
are supported\&. This option is compulsory\&.
.RE
.PP
\fIMTUBytes=\fR
.RS 4
The maximum transmission unit in bytes to set for the device\&. The usual suffixes K, M, G, are supported and are understood to the base of 1024\&. This key is not currently suported for
"tun"
or
"tap"
devices\&.
.RE
.PP
\fIMACAddress=\fR
.RS 4
The MAC address to use for the device\&. If none is given, one is generated based on the interface name and the
\fBmachine-id\fR(5)\&. This key is not currently suported for
"tun"
or
"tap"
devices\&.
.RE
.SH "[VLAN] SECTION OPTIONS"
.PP
The
"[VLAN]"
section only applies for netdevs of kind
"vlan", and accepts the following key:
.PP
\fIId=\fR
.RS 4
The VLAN ID to use\&. An integer in the range 0\(en4094\&. This option is compulsory\&.
.RE
.SH "[MACVLAN] SECTION OPTIONS"
.PP
The
"[MACVLAN]"
section only applies for netdevs of kind
"macvlan", and accepts the following key:
.PP
\fIMode=\fR
.RS 4
The MACVLAN mode to use\&. The supported options are
"private",
"vepa",
"bridge"
and
"passthru"\&.
.RE
.SH "[VXLAN] SECTION OPTIONS"
.PP
The
"[VXLAN]"
section only applies for netdevs of kind
"vxlan", and accepts the following key:
.PP
\fIId=\fR
.RS 4
The VXLAN ID to use\&.
.RE
.PP
\fIGroup=\fR
.RS 4
An assigned multicast group IP address\&.
.RE
.PP
\fITOS=\fR
.RS 4
The Type Of Service byte value for a vxlan interface\&.
.RE
.PP
\fITTL=\fR
.RS 4
A fixed Time To Live N on Virtual eXtensible Local Area Network packets\&. N is a number in the range 1\-255\&. 0 is a special value meaning that packets inherit the TTL value\&.
.RE
.PP
\fIMacLearning=\fR
.RS 4
A boolean\&. When true, enables dynamic MAC learning to discover remote MAC addresses\&.
.RE
.SH "[TUNNEL] SECTION OPTIONS"
.PP
The
"[Tunnel]"
section only applies for netdevs of kind
"ipip",
"sit",
"gre"
and
"vti"
and accepts the following keys:
.PP
\fILocal=\fR
.RS 4
A static local address for tunneled packets\&. It must be an address on another interface of this host\&.
.RE
.PP
\fIRemote=\fR
.RS 4
The remote endpoint of the tunnel\&.
.RE
.PP
\fITOS=\fR
.RS 4
The Type Of Service byte value for a tunnel interface\&. For details about the TOS see the
\m[blue]\fBType of Service in the Internet Protocol Suite\fR\m[]\&\s-2\u[1]\d\s+2
document\&.
.RE
.PP
\fITTL=\fR
.RS 4
A fixed Time To Live N on tunneled packets\&. N is a number in the range 1\-255\&. 0 is a special value meaning that packets inherit the TTL value\&. The default value for IPv4 tunnels is: inherit\&. The default value for IPv6 tunnels is: 64\&.
.RE
.PP
\fIDiscoverPathMTU=\fR
.RS 4
A boolean\&. When true, enables Path MTU Discovery on the tunnel\&.
.RE
.SH "[PEER] SECTION OPTIONS"
.PP
The
"[Peer]"
section only applies for netdevs of kind
"veth"
and accepts the following key:
.PP
\fIName=\fR
.RS 4
The interface name used when creating the netdev\&. This option is compulsory\&.
.RE
.PP
\fIMACAddress=\fR
.RS 4
The peer MACAddress, if not set it is generated in the same way as the MAC address of the main interface\&.
.RE
.SH "[TUN] SECTION OPTIONS"
.PP
The
"[Tun]"
section only applies for netdevs of kind
"tun", and accepts the following keys:
.PP
\fIOneQueue=\fR
.RS 4
Takes a boolean argument\&. Configures whether all packets are queued at the device (enabled), or a fixed number of packets are queued at the device and the rest at the
"qdisc"\&. Defaults to
"no"\&.
.RE
.PP
\fIMultiQueue=\fR
.RS 4
Takes a boolean argument\&. Configures whether to use multiple file descriptors (queues) to parallelize packets sending and receiving\&. Defaults to
"no"\&.
.RE
.PP
\fIPacketInfo=\fR
.RS 4
Takes a boolean argument\&. Configures whether packets should be prepened with four extra bytes (two flag bytes and two protocol bytes)\&. If disabled it indicates that the packets will be pure IP packets\&. Defaults to
"no"\&.
.RE
.PP
\fIUser=\fR
.RS 4
User to grant access to the
/dev/net/tun
device\&.
.RE
.PP
\fIGroup=\fR
.RS 4
Group to grant access to the
/dev/net/tun
device\&.
.RE
.SH "[TAP] SECTION OPTIONS"
.PP
The
"[Tap]"
section only applies for netdevs of kind
"tap", and accepts the same keys as the
"[Tun]"
section\&.
.SH "[BOND] SECTION OPTIONS"
.PP
The
"[Bond]"
section accepts the following key:
.PP
\fIMode=\fR
.RS 4
Specifies one of the bonding policies\&. The default is
"balance\-rr"
(round robin)\&. Possible values are
"balance\-rr",
"active\-backup",
"balance\-xor",
"broadcast",
"802\&.3ad",
"balance\-tlb", and
"balance\-alb"\&.
.RE
.PP
\fITransmitHashPolicy=\fR
.RS 4
Selects the transmit hash policy to use for slave selection in balance\-xor, 802\&.3ad, and tlb modes\&. Possible values are
"layer2",
"layer3+4",
"layer2+3",
"encap2+3",
"802\&.3ad", and
"encap3+4"\&.
.RE
.PP
\fILACPTransmitRate=\fR
.RS 4
Specifies the rate with which link partner transmits Link Aggregation Control Protocol Data Unit packets in 802\&.3ad mode\&. Possible values are
"slow", which requests partner to transmit LACPDUs every 30 seconds, and
"fast", which requests partner to transmit LACPDUs every second\&. The default value is
"slow"\&.
.RE
.PP
\fIMIIMonitorSec=\fR
.RS 4
Specifies the frequency that Media Independent Interface link monitoring will occur\&. A value of zero disables MII link monitoring\&. This values is rounded down to the nearest millisecond\&. The default value is 0\&.
.RE
.PP
\fIUpDelaySec=\fR
.RS 4
Specifies the delay before a link is enabled after a link up status has been detected\&. This value is rounded down to a multiple of MIIMonitorSec\&. The default value is 0\&.
.RE
.PP
\fIDownDelaySec=\fR
.RS 4
Specifies the delay before a link is disabled after a link down status has been detected\&. This value is rounded down to a multiple of MIIMonitorSec\&. The default value is 0\&.
.RE
.SH "EXAMPLE"
.PP
\fBExample\ \&1.\ \&/etc/systemd/network/bridge.netdev\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[NetDev]
Name=bridge0
Kind=bridge
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&2.\ \&/etc/systemd/network/vlan1.netdev\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[Match]
Virtualization=no
[NetDev]
Name=vlan1
Kind=vlan
[VLAN]
Id=1
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&3.\ \&/etc/systemd/network/ipip.netdev\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[NetDev]
Name=ipip\-tun
Kind=ipip
MTUBytes=1480
[Tunnel]
Local=192\&.168\&.223\&.238
Remote=192\&.169\&.224\&.239
TTL=64
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&4.\ \&/etc/systemd/network/tap.netdev\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[NetDev]
Name=tap\-test
Kind=tap
[Tap]
MultiQueue=true
PacketInfo=true
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&5.\ \&/etc/systemd/network/sit.netdev\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[NetDev]
Name=sit\-tun
Kind=sit
MTUBytes=1480
[Tunnel]
Local=10\&.65\&.223\&.238
Remote=10\&.65\&.223\&.239
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&6.\ \&/etc/systemd/network/gre.netdev\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[NetDev]
Name=gre\-tun
Kind=gre
MTUBytes=1480
[Tunnel]
Local=10\&.65\&.223\&.238
Remote=10\&.65\&.223\&.239
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&7.\ \&/etc/systemd/network/vti.netdev\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[NetDev]
Name=vti\-tun
Kind=vti
MTUBytes=1480
[Tunnel]
Local=10\&.65\&.223\&.238
Remote=10\&.65\&.223\&.239
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&8.\ \&/etc/systemd/network/veth.netdev\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[NetDev]
Name=veth\-test
Kind=veth
[Peer]
Name=veth\-peer
.fi
.if n \{\
.RE
.\}
.PP
\fBExample\ \&9.\ \&/etc/systemd/network/dummy.netdev\fR
.sp
.if n \{\
.RS 4
.\}
.nf
[NetDev]
Name=dummy\-test
Kind=dummy
MACAddress=12:34:56:78:9a:bc
.fi
.if n \{\
.RE
.\}
.SH "SEE ALSO"
.PP
\fBsystemd\fR(1),
\fBsystemd-networkd\fR(8),
\fBsystemd.network\fR(5)
.SH "NOTES"
.IP " 1." 4
Type of Service in the Internet Protocol Suite
.RS 4
\%http://tools.ietf.org/html/rfc1349
.RE