Kea (Software)

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
Kea
Basisdaten

Entwickler Internet Systems Consortium
Erscheinungsjahr 29. August 2014 (Version 0.9)
Aktuelle Version 2.6.1[1]
(31. Juli 2024)
Aktuelle Vorabversion 2.7.4[2]
(30. Oktober 2024)
Betriebssystem GNU/Linux, Unix, Unix-ähnliches System
Programmier­sprache C++[3]
Kategorie DHCP-Software
Lizenz MPL-2.0[4]
deutschsprachig nein
isc.org/kea

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.

Funktionsumfang

[Bearbeiten | Quelltext bearbeiten]

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 Agentd, 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]

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]

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

Beispiel einer einfachen Serverkonfiguration

[Bearbeiten | Quelltext bearbeiten]
# 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

[Bearbeiten | Quelltext bearbeiten]
  1. Kea 2.6.1 Release Notes.
  2. Kea 2.7.4 release notes. In: isc.org. Abgerufen am 21. November 2024 (englisch).
  3. www.openhub.net.
  4. www.isc.org. (abgerufen am 29. Januar 2023).
  5. a b Darkcrizt: Kea, der Open Source DHCP Server erreicht seine neue Version Kea 1.6. In: Ubunlog. 5. September 2019, abgerufen am 24. Februar 2022.
  6. Open-Source-DHCP-Server Kea als Nachfolger des ISC DHCP einrichten. In: heise online. Abgerufen am 25. Februar 2022 (Paywall).
  7. a b 1. Introduction – Kea 2.0.1 documentation. Abgerufen am 24. Februar 2022.
  8. ISC Open Source Projects / stork. In: gitlab.isc.org. Abgerufen am 24. Februar 2022 (englisch).
  9. Kea 2.2.0, July 27th 2022, Release Notes. Internet Systems Consortium, Inc., 27. Juli 2022, abgerufen am 28. Juli 2022 (englisch).
  10. netbox integration with KEA DHCP Server. Abgerufen am 28. Februar 2022.
  11. Kea: Hooks Developer’s Guide. Abgerufen am 28. Februar 2022.
  12. Tomek Mrugalski: [Kea-users] Kea Update #2. 7. Mai 2014, abgerufen am 24. Februar 2022 (englisch).
  13. Wlodek Wencel: [Kea-announce] Kea 0.9 beta1 was released! 13. August 2014, abgerufen am 24. Februar 2022 (englisch).
  14. Advanced Kea DHCP features. In: APNIC Blog. 25. März 2020, abgerufen am 25. Februar 2022 (amerikanisches Englisch).
  15. 5. Kea Configuration — Kea 2.0.1 documentation. Abgerufen am 24. Februar 2022.
  16. RFC: 6020 – YANG – A Data Modeling Language for the Network Configuration Protocol (NETCONF). (englisch).
  17. 21. YANG/NETCONF Support — Kea 1.9.9 documentation. Abgerufen am 25. Februar 2022.
  18. Oliver Frommel: Der moderne DHCP-Server Kea. In: ADMIN-Magazin. Abgerufen am 28. Februar 2022 (deutsch).