Raspberry Pi: DNSMASQ als DHCP-Server einrichten

Mit Raspbian Jessie geprüft.

"dnsmasq" bezeichnet sich selber als "A lightweight DHCP and caching DNS server". Dabei ist "dnsmasq" ein ausgesprochen vielseitiger Daemon. Neben der Funktion als DHCP-Server kann er unter anderem auch dazu verwendet werden, DNS-Dienste (DNS-Forwarder) und IPv6-Router-Advertisements bereitzustellen.

Vorbereitungen zum Betrieb eines DHCP-Servers

  • IPv4-Adressbereich festlegen
  • Subnetzmaske und Standard-Gateway festlegen
  • DNS-Server festlegen
  • Lease-Time festlegen

Hinweis: Bezeichnung der Netzwerk-Schnittstellen

Seit Raspbian Stretch haben die Netzwerk-Schnittstellen für Ethernet und WLAN andere Bezeichnungen. Also nicht mehr "eth0" und "wlan0", sondern "enx..." und "wlx...". Das betrifft per USB angeschlossenen Netzwerk-Adapter, deren Bezeichnung von den hier genannten Bezeichnungen abweichen. Das bedeutet, dass man zuerst die individuelle Bezeichnung ermitteln oder die Namensgebung auf das alte Verfahren umstellen muss.

Wichtig: Statische IPv4-Konfiguration

Sinnvollerweise sollte die betreffende Schnittstelle mit der DNSMASQ das IP-Netzwerk bedient eine statische IPv4-Konfiguration aufweisen.
Dabei ist wichtig, dass die IPv4-Konfiguration an die betreffende Schnittstelle gebunden ist, auch wenn keine physikalische Verbindung zum Netzwerk besteht.

Hinweis: Es empfiehlt sich die IPv4-Konfiguration über die Datei "/etc/network/interfaces" zu machen.

DNSMASQ einrichten

Zuerst installieren wir den "dnsmasq"-Daemon.

sudo apt-get install dnsmasq

Dann machen wir weiter mit der Konfiguration. Vorher sichern wir die Default-Konfigurationsdatei und erstellen eine neue.

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf_alt
sudo nano /etc/dnsmasq.conf

Dort tragen wir folgende Zeilen als Minimal-Konfiguration ein:

# DHCP-Server aktiv für WLAN-Interface
interface=wlan0

# DHCP-Server nicht aktiv für bestehendes Netzwerk
no-dhcp-interface=eth0

# IPv4-Adressbereich und Lease-Time
dhcp-range=192.168.1.100,192.168.1.150,24h

# DNS
dhcp-option=option:dns-server,192.168.1.1

Hier wird der DHCP-Server und das DNS-Forwarding für die Netzwerk-Schnittstelle "wlan0" aktiviert und für die Schnittstelle "eth0" nur DNS, aber kein DHCP serviert. Außerdem wird festgelegt, dass im WLAN die IPv4-Adressen von 192.168.1.100 bis 192.168.1.150 für die Clients vergeben werden und die Adresse des DNS-Servers festgelegt.

Konfiguration testen

Vor der Inbetriebnahme empfiehlt es sich, die Konfiguration zu testen.

dnsmasq --test -C /etc/dnsmasq.conf

Die Syntaxprüfung sollte mit "OK" erfolgreich sein.

DNSMASQ aktivieren

DNSMASQ neu starten:

sudo systemctl restart dnsmasq

DNSMASQ-Status anzeigen:

sudo systemctl status dnsmasq

DNSMASQ beim Systemstart starten:

sudo systemctl enable dnsmasq

Troubleshooting

Wenn nicht so ganz klar ist, ob und wie "dnsmasq" die IPv4-Adressen verteilt, kann man die Kommunikation der Clients mit dem DHCP-Server anzeigen:

sudo dnsmasq -dd -C /etc/dnsmasq.conf

Die Lease-Datei kann man hier einsehen:

cat /var/lib/misc/dnsmasq.leases

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Elektronik-Set Raspberry Pi Edition
Elektronik-Set Raspberry Pi Edition

Elektronik erleben mit dem Raspberry Pi mit Python und GPIO Zero

  • Leichter Einstieg ins Hardware-nahe Programmieren mit Python und GPIO Zero
  • Experimentieren und Programmieren ohne Vorkenntnisse
  • Sofort Loslegen mit All-in-one-Set

Elektronik-Set jetzt bestellen

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!