Für einige Testsystem hinter einem Reversproxy habe ich beschlossen dnsmasq als DHCP Dienst einzusetzen. Wichtig ist in diesem Fall besonders, dass der Dienst nur auf einem Port auf Anfragen lauscht, um nicht das Hauptnetz mit falschen IP-Adressen zu sabotieren. Das in meinem Fall relevante Interface ist enp2s0
3: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 52:54:00:37:83:c5 brd ff:ff:ff:ff:ff:ff
altname enx5254003783c5
inet 192.168.100.254/24 brd 192.168.100.255 scope global enp2s0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe37:83c5/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
Der erste Schritt ist das Paket unter Debian zu installieren
apt install dnsmasq
und dann entsprechend die Konfigurationsdatei anzupassen.
nano /etc/dnsmasq.d/dhcp.conf
Um den Dienst nur auf dem einen Interface lauschen zu lassen nehme setze ich folgende beide Zeilen:
interface=enp2s0
bind-interfaces
danach lege ich den DHCP Bereich mit der folgenden Zeile fest
dhcp-range=192.168.100.201,192.168.100.249,255.255.255.0,1h
sowie das Gateway
dhcp-option=option:router,192.168.100.254
und den/die DNS-Server
dhcp-option=option:dns-server,8.8.8.8
und lege das Logging fest
log-dhcp
Soweit, so gut, sind jetzt keine Tippfehler mehr in der Datei, sollte der Dienst nach
systemctl start dnsmasq
laufen.
Das war bei mir nicht der Fall, sodass ich mit
systemctl status dnsmasq.servic
auf Fehlersuche ging.
Die Ausgabe
root@tools:# systemctl status dnsmasq.servic
Unit dnsmasq.servic.service could not be found.
root@tools:# systemctl status dnsmasq.service
× dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Fri 2026-09-18 09:53:48 CEST; 27s ago
Duration: 8min 54.721s
Invocation: a0866d45ac98445398991ce4a9bc31f5
Docs: man:dnsmasq(8)
Process: 55955 ExecStartPre=/usr/share/dnsmasq/systemd-helper checkconfig (code=exited, status=1/FAILURE)
Mem peak: 1.8M
CPU: 6ms
Sep 18 09:53:48 tools systemd[1]: Starting dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server...
Sep 18 09:53:48 tools dnsmasq[55959]: inkonsistenter DHCP-Bereich in Zeile 6 von /etc/dnsmasq.d/dhcp.conf
Sep 18 09:53:48 tools dnsmasq[55959]: Start FEHLGESCHLAGEN
Sep 18 09:53:48 tools systemd[1]: dnsmasq.service: Control process exited, code=exited, status=1/FAILURE
Sep 18 09:53:48 tools systemd[1]: dnsmasq.service: Failed with result 'exit-code'.
Sep 18 09:53:48 tools systemd[1]: Failed to start dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server.
zeigt sehr deutlich, wo der Fehler liegt:
Sep 18 09:53:48 tools dnsmasq[55959]: inkonsistenter DHCP-Bereich in Zeile 6 von /etc/dnsmasq.d/dhcp.conf
Hier gab es einen Tippfehler. Nachdem der korrigiert war lief der Dienst fehlerfrei.