Installation und Konfiguration des ISC DHCP-Servers unter Debian 9
DHCP oder Dynamic Host Configuration Protocol ist ein Protokoll, das in Netzwerken verwendet wird, über das ein System automatisch die Netzwerkeinstellungen erhalten kann, die für die Kommunikation mit anderen Netzwerkgeräten beim Booten erforderlich sind. Die Verwendung eines DHCP-Servers bei Ihnen vor Ort vereinfacht die Verwaltung der Netzwerkeinstellungen für alle Netzwerk-Hosts erheblich und ermöglicht auch eine zentrale Verwaltung der Netzwerkkonfigurationen von Maschinen. Durch die Verwendung eines DHCP können Sie auch sicherstellen, dass alle Desktop-Maschinen, Mobiltelefone oder andere Netzwerkgeräte, die verlangen, dass die beim Booten zu konfigurierenden IP-Einstellungen den gleichen Satz von Konfigurationen erhalten, wie in Ihren Netzwerkeinstellungen.
Der DHCP-Server kann eine Vielzahl von Parametern und Optionen bereitstellen, die sich auf die Konfiguration der Netzwerkeinstellungen beziehen, die für den interaktiven Beitritt zum Netzwerk erforderlich sind. Einige gewöhnliche Einstellungen, die ein DHCP-Server bereitstellen kann, sind die IP-Adresse in Bezug auf Ihr Netzwerk und auch andere Informationen, wie die Broadcast-Adresse des Netzwerks, zu dem Sie gehören, die Netzmaske des Netzwerks, DNS-Nameserver, die IP-Adresse Ihres Netzwerk-Ausgangspunktes, typischerweise der Gateway-Router, die Adresse eines NTP-Servers aus Ihrem Netzwerk oder des NTP Pool Servers, der für Geräte zur genauen Zeitsynchronisation benötigt wird, und andere, exotischere Einstellungen.
Falls Sie nur wenige Computer zu verwalten haben, meist Desktops oder Laptops, wird die manuelle Adressierung bevorzugt. Aber derzeit, mit der Explosion von kleinen Netzwerkgeräten und mobilen Geräten, kann sich die statische/manuelle Konfiguration für jedes dieser Geräte als sehr schwierig, wenn nicht gar manchmal unmöglich erweisen, im Falle von eingebetteten Geräten. Dies sollte der Hauptfaktor sein, den Sie bei der Bevorzugung der Installation und Konfiguration eines DHCP-Servers in Ihrem Unternehmen berücksichtigen sollten. Ein DHCP-Server kann den Zeit- und Arbeitsaufwand begrenzen, den Sie in die manuelle Konfiguration jedes netzwerkbasierten Geräts investieren sollten, und eine Tabelle darüber führen, welche IP für welches Gerät eingerichtet wurde.
Die statische/manuelle Vergabe von IP-Adressen ist jedoch immer ein Muss, wenn Sie Server in Ihrem Unternehmen einsetzen. Die Server sollten immer mit einer statischen IP-Adresse konfiguriert werden. Es kann jedoch ein DHCP konfiguriert werden, um die statische IP-Adresse für Server zu vereinfachen, indem die gleiche IP-Adresse für Geräte freigegeben wird, die auf der MAC-Adresse der angeschlossenen Schnittstelle basieren.
Lassen Sie uns nun sehen, wie ein DHCP-Server in einem Netzwerk funktioniert. Die DHCP-Verhandlung wird wie in den folgenden Schritten beschrieben ausgeführt:
- Das Netzwerkgerät oder der Client, dem eine statische Adresse zugewiesen werden muss, sendet eine Broadcast in einem Netzwerk mit der Meldung „DHCP Discover“. In der gesendeten Nachricht enthält das Client-Gerät auch seine MAC-Adresse. Die Clients senden diese Nachricht, um zu erkennen, ob sich ein DHCP-Server irgendwo im Netzwerk befindet und warten auf diese Art von eingehenden Nachrichten.
- Der hörende DHCP-Server empfängt den Broadcast-Frame und antwortet dem Client mit einer „DHCP Offer“-Meldung: Das Angebot enthält die Netzwerkeinstellungen, die für die Registrierung des Clients im Netzwerk und seine eigene IP-Adresse erforderlich sind, damit der Client die Quelle des Angebots korrekt identifizieren kann. In der Regel enthält das Angebot eine IP-Adresse, eine Subnetzmaske, ein Standard-Gateway und weitere Parameter für das Netzwerk. Wenn bei Ihnen mehr als ein DHCP-Server konfiguriert ist, wird eine Broadcast-Nachricht gesendet, damit das Angebot vom Client empfangen werden kann.
- Nach Erhalt des Angebots sendet der Client, wenn er mit den erhaltenen Einstellungen zufrieden ist, eine „DHCP Request“-Nachricht an den DHCP-Server zurück und informiert, dass er mit den angebotenen formalen Netzwerkeinstellungen einverstanden ist. Eine Aufzeichnung des Angebots ist enthalten, so dass nur der Server, der das Angebot gesendet hat, die angeforderte IP-Adresse beiseite legt. Auch hier wird die Anfrage als Broadcast an alle anderen DHCP-Server gesendet, die möglicherweise geantwortet haben, weil der Client noch nicht offiziell mit der Zuweisung der angebotenen IP-Adresse begonnen hat.
- Schließlich antwortet der DHCP-Server mit der Unicast-Meldung „DHCP ACK“. In diesem Schritt werden die IP-Adresse und alle anderen Netzwerkparameter an die Client-Vorrichtung gesendet, da sie nun für die Verwendung durch den Client freigegeben sind. Die ACK-Nachricht wird als Unicast gesendet, kann aber auch stattdessen gesendet werden.
Das Internet Software Consortium ist der Hauptautor und Entwickler des am häufigsten verwendeten DHCP-Servers unter Linux, der typischerweise als ISC DHCP-Server bekannt ist. In Debian 9 heißt das passende Binärpaket isc-dhcp-server. Weiterhin werden wir in diesem Tutorial lernen, wie man DHCP-Server in Debian 9 installiert und konfiguriert.
Anforderungen
- Eine Neuinstallation von Debian 9.
- Eine statische IP-Adresse, die für die Netzwerkschnittstelle konfiguriert ist, die der DHCP-Server abhören soll.
- Ein Konto mit Root-Rechten oder direktem Zugriff auf das Root-Konto.
Um einen ISC DHCP-Server unter Debian 9 zu installieren. Zuerst müssen wir sicherstellen, dass der Paketbaum mit den neuesten Softwareversionen auf dem neuesten Stand ist, indem wir den folgenden Befehl ausführen.
sudo apt-get update
Nachdem der lokale Paketbaum mit den entfernten Quellen synchronisiert ist, geben Sie den folgenden Befehl aus, um alle vorkompilierten Pakete zu durchsuchen, die von der ISC DHCP-Software verfügbar sind, wie im folgenden Screenshot gezeigt.
sudo apt search isc-dhcp
ISC DHCP Server installieren
Nun, da wir die Liste aller verfügbaren Pakete für ISC DHCP-Server haben, geben Sie den folgenden Befehl zur Installation von ISC DHCP Server ein.
sudo apt install isc-dhcp-server
Die DHCP-Server-Hauptkonfigurationsdatei ist dhcpd.conf, die sich im Verzeichnis /etc/dhcp/ befindet. Die Konfigurationsdatei wird viele Kommentare enthalten, die durch ein führendes Hashzeichen (#) gekennzeichnet sind. Alle anderen unkommentierten Zeilen sind entweder Parameter des DHCP-Servers (verwendet für allgemeine Konfigurationsmerkmale des DHCP-Daemons) oder Deklarationen, die die Netzwerk-IP-Bereiche und IP-Adressen oder andere Netzwerkwerte beschreiben, die der Server an Client-Geräte senden kann.
Bevor Sie mit der Bearbeitung einer neuen leeren Konfigurationsdatei beginnen, sichern Sie zunächst die Originaldatei, indem Sie den folgenden Befehl ausführen.
cp /etc/dhcp/dhcpd.conf{,.backup}
cat /dev/null > /etc/dhcp/dhcpd.conf
DHCP konfigurieren
Als nächstes beginnen Sie mit der Bearbeitung der DHCP-Konfigurationsdatei, so dass sie wie im folgenden Auszug dargestellt aussieht.
nano /etc/dhcp/dhcpd.conf
dhcpd.conf Dateiauszug:
ddns-update-style none; default-lease-time 600; max-lease-time 7200; #ping true; option domain-name-servers 172.27.15.2, 10.72.81.2; option domain-name "example.com"; authorative; log-facility local7; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.50 192.168.1.115; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.1.254, 10.128.254.254; option domain-name “example.com”; option routers 192.168.1.1; option netbios-name-servers 192.168.1.3; option netbios-node-type 8; get-lease-hostnames true; use-host-decl-names true; default-lease-time 600; max-lease-time 7200; }
Erläuterung der DHCP-Konfigurationsparameter:
Alle Parameterzeilen enden mit Semikolons (;) in der dhcp-Konfigurationsdatei. Einige Parameter können mehr als nur einen Wert haben, z.B. Domain-Namen-Server die zwei IP-Adressen aufweist, die durch ein Komma getrennt sind. Die Zeilen, die mit einem Hashtag # beginnen, sind Kommentare und werden vom DHCP-Server nicht analysiert.
Einige gängige DHCP-Serverparameter:
default-lease-time = Ganzzahl, die die Standard-Leasingzeit in Sekunden festlegt.
max-lease-time = Ganzzahl, die die maximale Leasingdauer in Sekunden angibt.
ping = check boolean Wenn true, pingt der Server eine Adresse, bevor er einem Client einen Leasingvertrag über diese Adresse zuweist.
Option Domain-Namensserver = Die IP-Adresse oder Adressen von DNS-Servern, die die Clients verwenden dürfen.
Option domain-name = Der Name der Domain, die den Clients die Nutzung ermöglicht.
authorative = Der Server ist autoritativ, dieser DHCP-Server sollte DHCPNAK-Nachrichten an falsch konfigurierte Clients senden.
log-facility local7 = Protokolle an syslog facility local7 senden
subnet 192.168.1.0 netmask 255.255.255.255.0 { alles, was hier eingeschlossen ist } die Subnetzdeklaration für 192.168.1.10 Netzwerk
range 192.168.1.50 192.168.1.1.115 = definiert den IP-Adressbereich, den der Server IPs leasen soll.
Option Router = definiert die IP-Adresse Ihres Gateways oder den Netzwerk-Austrittspunkt.
option netbios-name-server = Die IP-Adressen von NetBIOS Name Service (NBNS)-Servern oder Windows Internet Name Service (WINS)-Servern, die von SMB/CIFS-Protokollen verwendet werden, um Dateien unter Windows gemeinsam zu nutzen.
Option netbios-node-type = Ein Code für die Art und Weise, wie NetBIOS-Clients die Namensauflösung versuchen sollten. Die Werte sind 1 für die Verwendung von Broadcasts, 2 für die Verwendung eines WINS-Servers, 4 für die Verwendung von Broadcasts, gefolgt von einem WINS-Server und 8 für die Verwendung eines WINS-Servers, gefolgt von einer Übertragung.
Sie sollten die dargestellten Werte durch die für Ihr eigenes Netzwerk spezifischen Parameter ersetzen.
Nachdem Sie die Hauptkonfigurationsdatei bearbeitet und Ihre eigenen IP-Bereiche deklariert haben, öffnen Sie die Datei /etc/default/isc-dhcp-server und ersetzen Sie die Datei INTERFACESv4 Parameter mit dem Namen der Netzwerkschnittstelle, die für Ihr Netzwerk konfiguriert wird, wie im folgenden Bild dargestellt. Verwenden Sie die Befehle ip oder ifconfig, um alle Ihre Netzwerkschnittstellen aufzulisten.
INTERFACESv4="ens33"
Nachdem Sie alle Änderungen vorgenommen haben, starten Sie schließlich den DHCP-Server neu, um neue Konfigurationen anzuwenden und den Dienststatus durch Ausführen der folgenden Befehle zu überprüfen.
systemctl restart isc-dhcp-server
systemctl status isc-dhcp-server
Die Clients sollten nun beginnen, IP-Leases von Ihrem DHCP-Server zu erhalten. Um die an Ihre Kunden vergebenen Adressen in Echtzeit aufzulisten, sollten Sie den Inhalt der Protokolldatei überprüfen, indem Sie den Befehl tail wie unten dargestellt ausführen.
tail -f /var/log/syslog
Konfiguration des DHCP-Servers zur Bereitstellung der reservierten IP-Adresse
Ich möchte Ihren DHCP-Server so konfigurieren, dass er eine feste IP-Adresse für spezielle Netzwerkgeräte aus Ihrem Netzwerk zuweist, wie z.B. Server, verwende eine Deklaration mit dem Namen des Hosts, dem Sie eine feste IP-Adresse gewähren möchten, und der Media Access Control (MAC)-Adresse des Netzwerkschnittstellen-Plugins für Ihr Netzwerk. Die reservierte IP-Adresse wird dem Client bei jedem Start zugewiesen. Sie sollten eine feste IP-Adresse von außerhalb jedes IP-Bereichs reservieren, den Sie für Ihr Netzwerk im DHCP-Server angegeben haben. Die Deklaration der festen IP-Adresse sollte in den Zeilen enthalten sein, die Sie für Ihren Netzwerkbereich deklariert haben, und den folgenden Inhalt haben, wie unten dargestellt. Der reservierte IP-Adresseintrag kann aber auch nach der Subnetzdeklaration hinzugefügt werden.
nano /etc/dhcp/dhcpd.conf
Das Beispiel für eine IP-Deklaration wurde korrigiert:
subnet 192.168.1.0 netmask 255.255.255.0 { range declarations…. host WIN-SERVER { hardware ethernet 00:0c:19:bc:2e:e1; fixed-address 192.168.1.7;} }
Nachdem Sie die Leitungen für Ihre festen IP-Adressen hinzugefügt haben, starten Sie den DHCP-Server neu, um Änderungen zu übernehmen, indem Sie den folgenden Befehl ausführen.
systemctl restart isc-dhcp-server
Das ist alles! Sie haben einen DHCP-Server unter Debian 9 bei Ihnen vor Ort erfolgreich installiert und konfiguriert.