Inhaltsverzeichnis
RaspberryPi als DHCP-Server
Ein Raspberry Pi kann in einem Netz die Vergabe von IP-Adressen übernehmen und damit als DHCP-Server fungieren.
Das hier geschilderte Verfahren orientiert sich an der Anleitung von raspberrypi.org und basiert auf dem dnsmasq
-Paket.
Eine alternative Erklärung zu dnsmasq
steht im Wiki von Ubuntu-Users im Artikel Dnsmasq.
Neben dem dnsmasq
-Paket gibt es noch ein weiteres populäres Paket mit einem DHCP-Server, das sich isc-dhcp-server
nennt. Eine Installationsanleitung steht im Artikel DHCP-Server einrichten des Elektronik-Kompendiums. Auch das Wiki Ubuntuusers hat eine Anleitung in dem Artikel ISC-DHCPD.
Aufbau
Die Raspberry Pis sind nur an einem Switch angeschlossen. Es gibt keinen Zugang zum Internet. Einer der Pis wird als DHCP-Server ausgesucht. Er soll die anderen Pis mit einer IP-Adresse versorgen.
[DHCP-Servcer]--[SWITCH]----[Pi1] \ \____[Pi2] \______[Pi3] ...
Der Ablauf des DHCP-Protokolls wird in der folgenden Grafik dargestellt.
Vorgehen
Praxisspiel mit verschiedenen Rollen durchspielen.
Ein Pi wird als Server gewählt und an den Beamer oder Monitor angeschlossen.
Der DHCP-Server wird aus dem Paket dnsmasq
installiert.
sudo apt-get update sudo apt-get install dnsmasq
Die Einstellungen der Netzwerkkarte werden angepasst.
sudo vim /etc/network/interfaces
Nun muss der Inhalt der Datei geändert werden. Was bedeuten die einzelnen Zeilen?
# iface eth0 inet dhcp auto eth0 iface eth0 inet static address 192.168.0.1 # statische IP des Servers netmask 255.255.255.0
Wir starten das Netzwerk neu.
sudo service networking restart
Nun können wir prüfen, ob die neue IP-Adresse übernommen wurde.
ifconfig eth0
Nun kann der DHCP-Server in /etc/dnsmasq.conf
konfiguriert werden. Dazu sichern wie die aktuelle Konfiguration und erstellen eine neue Datei.
sudo mv dnsmasq.conf dnsmasq.conf.dist sudo vim dnsmasq.conf
Der neue Inhalt lautet wie folgt. Was bedeuten die Zeilen?
interface=eth0 dhcp-range=192.168.0.2,192.168.0.254,255.255.255.0,12h
Jetzt wird der DHCP-Server neu gestartet.
sudo service dnsmasq restart
Nun schließen wir die Clients an und testen, ob sie eine IP-Adresse vom DHCP-Server erhalten.
Test: Können die Clients den DHCP-Server und sich untereinander anpingen?
Die Clients sollen ihre IP-Adresse wieder zurück an den DHCP-Server
geben. Beachte in der Ausgabe die Zeile mit DHCPRELEASE
.
sudo ifdown eth0
Anschließend kann eine neue IP-Adresse angefordert werden. Beachte hier die Meldungen, die mit DHCP beginnen.
sudo ifup eth0