KEA DHCP DDNS Netzwerk und Serveradministration: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 66: | Zeile 66: | ||
;kea-dhcp4.conf anpassen | ;kea-dhcp4.conf anpassen | ||
*cat /etc/kea/kea-dhcp4.conf | *cat /etc/kea/kea-dhcp4.conf | ||
| − | < | + | <syntaxhighlight lang="json"> |
{ | { | ||
"Dhcp4": { | "Dhcp4": { | ||
| Zeile 105: | Zeile 105: | ||
} | } | ||
} | } | ||
| − | </ | + | </syntaxhighlight> |
;kea-dhcp-ddns.conf erstellen | ;kea-dhcp-ddns.conf erstellen | ||
*cat /etc/kea/kea-dhcp-ddns.conf | *cat /etc/kea/kea-dhcp-ddns.conf | ||
| − | < | + | <syntaxhighlight lang="json"> |
{ | { | ||
"DhcpDdns": { | "DhcpDdns": { | ||
| Zeile 153: | Zeile 153: | ||
} | } | ||
} | } | ||
| − | </ | + | </syntaxhighlight> |
==Restart und Debugging== | ==Restart und Debugging== | ||
Version vom 31. März 2026, 14:03 Uhr
Dynamic DNS mit Kea und BIND9
Technischer Ablauf (Theorie)
- 1. DHCP-Request
- Der Client sendet beim Request seinen Hostnamen (Option 12).
- Kea-DHCP4 weist eine IP zu und prüft die DDNS-Konfiguration.
- 2. NCR (Name Change Request)
- Kea-DHCP4 erzeugt einen sogenannten NCR (Name Change Request) und übergibt diesen an den Kea-DDNS-Daemon.
- Durch "ddns-qualifying-suffix" wird aus dem Hostnamen "client" der FQDN "client.it213.int".
- Diese Anfrage geht intern an den Kea-DDNS-Daemon (Port 53001).
- 3. TSIG-Signierung
- Der Kea-DDNS-Daemon nimmt das Paket entgegen.
- Er nutzt den "it213.key" (HMAC-SHA256), um die Anfrage kryptografisch zu signieren.
- Dies stellt sicher, dass nur autorisierte Dienste den DNS manipulieren dürfen.
- 4. DNS-Update (BIND9)
- BIND9 (10.88.213.21) empfängt das signierte Paket.
- BIND prüft die TSIG-Signatur und erlaubt das Update nur, wenn der konfigurierte Schlüssel übereinstimmt.
- BIND schreibt den A-Record (Forward) und den PTR-Record (Reverse) in die Zonen-Dateien.
- Wichtiger Hinweis
- Der DHCP-Server schreibt NICHT direkt in den DNS, sondern delegiert dies an den Kea-DDNS-Daemon.
Auf unserem Nameserver (10.88.213.21)
- Key erzeugen
- cd /etc/bind
- tsig-keygen -a HMAC-SHA256 it213.key >> /etc/bind/named.conf.local
- Zonen und Key konfigurieren
- cat /etc/bind/named.conf.local
key "it213.key" {
algorithm hmac-sha256;
secret "Y8zioRKf3L0lWlhZ5FReSdegcnWVD53IIqT9PPle5cU=";
};
zone "it213.int" {
type master;
file "/var/cache/bind/it213.int";
allow-update { key "it213.key"; };
};
zone "213.88.10.in-addr.arpa" {
type master;
file "/var/cache/bind/213.88.10.in-addr.arpa";
allow-update { key "it213.key"; };
};
zone "213.26.172.in-addr.arpa" {
type master;
file "/var/cache/bind/213.26.172.in-addr.arpa";
allow-update { key "it213.key"; };
};
- Nameserver neustarten
- systemctl restart named
Auf dem Kea Server
- Installation DDNS-Server
- sudo apt update
- sudo apt install kea-dhcp-ddns-server
- kea-dhcp4.conf anpassen
- cat /etc/kea/kea-dhcp4.conf
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "enp0s3" ]
},
"dhcp-ddns": {
"enable-updates": true,
"server-ip": "127.0.0.1",
"server-port": 53001
},
"ddns-send-updates": true,
"ddns-override-no-update": true,
"ddns-override-client-update": true,
"ddns-update-on-renew": true,
"ddns-qualifying-suffix": "it213.int.",
"subnet4": [
{
"id": 1,
"subnet": "172.26.213.0/24",
"pools": [ { "pool": "172.26.213.100 - 172.26.213.200" } ],
"reservations": [
{
"hw-address": "08:00:27:5d:76:5d",
"ip-address": "172.26.213.99",
"hostname": "client"
}
]
}
],
"loggers": [
{
"name": "kea-dhcp4",
"output_options": [ { "output": "/var/log/kea/kea-dhcp4.log" } ],
"severity": "INFO"
}
]
}
}
- kea-dhcp-ddns.conf erstellen
- cat /etc/kea/kea-dhcp-ddns.conf
{
"DhcpDdns": {
"ip-address": "127.0.0.1",
"port": 53001,
"tsig-keys": [
{
"name": "it213.key",
"algorithm": "HMAC-SHA256",
"secret": "Y8zioRKf3L0lWlhZ5FReSdegcnWVD53IIqT9PPle5cU="
}
],
"forward-ddns": {
"ddns-domains": [
{
"name": "it213.int.",
"key-name": "it213.key",
"dns-servers": [ { "ip-address": "10.88.213.21" } ]
}
]
},
"reverse-ddns": {
"ddns-domains": [
{
"name": "213.88.10.in-addr.arpa.",
"key-name": "it213.key",
"dns-servers": [ { "ip-address": "10.88.213.21" } ]
},
{
"name": "213.26.172.in-addr.arpa.",
"key-name": "it213.key",
"dns-servers": [ { "ip-address": "10.88.213.21" } ]
}
]
},
"loggers": [
{
"name": "kea-dhcp-ddns",
"output_options": [ { "output": "/var/log/kea/kea-ddns.log" } ],
"severity": "INFO"
}
]
}
}
Restart und Debugging
- Dienste-Management
- systemctl restart kea-dhcp4-server kea-dhcp-ddns-server
- Debugging-Hinweise
- Logs prüfen: tail -f /var/log/kea/kea-ddns.log (Sucht nach SUCCESS)
- Eintrag prüfen: dig @10.88.213.21 client.it213.int
- AppArmor: Falls Dateien nicht geöffnet werden können, Profile unter /etc/apparmor.d/disable/ prüfen.
- Schreibrechte: BIND benötigt Schreibrechte für /var/cache/bind/ für die .jnl Dateien.
- Wartung: Nach dem Debugging Log-Level von DEBUG auf INFO zurückstellen.