]> git.ipfire.org Git - thirdparty/systemd.git/blob - units/systemd-networkd.service.in
license: LGPL-2.1+ -> LGPL-2.1-or-later
[thirdparty/systemd.git] / units / systemd-networkd.service.in
1 # SPDX-License-Identifier: LGPL-2.1-or-later
2 #
3 # This file is part of systemd.
4 #
5 # systemd is free software; you can redistribute it and/or modify it
6 # under the terms of the GNU Lesser General Public License as published by
7 # the Free Software Foundation; either version 2.1 of the License, or
8 # (at your option) any later version.
9
10 [Unit]
11 Description=Network Service
12 Documentation=man:systemd-networkd.service(8)
13 ConditionCapability=CAP_NET_ADMIN
14 DefaultDependencies=no
15 # systemd-udevd.service can be dropped once tuntap is moved to netlink
16 After=systemd-networkd.socket systemd-udevd.service network-pre.target systemd-sysusers.service systemd-sysctl.service
17 Before=network.target multi-user.target shutdown.target
18 Conflicts=shutdown.target
19 Wants=systemd-networkd.socket network.target
20
21 [Service]
22 AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW
23 BusName=org.freedesktop.network1
24 CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_BROADCAST CAP_NET_RAW
25 DeviceAllow=char-* rw
26 ExecStart=!!@rootlibexecdir@/systemd-networkd
27 LockPersonality=yes
28 MemoryDenyWriteExecute=yes
29 NoNewPrivileges=yes
30 ProtectProc=invisible
31 ProtectClock=yes
32 ProtectControlGroups=yes
33 ProtectHome=yes
34 ProtectKernelLogs=yes
35 ProtectKernelModules=yes
36 ProtectSystem=strict
37 Restart=on-failure
38 RestartKillSignal=SIGUSR2
39 RestartSec=0
40 RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6 AF_PACKET AF_ALG
41 RestrictNamespaces=yes
42 RestrictRealtime=yes
43 RestrictSUIDSGID=yes
44 RuntimeDirectory=systemd/netif
45 RuntimeDirectoryPreserve=yes
46 SystemCallArchitectures=native
47 SystemCallErrorNumber=EPERM
48 SystemCallFilter=@system-service
49 Type=notify
50 User=systemd-network
51 @SERVICE_WATCHDOG@
52
53 [Install]
54 WantedBy=multi-user.target
55 Also=systemd-networkd.socket
56 Alias=dbus-org.freedesktop.network1.service
57
58 # We want to enable systemd-networkd-wait-online.service whenever this service
59 # is enabled. systemd-networkd-wait-online.service has
60 # WantedBy=network-online.target, so enabling it only has an effect if
61 # network-online.target itself is enabled or pulled in by some other unit.
62 Also=systemd-networkd-wait-online.service