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. Es unterstützt DHCPv4 und DHCPv6, inklusive deren entsprechenden Erweiterungen und dynamische DNS Aktualisierung. Als Repository stehen aktuell 4 Datasources zur Verfügung Flatfile auch memfile, MySQL Datenbank oder MariaDB Datenbank, PostgreSQL Datenbank oder Casandra Datenbank.
Funktionsumfang Kea setzt sich aus folgenden Komponenten zusammen:
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. 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. Kea kann je nach Backend 1000 Adressen pro Sekunden zuteilen bzw. verarbeitet zwischen 4000 und 7500 Pakete pro Sekunde. Ü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.
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. Es wurden Abhängigkeiten entfernt, damit kea nur noch auf C++ basiert. Kea bietet im Gegensatz zu seinem Vorgänger die Möglichkeit eine Hochverfügbarkeit des Dienstes zu realisieren.
Konfiguration Kea setzt auf JSON Strukturen für die Serverkonfiguration. Auf Basis von YANG und dem NETCONF Protokoll.
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.
Weblinks
ISC Webseite Software Quellen und Fehler Tracker Kea Dokumentation ISC Kea packages Kea Mailinglisten
Einzelnachweise
Kategorie:Freie Server-Software Kategorie:Unix-Software Kategorie:Linux-Software