Kea (Software)

Software From Wikipedia, the free encyclopedia

Kea ist ein Open-Source-Programmpaket für die IP-Adressvergabe über das Dynamic Host Configuration Protocol. Es wurde entwickelt, um den klassischen DHCP ISC Server zu ersetzen.[5][6] Es unterstützt DHCPv4 und DHCPv6, inklusive deren entsprechenden Erweiterungen und dynamische DNS Aktualisierung.[7] Als Repository stehen aktuell 4 Datasources zur Verfügung Flatfile auch memfile, MySQL Datenbank oder MariaDB Datenbank, PostgreSQL Datenbank oder Casandra Datenbank.

Schnelle Fakten Basisdaten ...
Kea
Basisdaten
Entwickler Internet Systems Consortium
Erscheinungsjahr 29. August 2014 (Version 0.9)
Aktuelle Version 2.6.5[1]
(25. März 2026)
Aktuelle Vorabversion 3.1.5[2]
(28. Januar 2026)
Betriebssystem GNU/Linux, Unix, Unix-ähnliches System
Programmier­sprache C++[3]
Kategorie DHCP-Software
Lizenz MPL-2.0[4]
deutschsprachig nein
isc.org/kea
Schließen

Funktionsumfang

Kea setzt sich aus folgenden Komponenten zusammen:[7]

keactrl
verantwortlich für den Start, Stopp, Umkonfiguration und Statusmeldungen des Kea-Server
kea-dhcp4
Ist der DHCPv4 Server Prozess. Dieser Prozess antwortet auf DHCPv4 Anfragen von Clients
kea-dhcp6
Ist der DHCPv6 Server Prozess. Dieser Prozess antwortet auf DHCPv6 Anfragen von Clients
kea-dhcp-ddns
Der DHCP Dynamic DNS Prozess. Dieser Prozess dient als Mittler zwischen den DHCP Servern und externen DNS-Servern. Er erhält Namesaktualisierungen oder Löschungen und sendet diese an die DNS-Server.
kea-admin
Werkzeug für die Datenbankverwaltung.
kea-lfc
Dieser Prozess entfernt redundante Informationen.
kea-ctrl-agent
Dieser Prozess stellt REST-Schnittstelle für die Serververwaltung zur Verfügung.
kea-netconf
Ein Agent, welcher eine YANG/NETCONF Schnittstelle für die Konfiguration bereitstellt.
kea-shell
Einfacher Text Client, der die REST Schnittstelle zur Verbindung mit dem Kea Control Agent nutzt.
perfdhcp
DHCP benchmarking Werkzeug, welches mehrere Clients simuliert um die Performanz zu messen.

Als Backend für die Konfiguration wird nur mysql/mariadb unterstützt. Als Backend für die IP-Adressen (Lease) kann Postgres oder Mysql/mariadb eingesetzt werden. Es gibt Softwarepakete für die gängigen Linux und Unix Distributionen, Windows wird als Plattform nicht unterstützt. Als Dashboard wird Stork empfohlen.[8] Die Konfigurationsdateien setzen als Format JSON ein. Die Software unterstützt den SSL Standard zur Kommunikation, ab Version 2.2.0 wird nativ TLS unterstützt.[9] Kea kann je nach Backend 1000 Adressen pro Sekunden zuteilen bzw. verarbeitet zwischen 4000 und 7500 Pakete pro Sekunde.[5] Über die Schnittstellen (Hooks) kann Kea erweitert werden und erhält so die Möglichkeit mit Systemen wie z. B. eine CMDB oder DCIM zu kommunizieren.[10][11]

Geschichte

Die Software wurde über die Mailingliste als Ersatz für den bisherigen DHCP Server des ISC vorgestellt. Die erste Version wurde noch mit BIND10 1.2.0 ausgeliefert, danach wurden die Pakete getrennt.[12] Es wurden Abhängigkeiten entfernt, damit kea nur noch auf C++ basiert.[13] Kea bietet im Gegensatz zu seinem Vorgänger die Möglichkeit eine Hochverfügbarkeit des Dienstes zu realisieren.[14]

Konfiguration

Kea setzt auf JSON Strukturen für die Serverkonfiguration.[15] Auf Basis von YANG und dem NETCONF Protokoll.[16][17]

Beispiel einer einfachen Serverkonfiguration

# The whole configuration starts here.
{
    # DHCPv4 specific configuration starts here.
    "Dhcp4": {
        "interfaces-config": {
            "interfaces": [ "eth0" ],
            "dhcp-socket-type": "raw"
        },
        "valid-lifetime": 4000,
        "renew-timer": 1000,
        "rebind-timer": 2000,
        "subnet4": [{
           "pools": [ { "pool": "192.0.2.1-192.0.2.200" } ],
           "subnet": "192.0.2.0/24"
        }],

       # Now loggers are inside the DHCPv4 object.
       "loggers": [{
            "name": "*",
            "severity": "DEBUG"
        }]
    }

# The whole configuration structure ends here.
}

Eine Besonderheit ist, dass der Dienst bei einer Änderung der Konfiguration nicht neu gestartet werden muss, ein Neustart erfolgt nur, wenn die Schnittstelle (Netzwerkkarte) geändert wird.[18]

Einzelnachweise

Related Articles

Wikiwand AI