summaryrefslogtreecommitdiff
path: root/src/systemd
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-04-12 14:11:29 +0200
committerChristian Poessinger <christian@poessinger.com>2020-04-12 21:34:57 +0200
commitf371946044696737d1649d9119665b96430d2328 (patch)
tree75970b3406c035cee7035d131f9c89d7ebefe4cb /src/systemd
parent152a147c3a34eb4444fe1879962c8b53e2e58835 (diff)
downloadvyos-1x-f371946044696737d1649d9119665b96430d2328.tar.gz
vyos-1x-f371946044696737d1649d9119665b96430d2328.zip
dhcp-server: T2185: migrate from SysVinit to systemd
Diffstat (limited to 'src/systemd')
-rw-r--r--src/systemd/isc-dhcp-server.service21
1 files changed, 21 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..7d49b2c37
--- /dev/null
+++ b/src/systemd/isc-dhcp-server.service
@@ -0,0 +1,21 @@
+[Unit]
+Description=ISC DHCP IPv4 server
+Documentation=man:dhcpd(8)
+After=vyos-router.service
+RequiresMountsFor=/run
+After=time-sync.target
+ConditionPathExists=/etc/dhcp/dhcpd.conf
+
+[Service]
+
+RuntimeDirectory=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