table of contents
- NAME
- SYNOPSIS
- DESCRIPTION
- SUPPORTED NETDEV KINDS
- [MATCH] SECTION OPTIONS
- [NETDEV] SECTION OPTIONS
- [VLAN] SECTION OPTIONS
- [MACVLAN] SECTION OPTIONS
- [IPVLAN] SECTION OPTIONS
- [VXLAN] SECTION OPTIONS
- [TUNNEL] SECTION OPTIONS
- [PEER] SECTION OPTIONS
- [TUN] SECTION OPTIONS
- [TAP] SECTION OPTIONS
- [BOND] SECTION OPTIONS
- EXAMPLE
- SEE ALSO
- NOTES
SYSTEMD.NETDEV(5) | systemd.network | SYSTEMD.NETDEV(5) |
NAME¶
systemd.netdev - Virtual Network Device configuration
SYNOPSIS¶
netdev.netdev
DESCRIPTION¶
Network setup is performed by systemd-networkd(8).
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.
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.
SUPPORTED NETDEV KINDS¶
The following kinds of virtual network devices may be configured in .netdev files:
Table 1. Supported kinds of virtual network devices
Kind | Description |
bond | A bond device is an aggregation of all its slave devices. See Linux Ethernet Bonding Driver HOWTO[1] for details.Local configuration |
bridge | A bridge device is a software switch, each of its slave devices and the bridge itself are ports of the switch. |
dummy | A dummy device drops all packets sent to it. |
gre | A Level 3 GRE tunnel over IPv4. See RFC 2784[2] for details. |
gretap | A Level 2 GRE tunnel over IPv4. |
ip6gre | A Level 3 GRE tunnel over IPv6. |
ip6tnl | An IPv4 or IPv6 tunnel over IPv6 |
ip6gretap | An Level 2 GRE tunnel over IPv6. |
ipip | An IPv4 over IPv4 tunnel. |
ipvlan | An ipvlan device is a stacked device which receives packets from its underlying device based on IP address filtering. |
macvlan | A macvlan device is a stacked device which receives packets from its underlying device based on MAC address filtering. |
sit | An IPv6 over IPv4 tunnel. |
tap | A persistent Level 2 tunnel between a network device and a device node. |
tun | A persistent Level 3 tunnel between a network device and a device node. |
veth | An ethernet tunnel between a pair of network devices. |
vlan | A VLAN is a stacked device which receives packets from its underlying device based on VLAN tagging. See IEEE 802.1Q[3] for details. |
vti | An IPv4 over IPSec tunnel. |
vxlan | A virtual extensible LAN (vxlan), for connecting Cloud computing deployments. |
[MATCH] SECTION OPTIONS¶
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:
Host=
Virtualization=
KernelCommandLine=
Architecture=
[NETDEV] SECTION OPTIONS¶
The "[NetDev]" section accepts the following keys:
Description=
Name=
Kind=
MTUBytes=
MACAddress=
[VLAN] SECTION OPTIONS¶
The "[VLAN]" section only applies for netdevs of kind "vlan", and accepts the following key:
Id=
[MACVLAN] SECTION OPTIONS¶
The "[MACVLAN]" section only applies for netdevs of kind "macvlan", and accepts the following key:
Mode=
[IPVLAN] SECTION OPTIONS¶
The "[IPVLAN]" section only applies for netdevs of kind "ipvlan", and accepts the following key:
Mode=
[VXLAN] SECTION OPTIONS¶
The "[VXLAN]" section only applies for netdevs of kind "vxlan", and accepts the following keys:
Id=
Group=
TOS=
TTL=
MacLearning=
FDBAgeingSec=
ARPProxy=
L2MissNotification=
L3MissNotification=
RouteShortCircuit=
[TUNNEL] SECTION OPTIONS¶
The "[Tunnel]" section only applies for netdevs of kind "ipip", "sit", "gre", "gretap", "ip6gre", "ip6gretap", "vti", and "ip6tnl" and accepts the following keys:
Local=
Remote=
TOS=
TTL=
DiscoverPathMTU=
Mode=
[PEER] SECTION OPTIONS¶
The "[Peer]" section only applies for netdevs of kind "veth" and accepts the following key:
Name=
MACAddress=
[TUN] SECTION OPTIONS¶
The "[Tun]" section only applies for netdevs of kind "tun", and accepts the following keys:
OneQueue=
MultiQueue=
PacketInfo=
User=
Group=
[TAP] SECTION OPTIONS¶
The "[Tap]" section only applies for netdevs of kind "tap", and accepts the same keys as the "[Tun]" section.
[BOND] SECTION OPTIONS¶
The "[Bond]" section accepts the following key:
Mode=
TransmitHashPolicy=
LACPTransmitRate=
MIIMonitorSec=
UpDelaySec=
DownDelaySec=
EXAMPLE¶
Example 1. /etc/systemd/network/bridge.netdev
[NetDev] Name=bridge0 Kind=bridge
Example 2. /etc/systemd/network/vlan1.netdev
[Match] Virtualization=no [NetDev] Name=vlan1 Kind=vlan [VLAN] Id=1
Example 3. /etc/systemd/network/ipip.netdev
[NetDev] Name=ipip-tun Kind=ipip MTUBytes=1480 [Tunnel] Local=192.168.223.238 Remote=192.169.224.239 TTL=64
Example 4. /etc/systemd/network/tap.netdev
[NetDev] Name=tap-test Kind=tap [Tap] MultiQueue=true PacketInfo=true
Example 5. /etc/systemd/network/sit.netdev
[NetDev] Name=sit-tun Kind=sit MTUBytes=1480 [Tunnel] Local=10.65.223.238 Remote=10.65.223.239
Example 6. /etc/systemd/network/gre.netdev
[NetDev] Name=gre-tun Kind=gre MTUBytes=1480 [Tunnel] Local=10.65.223.238 Remote=10.65.223.239
Example 7. /etc/systemd/network/vti.netdev
[NetDev] Name=vti-tun Kind=vti MTUBytes=1480 [Tunnel] Local=10.65.223.238 Remote=10.65.223.239
Example 8. /etc/systemd/network/veth.netdev
[NetDev] Name=veth-test Kind=veth [Peer] Name=veth-peer
Example 9. /etc/systemd/network/dummy.netdev
[NetDev] Name=dummy-test Kind=dummy MACAddress=12:34:56:78:9a:bc
SEE ALSO¶
systemd(1), systemd-networkd(8), systemd.link(5), systemd.network(5)
NOTES¶
- 1.
- Linux Ethernet Bonding Driver HOWTO
- 2.
- RFC 2784
- 3.
- IEEE 802.1Q
- 4.
- Type of Service in the Internet Protocol Suite
systemd 219 |