Kea (Software)
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 |
Programmiersprache | 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]
Geschichte
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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]
Weblinks
[Bearbeiten | Quelltext bearbeiten]- ISC Webseite
- Software Quellen und Fehler Tracker
- Kea Dokumentation
- ISC Kea packages
- Kea Mailinglisten
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Kea 2.6.1 Release Notes.
- ↑ Kea 2.7.4 release notes. In: isc.org. Abgerufen am 21. November 2024 (englisch).
- ↑ www.openhub.net.
- ↑ www.isc.org. (abgerufen am 29. Januar 2023).
- ↑ 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.
- ↑ Open-Source-DHCP-Server Kea als Nachfolger des ISC DHCP einrichten. In: heise online. Abgerufen am 25. Februar 2022 (Paywall).
- ↑ a b 1. Introduction – Kea 2.0.1 documentation. Abgerufen am 24. Februar 2022.
- ↑ ISC Open Source Projects / stork. In: gitlab.isc.org. Abgerufen am 24. Februar 2022 (englisch).
- ↑ Kea 2.2.0, July 27th 2022, Release Notes. Internet Systems Consortium, Inc., 27. Juli 2022, abgerufen am 28. Juli 2022 (englisch).
- ↑ netbox integration with KEA DHCP Server. Abgerufen am 28. Februar 2022.
- ↑ Kea: Hooks Developer’s Guide. Abgerufen am 28. Februar 2022.
- ↑ Tomek Mrugalski: [Kea-users] Kea Update #2. 7. Mai 2014, abgerufen am 24. Februar 2022 (englisch).
- ↑ Wlodek Wencel: [Kea-announce] Kea 0.9 beta1 was released! 13. August 2014, abgerufen am 24. Februar 2022 (englisch).
- ↑ Advanced Kea DHCP features. In: APNIC Blog. 25. März 2020, abgerufen am 25. Februar 2022 (amerikanisches Englisch).
- ↑ 5. Kea Configuration — Kea 2.0.1 documentation. Abgerufen am 24. Februar 2022.
- ↑ RFC: – YANG – A Data Modeling Language for the Network Configuration Protocol (NETCONF). (englisch).
- ↑ 21. YANG/NETCONF Support — Kea 1.9.9 documentation. Abgerufen am 25. Februar 2022.
- ↑ Oliver Frommel: Der moderne DHCP-Server Kea. In: ADMIN-Magazin. Abgerufen am 28. Februar 2022 (deutsch).