summaryrefslogtreecommitdiff
path: root/src/systemd/isc-dhcp-server.service
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemd/isc-dhcp-server.service')
-rw-r--r--src/systemd/isc-dhcp-server.service19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/systemd/isc-dhcp-server.service b/src/systemd/isc-dhcp-server.service
new file mode 100644
index 000000000..d848e3df1
--- /dev/null
+++ b/src/systemd/isc-dhcp-server.service
@@ -0,0 +1,19 @@
+[Unit]
+Description=ISC DHCP IPv4 server
+Documentation=man:dhcpd(8)
+RequiresMountsFor=/run
+ConditionPathExists=/run/dhcp-server/dhcpd.conf
+After=vyos-router.service
+
+[Service]
+WorkingDirectory=/run/dhcp-server
+# The leases files need to be root:vyattacfg even when dropping privileges
+ExecStart=/bin/sh -ec '\
+ CONFIG_FILE=/run/dhcp-server/dhcpd.conf; \
+ [ -e /config/dhcpd.leases ] || touch /config/dhcpd.leases; \
+ chown root:vyattacfg /config/dhcpd.leases; \
+ chmod 664 /config/dhcpd.leases; \
+ exec /usr/sbin/dhcpd -user nobody -group nogroup -f -4 -pf /run/dhcp-server/dhcpd.pid -cf $CONFIG_FILE -lf /config/dhcpd.leases'
+
+[Install]
+WantedBy=multi-user.target