====== RaspberryPi als DHCP-Server ====== Ein [[Raspberry Pi]] kann in einem Netz die Vergabe von IP-Adressen übernehmen und damit als [[wpde>DHCP]]-Server fungieren. Das hier geschilderte Verfahren orientiert sich an der [[https://www.raspberrypi.org/learning/networking-lessons/lesson-3/plan/|Anleitung von raspberrypi.org]] und basiert auf dem ''dnsmasq''-Paket. Eine alternative Erklärung zu ''dnsmasq'' steht im Wiki von Ubuntu-Users im Artikel [[https://wiki.ubuntuusers.de/Dnsmasq|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 [[http://www.elektronik-kompendium.de/sites/raspberry-pi/2007041.htm|DHCP-Server einrichten]] des Elektronik-Kompendiums. Auch das Wiki Ubuntuusers hat eine Anleitung in dem Artikel [[https://wiki.ubuntuusers.de/ISC-DHCPD|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. {{:schule:dhcp_protocol.gif?nolink|}} ===== 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