BIND/rndc
BIND/rndc - remote name daemon control
Beschreibung
- Werkzeug zur Verwaltung
BIND stellt mit rndc (Remote Name Daemon Control) ein Werkzeug zur Verwaltung des named-Daemons über eine authentifizierte TCP-Verbindung bereit.
- Kommunikation erfolgt standardmäßig über TCP-Port 953.
- Die Authentifizierung basiert auf einem gemeinsam genutzten TSIG-Schlüssel (HMAC).
- Schlüsseldefinitionen in der named-Konfiguration und in der rndc-Konfiguration müssen übereinstimmen.
Standardverhalten
- Unter Debian wird rndc in der Regel ohne eigene /etc/bind/rndc.conf betrieben
- Stattdessen verwendet rndc standardmäßig die automatisch erzeugte Schlüsseldatei /etc/bind/rndc.key
- Diese Datei wird ebenfalls mit rndc-confgen -a erstellt
- Als Ziel wird automatisch der lokale named auf 127.0.0.1, Port 953 angenommen
Konfiguration in /etc/bind/named.conf
Für die Nutzung von rndc muss eine controls-Direktive in der named-Konfiguration vorhanden sein.
- controls-Direktive
controls {
inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
inet ::1 allow { localhost; } keys { "rndc-key"; };
};
Diese Anweisung veranlasst named, auf 127.0.0.1:953 und ::1:953 Verbindungen zu akzeptieren und nur Anfragen zu erlauben, die mit dem Schlüssel "rndc-key" signiert sind.
- key-Definition
key "rndc-key" {
algorithm hmac-sha256;
secret "BASE64-KEY";
};
- algorithm hmac-sha256; – empfiehlt sich als aktueller Standard für TSIG-Schlüssel.
- Schlüsselgenerierung mit rndc-confgen
In typischen Installationen wird der Schlüssel automatisch mit rndc-confgen erzeugt:
rndc-confgen -a
Dieser Befehl erzeugt eine Datei /etc/bind/rndc.key mit einer passenden key-Definition und setzt dabei restriktive Dateirechte (z. B. Modus 0600).
Der generierte Schlüssel befindet sich in der zugehörigen .key-Datei (z. B. Krndc-key.+161+12345.key) und wird in das Feld secret übernommen.
- Hinweis
- Klartext-Schlüssel sollten nicht direkt in einer global lesbaren Konfigurationsdatei stehen. Schlüsseldefinitionen werden in eine separate, nur für root lesbare Datei ausgelagert und per include eingebunden, z. B.:
include "/etc/bind/rndc.key";
Konfiguration in /etc/bind/rndc.conf
Die Datei /etc/bind/rndc.conf beschreibt, mit welchen Schlüsseln und gegen welche Server rndc arbeitet. Auf vielen Systemen genügt die automatisch erzeugte Datei /etc/bind/rndc.key; eine explizite rndc.conf ist dann optional.
- Die rndc-Konfiguration ermöglicht die Authentifizierung zwischen rndc und BIND.
- Minimalbeispiel
key "rndc-key" {
algorithm hmac-sha256;
secret "BASE64-KEY";
};
options {
default-server 127.0.0.1;
default-key "rndc-key";
};
server 127.0.0.1 {
key "rndc-key";
};
- key – definiert den gemeinsam genutzten Schlüssel.
- options – setzt globale Vorgaben wie default-server und default-key.
- server – ermöglicht serverbezogene Einstellungen, beispielsweise abweichende Ports oder Schlüssel.
- Hinweis
- /etc/bind/rndc.conf und die verwendeten Schlüsseldateien (z. B. /etc/bind/rndc.key) sollten nur für root lesbar sein (Modus 0600), um unbefugten Zugriff auf Geheimschlüssel zu verhindern.
Für Detailinformationen zu allen Direktiven steht die Manpage rndc.conf(5) zur Verfügung.
Dienst neu starten
Nach Änderungen an den Schlüsseln oder der rndc-Konfiguration muss der Dienst bind9 neu gestartet werden.
sudo systemctl restart bind9
Installation
Aufruf
Optionen
| Unix | GNU | Parameter | Beschreibung |
|---|---|---|---|
Parameter
Umgebungsvariablen
Exit-Status
| Wert | Beschreibung |
|---|---|
| 0 | Erfolg |
| >0 | Fehler |
Anwendung
- Erneuten Domaintransfer
Am Slave starten
rndc retransfer <DOMAIN>
Problembehebung
Konfiguration
Dateien
| Datei | Beschreibung |
|---|---|
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks