DHCP-Konfiguration

Das Dynamic Host Configuration Protocol (DHCP) ist ein Netzwerkprotokoll, das automatisch IP-Adressen und andere Netzwerkkonfigurationsparameter an Geräte in einem Netzwerk verteilt. Dadurch wird die manuelle IP-Konfiguration vermieden, was besonders in großen Netzwerken eine erhebliche Erleichterung darstellt. In diesem Blog-Beitrag zeige ich dir, wie du einen DHCP-Server unter Linux einrichtest und konfigurierst.

Was ist DHCP?

DHCP ermöglicht es einem Netzwerk, IP-Adressen dynamisch an Computer und andere Netzwerkgeräte zu vergeben. Diese Adressen sind oft nur für eine begrenzte Zeit gültig, was bedeutet, dass die Geräte beim Verlassen des Netzwerks ihre IP-Adresse zurückgeben und anderen Geräten zur Verfügung stellen.

Voraussetzungen

Bevor du mit der Konfiguration des DHCP-Servers beginnst, stelle sicher, dass du die folgenden Voraussetzungen erfüllst:

  • Ein Linux-basiertes Betriebssystem wie Ubuntu, Debian, CentOS oder eine andere Distribution.
  • Root-Zugriff oder sudo-Berechtigungen.
  • Grundlegende Kenntnisse über Netzwerke und IP-Adressierung.

Schritt 1: Installation des DHCP-Servers

Zuerst musst du das DHCP-Server-Paket auf deinem System installieren. Der Name des Pakets kann von Distribution zu Distribution leicht variieren.

Für Debian/Ubuntu:

sudo apt update
sudo apt install isc-dhcp-server

Für CentOS/RHEL:

sudo yum install dhcp

Schritt 2: Konfiguration des DHCP-Servers

Die Hauptkonfigurationsdatei für den DHCP-Server befindet sich unter /etc/dhcp/dhcpd.conf. In dieser Datei definierst du die IP-Bereiche, die der Server vergeben soll, sowie die Netzwerkkonfiguration, die an die Clients verteilt wird.

Öffne die Datei mit einem Texteditor:

sudo nano /etc/dhcp/dhcpd.conf

Beispielkonfiguration

Füge die folgende Konfiguration in die Datei ein:

# Standardwerte für die Lease-Zeit
default-lease-time 600;
max-lease-time 7200;

# Erzwinge das Verhalten von DHCP-Clients
authoritative;

# Definiere das Netzwerk und den IP-Adressbereich
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;
    option routers 192.168.1.1;
    option subnet-mask 255.255.255.0;
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    option domain-name "example.com";
}

In dieser Konfiguration:

  • default-lease-time und max-lease-time: Legen die Zeit fest, für die eine IP-Adresse zugewiesen wird. Wenn der Zeitraum abläuft, muss der Client die Adresse erneuern.
  • subnet: Gibt das Subnetz an, in dem der DHCP-Server arbeiten soll (hier 192.168.1.0/24).
  • range: Definiert den Bereich der IP-Adressen, die der DHCP-Server an die Clients vergeben darf (in unserem Fall 192.168.1.100 bis 192.168.1.200).
  • option routers: Legt das Gateway fest (hier 192.168.1.1).
  • option domain-name-servers: Definiert die DNS-Server (Google DNS-Server werden in diesem Beispiel verwendet).

Schritt 3: Netzwerkschnittstelle für den DHCP-Dienst festlegen

In der Datei /etc/default/isc-dhcp-server (für Debian/Ubuntu) oder /etc/sysconfig/dhcpd (für CentOS/RHEL) musst du die Netzwerkschnittstelle angeben, auf der der DHCP-Server arbeiten soll.

Für Debian/Ubuntu öffnest du die Datei:

sudo nano /etc/default/isc-dhcp-server

Füge den Namen deiner Netzwerkschnittstelle (z. B. eth0) in der Zeile INTERFACESv4 hinzu:

INTERFACESv4="eth0"

Für CentOS/RHEL öffnest du:

sudo nano /etc/sysconfig/dhcpd

Füge hier ebenfalls die Schnittstelle hinzu:

DHCPDARGS="eth0"

Ersetze eth0 durch die Schnittstelle, die in deinem System verwendet wird. Du kannst die verfügbare Netzwerkschnittstelle mit dem folgenden Befehl herausfinden:

ip a

Schritt 4: Starten und Aktivieren des DHCP-Servers

Nachdem du die Konfiguration abgeschlossen hast, starte den DHCP-Server und stelle sicher, dass er bei jedem Systemstart automatisch gestartet wird.

Für Debian/Ubuntu:

sudo systemctl restart isc-dhcp-server
sudo systemctl enable isc-dhcp-server

Für CentOS/RHEL:

sudo systemctl restart dhcpd
sudo systemctl enable dhcpd

Schritt 5: Firewall-Konfiguration

Wenn auf deinem System eine Firewall läuft, musst du sicherstellen, dass der DHCP-Datenverkehr zugelassen wird. DHCP verwendet die UDP-Ports 67 (für den Server) und 68 (für den Client).

Für UFW (Debian/Ubuntu):

sudo ufw allow 67/udp

Für firewalld (CentOS/RHEL):

sudo firewall-cmd --add-service=dhcp --permanent
sudo firewall-cmd --reload

Schritt 6: Überprüfen der DHCP-Server-Funktion

Um zu überprüfen, ob der DHCP-Server korrekt läuft und IP-Adressen vergibt, kannst du die Protokolle auf dem Server einsehen:

sudo tail -f /var/log/syslog

Für CentOS/RHEL:

sudo tail -f /var/log/messages

Hier kannst du überprüfen, ob Clients erfolgreich IP-Adressen vom DHCP-Server erhalten haben.

Schritt 7: Statische IP-Adressen für bestimmte Geräte konfigurieren

Falls du bestimmten Geräten immer die gleiche IP-Adresse zuweisen möchtest (zum Beispiel Druckern oder Servern), kannst du dies ebenfalls in der Konfigurationsdatei /etc/dhcp/dhcpd.conf festlegen.

Füge dafür den folgenden Abschnitt hinzu:

host printer {
    hardware ethernet 00:11:22:33:44:55;
    fixed-address 192.168.1.50;
}

In diesem Beispiel wird der MAC-Adresse 00:11:22:33:44:55 immer die IP-Adresse 192.168.1.50 zugewiesen.

Fazit

Die Einrichtung eines DHCP-Servers unter Linux ist mit den richtigen Schritten und Konfigurationen schnell erledigt. DHCP erleichtert die Verwaltung von Netzwerken erheblich, indem es die automatische Zuweisung von IP-Adressen und weiteren Netzwerkkonfigurationsparametern übernimmt. Mit der oben beschriebenen Anleitung hast du die Grundlagen, um einen funktionierenden DHCP-Server in deinem Netzwerk einzurichten.

Falls du spezifische Anforderungen oder komplexere Netzwerkkonfigurationen hast, kannst du die Konfiguration weiter anpassen. Bei Fragen oder Problemen hinterlasse gerne einen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert