DHCP-Server KEA: Installation für Linux Ubuntu 22.04 und Debian 11

DHCP Server KEA unter Linux Ubuntu 22.04 / Debian 11 mit Stork installieren

In dieser Schritt-für-Schritt-Anleitung installieren wir einen DHCP-Server mit der Open-Source-Software KEA auf einem Linux-Hostsystem mit Ubuntu 22.04 oder alternativ Debian 11. Ich zeige euch, wie wir in wenigen Schritten einen skalierbaren und robusten DHCP-Server im Netzwerk implementieren können.

Dank der Open-Source-Software KEA sind die Installation und der Betrieb eines eigenen DHCP-Servers auf einem Linux-basierten System problemlos möglich. Nach dem Installationsprozess implementieren wir eine Weboberfläche mit Stork. Das ermöglicht es uns, den DHCP-Server im Webbrowser zu überwachen.

Was hat ein DHCPServer für Aufgaben?

DHCP steht für Dynamic Host Configuration Protocol. Die Aufgabe des Servers ist es, Computern, Smartphones und allen Geräten im Netzwerk automatisch eine IPv4- und/oder eine IPv6-Adresse (TCP/IP) zur Verfügung zu stellen. Ohne einen DHCP-Server müssten wir jedes einzelne Gerät im Netzwerk manuell konfigurieren. Würden wir dies nicht tun, könnte der Computer oder das netzwerkfähige Gerät nicht mit dem LAN oder Internet kommunizieren.

Eine IP-Adresse wird immer für einen bestimmten Zeitraum ausgeliehen. In der Informationstechnik sprechen wir von einer Lease-Time. Morgen könnte dieselbe IP-Adresse also ein anderes Gerät beziehen. Daher kommt auch die Namensgebung „Dynamisch“ zustande. Weiter vereinfacht der DHCP-Dienst das IP-Adressen-Management. So wird unter anderem automatisch verhindert, dass dieselbe IP-Adresse doppelt vergeben wird, was bei einer eigenständigen Konfiguration schnell passieren kann und zu Fehlern im Netzwerk führt.

Neben der lokalen IP-Adresse werden dem Client (Computer/Endgerät) alle für das Netzwerk notwendigen Informationen und Parameter zugewiesen. Dazu zählen z. B. die folgenden Einträge:

  • Wer ist in diesem Netzwerk der zuständige DNS-Server?
  • Welche IP-Adresse hat das Gateway? (Das Tor zum Internet)
  • Zuweisung einer Subnetzmaske

Inhaltsverzeichnis: Installationsanleitung für den Open-Source DHCP-Server KEA unter Linux

Was wird für die Installation von KEA (DHCP-Server) unter Linux benötigt?

  • Du benötigst ein Host mit installiertem Linux-Debian 11 oder Linux-Ubuntu 22.04 Distribution.
  • Für die Installation der Software KEA ist eine Verbindung mit dem Internet erforderlich.
  • Es wird ein Zugriff auf das Linux-System mit root-Berechtigungen benötigt.
  • Optional: Eine zweite VM/Server für den Stork-Agenten (WebUI für KEA).

Vorbereitungen für die Installation (Systemaktualisierung)

Zunächst sollten wir die Paketquellen auf dem neusten Stand bringen. Melde dich am Terminal mit deinem Benutzerkonto an und gebe den Befehl für die Aktualisierung ein. Verwendest du Linux Ubuntu, kannst du für die Zeit der Installation auf das Root-Konto wechseln, da sonst jeder Befehl mit dem sudo-Prompt ausgeführt werden muss.

Als root Benutzer anmelden:

sudo su root

Paketquellen Aktualisieren:

apt update && apt upgrade -y

Schritt 1: Die Open-Source-Software KEA über das Terminal herunterladen und installieren (Linux DHCP-Server)

Installation von KEA für Ubuntu und Debian (Anleitung)

Wir verwenden den Open-Source DHCP-Server „ICS-DHCP“ genauer gesagt dessen Neuentwicklung KEA. Die Software „ISC“ hat im Dezember 2022 das Ende ihrer Lebenszeit erreicht und wird nicht weiter gepflegt. KEA ist ein moderner und modularer DHCP-Server, welcher sogar Cluster mit mehreren KEA-Servern für die Implementierung eines Failovers ermöglicht. Das setzt lediglich voraus, dass beide Server Zugriff auf dieselbe MySQL-Datenbank haben. Wir installieren zunächst die Abhängigkeiten (Pakete) für KEA auf unserem Linux-Hostsystem.

Notwendige Pakete und Abhängigkeiten für KEA installieren:

apt install wget libboost-all-dev openssl g++ libssl-dev liblog4cplus-dev liblog4cplus-2.0.5 make cmake -y

Sobald alle Pakete erfolgreich auf deinem Server installiert worden sind, laden wir die aktuellste Version von KEA direkt von der Webseite des Entwicklers herunter, da die GitHub-Version zum Zeitpunkt von dieser Installationsanleitung veraltet ist.

Hinweis: Überprüfe über diesen Link, ob zwischenzeitlich eine neuere Version von dem DHCP-Server KEA veröffentlicht wurde. Bitte ergänze die folgenden Befehle anschließend mit der neuen Versionsnummer.

Gebe den folgenden Befehl für den Download von KEA in das Linux-Terminal ein:

wget https://downloads.isc.org/isc/kea/2.3.4/kea-2.3.4.tar.gz

Entpacke das Archiv mit dem tar-Befehl:

tar -xvzf kea-2.3.4.tar.gz

Navigiere in das Verzeichnis von KEA:

cd kea-2.3.4

Führe das Skript für die Installation aus:

autoreconf --install

Beginne mit der automatischen Einrichtung:

./configure

Nach dem Abschluss der Konfiguration müssen die notwendigen Dateien aus dem C++ Code erstellt und das Python-Skript vorbereitet werden. Das funktioniert mit dem folgenden Befehl.

Mit der Kompilierung beginnen:

make

Hinweis: Dieser Vorgang kann einige Minuten bis Stunden Zeit in Anspruch nehmen. Je nach eingesetzter Hardware variiert dieser Schritt!

Sobald die Kompilierung erfolgreich durchlaufen wurde, gebe den folgenden Befehl ein, um die ausführbaren Kea-Dateien, Support-Dateien und die Dokumentation auf deinem Linux-Server zu installieren:

make install

Wechsel in das folgende Verzeichnis und führe die Cache-Konfigurationsdatei für das Betriebssystem mit root-Berechtigungen aus.

In das Bibliotheken-Verzeichnis wechseln:

cd /usr/local/lib

Befehl ausführen:

ldconfig

Die Open-Source-Software KEA ist jetzt installiert. 

Schritt 2: DHCP-Server KEA konfigurieren und starten

Im Verzeichnis /usr/local/etc/kea können wir die Konfigurationen am DHCP-Server vornehmen. Verwenden wir z. B. den ls Befehl, erhalten wir eine Ausgabe über die einzelnen Konfigurationsdateien.

DHCP Server Installation KEA unter Linux Ubuntu und Debian

Wir werden in dieser Anleitung keine Konfigurationen vornehmen. Zeigen möchte ich euch die Möglichkeit aber trotzdem. Öffnet eine Standardkonfigurationsdatei mit nano oder vim, um z. B. Schnittstellen, Subnetze und IP-Netzwerke festzulegen. Entferne dazu einfach die Kommentarfunktion einer gewünschten Option und orientiere dich an den Hilfestellungen innerhalb der Datei. Wir verwenden den DHCP-Server KEA vorerst Out-of-the-Box.

DHCP Server KEA installieren und konfigurieren tutorial

DHCP-Server KEA starten:

Um eine Konfigurationsdatei mit KEA sofort zu starten, können wir den folgenden Befehl verwenden:

/usr/local/sbin/kea-dhcp4 -c /usr/local/etc/kea/kea-dhcp4.conf

Änderungen an den Konfigurationsdateien können auch während des Betriebs vorgenommen werden und sind sofort wirksam, ohne den KEA-Server neu starten zu müssen. Vorzugsweise wird KEA mit den keactrl-Befehlen gestartet, da es alle Konfigurationen und den Agenten gleichzeitig ausführt:

KEA starten:

keactrl start

KEA Status überprüfen:

keactrl status

KEA stoppen:

keactrl stop

Die Installation von KEA (DHCP-Server) unter Linux ist abgeschlossen

Kea wurde jetzt erfolgreich auf Linux Ubuntu/Debian installiert. Die Konfigurationsmöglichkeiten sind sehr umfangreich und immer individuell von der verwendeten Netzwerk-Infrastruktur abhängig. Verwende die offizielle Dokumentation vom Herausgeber, um KEA auf Wunsch weiter einzurichten: https://kea.readthedocs.io/en/kea-2.2.0/arm/dhcp4-srv.html

Schritt 3: Installation einer grafischen Oberfläche für KEA mit Stork (Web-GUI)

Wir installieren mit Stork eine grafische Oberfläche für den DHCP-Server unter Linux, damit wir die KEA-Instanzen über ein Dashboard überwachen und Konfigurationen direkt im Browser vornehmen können. Das erleichtert uns die Administration und das Monitoring erheblich.

Stork wird für gewöhnlich auf eine eigene VM/Container mit einer PostgreSQL-Datenbank installiert und ausgeführt. Die Agenten werden dann mit dem Stork-Server über sogenannte Server-Tokens verbunden. Wie das funktioniert, zeige ich in diesem Abschnitt meiner Schritt-für-Schritt-Anleitung.

Wechsel für die Durchführung der Installation auf dem Benutzer „root“:

sudo su root

Zunächst melden wir uns am Terminal z. B. über SSH am Server an und führen eine Aktualisierung der Paketquellen durch.

Aktualisierungen durchführen:

apt update && apt upgrade -y

Wir installieren die Datenbank „PostgreSQL“ aus dem Standard-Repository in der stabilen Version:

apt install postgresql postgresql-contrib -y

Sobald die Installation erfolgreich durchlaufen ist, wechseln wir auf den Datenbankbenutzer „postgres“, um die Datenbank für Stork zu erstellen.

Auf den Benutzer „postgres“ wechseln:

su postgres

Als Nächstes betreten wir den Datenbankmodus und legen einen neuen Benutzer mit dem Namen „Stork“ an. Ergänze die Eingabe ‚Passwort‘ mit einem sicheren Passwort. Im Anschluss erstellen wir eine neue Datenbank und räumen den soeben angelegten Datenbank-Benutzer alle Rechte (Privilegien) ein.

Datenbank-Konsole öffnen:

psql postgres

Die Datenbank für Stork erstellen und Konfigurationen vornehmen:

CREATE USER stork WITH PASSWORD 'PASSWORT';
CREATE DATABASE stork;
GRANT ALL PRIVILEGES ON DATABASE stork TO stork;
\c stork
create extension pgcrypto;

Die Datenbank wurde erfolgreich angelegt. Verlasse den Datenbankmodus wieder:

exit;

Wechsel jetzt wieder auf den Benutzer mit Root-Berechtigungen. Führe den folgenden Befehl auf deinem Terminal aus, um das offizielle Repository von Stork einzubinden:

curl -1sLf 'https://dl.cloudsmith.io/public/isc/stork/cfg/setup/bash.deb.sh' | bash

Der Stork-Server kann jetzt installiert werden:

apt install isc-stork-server

Jetzt müssen wir die zuvor angelegte Datenbank in die Konfigurationsdatei einpflegen. Öffne die .env-Datei und editiere die folgenden Einträge. Entferne, wie im Beispiel ersichtlich, die Kommentare vor den Zeilen.

Stork-Server Datenbank-Zugangsdaten in die Konfigurationsdatei einpflegen:

nano /etc/stork/server.env

Hinweis: Das Passwort wurde von dir, während der Erstellung der Datenbank, vergeben. Falls du andere Daten verwendet hast, müssen die Werte dementsprechend angepasst werden.

STORK_DATABASE_HOST=localhost
STORK_DATABASE_PORT=5432
STORK_DATABASE_NAME=stork
STORK_DATABASE_USER_NAME=stork
STORK_DATABASE_PASSWORD=PASSWORT

Speichere die Änderungen ab [STRG +S] und verlasse die Datei wieder [STRG +X].

Installation abgeschlossen! Den automatischen Start aktivieren:

Der Stork-Server für KEA ist an diesem Punkt erfolgreich installiert worden. Jetzt können wir noch den Befehl dafür eingeben, dass der Dienst nach einem Neustart automatisch wieder startet:

systemctl enable isc-stork-server

Starte den Stork-Server mit dem folgenden Befehl:

systemctl start isc-stork-server

Schritt 4: Installation von DHCP-Server KEA und dem Dashboard Stork unter Linux abgeschlossen. Das WebUI über den Browser aufrufen

Jetzt können wir die IP-Adresse vom Stork-Server in die URL-Leiste unseres Webbrowsers eingeben, um mit der Einrichtung über die Weboberfläche fortzufahren. Unser DHCP-Server muss noch verbunden werden. Die Webanwendung lauscht auf dem Port 8080.

Das Dashboard im Webbrowser öffnen (Beispiel-IP-Adresse):

http://192.168.178.188:8080

Die Default-Log-in-Zugangsdaten für das Stork-Dashboard lauten wie folgt:

Benutzer: admin
Passwort: admin

Hast du dich erfolgreich auf die Weboberfläche anmelden können? 

Dann empfiehlt es sich zunächst, das Passwort vom Admin-Benutzerkonto zu ändern. Navigiere dafür in der Menüleiste auf die Schaltfläche „Configuration > Users“.

Admin Login von Stork (default)

Klicke das Konto „Admin“ an und wähle die Schaltfläche „Edit“. Ändere das Passwort und trage eine gültige E-Mail-Adresse ein. Bestätige die Änderungen über den blauen Button mit der Aufschrift „Save“.

Schritt 5: Stork-Agent installieren und mit dem DHCP-Server KEA verbinden

Im letzten Schritt dieser Anleitung installieren wir den Stork-Agenten. Navigiere mit der Maus auf den Reiter „Services“ und klicke auf die Kategorie „Machines“.

Aktuell sind natürlich noch keine KEA-Instanzen mit dem Stork-Server verbunden. Das lässt sich aber in wenigen Schritten erledigen. Klicke dafür auf die blaue Schaltfläche „How to Install Agent on New Machine“. 

Jetzt öffnet sich ein Fenster mit Befehlen, die wir auf unseren KEA-Server eingeben müssen. 

Open-Source DHCP Server Linux Installation

Verbinde dich z. B. über SSH mit deinem KEA-DHCP-Server und beginne mit der Installation des Stork-Agenten. Sollte der wget-Befehl eine Fehlermeldung (Error 500 Internal Server Error) auf deinem Terminal anzeigen, müssen wir die Installation manuell vornehmen.

Das Repository für die Installation einbinden:

curl -1sLf 'https://dl.cloudsmith.io/public/isc/stork/cfg/setup/bash.deb.sh' | sudo bash

Führe den folgenden Befehl für die Installation des Stork-Agenten aus:

apt install isc-stork-agent

Starte den Agentendienst mit den folgenden Befehlen:

systemctl enable isc-stork-agent
systemctl start isc-stork-agent

Wichtig: Ergänze die IP-Adresse im nächsten Befehl mit der von deinem Stork-Server!

Verbinde den KEA-Server (Stork-Agenten) mit deinem Stork-Server:

stork-agent -s /bin/sh -c 'stork-agent register -u http://192.168.178.187:8080'

Sobald der Befehl abgesendet wurde, sind drei Eingaben erforderlich:

  1. Kopiere den Server-Token aus der Weboberfläche vom Stork-Server und füge ihn in das Terminal ein.
  2. Gebe die IP-Adresse vom KEA-Server oder den FQDN [kea] ein: 192.168.178.187
  3. Trage den Port 8080 ein

Überprüfe anschließend im Dashboard vom Stork-Server, ob es eine nicht autorisierte Anfrage eines Agenten gibt. Dieser muss noch manuell genehmigt werden.

Installation eines DHCP-Servers mit KEA unter Linux Debian/Ubuntu abgeschlossen

KEA Linux Ubuntu und Debian

Der Open-Source-DHCP-Server KEA ist eine interessante und leistungsstarke Software für Unternehmen. Ob sich der Aufwand der Konfiguration für den privaten Gebrauch lohnt, ich denke, da gibt es bessere Lösungen, die nicht ganz so viel Einlesung in die Konfiguration benötigen. Wenn der Server läuft, dann hat man eine hervorragende Lösung installiert.

Mit Stork erhalten wir ein wunderbares Dashboard für den DHCP-Server. Über die Weboberfläche erlaubt Stork eine Anbindung zu den Monitoring-Werkzeugen Grafana oder Prometheus, was sicherlich interessant für den einen oder anderen sein dürfte. Damit ist die Installation von KEA unter Linux abgeschossen. 

4 Kommentare on “DHCP-Server KEA: Installation für Linux Ubuntu 22.04 und Debian 11

  1. Hallo Alexander,
    bei dem Punkt sudo apt install isc-stork-server bekomme ich die folgende Fehlermeldung:
    root@raspberrypi4:/# sudo apt install isc-stork-server
    Reading package lists… Done
    Building dependency tree… Done
    Reading state information… Done
    E: Unable to locate package isc-stork-server.
    Ich habe alles entsprechend deiner Anleitung durchgeführt .

    VG
    Arno

    1. Hallo,
      gibt es hierfür schon eine Antwort? Ich habe auch das Problem das nach dem Befehl (install isc-stork-server), das Paket nicht gefunden wird:

      root@raspberrypi:/home/pi-dhcp# apt install isc-stork-server
      Paketlisten werden gelesen… Fertig
      Abhängigkeitsbaum wird aufgebaut… Fertig
      Statusinformationen werden eingelesen… Fertig
      E: Paket isc-stork-server kann nicht gefunden werden.

      Somit kann ich den Stork-Server leider nicht weiter installieren oder konfigurieren.
      Bin absoluter Linux Anfänger …

  2. Hallo,

    nach dem Server error 500 habe ich versucht den agent manuell zu installieren. Den Server-Token kopiert und verscuht einzufügen, aber das klappt nicht. nach IP und Port kommt immer der Fehler „Provided server token is wrong“ Was muss ich da tun.
    Anmerkung. Der Befehl muss lauten:
    su stork-agent -s /bin/sh -c ’stork-agent register -u http://192.168.178.187:8080

Schreibe einen Kommentar

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