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!

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!

Collection: IPv6

Alles was Sie über IPv6 wissen müssen.

Eine PDF-Datei mit allen Artikeln über das Internet Protocol Version 6 von dieser Webseite. Die Zusammenstellung berücksichtigt die Einführung in die Grundlagen von IPv6 mit detailreichen Beschreibungen und zahlreichen Tabellen und Abbildungen. Erfahren Sie mehr über die Möglichkeiten und Zusammenhänge im IPv6-Netzwerk.

Mehr Informationen und zum Download