DHCP-Server unter Debian ======================== Datum: 21.12.2020 **PROJEKT: DHCP-Server und Clients** ZIEL: Installation und Konfiguration eines DHCP-Servers auf unserem NAT-Router Installation ------------ Die Software ist auf Debian-basierten Systemen schnell installiert: :: root# apt-get update root# apt-get install isc-dhcp-server Konfiguration ------------- Nach der Installation des Servers konfigurieren wir zuerst einmal die Startoption, die das Listening-Interface betrifft: :: root# vi /etc/default/isc-dhcp-server Dabei setzen wir als Wert 'enp0s8' ein (= die zum 'intnet' hin gerichtete Schnittstelle, wo der Server auf Clientanfragen lauschen soll). Das Ergebnis sieht dann so aus: :: INTERFACES="enp0s8" Danach ist die Hauptkonfigurationsdatei dran: :: root# vi /etc/dhcp/dhcpd.conf Hierbei müssen zwei Dinge eingerichtet werden: 1. Zu übermittelnde DNS-Server als globale Serveroption Hierbei wollen wir an die DHCP-Clients mittels 'option domain-name-servers' die IP-Adressen von 2 ausgewählten Nameservern senden: - 194.25.2.129 (dns.isp.t-ipnet.de.) - 8.8.8.8 (dns.google.) 2. Zu übermittelnde Adressinformationen über das physische Netzsegment Hier geht es um speziell um unser isoliertes Netzwerk namens 'intnet', in dem ja die MAC-Adressen umherschwirren: - Deklaration von Netzwerkpräfix und Pool für Adresszuweisungen (mit 'subnet' und 'range') - Übermittlung des Standard-Routers als lokale Bereichsoption (mit 'option routers') Die betreffenden Abschnitte sollten nach dem Editieren dann in etwa wie folgt aussehen: :: # Bei Zeile 20 option domain-name-servers 194.25.2.129, 8.8.8.8; # Bei Zeile 35 subnet 10.10.10.0 netmask 255.255.255.0 { range 10.10.10.50 10.10.10.100; option routers 10.10.10.1; } Inbetriebnahme -------------- Jetzt sollte sich gleich der dhcp-Daemon ohne größere Fehlermeldungen starten lassen. Ob das aber tatsächlich der Fall ist und um später dem Ausliefern der Informationen an die Clients beiwohnen zu können, starten wir vorher in einem zweiten Terminal (natürlich als root) diesen Log-Monitor: :: root# tail -f /var/log/syslog Für den ersten Start verwenden wir am besten gleich 'restart': :: root# /etc/init.d/isc-dhcp-server restart **Testing** Nun können sich DHCP-Clients, die sich im 'intnet' befinden, Adressinformationen holen. Auf einem typischen Ubuntu-System könnte sich das manuelle Testen so gestalten: :: $ sudo -i $ systemctl stop NetworkManager $ dhclient -r $ dhclient $ less /var/lib/dhcp/dhclient.leases Neben 'dhclient' gibt es weitere DHCP-Clienttools wie 'dhcpcd', 'udhcpc' (bei Slitaz) und 'pump' (veraltet).