|
|
| (33 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| == Einrichten eines DHCP-Servers auf Debian mit Kea ==
| | *[[Einrichten eines DHCP-Servers auf Debian mit Kea]] |
| | | *[[Einrichten eines DHCP-Servers auf Rocky mit Kea]] |
| === Installation ===
| |
| | |
| * sudo apt install kea-dhcp4-server
| |
| | |
| === Konfiguration der zu vergebenden Netzwerkparameter ===
| |
| | |
| * Die Hauptkonfigurationsdatei von Kea ist im JSON-Format
| |
| * sudo vim /etc/kea/kea-dhcp4.conf
| |
| | |
| <syntaxhighlight lang="json">
| |
| {
| |
| "Dhcp4": {
| |
| "interfaces-config": {
| |
| "interfaces": [ "enp0s3" ]
| |
| },
| |
| "lease-database": {
| |
| "type": "memfile",
| |
| "persist": true,
| |
| "name": "/var/lib/kea/dhcp4.leases"
| |
| },
| |
| "valid-lifetime": 600,
| |
| "max-valid-lifetime": 7200,
| |
| "subnet4": [
| |
| {
| |
| "subnet": "172.16.1XX.0/24",
| |
| "pools": [
| |
| {
| |
| "pool": "172.16.1XX.50 - 172.16.1XX.100"
| |
| }
| |
| ],
| |
| "option-data": [
| |
| {
| |
| "name": "routers",
| |
| "data": "172.16.1XX.1"
| |
| },
| |
| {
| |
| "name": "domain-name-servers",
| |
| "data": "10.88.1XX.21"
| |
| },
| |
| {
| |
| "name": "domain-name",
| |
| "data": "it1XX.int"
| |
| },
| |
| {
| |
| "name": "domain-search",
| |
| "data": "it1XX.int, example.com"
| |
| }
| |
| ],
| |
| "reservations": [
| |
| {
| |
| "hw-address": "aa:bb:cc:dd:ee:ff",
| |
| "ip-address": "172.16.1XX.10",
| |
| "hostname": "server1"
| |
| },
| |
| {
| |
| "hw-address": "11:22:33:44:55:66",
| |
| "ip-address": "172.16.1XX.11",
| |
| "hostname": "server2"
| |
| }
| |
| ]
| |
| }
| |
| ],
| |
| "loggers": [
| |
| {
| |
| "name": "kea-dhcp4",
| |
| "output_options": [
| |
| {
| |
| "output": "/var/log/kea/kea-dhcp4.log"
| |
| }
| |
| ],
| |
| "severity": "INFO"
| |
| }
| |
| ]
| |
| }
| |
| }
| |
| </syntaxhighlight>
| |
| | |
| === Dienst starten und überprüfen ===
| |
| | |
| * Konfiguration testen
| |
| * sudo kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
| |
| | |
| * Dienst mit der neuen Konfiguration starten und überprüfen
| |
| * sudo systemctl restart kea-dhcp4-server
| |
| * sudo systemctl status kea-dhcp4-server
| |
| | |
| * Dienst beim Systemstart automatisch aktivieren
| |
| * sudo systemctl enable kea-dhcp4-server
| |
| | |
| === Kontrolle ob der Port geöffnet ist ===
| |
| | |
| * ss -lnup
| |
| | |
| <pre>
| |
| State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
| |
| UNCONN 0 0 0.0.0.0:67 0.0.0.0:* users:(("kea-dhcp4",pid=XXXX,fd=X))
| |
| </pre>
| |
| | |
| === Logs ===
| |
| | |
| ==== Ab Debian 12 ====
| |
| | |
| * Die letzten 100 Zeilen und neue Nachrichten anschauen
| |
| * journalctl -fn100 -u kea-dhcp4-server
| |
| | |
| * Alternativ die Kea-spezifische Logdatei verwenden
| |
| * tail -f /var/log/kea/kea-dhcp4.log
| |
| | |
| === Lease-Verwaltung ===
| |
| | |
| * Aktive Leases anzeigen
| |
| * sudo cat /var/lib/kea/dhcp4.leases
| |
| | |
| * Oder mit dem Kea Shell Tool (falls installiert)
| |
| * sudo apt install kea-ctrl-agent
| |
| | |
| === DHCP Anfragen über die Kommandozeile ===
| |
| | |
| * apt install isc-dhcp-client
| |
| * Bei den folgenden Befehlen kann man auch eine spezifische Netzwerkkarte angeben
| |
| | |
| ==== Neue IP-Adresse anfragen ====
| |
| | |
| * sudo dhclient enp0s3
| |
| | |
| ==== Lease der IP-Adresse freigeben ====
| |
| | |
| * sudo dhclient -r enp0s3
| |
| | |
| === Wichtige Unterschiede zu ISC DHCP ===
| |
| | |
| * Kea verwendet JSON-Konfiguration statt ISC-Format
| |
| * Die Lease-Datenbank kann in verschiedenen Backends gespeichert werden (memfile, MySQL, PostgreSQL)
| |
| * Kea bietet eine REST-API zur Verwaltung (über kea-ctrl-agent)
| |
| * Modernere Architektur mit besserer Performance bei vielen Clients
| |
| | |
| === Konfigurationsprüfung ===
| |
| | |
| * Vor jedem Neustart empfiehlt es sich, die Syntax zu prüfen
| |
| * sudo kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
| |